基于单片机的学签到系统的设计与实现.docVIP

基于单片机的学签到系统的设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于单片机的学签到系统的设计与实现

基于单片机的学生签到系统的设计与实现 题 目: 基于单片机的学生签到系统的设计与实现 1学生签到系统分析与设计 1.1 方案设计具体思路 本设计是基于AT89C52单片机设计的学生签到打卡系统,本系统是由RC522射频芯片采集射频卡片数据ID号,然后51单片机通过获得的ID号查询录入的数据库来判断是哪个人签到,同时保存一下打卡时间记录。日历时间设置是通过上位机软件获取电脑精确时间,并通过串口将日历更新到板子系统,操作比按键设置简单易懂。同样通过电脑端软件发送串口指令录入学生信息、修改学生信息、设置日历、设置签到上下限时间,同时使用市场上通用的12864液晶显示屏显示时间和打卡详情功能。 1.2 方案设计总体框图 1.3 数据库设计 1.3.1 主控制芯片AT89C52的结构 在这一块AT89C52单片机芯片上,集成了一台微型计算机的主要组成部分,其中包括CPU、存储器、可编程I/O口、定时器/计数器,各部分通过内部总线相连。下面介绍几个主要部分。图1.2为AT89C52单片机的基本组成功能方块图。 1.3.2 AT89C52管脚说明 VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,有8TTL门电流被脚吸收。当P1管脚写入1时,就叫做高阻输入。P0能够用于外部ROM数据,又叫做数据/地址的第八位。在FLASH编程时,原码输入口为PO,当正在校验时,PO输出原码,此时PO外部必须升高。 P1口:准双向通用I/0口。P1口管脚写入1后,上拉电阻升高,做为输入,当P1变为低电平时,有电流输出。P1口作为第八位地址接收,也可以用来进行FLASH的变成和校验。 P2口:准双向I/0口。P2口输出其特殊功能寄存器的内容。 P3口:P3口为8个上拉电阻双向I/O接口组成的。当P3口写入1后,P3口被内部升为高电平,用来输入。作为输入,外部下降为低电平,所以P3口会有电流的输出。 P3口管脚还有其他功能,如下: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断0) P3.3 INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 (外部数据存储器写选通) P3.7 (外部数据存储器读选通) RST:复位。振荡器需要复位时,要保持RST脚两个机器周期的高电平时间。 ALE/:地址锁存信号输出端/EPROM编程脉冲输入端。 PSEN:外部程序ROM的选通信号端。外部程序取指的时候,仅仅只有两次的PSEN有效。所以在外部ROM不工作的时候,信号是不会出现的。 /VP:内/外部ROM选择端. XTAL1:反向振荡放大器的输入,内部时钟电路的输入。 XTAL2:反向振荡器的输出。 1.4串口电路 1.4.1 CH374概述 CH374是一个USB总线的通用接口芯片,USB-DEVICE/SLAVE设备方式都是支付USB的主机方式。HUB根集线器有3个端口,低速和全速的控制传输、批量传输、中断传输以及同步/等时传输。CH374采用8位数据总线支持读、写、片选控制线以及中断输出。 该电路应用于51单片机和PC端的串口通讯,改串口模块电路用于设置时间和录入学生信息和修改学生信 2系统实现 2.1 程序模块设计 本次设计采用的是模块化程序结构,可以分成以下程序模块: 1、系统初始化程序:实现完成变量的设定、中断入口的设定、堆栈、输入输出口 及外部件的初始化工作(如12864、RC522、串口和定时器的初始化)。 2、键盘扫描程序:定时100ms轮训按键,来判断是否有按键发生。 3、主程序:完成键盘扫描、射频模块的读写、日历时间的显示、当有卡片刷卡时显示刷卡信息,如果超过预设的打卡时间段启动蜂鸣器报警。 4、射频模块程序:51单片机通过并口与射频模块通讯,定时检测天线周围是否有卡片介入,并通过ISO1443卡标准 完成读卡写卡功能。 5、显示子程序:12864的内部读写设定,显示校名和日历和显示刷卡信息状态。 6、蜂鸣器程序:判断是否满足刷卡条件,来控制是否报警。 7、日历程序:年月日时分秒和星期的计算。 2.2软件部分 图2.1系统设计流程图 本次设计采用的是模块化程序结构,可以分成以下程序模块: 1、系统IO初始化,主要就是MCU IO口的电平设置。 InitializeSystem() 2、学生卡软件参数的初始化,主要就是学生卡结构体变量参数赋值和BUF清0操作,以及设置打卡签到时间。 StudentCardInit(); 3、蜂鸣器的初始化,关闭蜂鸣器操作,防止一上电就长响 beep_init(); 4、日历结构体参数初始化,主要是设

文档评论(0)

书是爱的奉献 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档