基于单片机的课堂签到系统设计与实现
目前大多数高校里,大都采用大班(合班)上课,统计学生出勤成了教师的一大难题。针对这一问题,设计了一个课堂签到系统,以减轻教师的负担,提高上课效率。
1 系统设计思想
课堂签到系统采用插卡的方法,系统的组成结构图如图1 所示。其中卡可以采用一些废旧的电话卡或其它卡来制作。根据学生的学号在卡上打上与其对应的二进制的孔,利用光电传感器,将卡号转化为学号,送入单片机进行识别、存储和显示,完成学生的签到。另外,系统中还设置了显示未到学生学号的功能。
2 系统硬件设计
课堂签到系统的硬件部分可分为三大部分,即插卡部分、存储部分和显示部分。其中,插卡部分通过自制光电传感器来实现卡号的采集,存储部分采用常用的SRAM6264 来实现,显示部分采用单片机的串口驱动LED 数码管。本系统设计中,单片机采用ATMEL 公司的AT89C51 单片机,它是一种低功耗、高速的八位CMOS 芯片,片内含有4 KB Flash ROM ,128 字节RAM ,工作电压范围为2 .7 ~ 6 V(实际使用+ 5 V 供电) ,32 条I/O 线,2 个16 位定时/计数器和5 个中断源等资源。可以很方便的实现键盘、显示、A/D 转换、D/A 转换以及控制输出接口。
2 .1 插卡电路
插卡电路通过自制光电传感器实现。为了节省成本,本系统中采用发光二极管和普通光敏二极管构成了光电传感器电路,电路图如图2 所示。由八个高亮发光二极管、普通光敏二极管和电阻构成简单的光电传感器。发光二极管和光敏二极管成对相向横装在有机玻璃插槽孔中。学生手持签到卡上的预制孔与此插槽孔位置对应,用卡片上预制孔的组合形态构成二进制编码(卡码) 。电路中反向连接的光敏二极管与排阻用来产生单片机可识别的二进制代码,分压电线与单片机P1 口八线相连。经测试,在普通室内灯光环境下,对应无光照和有光照2 种情况,分压点处的电压变化分别在0 .2 V 以下和4 .6 V 以上,满足单片机I/O 口的高低电平需要。
2 .2 存储器电路
存储器部分采用SRAM6264 芯片实现,6264是8K8 位的静态数据存储器芯片,该芯片与51单片机的连接电路简单,易于实现,存储空间最多可以存放8000 个学号,足以满足该系统的要求。电路如图3 所示。
2 .3 显示电路
显示电路在学生签到时显示签到的学号,并在签到完成之后,循环显示未到学生的学号。学生的学号通常只有后三位不同,所以本系统采用三位LED 数码管来显示,显示接口是通过扩展单片机的串行口来实现。采用8 位串入并出的移位寄存器74LS164 扩展了三个级联8 位并行输出口,如图4 所示。74LS164 的A 、B 为串行数据输入端(RXD) ;Q0 ~ Q7 为并行数据输出端;CLK为同步时钟输入端(TXD) ,为清除端;220 Ω 电阻为对应LED 的限流电阻。
3 系统软件设计
课堂签到系统是在应用程序软件控制下实现学生签到功能。本系统软件采用模块化结构编制,系统控制软件主要包括:主程序、LED 显示子程序、读卡和识别子程序、存储学号子程序以及缺席者学号显示子程序,主程序流程图如图5 所示。缺席者学号的显示采用中断方式实现,中断信号来源于外部事件的触发,在本系统中设计了一个开关,作为显示未到学生学号的中断信号,当开关闭合时,循环显示缺席者的学号,中断服务程序的流程图如图6 所示。
本签到系统制作成败的关键是卡码与学号能否一一对应。在编制中,要想方便快捷的得到与卡码对应的学号使用查表的方法是当然的选择。一般讲,八位二进制代码可以确定256 种 状态,去除全零这个无效态则最多可以用于总人数为255 个这对于一般的合班上课足够了。
4 结论
本系统已经完成实验调试,并能稳定运行。一次最多可考勤255 人。使用确定人数和学校统一学号时,需提前在单片机中预置。若教学班自行编号,则卡码与片内编码一致,无需更改,可多班级﹑长期反复使用。学生手持的卡片(签到卡)没有特殊要求,手头的废旧卡片(如电信卡)即可。废物利用,既不用学生花一分钱,又符合绿色环保的设计理念。该系统的硬件电路简单,所用的电子器件较少,故成本很低。
- 爱特梅尔推出用于太空任务的处理器(09-12)
- 遥控车门开关解决方案(10-09)
- 如何使用和检测89C2051单片机(04-13)
- Arduino是什么?(07-07)
- 单片机课程设计-ATMEL51系列单片机编程器(12-01)
- ATMEL的ISP下载线(12-01)