本科毕业论文-—单片机作息时间控制器课程.doc
《本科毕业论文-—单片机作息时间控制器课程.doc》由会员分享,可在线阅读,更多相关《本科毕业论文-—单片机作息时间控制器课程.doc(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、湖南工程学院课 程 设 计课程名称 微机原理与应用 课题名称 单片机作息时间控制器 湖南工程学院课 程 设 计 任 务 书课程名称 微机原理与应用 课 题 单片机作息时间控制器 专业班级 自动化0702 学生姓名 罗 琦 学 号 200701020216 指导老师 王迎旭、李晓秀、林国汉 审 批 任务书下达日期 2010年 6 月 7日任务完成日期 2010年 6 月 20日设计内容与设计要求设计内容:本课题要求以单片机为核心,设计一个具有定时和计数功能的智能化作息时间控制器。该控制器要求有以下功能:1、 按作息时间接通/断开电铃;2、 课间接通/断开播放音乐设备;3、 时钟显示。设计要求:1
2、)确定系统设计方案; 2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;*5)进行部分单元电路几应用程序的调试;主 要 设 计 条 件作息时间控制器常用于学校教学楼的时间控制,利用单片机内部定时器实现时间基准定时,并配合“启动”、“复位”等按键的操作完成铃声、音乐的开/停控制,显示的内容要求有时、分、秒各两位。说 明 书 格 式1. 课程设计任务书2. 目录3. 系统总体方案选择与说明4. 系统结构框图与工作原理5. 各单元硬件设计说明及计算方法6. 软件设计与说明(包括流程图)7. 调试结果与必要的调试说明8. 使用说明9. 程序清单10、总结11、参考文献附
3、录附录A 系统原理图附录B 程序清单评分表进 度 安 排设计时间两周第一周:星期一 讲课,布置课题任务, 借阅有关资料;星期二 上午:讲课及课题介绍;下午:分组进行总体方案讨论,初步确定设计方案;星期三 上午:方案论证与检查;下午:分组进行总体设计,硬、软件功能分配;星期四 硬、软件流程设计与计算; 星期五 小系统焊接与调试;第二周:星期一 分单元调试调试;星期二 写说明书初稿;星期三 检查设计情况,修改说明书;星期四 整理资料,准备答辩;星期五 交设计资料,答辩。参 考 文 献参考文献1张迎新.单片微型计算机原理、应用及接口技术.国防工业出版社2房小翠.单片机实用系统设计技术. 国防工业出版
4、社3何立民.单片机应用系统设计.北航出版社4王迎旭.单片机原理及及应用.机械工业出版社.2004年、目 录第一章 引 言71.1简介及技术要求 71.2计时方案 71.3键盘/显示方案7第二章 硬件设计 8 2.1 电路原理图 82.2 系统工作流程 92.3 系统使用说明 10第三章 系统软件设计 103.1 软件设计 103.2 系统工作流程 11第四章 程序模块设计. 15 4.1主程序模块 16 4.2定时中断服务程序模块 184.3扫描显示模块 224.4键扫描子程序 234.5键值处理子程序 274.6移位键处理程序模块 30第五章 调试及分析 32第六章 课程总结 33参考文献
5、34附录 35第1章 引 言因为单片机的种类多,而型号杂,也是我们学习中的困难,所以就MCS51系列的产品来说,就是一个典型的学习方法。对于类似汇编的单片机编程过程,也是一个十分有趣的过程。为了更好的说明,我以上介绍先从应用电路切入,同时介绍它们的使用方法,以便能快速掌握它们的应用。1.1简介及技术要求校园作息时间控制系统主要用于学校,对一些以24小时为周期的开关量进行自动控制。如上下课打铃及扩音设备的开与关、教学楼照明的定时开与关、学生宿舍灯及校园路灯的定时开关的控制。技术要求如下:(1) 定时准确,月误差=10%。(2) 有显示和校时功能。(3) 具备到时响铃功能。1.2计时方案采用软件控
6、制利用MCS-51系列单片机内部的定时/计数器进行中数年定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能够使读者在定时/计数器的使用、中数年及程序设计方面得到锻炼与提高,因此本系统将采用软件方法实现计时。1.3键盘/显示方案对于实时时钟而言,显示显然是另一个重要的环节。如前所述,通常有两种显示方式:动态显示和静态显示。直接利用MC51单片机的P0和P2口,LED动态显示。 该方案硬件连接简单,但动态扫描的显示方式需占用CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。第2章 硬件设计考虑到在停电时本机仍需正常走时,故单片机选用COMS低功耗产品如MCS51,由于L
7、ED显示电路耗电量较大,可将其电源与单片机电源分开,从而使得在停电时蓄电池仅对单片机供电,而不对显示电路供电,延长电池的供电时间。选用典型的并口扫描显示输出。用MCS51的P0口和P2口作为段码和位码输出口,并由2片ULN2003作为每个端口的反相驱动。利用P1口的低六位作为6个功能键的键盘线,P3口部分口作为冬季或夏季作息时间的选择线、临时报时处理设置线和打铃输出控制(输出部分加光电隔离)。2.1电路原理框图报时钟电路的核心是MCS51单片机,其内部带有4KB的程序ROM,无须外扩程序存储器。电脑时钟没有大量的运算和暂存数据,现有的128B片内RAM已能满足要求,也不必外扩片RAM。系统配备
8、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端口外接光电隔离器,驱动扩音机电源的控制开关,低电平有效。键盘部分显示部分单片机控制部分响铃及扩
9、音部分 图2.1 单片机原理框图2.2系统工作流程本单片机报时控制系统具备以下功能:时钟显示。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 扬声器驱动电路
10、 2.3 系统的使用说明(1) 时间显示。通电后,系统自动进入时钟显示,从00:00:00:开始计时,此时可以设定当前时间。(2) 时间校对。按下“移位”键,小数点从左向右移动,每按动1次,小数点便移动1位;要修改设置哪一位,只需将小数点移到该位,便可用“加1键”或“减1键”对该位进行数字设定;时间的校对设定一共有5位,从左到右依次为星期、小时十位、小时个位、他的十位、分的个位。设置正确后“校时置入键”,时间校正便设置完成,报时钟开始按新设置的时间值开始走时和显示。(3) 用户报时时间设置/显示。用户可以自行设定10组报时时间点,这时LED显示的最高位定义为组编号其他位定义不变;按下“报时设定
11、键”,系统根据“组编号”将用记设定的报时时间点(小时和分)存入内部RAM相应存储单元中,用户如需修改和检查这些报时时间。如需修改,可用“移位键”、“加1键”,“减1 键”来重新设定,然后用“报时设定键”来转入并结束显示。(4) 报时输出的驱动过程。在报时处理程序上中,一旦当前时间与作息时间表中的某一时间点(时、分值)相同时,则建立F0报时标志,建立F1放音标志,扩音机播放报时音乐,并在26H中设置放音时间,放音时间到,则关闭驱动及清除F1标志位,完成1次报时驱动.第3章 软件设计3.1系统资源分配 (1)为方便阅读程序,先对系统的资源分配加以说明。1) 定时器。定时器0用作时钟定时,按方式1工
12、作,每隔100MS溢出中断1次。2) 片内RAM及标志位的分配与定义见表1表1:地址功能名称初始化值2FH2BH显示缓冲区,星期、小时、分(高位在前)DISP0DISP400H24H20H计时缓冲区,星期、时、分、秒、100msWEEK,HOUR,MIN,SEC,MSEC00H40H53H用户报时时间值寄存区(时、分)AHOUR、AMIN00H61H7FH堆栈区00HF0H报时开始标志位F0H0F1H放音开始标志位F1H0F3H分钟值变更标志位F3H0F4H键处理标志位F4H025H扩音机预热时间25H00H26H播放报时音乐时间26H00H(2)软件流程。根据上述工作流程,软件设计可分为以下
13、几个功能模块:1) 主程序:初始化与键盘监控。开始I/O端口初始化设置栈指针软件陷阱处理RAM区清零定时器、中断初始化报时处理子程序调用键扫描子程序键扫描处理子程序调用显示子程序如有键则进行键处理判断是否有F3标志返回主程序入口2) 计时:为定时器0中断服务子程序,完成刷新计时缓冲区的功能。3) 时间设置与报时设置:由键盘输入设置当前时间与定时启闭时间。4) 显示:完成5位LED动态显示。5) 键盘扫描:判断是否有键按下,并求取键号。6) 定时比较:判断报时时间到否,如时间到,则启动报时处理程序。7) 其他辅助功能程序,如键盘设置、拆字、合字、冬季或夏季时间表选择及假日停止报时等。第4章 程序
14、模块设计程序的模块设计非常重要,有很多功能的程序,列表如表2表2 :主程序程序的主体,调用其他子程序定时中断服务程序进行秒,分,时的累计计数,到时间到时,驱动蜂鸣器及继电器显示模块P0口作为段码,P2口作为位码输出,控制数码管。键扫描子程序检测P1口,判断是否有键按下,如有键按下,进进行延时去抖动并读取键值,存入A中键值处理子程序判断A中的值,根据A来选择调用哪个子程序4.1 主程序模块(MAIN)在主程序模块中,先对各端口进行初始化,对内部RAM区清零,设置堆栈和定时器初值,关闭显示器,启动定时及其中断。然后检测时钟分值变更标志位F3是否建立,如果已建立,则进行报时处理,否则再检测有无按键按
15、下,若有则进行按键处理,无则返回循环点。 ORG 0000H START: AJMP MAIN ;跳转入主程序0030H ORG 000BH AJMP CTCINT ;跳转到定时器T0的中断服务程序入口 ORG 0030HMAIN: NOP ;主程序入口地址:0030H NOP NOP MOV A,#OFFH ;关闭各输出口MOV P0,A ;P0口为字形口,低电平有效MOV P1,A;P1口作为6个键输入口MOV P2,A ;P2口是字位口,低电平有效MOV P3,A ;P3口报时方式控制和驱动输出口SETB T0;关闭报时音乐输出(T0=1)SETB T1 ;关闭报时扩音机电源(T1=1)
16、CJNE SP,#07H,NOT1MOV R0,#7FHMOV R1,#7DH ;否则RAM清零初始化CLR ALOOP0: MOV R0,A DEC R0DJNZ R1, LOOP0 ;从内部RAM区03H到7FH均清零NOT1: MOV SP,#60H ;设置栈指针MOV IP,#02H;设置定时器T0为最高中断优先级MOV IE,#82H;定时器T0开中断MOV TMOD,#01H;设置定时器T0为方式1MOV TL0,#0B0H;设置定时器T0初值MOV TH0,#3CHSETB TR0;启动定时NOPNEXTT: NOP MOV SP,#60H ;重置堆栈底位置LCALL DISP
17、;调用显示子程序NOP ;检测标志是否出现,F3为定时分钟值变化的标志位JNB 0F3H,NEXT1 ;F3=0,则转键扫描,判断有无键按下NOP ;F3=1,调用报时处理子程序SETB INT0JNB INT0 , USERS;如INTO=0,则调用用户自设定报时点LCALL TIMERA;INTO=1,调用TIMERA,按作息时间表报时USERS: NOPLCALL TIMERB;TIMERB为用户自设定报时点报时NOPNEXT1:LCALL CHECKEY;调用按键扫描子程序,判断有无键按下JZ NEXTT;无键按下,返回重新扫描NOPLCALL KEYACC;有键按下,调用按键处理子程
18、序NOPSJMP NEXTTNOPNOP4.2定时中断服务程序模块该多好模块完成下述工作:对100毫秒(20H)、秒(21H)、分(22H)、小时(23H)进行累计计数,如果分值有计数变化并且无键按下,则将小时和分钟送显示缓冲区更新显示目录;如有报是处理标志,则对报时扩音机电源和报时音乐输出分别进行定时控制。CTCINT:NOP;T0的中断服务子程序MOV TL0,#0B4H;设置定时器T0初值MOV TH0,#3CHPUSH ACC;保护主程序现场数据PUSH PSWNOPSETB RS0;选择新的工作寄存器区(1区)CLR RS1;SELECT 1 AREAINC 20H;0.1S单元加1
19、MOV A,20HJB OF4H,LCA;(F4H)为键处理标志位,在键处理过程中不显示秒点CJNE A,#05H,CTNUCCTNUC: JC LC2;小于0.4S则秒点闪亮,大于0.4S则秒点熄灭CLR 6CHSJMP LCALC2: SETB 6CHLCA: CJNE A,#0EH,RTNH;未计满1S则退出中断MOV 20H,#00H;毫秒计数单元清零JNB 0F0H,NEXTE;F0H=1为报时扩音机预热延时标志位MOV A,25H;(25H)中存放报时扩音机预热延时时间值JNZ NEXTFCLR OFOHCLR OFOHSETB OF1HMOV 26H,#1OH ;(26H)中存放
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科毕业 论文 单片机 作息 时间 控制器 课程
限制150内