单片机作息时间控制器课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机作息时间控制器课程设计
湖南工程学院
课程设计
课程名称微机原理与应用
课题名称单片机作息时间控制器
1
湖南工程学院
课程设计任务书
课程名称微机原理与应用
课题单片机作息时间控制器
专业班级自动化0702
学生姓名罗琦
学号200701020216
指导老师王迎旭、李晓秀、林国汉
审批
任务书下达日期2010年 6 月7日任务完成日期2010年 6 月20日
1
1
1
1
、
目录
第一章引言 (7)
1.1简介及技术要求 (7)
1.2计时方案 (7)
1.3键盘/显示方案 (7)
第二章硬件设计 (8)
2.1 电路原理图 (8)
2.2 系统工作流程 (9)
2.3 系统使用说明 (10)
第三章系统软件设计 (10)
3.1 软件设计 (10)
3.2 系统工作流程 (11)
第四章程序模块设计. (15)
4.1主程序模块 (16)
1
4.2定时中断服务程序模块 (18)
4.3扫描显示模
块 (22)
4.4键扫描子程
序 (23)
4.5键值处理子程序 (27)
4.6移位键处理程序模块 (30)
第五章调试及分析 (32)
第六章课程总结………………………………………………………
33
参考文献 (34)
附录 (35)
第1章引言
因为单片机的种类多,而型号杂,也是我们学习中的困难,所以就MCS—51系列的产品来说,就是一个典型的学习方法。对于类似汇编的单片机编程过程,也是一个十分有趣的过程。为了更好的说明,我以上介绍先从应用电路切入,同时介绍它们的使用方法,以便能快速掌握它们的应用。
1.1简介及技术要求
校园作息时间控制系统主要用于学校,对一些以24小时为周期的开关量进行自动控制。如上下课打铃及扩音设备的开与关、教学楼照明的定时开与关、学生宿舍灯及校园路灯的定时开关的控制。技术要求如下:
1
(1)定时准确,月误差《=10%。
(2)有显示和校时功能。
(3)具备到时响铃功能。
1.2计时方案
采用软件控制利用MCS-51 系列单片机内部的定时/计数器进行中数年定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能够使读者在定时/计数器的使用、中数年及程序设计方面得到锻炼与提高,因此本系统将采用软件方法实现计时。
1.3键盘/显示方案
对于实时时钟而言,显示显然是另一个重要的环节。如前所述,通常有两种显示方式:
动态显示和静态显示。
直接利用MC51单片机的P0和P2口,LED动态显示。
该方案硬件连接简单,但动态扫描的显示方式需占用CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。
第2章硬件设计
考虑到在停电时本机仍需正常走时,故单片机选用COMS低功耗产品如MCS51,由于LED显示电路耗电量较大,可将其电源与
单片机电源分开,从而使得在停电时蓄电池仅对单片机供电,而
不对显示电路供电,延长电池的供电时间。选用典型的并口扫描
显示输出。用MCS51的P0口和P2口作为段码和位码输出口,并
由2片ULN2003作为每个端口的反相驱动。利用P1口的低六位
作为6个功能键的键盘线,P3口部分口作为冬季或夏季作息时间
的选择线、临时报时处理设置线和打铃输出控制(输出部分加光
电隔离)。
1
2.1电路原理框图
报时钟电路的核心是MCS51单片机,其内部带有4KB的程序ROM,无须外扩程序存储器。电脑时钟没有大量的运算和暂存数据,现有的128B片内RAM已能满足要求,也不必外扩片RAM。系统配备5位LED 显示和6*1键盘,用P1口作为键盘接口电路,P2口作为5位LED 显示的位选通口,P0口则作为字形码输出口。采用共阴极LED数码管,P0口、P2口和数码管之间串接了反相驱动芯片ULN2003,因此P2口输出高电平选中相应的位,而P0口输出低电平点亮相应的段。P3。2接用户自设定报时/作息时间报时的选择开关,开关闭合(P3。2为低电平)时,仅对用户自设定的时间点进行报时;开关断开时,则进行固定的作息时间表报时。
P3。3端口接夏令/冬令作息时间表,P3。3=1时选择择冬令作息时间表。
P3。4端口外接光电隔离器,驱动扩音机电源的控制开关,低电平有效。
图2.1 单片机原理框图2.2系统工作流程
1
本单片机报时控制系统具备以下功能:
时钟显示。5位LED从左到右依次显示时、分,采用24H计时。
图2.2 时间显示图
(4)键盘功能。采用4个独立按键,包括:移位键、加1键、减1键、校时置入键。
(5)移位键:(P1。0=0)每按动移位键一次,小数点从左向右移动1位。
(6)加1键:(P1。1=0)对小数点所在位的数什进行十进制加1。(7)减1键:(P1。2=0)对小数点所在位的数值进行十进制减1。(8)校时置入键:(P1。3=0)将显示的时间值置入实时时钟的计时缓冲区。
图2.3 键盘功能
(9)扬声器驱动电路:
图2.4 扬声器驱动电路2.3 系统的使用说明
(1)时间显示。通电后,系统自动进入时钟显示,从00:00:00:开始计时,此时可以设定当前时间。
(2)时间校对。按下“移位”键,小数点从左向右移动,每按动1次,小数点便移动1位;要修改设置哪一位,只需将小数点移
到该位,便可用“加1键”或“减1键”对该位进行数字设定;
时间的校对设定一共有5位,从左到右依次为星期、小时十位、