欢迎来到天天文库
浏览记录
ID:35626039
大小:743.50 KB
页数:17页
时间:2019-04-03
《单片机课程设计--多功能电子数字钟》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、单片机原理课程设计说明书班级:07表1学号:200701020121姓名:王崇皓指导教师:曹晓华成绩:2010年6月18日题目:多功能电子数字钟一、选题背景应用知识简介:51单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。作为嵌入式系统控制核心的单片机具有其体积小、功能全、性价比高等诸多优点。51系列单片机是国内目前应用最广泛的单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51系列单片机的发展又进入了一个新的阶段。在今后很长一段时间内51系列单片机仍将占据嵌入式系统产品的中
2、低端市场。汇编语言是一种面向机器的计算机低级编程语言,通常是为特定的计算机或系列计算机专门设计的。汇编语言保持了机器语言的优点,具有直接和简捷的特点,其代码具有效率高实时性强等优点。但是对于复杂的运算或大型程序,用汇编语言编写将非常耗时。汇编语言可以与高级语言配合使用,应用十分广泛。数字钟的设计首先要保证其走时尽可能准确,其次再根据人们日常的使用习惯来设定其附加功能。在设计中利用单片机定时计数器来完成走时并用两组输出口控制数码管来显示;通过编程向某一输出口输出方波实现报时及闹铃;利用输入端口外接各种开关来完成对走时及显示的控制(如预置时间
3、等).在设计中需要用到许多技巧。二、设计要求及说明㈠设计要求:基于单片机电路,借鉴生活中常见的电子钟的功能,结合课本的要求使用汇编语言设计一个简单的电子钟系统。要求使用简便,功能实用,错误少,有一定创新性。㈡电子数字钟实现的主要功能:①实现正常走时(秒→分→时→日→月→年进位)②能够预置时间和日期③能够自动区分平闰年和大小月④具有闹铃及设定闹铃时间功能⑤具有整点报时功能⑥具有生日提醒功能,能够预置生日时间⑦在任何一种预置状态下,预置项目会闪烁显示㈢其它设计说明①优先级:预置>闹铃>报时>生日提醒>正常显示,即预置状态下闹铃、报时功能及生日
4、提醒功能都无效。②生日时间到五个数码管显示“HAPPY”。图2③生日显示状态下,按下中断INT0恢复正常显示且此后只有在下更改生日日期或第二年生日显示才有效。④正常显示状态下按下中断INT0进入预置状态,再按一次恢复。⑤用数码管(K0,K1)控制显示状态:00:时间,01:闹铃时间,10:日期,11:生日时间且显示样板如下图所示:⑥预置由拨码开关K2/K3/K4分别控制数码管12/34/56显示值,预置优先级:LED34>LED12>LED56(相应数码管显示的项目,显示状态下才能预置)⑦整点报时声音为59分51、53、55、57秒的后半
5、秒报四声低音,59秒的后半秒报一声高音⑧闹铃每次响一分钟⑨不论是预置状态还是正常走时状态均能够自动区分平闰年和大小月⑩闹铃使能由拨码开关K5控制并实时显示生日:6月1日生日,最后两位bd为birthday的缩写闹铃:于早晨6点10分响,最后一位为一表示使能有效时间:12点39分45秒日期:08年2月29日三、整体设计方案㈠硬件电路设计系统硬件电路根据系统功能可知,需要六个数码管,一个外部中断INT0,一个扬声器,由此结合单片机课程学习中对实验面板的了解,做出如下电路:如图所示,晶振频率12MHz,拨码开关数值由P0口读入;P2口的输出作为
6、控制数码管的段控信号,经74LS573即8位数据锁存器接到数码管中。数码管采用共阴接法(图中未标示);P1.0-P1.5作为数码管的位控信号输出端;开关W2经一个基本RS锁存器接入INT0,每按一次开关INTO取反一次,按两次输入一个下降沿;扬声器由P1.6口控制。㈡系统软件总流程设计根据系统要求,设计出系统软件总流程图如下图,以T0作为正常走时的计时器,T1作为预置状态下预置项目值自动跳升的控制计时器,INT0作为设定预置及清楚生日信号的控制按钮。设计使每一轮显示(即六个数码管都显示一次)便检测一次开关使上图的“检测开关值→判断并显示→
7、检测开关值”的循环时间大约为10ms,即每隔10ms检测一次开关值,每个数码管接收到的电压信号占空比大约为1/7,确保数码管正常显示。三个中断源中断程序执行时间每次均为几十毫秒,基本不影响主程序的显示及闹铃输出。中断优先级T0>INT0>T1,首先确保走时尽可能的准确,其次由于T1的开启和关闭是由INT0进行控制的,故INT0优先级较高。此外有优先级“预置显示>闹铃>整点报时>生日显示”,由于预置显示是人为控制的故优先级最高,考虑到日常生活中假如闹铃或整点报时被生日显示覆盖可能使影响到人们的日常生活故设定生日优先级最低,且闹铃最多影响生日
8、信号一分钟。闹铃和整点报时不影响正常的时间等的显示。㈢模块划分及分析根据系统功能将模块划分如下ONE:初始化程序模块l进行资源分配(EQU,BIT伪指令),设定初值,各中断初始化TWO:开关检
此文档下载收益归作者所有