嵌入式课程设计 ARM 刷卡考勤 ICWord文档下载推荐.docx
- 文档编号:21342592
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:19
- 大小:486.37KB
嵌入式课程设计 ARM 刷卡考勤 ICWord文档下载推荐.docx
《嵌入式课程设计 ARM 刷卡考勤 ICWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《嵌入式课程设计 ARM 刷卡考勤 ICWord文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
在企业中,刷卡考勤系统可以以节省大量的人力物力,简化日常管理的繁琐程序,提高企业的管理效率。
在高校中,刷卡考勤系统对加强学生的教学管理,促进教学改革也有着非常重要的意义。
本系统的可能创新点是通过进一步完善软件环境使本系统与“一卡通”系统的兼容,实现了“校园一卡通”作为考勤卡的作用,拓展了本校“一卡通”的适用范围。
通过读取IC卡号,根据各个部门的数据库内存储内容调出相应信息。
例如学校的图书馆学生借阅管理、学校微机机房的记时考勤记录、学校操场或学生宿舍的门禁管理、学校食堂的收费等。
1.2发展趋势
目前,非接触式IC卡中的主流为PHILIPS公司的Mifare技术,并且已经被制定为国际标准:
ISO/IEC14443TYPEA标准。
欧洲一些较大的IC射频卡制造商和IC射频卡读写设备制造商以及IC射频卡软件设计公司等大都把Mifare技术作为技术标准,而发展和推进IC卡行业快速的向标准化发展。
而对于非接触式IC智能射频卡方面的研究则代表了整个大行业的发展方向。
非接触式IC卡和接触式IC卡相比,它继承了接触式IC卡的容量大、安全性高的特点,同时也克服了以接触方式工作的IC卡所无法避免的缺点,如触点磨损、污染、静电以及插卡不便的读写过程,使非接触式IC卡的使用更加自由,应用更加广泛。
当前,国内IC卡及相关产品的生产和研究的企业主要有上海复旦微电子股份有限公司,深圳市明华澳汉科技有限公司等。
中国IC卡产业虽然起步虽晚,但发展迅猛,通过引进先进的技术和自主研发,在几年间,整体生产能力突破了2亿张。
全国IC卡应用装置的开发和系统集成厂商也达到上千家。
由于智能卡的潜在应用范围非常广,国内外学术界和科技工作者对非接触式智能卡的开发,给予了广泛关注和研究。
近几年来,射频识别系统的发展极其迅猛。
尤其自1993年金卡工程启动实施以来,IC卡的应用领域得到不断的扩展,一条完整的IC卡产业链已经初步建立起来了,并逐步成为国民经济新的持续增长点。
1.3可行性分析
经济方面:
现在市面上销售的中档考勤机售价一般在500元左右,若批量采购的话售价能够相对的降低,学校可以根据每个教研室的授课老师的数量来配备2-5台考勤机,由于学生考勤系统选用一般计算机操作,对硬件设施没有较高要求,所以每个科室的可以配置一台计算机作为客户端,预计每台客户端的售价为3000左右,鉴于本系统对计算机的硬件要求不高,可以考虑采用一般低档的服务器,预计售价为10000左右。
技术可行性分析主要包括四个方面:
目前有关的技术能否支持所开发的新系统;
新系统开发人员的数量和水平,即人力资源;
硬件和软件资源。
⒈技术支持
首先根据新系统的目标,考虑目前有关的技术能否支持所开发的新系统。
这里讨论的技术必须是已经普遍使用的,而不是待研究的或正在研究的。
⒉硬件资源
开发管理信息系统所需的硬件资源包含以下两个方面。
系统开发人员在管理信息系统的开发过程中所需要的计算机设备及其有关的外部设备;
管理信息系统开发成功投入使用后,使用单位所应具备的计算机设备及其有关的外围设备。
对硬件资源进行可行性分析时主要考虑计算机的主机内存、类型、功能、联网能力、安全保护措施以及输入/输出设备,外存储器和联网数据通信设备的配置、功能、效率等指标是否符合系统方案设计要求,同时还要考虑计算机的性能/价格比。
⒊软件资源
软件资源的可行性分析主要考虑以下几点是否满足使用者,即学校的要求。
⑴操作系统的选择。
⑵编译系统的选择。
⑶数据库管理系统的选择。
⑷高级编程语言的选择。
⑸汉字处理系统的选择。
⑹应用软件包的选择。
1.4基本内容
本文主要是通过对射频设别技术的研究来设计一款基于单片机的刷卡考勤系统的硬件设备及其软件。
在设计IC卡读卡器的基础上,完成考勤系统的设计。
本课题主要完成的任务包括:
(1)文献部分:
无线识别技术的研究。
(2)硬件部分:
包括单片机控制的射频读卡器的设、12864液晶显示电路的设计、报警电路的设计等。
(3)软件部分:
ARM控制程序。
(4)系统的综合调试与分析:
在软硬件完成以后,要对系统进行综合的测试与实验,分析系统的可靠性与实用性,调整系统的不足。
第二章开发环境的安装和配置
2.1开发环境及其工具的介绍
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
它能运行主要的UNIX工具软件、应用程序和网络协议。
它支持32位和64位硬件。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991年10月5日(这是第一次正式向外公布时间)。
Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。
Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。
这为用户从Windows转到Linux奠定了基础。
许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。
Linux的基本思想有两点:
第一,一切都是文件;
第二,每个软件都有确定的用途。
其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。
至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近
另外Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。
这是其他的操作系统所做不到的。
正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
Linux同时具有字符界面和图形界面。
在字符界面用户可以通过键盘输入相应的指令来进行操作。
它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。
在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。
此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。
2001年1月份发布的Linux2.4版内核已经能够完全支持Intel64位芯片架构。
同时Linux也支持多处理器技术。
多个处理器同时工作,使系统性能大大提高。
2.2硬件环境
本项目仅需要一台装有Linux系统的虚拟机的计算机,它可以使用windowsxp及其以上版本以及友善之臂开发板和一些基础焊接工具即可。
2.3软件环境
1.Windows7操作系统
2.Keil4
3.VMvareWorkstation
第3章 系统的设计
本课题设计的刷卡考勤系统主要由IC卡、读卡模块、控制模块、显示模块和报警模块组成。
下面分别对系统功能要求、系统技术要求及系统实现方案总体阐述。
3.1系统功能需求
本系统的研制主要包括以下几项功能:
对于数据库中不存在的持卡人信息进行报警警告。
3.2系统的技术要求
在了解本系统的工作原理和功能之后,我们就可以确定系统的技术要求。
本系统采用了标准的ISO/IEC14443“TypeA”国际标准实现IC卡信息的读写,并通过天线的屏蔽干扰信号设计,大大提高了系统读卡的可靠性和通用性。
系统采用的单片机处理器成本均比较低,适合批量生产和各类工程的需要。
对于完整的系统而言,为了提高市场竞争力,要求该系统应符合便于携带、防干扰、易于使用和成本低廉等技术要求。
具体参数和指标如下:
(1)便于携带:
电路的设计和布局较为紧凑,减少占用的空间,减小硬件的体积,便于携带;
(2)防干扰:
系统的天线的合理设计,实现电子屏蔽;
(3)易用性:
系统采用模块化的设计,在使用过程中安装简单,同时考勤信息直观的显示在液晶屏上,人机交换界面良好,易于使用。
3.3系统的组成及总体方案设计
基于单片机的刷卡考勤系统主要由天线、读卡芯片、单片机、控制电路、报警电路、显示电路组成。
设计的关键在于读卡模块和显示模块电路的设计以及单片机与读卡芯片和液晶显示通信的程序设计。
系统的组成结构如图3-1所示:
图3-1系统功能模块图
3.4系统硬件设计
3.4.1读卡芯片电路的设计
图(8)读卡芯片MFRC522的电路连接
工作原理:
如图(8)所示,21、22脚作为晶振的接口,D5、D6、D7、SDA作为MFRC522与单片机以SPI方式通信的串口,单片机对MFRC522读卡芯片进行操作的时候,通过其进行通信并传输数据。
TX1、TX2、VMID和RX作为与天线连接端口。
MFRC522简介:
MFRC522是由Philips公司推出的一款非接触式读卡芯片,它被应用于13.56MHz非接触式IC卡的读卡通信。
MFRC522兼容ISO14443A所有的层,最高的传输速度达424kbps,在不需要增加有源电路的情况下,内部的发送器部分就能够直接驱动近距离天线,在接收部分提供了一个高效的解调和解码电路,用于接ISO14443A兼容的应答信号。
支持的主机接口SPI接口、I2C接口、串行UART接口。
如图(9)所示:
模拟接口用来处理模拟信号的调制与解调。
非接触式UART用来处理与主机通信时的协议要求。
FIFO缓冲区快速而方便地实现了主机与非接触式UART之间的数据传输。
不同的主机接口功能可以满足不同的用户要求。
图(9)MFRC522的内部框图
MFRC522的管脚的介绍表
(2):
符号
管脚
类型
描述
OSCIN
21
I
晶振输入
IRQ
23
O
中断请求,用来输出一个中断事件
SIGIN
7
信号输入
SIGOUT
8
信号输出
TX1
11
发送器1,传递调制的13.56MHZ的载波信号
TVDD
12
PWR
发送器电源,给输出级TX1和TX2供电
TX2
13
发送器2,传递调制的13.56MHZ的载波信号
TVSS
10,14
发送器地,TX1,TX2输出级地
DVSS
4
数字地
D1~D7
25~31
I/O
不同接口数据管脚,可以做SPI、I2C、UART
SDA
24
串行数据线
EA
32
外部地址,用来编码I2C
I2C
1
I2C使能
DVDD
3
数字电源
AUX1
19
辅助输出,用于测试
AUX2
20
AVSS
18
模拟地
RX
17
接收器输入,接收RF信号
VMID
16
内部参考电压
NRSTPD
6
不复位和掉电,低电平有效
OSCOUT
22
晶振输出:
振荡器的反相放大输出
TRSTPIN
9
不连接,三态管脚
PVDD
2
管脚电源
PVSS
5
管脚电源地
表
(2)MFRC522的管脚
MFRC522支持的三种接口定义如表(3)所示:
表(3)三种通信接口方式
MFRC522采用SPI通信时序图,如图(10)所示
图(10)MFRC522SPI通信时序图
兼容SPI接口读数据操作:
MOSI和MISO的字节顺序见表(4)
表(4)字节顺序表
顺序表兼容SPI接口写数据操作:
MOSI和MISO的字节顺序见表(5)
表(5)字节顺序表
第四章 程序设计与实现
本系统的程序设计采用模块化的设计方案,主要由初始化模块、读卡模块、考勤统计模块和显示模块组成。
主程序的流程图如图4-1所示:
图4-1主程序流程图
图4-2系统框图
程序代码:
#include"
stm32f10x_lib.h"
platform_config.h"
include.h"
stmflash.h"
Uart.h"
#include<
stdio.h>
rc522.h"
GPIO_InitTypeDefGPIO_InitStructure;
ErrorStatusHSEStartUpStatus;
vu8ErrCnt=0;
vu8KeyVal_Now[4],KeyCnt=0,TimeSec=0,SysPage=0;
vu16KeyVal_Real[4]={1,2,3};
#defineMax_User10
#defineerror2
vu8searchnum=0;
unsignedintSearchNumber=0;
unsignedintclk0=0;
vu8str[3]={0,'
\0'
'
};
vu16SysDate[256];
#defineFALSE0
#defineTURE1
//状态定义表
#defineon1
#defineoff0
#defineMAX_NUMBER63
vu8modeflag=0,clearallflag=0,changeflag=0
//VerifyPassword:
验证设备握手口令
vu8VPWD[16]={16,0X01,0Xff,0xff,0xff,0xff,0x01,0,7,0x13,0x00,0x00,0x00,0x00,0x00,0x1b};
//回送12个
//设置设备握手口令
vu8STWD[16]={16,0X01,0Xff,0xff,0xff,0xff,0x01,0,7,0x12,0x00,0x00,0x00,0x00,0x00,0x1a};
//GetImage:
探测手指并从传感器上读入图像
vu8GIMG[14]={12,0X01,0Xff,0xff,0xff,0xff,0x01,0,3,1,0x00,0x05};
//GenTemplet1:
根据原始图像生成指纹特征1
vu8GENT1[14]={13,0X01,0Xff,0xff,0xff,0xff,0x01,0,4,2,1,0x00,0x08};
//GenTemplet2:
根据原始图像生成指纹特征2
vu8GENT2[14]={13,0X01,0Xff,0xff,0xff,0xff,0x01,0,4,2,2,0x00,0x09};
//回送12个
//SearchFinger:
以CharBufferA或CharBufferB中的特征文件搜索整个或部分指纹库
vu8SEAT[18]={17,0X01,0Xff,0xff,0xff,0xff,0x01,0,8,4,1,0,0,0,0x65,0x00,0x73};
//MergeTemplet;
将CharBufferA与CharBufferB中的特征文件合并生成模板,结果存于ModelBuffer。
vu8MERG[14]={12,0X01,0Xff,0xff,0xff,0xff,0x01,0,3,5,0x00,0x09};
//回送12个
//StoreTemplet:
将ModelBuffer中的文件储存到flash指纹库中
vu8STOR[16]={15,0X01,0Xff,0xff,0xff,0xff,0x01,0,6,6,2,0x00,0x00,0x00,0x0f};
//DELonetemplet
vu8DELE_one[16]={16,0X01,0Xff,0xff,0xff,0xff,0x01,0,7,0x0c,0x00,0x00,0,1,0x00,0x15};
//DELtemplet;
清空指纹库
vu8DELE_all[12]={12,0X01,0Xff,0xff,0xff,0xff,0x01,0,3,0x0d,0x00,0x11};
//////////////////////////////////////宏定义------------结束////////////////////////////////////////////////////////
vu8FifoNumber=0;
vu8FIFO[MAX_NUMBER+1]={0};
/*********1毫秒延时程序**********/
voiddelay1ms(unsignedintt)
{
unsignedlonginti,j;
for(i=0;
i<
t;
i++)
for(j=0;
j<
120*72;
j++)
;
}
vu8UartRx[100],UartTx[100]={0x58};
vu16RecCnt;
vu16RecTimeCount;
vu8UartRecInit=0,Uart_RecOk=0,UartFlag_RecTime=0;
#defineMode_Get0
#defineMode_See1
vu8Mode=Mode_See;
voidTxdByte(vu8dat)//串口发送信息,通过查询方式发送一个字符
//等待发送完毕,必须放在前面
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);
//发送数据
USART_SendData(USART2,dat);
vu8UartSendCnt=0;
voidUartSend(void)//CRC及自动加结束符
vu8i;
USART_Cmd(USART1,ENABLE);
//打开串口
UartSendCnt;
{
//等待发送完毕,必须放在前面
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);
//发送数据
USART_SendData(USART1,(u8)UartTx[i]);
}
voidPutOK(void)
UartTx[0]='
O'
;
UartTx[1]='
K'
UartSendCnt=2;
UartSend();
voidPutER(void)
E'
R'
voidTIM1_UP_IRQHandler(void)
if(TIM==TIM1)
if(TIM_GetITStatus(TIM,TIM_IT_Update)!
=RESET)//判断是否为更新事件标志位
{
TIM_ClearITPendingBit(TIM,TIM_IT_Update);
//清除更新事件标志
if(UartFlag_RecTime)//从接收第一个有效字节开始,进行一秒的倒计时,如果没收到完整的
//复位接收器,并发送一个字节的报错数据0x88.
if(RecTimeCount>
0)
RecTimeCount--;
else
UartRecInit=0;
UartFlag_RecTime=0;
//禁止接收倒计时
Uart_RecOk=1;
//ES=0;
USART_Cmd(USART1,DISABLE);
}
第五章系统测试
测试时首先检测硬件电路的设计原理是否正确,能否达到预期效果以及实现方法是否简便;
其次在焊接电路之后,认真检查电路焊接情况。
这里采用分块调试的方法,分为显示模块电路,报警模块电路,读卡模块电路以及控制电路。
在每个模块的调试过程中又采用了由局部到整体,由简单到复杂的调试方法。
先测试单片机控制模块及其下载电路是否正常工作,然后测试显示模块能否正常工作,接着测试报警模块的电路、读卡模块的电路,最后再把各个模块连成整体。
开机后,作品状态如图5-1所示。
图5-1作品实物
系统的电脑操作程序界面如图5-2,在界面中可以对“网页端口”、“考勤时间”等信息进行设置。
图5-2程序界面
将IC卡靠近传感器,系统会提示并进行相关操作,如图5-3。
图5-3刷卡操作演示
在刷卡的同时,软件系统中也会进行操作并提示,如显示“添加成功”,如图5-4所示。
图5-4添加成功界面
添加IC卡信息后,再次刷卡的时候,就会显示IC卡编号,同时系统软件中显示刷卡信息,如图5-5、5-6所示。
图5-5显示IC卡相关信息
图5-6应用程序中显示刷卡信息
在后台中,可以登录网站查看考勤信息,如图5-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式课程设计 ARM 刷卡考勤 IC 嵌入式 课程设计 刷卡 考勤