基于RFID的体能测试电子计时系统Word格式文档下载.docx
《基于RFID的体能测试电子计时系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于RFID的体能测试电子计时系统Word格式文档下载.docx(40页珍藏版)》请在冰豆网上搜索。
2.1系统总体设计5
2.2元件的选取6
2-1器件一览表6
2.3RFID模块6
2.3.1RC522芯片简介7
2.3.2模块简介7
2.4STC89C52单片机8
2.4.1STC89C52单片机引脚功能8
2.5LCD12864显示模块8
2.5.1LCD12864概述8
2.5.2接口说明9
2.5.3应用说明10
第3章电子计时器系统的软件程序设计11
3.1主要功能11
3.2主要流程11
3.3主要程序12
3.3.1显示模块程序12
3.3.2刷卡模块程序14
3.3.3计时程序17
第4章作品调试23
结论28
参考文献29
附录130
致谢37
第1章电子计时器系统的研究意义
1.1概述
体能测试是当代大学必备科目之一,它旨在通过对成年人进行体质测定,评价体质状况和体育锻炼效果,健全并督促成年人参加体育锻炼的有效机制,科学地指导成年人开展体育活动,从而不断地增强成年人的体质。
通过对成年人体质的测定,还将为我国国民体质监测系统,掌握中国成年人体质发展和变化的规律奠定基础。
体能测试的1000/800米标准严格,成绩需要对应学号等信息。
本设计帮助计时系统,刷卡登记,一键开始、停止计时,方便简单易操作,为大学体测减少人力物力。
1.2单片机的研究现状
经历了SCM、MCU、SoC三大阶段。
a)SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结。
“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。
在开创嵌入式系统独立发展道路上,Intel公司功不可没。
b)MCU即微控处理器(MicroControllerUnit)阶段,主要的技术发展方向是:
不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,凸显其对象的智能化控制能力。
他所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免的落在电气、电子技术厂家。
从这一角度来看,Intel逐渐淡出,CU的发展也有其客观因素。
在发展MCU方面,最著名的厂家当属Philips公司。
c)单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;
因此,专用单片机的发展自然形成了SoC化趋势。
随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。
因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
自单片机出现至今,单片机技术已走过了几十年发展路程。
纵观几十年来单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,拉动广泛的应用领域,表现出比微处理器更具个性的发展趋势:
A.采用先进结构以实现高性能
在过去的一段时间内,单片机的指令运行速度一直在10MIPS以下,这对于应用在工业控制领域内的单片机来说是足够了,但当单片机被应用在通讯及DSP领域作为高速运算、编码或解码时,就会出现因指令运行速度不够而限制单片机应用的情形,因此提高单片机指令运行速度已成为迫切需要解决的问题。
B.进一步降低功耗
基于80C51的飞利浦低功率、低系统成本微控制器51LPC系列是业界推动单片机向低功耗方向发展的主导单片机系列之一。
51LPC系列单片机采用以下三种方法降低功耗:
a)使系统进入空闲模式,在空闲模式下,只有外围器件在工作,任意的复位及中断均可结束空闲模式;
b)使系统进入低功耗模式,在低功耗模式下,振荡器停止工作,是功耗降低到最小;
c)使系统进入低电压EPROM操作:
EPROM包含了模拟电路,当Vcc高于4V时,可通过软件使这些模拟电路掉电以降低功耗,在上电情况下可使系统退出该模式。
C.采用FlashMemory
随着半导体工艺技术的不断进步,MPU的Flash版本逐渐代替了原有的OTP版本。
FlashMPU具有以下优点:
与多次可编程的窗口式EPROM相比,FlashMPU的成本要低多;
在系统编程能力以及产品生产方面提供了灵活性,因为FlashMPU可在编程后面再次以新代码重新编程;
可减少已编程器件的报废和库存;
有助于生产厂商缩短设计周期,使终端用户产品更具有竞争力。
D.集成更多功能及兼容性
目前单片机的另一个发展趋势是在芯片上集成更多的功能。
如模拟功能,包括模拟比较器、A/D和D/A转换器等。
具体表现在:
兼容性作为设计的第一考虑;
额外的新的特点是透明的;
使用同一种编程器;
OTP使器件快速提升及标准化成为可能。
E.强抗干扰能力
不断加强抗干扰能力是单片机进一步发展的必然趋势。
STMicroelectronics公司推出的ST62系统单片机在这方面是佼佼者,其优良的抗干扰能力使得许多大公司将其应用在系统中的关键部件上。
许多单片机开发商也正朝着这个方向努力。
1.2.1课题研究背景与意义
电子计时器是现代社会应用广泛的计时工具,在航天、电子等科研单位,工厂、医院、学校等事业单位,各种体育赛事及至我们每个人的日常生活中都发挥着重要的作用。
电子计时器,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术不断发展,人们对时间计量的精度要求越来越高,应用越来越广。
怎样让计时器更好的为人民服务,怎样让我们的老朋友焕发青春呢?
这就要求人们不断设计出新型计时器。
现今,高精度的计时工具大多数都使用了1石英晶体振荡器,由于电子钟、石英表、石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要时常调校,数字式计时器采用集成电路计时,译码代替机械式传动,用LED显示器代替显示器和指针显示进而显示时间,减少了计时误差,这种计时器有分,秒,百分秒显示时间的功能,片选灵活性好。
本设计利用单片机实现数字时钟计时功能的主要内容,其中AT89C52是核心元件,同时采用12864显示屏显示“分”、“秒”、“百分秒”的现代计时装置。
与传统机械表相比,它具有走时精确,显示只管等特点。
他的计时周期为60分钟。
显满刻度为“59’59’99”。
1.2.2电子计时器功能
对于计时器,需要在LED显示屏上显示分钟、秒钟、百分秒,因此可以在内部存储空间分别定义它们的显示缓存空间,来存放分钟、秒钟、百分秒的BCD码,各2个字节。
由于计时器是不能自动停止的,一次你需要采用内部定时器自动计时,并使用定时器中断程序来定时进行数值的刷新。
52单片机的2个定时器都具有16位定时器的工作魔术。
当晶振12MHz时,16位定时器的最大定时值为65.536ms;
要达到1秒钟,可以采用两种方法;
采用一个定时器定时与软件计数相结合地方法;
试着采用两个定时器级联的方法。
由于秒表在计时功能时也需要用到一个定时器,因此,我们采用第一个方法,只使用1个定时器,列入使用T0。
为了达到较为准确的计时,使T0的溢出时间为50ms,使用一个字节作为软件计数器ST,计数值为20.定时器的中断处理程序对ST进行减1操作,当ST为0时,1秒达到,此时更新存放分钟、秒钟、百分秒的显示缓存区。
计时功能
当秒表用作计时功能时,也需要一个定时器进行10ms的定时,在本设计中使用单片机的T1。
在T1的中断处理程序中对SS和SS的缓存空间进行更新,与上面类似。
显示功能
本系统中,用LED显示器来显示各种数字或符号。
由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
第2章电子计时器系统的硬件系统设计
2.1系统总体设计
根据系统的设计功能,此系统有以下几个模块:
RFID读卡模块、显示模块、处理模块。
系统的功能框图如下图所示:
图2-1系统总体框图
2.2元件的选取
器件名称
数量
规格
电容
1个
16nF
2个
30pf
晶振
12khz
电阻
1.3kΩ
发光二极管
复位开关
六角开关
排阻
USB口
LCD12864
MFRC522
AMS1117
STC89C52
2-1器件一览表
2.3RFID模块
射频识别,RFID(RadioFrequencyIdentification)技术,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触[2]。
体能测试计时系统通过RFID技术。
图2-2射频识别原理图
2.3.1RC522芯片简介
MF-RC522是应用于13.56MHz非接触式通信中高集成度的读写卡芯片,是NXP公司针对“三表”应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择。
MF-RC522利用了先进的调制和解调概念,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。
支持14443A兼容应答器信号。
数字部分处理ISO14443A帧和错误检测。
此外,还支持快速CRYPTO1加密算法,用语验证MIFARE系列产品。
MF-RC522支持MIFARE系列更高速的非接触式通信,双向数据传输速率高达424kbit/s。
作为13.56MHz高集成度读写卡系列芯片家族的新成员,MF-RC522与MF-RC500和MF-RC530有不少相似之处,同时也具备许多特点和差异。
它与主机间通信采用SPI模式,有利于减少连线,缩小PCB板体积,降低成本。
2.3.2模块简介
MF522-AN模块采用PhilipsMFRC522原装芯片设计读卡电路,使用方便,成本低廉,适用于设备开发、读卡器开发等高级应用的用户、需要进行射频卡终端设计/生产的用户。
本模块可直接装入各种读卡器模具。
模块采用电压为3.3V,通过SPI接口简单的几条线就可以直接与用户任何CPU主板相连接通信,可以保证模块稳定可靠的工作、读卡距离远[3]。
表2-1RFID模块与STC89C52最小系统连接:
RC522接口
STC89C52接口
SDA(数据接口)
P2.0
SDK(时钟接口)
P2.1
MOSI(SPI接口主出从入)
P3.0
MISO(SPI接口主入从出)
P3.1
NC(悬空)
GND(地)
GND
RST(复位信号)
P3.2
3.3V(电源)
3.3V
2.4STC89C52单片机
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
[4]
2.4.1STC89C52单片机引脚功能
1.主电源引脚(2根)
VCC(Pin40):
电源输入,接+5V电源
GND(Pin20):
接地线
2.外接晶振引脚(2根)
XTAL1(Pin19):
片内振荡电路的输入端
XTAL2(Pin20):
片内振荡电路的输出端。
3.控制引脚(4根)
RST/VPP(Pin9):
复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):
地址锁存允许信号
PSEN(Pin29):
外部存储器读选通信号。
EA/VPP(Pin31):
程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
4.可编程输入/输出引脚(32根)
STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根[5]。
P0口(Pin39~Pin32):
8位双向I/O口线,名称为P0.0~P0.7
P1口(Pin1~Pin8):
8位准双向I/O口线,名称为P1.0~P1.7
P2口(Pin21~Pin28):
8位准双向I/O口线,名称为P2.0~P2.7
P3口(Pin10~Pin17):
8位准双向I/O口线,名称为P3.0~P3.7
2.5LCD12864显示模块
2.5.1LCD12864概述
带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;
其显示分辨率为128×
64,
内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×
4行16×
16点阵的汉字.
也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块[6]。
2.5.2接口说明
12864的接口及功能如下表。
表2-212864接口说明表
管脚号
管脚
电平
说明
1
VSS
0V
逻辑电源地。
2
VDD
5.0V
逻辑电源正。
3
V0
LCD驱动电压,应用时在VEE与V0之间加一2K可调电阻。
4
D/I
H/L
数据\指令选择:
高电平:
数据D0-D7将送入显示RAM;
低电平:
数据D0-D7将送入指令寄存器执行。
5
R/W(SID)
读\写选择:
读数据;
写数据。
6
E(SCLK)
读写使能,高电平有效,下降沿锁定数据。
7-14
DB0-DB7
数据输入输出引脚。
15
PSB
H:
8位或4位并口方式,L:
串口方式
16
HC
-
空脚
17
/RESET
L
复位信号,低电平有效。
18
VOUT
LCD驱动电压输出端。
19
A
AC
背光电源,LED+
20
K
背光电源,LED-。
*注释1:
如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上的J8和“VCC”用焊锡短接。
*注释2:
模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:
如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。
2.5.3应用说明
1.使用前的准备
先给模块加上工作电压,再按照下图的连接方法调节LCD的对比度,使其显示出黑色的底影。
此过程亦可以初步检测LCD有无缺段现象。
2.字符显示
带中文字库的128X64-0402B每屏可显示4行8列共32个16×
16点阵的汉字,每个显示RAM可显示1个中文字符或2个16×
8点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。
带中文字库的128X64-0402B内部提供128×
2字节的字符显示RAM缓冲区(DDRAM)。
字符显示是通过将字符显示编码写入该字符显示RAM实现的。
根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。
三种不同字符/字型的选择编码范围为:
0000~0006H(其代码分别是0000、0002、0004、0006共4个)显示自定义字型,02H~7FH显示半宽ASCII码字符,A1A0H~F7FFH显示8192种GB2312中文字库字形。
字符显示RAM在液晶模块中的地址80H~9FH。
[7]
3.图形显示
先设垂直地址再设水平地址(连续写入两个字节的资料来完成垂直与水平的坐标地址)
垂直地址范围
AC5-AC0
水平地址范围
AC3-AC0。
绘图RAM
的地址计数器(AC)只会对水平地址(X
轴)自动加一,当水平地址=0FH
时会重新设为00H
但并不会对垂直地址做进位自动加一,故当连续写入多笔资料时,程序需自行判断垂直地址是否需重新设定[8]。
第3章电子计时器系统的软件程序设计
3.1主要功能
此设计共有五个功能模块分别为:
(1)数据处理模块,即最小系统,负责系统的数据处理功能
(2)显示模块,主要由12864液晶屏和上拉电阻构成,负责系统的显示功能。
(3)刷卡模块,主要由RC522模块和5V转3.3V电源模块构成,负责系统的读卡功能。
3.2主要流程
首先进行学号读卡,LED液晶屏显示该学生学号,待老师核实该生学号后,即可进行测试。
读卡
识别学号
核对
进行体测
终止
图3-2流程图
3.3主要程序
3.3.1显示模块程序
对于本系统,要在LCD12864上显示系统的名称,发送地及IC卡编号。
此系统显示子成序的框图如下:
图3-3-1显示程序框图
系统的显示子程序的核心内容为:
/****************************************************************/
/*写指令数据到LCD
/*RS=L,RW=L,E=高脉冲,D0-D7=指令码。
voidwrite_cmd(ucharcmd)
{
unsignedintK=20000;
while(lcd_busy()&
&
K--);
//预防没插LCD时候停在这
LCD_RS=0;
LCD_RW=0;
LCD_EN=0;
_nop_();
LCD_data=cmd;
delayNOP();
LCD_EN=1;
}
/*写显示数据到LCD
/*RS=H,RW=L,E=高脉冲,D0-D7=数据。
voidlcd_wdat(uchardat)
LCD_RS=1;
LCD_data=dat;
/*LCD初始化设定
voidlcd_init()
//LCD_PSB=1;
//并口方式,部分液晶不需要
write_cmd(0x36);
//扩充指令操作
delay(5);
write_cmd(0x30);
//基本指令操
write_c