当前位置:文档之家› 时钟控制器课程设计报告

时钟控制器课程设计报告

时钟控制器课程设计任务书一.设计要求(一)基本功能1.显示:可以显示时、分和秒2. 调时功能:时(0-24)、分和秒(0-60)可以连续可调(二)性能时间日误差< 2秒(三)扩展功能1.增加整点报时功能2.增加闹钟任意设定功能二.计划完成时间三周1.第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。

2.第二周完成软件的具体设计和硬件的制作。

3.第三周完成软件和硬件的联合调试。

三. 设计内容1. 画出电路原理图,正确使用逻辑关系;2. 确定元器件及元件参数;3.进行电路模拟仿真;4. SCH文件生成与打印输出;四.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。

五.答辩在规定时间内,完成叙述并回答问题。

目录1.引言 (1)2.总体设计方案 (1)2.1设计思路 (1)2.2 总体设计方框图 (1)3.设计原理分析 (2)3.1单片机最小系统的设计 (2)3.2整点报时电路 (3)3.3显示电路设计 (3)3.4时间调整电路 (4)3.5系统软件设计 (4)4.结束语 (6)参考文献 (7)附录(一) (8)附录(二) (9)附录(三) (10)基于单片机控制的时钟控制器应教091 王尊民摘要:本设计多功能数字钟是以AT89S51单片机为核心控制器构成的电子时钟,数字电子钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。

由于数字集成电路的发展和石英振荡的广泛应用,使得数字钟的精度、稳定度远远超过了老式机械钟表。

在数字显示方面目前已有集成的计数、译码电路,它可以直接驱动数码显示器件还可以直接采用CMOS-LED光点组合器件,构成模块式石英晶体数字钟。

这些电路装置十分小巧,安装使用也方便。

关键词:AT89S51 数码管时钟 74LS1641 引言数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

因此,研究数字钟及扩大其应用,有着非常现实的意义。

2 总体设计方案2.1 设计思路采用89S51为核心的时钟控制电路其设计思路有多种,其输出可以采用动态显示和静态显示两种方式,采用动态方式的电路比较复杂,采用静态方式输出可采用单片机串行口输出,电路相对较简单。

改电路应该具有任意时间可调的功能,所以外围采用开关按键来实现。

在软件设计方面,应完成时钟控制电路的各项要求整个系统工作时,秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。

“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。

“时计数器”采用24进制计时器,可实现对一天24小时的累计。

显示电路将“时”、“分”、“秒”计数器的输出,通过六个七段LED显示器显示出来。

校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、“分”、“秒”显示数字进行校对调整。

2.2设计方框图时钟控制电路应该由六部分组成,单片机是其核心部件,要完成整点报时需要报警电路。

对当前的时间修改需要对键盘的操作,所以还需要键盘电路。

单片机将其信号输出应该反映在显示电路中,应采用六位数码管构成的显示电路。

电路中还应该具有复位电路。

如图1所示。

图1整体设计方框图3 设计原理分析3.1 单片机最小系统的设计89S51组成的单片机的最小系统,包括时钟震荡电路,复位电路等。

正5V电源直接接到89S51的40脚(VCC)20脚(GND)。

时钟震荡电路:89S51的18脚(XTAL1)和19脚(XTAL2)外接12MHZ 的晶振和二个30PF的电容,震荡频率就是晶体的固有频率,复位电路采用上电自动复位跟手动复位相结合接到89S51的9端(RST),原理图如下:图2 单片机最小系统3.2整点报时电路设计该电路可以根据在整点时刻发出警报,当单片机P0.1口置0时,在图3中,P0.1接的发光管二极管经电阻限流后发光,5秒后自动熄灭,也可手动熄灭,按S0按键即可。

图3 整点报时电路图3.3显示电路的设计本采用静态显示,利用74HC164来驱动,数码管显示, 74HC164是串行输入并行输出的移位寄存器,并带有清除端,其中Q0-Q7为并行输出端,MR为清除端,当它为零电平时使74HC164清零,A、B为串行输入端,CLK为时钟脉冲输入端,在脉冲的上升沿实现移位。

当CLK=0、MR=1时,74HC164保持原来的数据状态。

图中外接6片74HC164作为6位LED显示器的静态连接口,74HC164的低电平输出电流为8mA,可直接驱动共阳极LED。

如图4所示。

图4 显示电路3.4时间调整电路该电路采用了三个按键开关,当需要调整时间时安下操作,其中S2是时钟控制器调秒按键,当S0按下时时钟秒显示加一,初始值设定在零点零分零秒整,应按下S3,该键是调分按键,当S3按下时,显示电路中,分的位置显示加一,当再次按下该键时,分再加一,已实现分连调,按下S4可对时进行加1调整,其是三个端口分别对应的输入到单片机的P2.7、P2.5、P2.4处。

如图5所示。

.图5时间调整电路3.5系统软件设计主程序首先是初始化部分,主要是计时单元清零,中断初始化,启动定时器工作,然后是调用显示子程序,接着是判断有无按键。

无按键则回到调用显示子程序处;有按键,则执行按键处理子程序,执行完后回到调用显示子程序处,重复循环。

主程序流程图如图6所示。

为了保证系统的可靠运行,在主程序之外还增加了定时中断程序。

本电子钟的记时是用单片机内部的定时计数器T0,定时10ms,即,0.001s,100次中断即为1s,60s为1min,60min为1h,24h为1天,如此循环,从而实现记时功能。

程序流程图如图7所示。

图6 主程序流程图图7 中断程序流程图4 结束语该设计以单片机AT89S51为控制核心,由实时时钟模块、键盘模块、整点报时模块等部分组成。

本系统以89S51为核心部件,利用软件编程,通过键盘控制和LED显示实现了时钟功能、闹钟功能,能实现本设计的基本要求和部分扩展功能。

如在本设计中能很好的显示时间.通过按键的设置来调节当前时间。

在本设计中尽量做到了硬件电路简单稳定,减小电磁干扰和其他环境干扰,,充分发挥软件编程的优点,减小因元器件精度不够引起的误差。

由于时间有限和本身知识水平的发挥,该在这短短的时间内,我收获了很多的东西,这些都是我在学校里的课本上找不到的,现在我们马上就要踏入社会,这些实践性的东西对我们来说是至关重要的,它让我们脱离了书生的稚气,增加了对实际应用有了更深入的了解。

通过这三周的学习,我感觉有很大的收获:首先,通过学习使自己对课本上的知识可以应用于实际,使的理论与实际相结合,加深自己对课本知识的更好理解,同时实习也段练了我个人的动手能力,能够充分利用图书馆去查阅资料,能够很好的利用进行搜索有用的资料,增加了许多课本以外的知识。

对我们学生来说,理论与实际同样重要,这是我们以后在工作中说明自己能力的一个重要标准。

总之,虽然实习的时间很短,但对我来说,收获是很大的。

我会更加珍惜我的学习,并且用实习的心得时时激励自己!参考文献[1] 实用单片机电子钟的设计/丁辉、姚庆文.无线电2003年合订本(下)[2] 孙涵芳.MCS-51系列单片机原理及应用[M].北京航空航天大学出版社.1996-4[3] 黄正谨.综合电子设计与实践[M].东南大学出版社.2002-3[4] 杨欣等.电子设计从零开始[M].清华大学出版社.2005-10[5] 谢嘉奎.电子线路[M].高等教育出版社.2003-2[6] 李朝青.单片机原理及接口技术(修订版)[M].北京:北京航空航天大学出版社.1998[7] 汪道辉.单片机系统设计与实践[M].北京:电子工业出版社.2006附录(一)总体电路图附录(二)附录(三)电路程序ORG 0000HLJMP MAINORG 000BHLJMP TOINTORG 30HMAIN:MOV IE,#82HMOV TMOD,#01HMOV TH0,#0D8HMOV TL0,#0F0HMOV A,#0MOV 59H,AMOV 60H,AMOV 61H,AMOV 62H,AMOV 63H,AMOV 64H,AMOV 65H,AHMCC EQU 20H sec EQU 21Hmin EQU 22H hour EQU 23HSETB TR0CLR ACLR P0.1MOV R0,AMOV R1,AMOV R2,AMOV R3,AMOV R5,AMOV R6,AMOV R7,AMOV HMCC ,#00 MOV sec ,#00 MOV min ,#00 MOV hour ,#00LCALL XS LOOP: JB P2.7 ,NEXT2LCALL YS10msLCALL YS10msJB P2.7 ,NEXT2 NEXT11: JNB P2.7,NEXT11MOV A,secADD A,#01MOV sec,ACJNE A,#60,NEXT2MOV sec,#00H NEXT2: JB P2.5,NEXT4ACALL YS10msLCALL YS10msJB p2.5,NEXT4 NEXT3: JNB P2.5,NEXT3MOV A,minADD A,#01MOV min,ACJNE A,#60,NEXT4MOV min,#00H NEXT4: JB P2.4,LOOPACALL YS10msLCALL YS10msJB P2.4,LOOP NEXT5: JNB P2.4,NEXT5MOV A,hourADD A,#01MOV hour,ACJNE A,#24,LOOPMOV hour,#00HAJMP LOOP DLBJ:PUSH PSWPUSH ACCMOV TH0,#0D8HMOV TL0,#0F0HMOV R0,#6FHFH: MOV A,@R0CJNE A,sec,LOP3CJNE A ,min,LOP3SETB P2.0FH1: LCALL YS200msMOV R4,#19HDJNZ R4,FH1CLR APOP PSWPOP ACCRETILOP3: CLR P2.0LCALL XSPOP PSWPOP ACCRETI;时钟中断程序TOINT:PUSH PSWPUSH ACCMOV TH0 ,#0D8HMOV TL0 ,#0F0HINC HMCCMOV A ,HMCCCJNE A ,#64H ,NEXT1MOV HMCC ,#00HINC secXYG: MOV A ,secCJNE A ,#60,NEXT1MOV sec ,#00INC min ;MOV A ,minCJNE A ,#60 ,NEXT1MOV min ,#00INC hour ;MOV A ,hour CJNE A ,#24 ,NEXT1MOV hour ,#00NEXT1: LCALL XSPOP ACCPOP PSWRETIXS: MOV A ,secMOV B ,# 10DIV ABMOV 60H ,BMOV 61H ,AMOV A ,minMOV B ,#10DIV ABMOV 62H ,BMOV 63H ,AMOV A ,hourMOV B ,#10DIV ABMOV 64H ,BMOV 65H ,ALCP: MOV R1 ,#60HMOV R5 ,#6HMOV DPTR ,#TABBK: MOV A ,@R1MOVC A ,@A+DPTRMOV SBUF ,AJNB TI ,$CLR TIINC R1DJNZ R5 ,BKRETTAB:DB 11H,0D7H,32H,92H ,0D4H,98H,18H,0D3H,10H,90HYS10ms: MOV R2 ,#10HTS1: MOV R3 ,#0FFHTS2: DJNZ R3 ,TS2DJNZ R2 ,TS1RETYS200ms:MOV R3 ,#20DL3: MOV R4 ,#10HDL2: MOV R5 ,#0FFHDL1: DJNZ R5 ,DL1DJNZ R4 ,DL2DJNZ R3 ,DL3RETEND.。

相关主题