欢迎来到天天文库
浏览记录
ID:24683412
大小:155.00 KB
页数:15页
时间:2018-11-16
《片机数字时钟设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、单片机课程设计课题:数字时钟设计系别:专业:姓名:学号:指导教师:成绩评定·一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。-15-二、评分(按下表要求评定)课程设计成绩评定班级姓名学号成绩:分(折合等级)指导教师签字年月日一、设计目的用8013单片机CPU及接口电路设计并实现显示时间的实时时钟。二、设计要求-15-(1) 在ZY15MCU12BD型综合单片机试验箱的硬件结构上编写软件完成设计。(2) 程序的首地址应使目标机可以直接运行,即从0000H开始。在主程序的开始部分必须设置一个合适的栈底。程序放置的地址须连续且靠前,不要在中间留下大量的空间地
2、址,以使目标机可以使用较少的硬件资源。(3) 6位LED数码管从左到右分别显示时.分.秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后变成000000.(4) 在XD1—2键盘上选定3个键分别作为小时.分.秒的调校键。每按一次键,对应的显示值便加1。分.秒加到59后变为00;小时加到23后再按键即变为00.再调校时均不向上一单位进位(例如分加到59后变为00;但小时不发生改变).(5) 软件设计必须使用8031片内定时器,采用定时中断结构,不得使用软件延时法。(6) 上机调试程序。(7) 写出设计报告。三、总体设计1、设计的总体
3、原理框图见附录32、工作原理电子时钟主要由8031片内定时器定时中断,并取一存储单元作为计数器使用,每中断一次,在中断服务程序中使计数器加1、8031芯片、74LS373锁存器、8255A接口芯片、74LS240驱动器、LED数码显示管和4*4键盘组成。主要用8031片内定时器定时中断服务程序完成秒、分、时的运算即计时功能,TIME0的中断服务程序完成调时、调分、调秒功能。8255A负责将内存里的时位、分位和秒位数值输出到数码管。同时按键01键、02键、03键是分别对时、分、秒的加1校对;05键、06键、07键时分别对时、分、秒的减1校对;00键是清零键。并且开机时时钟时从00000
4、0开始计时的,到235959时在回到000000.四、各部分电路分析此实时时钟的设计与实现,主要采用了6只LED数码管,8031内部二进制16位定时器/计数器,可编程中断控制器8031等芯片,包括显示模块,运算模块和校时模块三大功能模块。1、显示模块:用8255控制,用数码管的显示功能来设计。显示部分硬件用六只LED为显示管,这些LED-15-发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。通过在这8只发光二极管的阳极加+5V或0V的电压使不同的二极管发光,形成不同的数字。该模块主要是将运算模块和校时模块运算出来并存放在内存单元里的十六进制表示的时位、分位和秒位数值转化为十
5、进制,并通过8只数码管显示出来。该模块实现的硬件是DVCC-8086JH实验箱中的LED单元,采用软件译码,即在程序中设置一个段选码表。CPU直接往LED输出八段代码,省去了硬件译码器。A0~A3作为8段数据输出口,经74LS07驱动后到达各LED。只要做到每送一次段选码时也送一次位扫描码,并且每送一次位扫描码后,位码中的0右移一位作为下一次的位扫描码,即可实现由左向右使6只LED依次出现数字显示。2、运算模块:该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟的内存单元里,以便显示模块即时地显示出来。该模块可以细分为秒定时模块和运算模块。秒定时模块负责提供中
6、断信号,由于CPU运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现。本实验中用8031定时器/计数器,但因为8031供的信号的周期是毫秒级的,因此必须通过软件的方法在运算模块中设置一个统计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元。中断信号是8031工作方式为方式1,产生一个50ms的脉冲信号。运算模块负责时、分、秒的计算,该模块主要通过8031的IR1号中断来实现,但由于每50ms一次中断请求,所以在中断服务程序必须利用已申请内存单元26H来统计中断请求的次数,只有当26H的值为20时,才能让秒单元内的数值加1。在中断服务程序里,必须对秒、分和时的单元内
7、的数值进行判断,当秒加到60时,分必须加1、秒清零;当分加到60时,时加1、分清零。当时加到24时,直接清零。然后转到调用处。3、校时模块:该模块主要功能是修改时、分、秒内存单元的数值。每按一次键,对应的显示值便加1。分、秒加到59后变为00;小时加到23后再按键即变为00.再调校时均不向上一单位进位(例如分加到59后变为00;但小时不发生改变)。注意:在主程序中对时间进行调校前应关闭中断,以防在调校过程中定时中断服务程序也对时间进行修改而造成混淆。4.整
此文档下载收益归作者所有