收藏 分享(赏)

基于单片机的时钟控制器设计.doc

上传人:精品资料 文档编号:10867101 上传时间:2020-01-16 格式:DOC 页数:20 大小:387.50KB
下载 相关 举报
基于单片机的时钟控制器设计.doc_第1页
第1页 / 共20页
基于单片机的时钟控制器设计.doc_第2页
第2页 / 共20页
基于单片机的时钟控制器设计.doc_第3页
第3页 / 共20页
基于单片机的时钟控制器设计.doc_第4页
第4页 / 共20页
基于单片机的时钟控制器设计.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、1时钟控制器设计任务书1.设计目的与要求设计出一个用于数字时钟的控制器,准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能:(1)显示: 可以显示时、分和秒(2)调时功能:时(0-24) 、分和秒(0-60)可以连续可调(3)时间日误差 2 秒(4)增加整点报时功能(5)增加闹钟任意设定功能2设计内容 (1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH 文件生成与打印输出;(5)PCB 文件生成与打印输出;3编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。4答辩在规定时间内,完成叙述并回答问题。2目录1.引言-

2、1-2 总体设计方案-1-2.1 设计思路-1-2.2 方案确立-1-2.3 设计方框图-2-3 设计原理分析-2-3.1 系统硬件电路设计 -2-3.2 主控器件 AT89S51 -2-3.3 译码器 74HC245 -3-3.4 显示电路 3-3.5 按键电路-4-3.6 复位电路-4-3.7 蜂鸣电路-5-3.8 时钟电路-5-3.9 总体原理图-5-3.10 程序框图-5-4 结束语-7-参考文献-8-附录 1 电路总原理图 -9-附录 2 总程序-10-3基于单片机控制的时钟控制器摘要:本设计以 Atmel 公司的 AT89S51 单片机为控制系统的核心,模型采用单片机作为主控制器,

3、以汇编语言为程序设计的基础,设计的一个用两个四位一体数码管串口显示的时钟控制电路,包含了时钟控制电路的基本功能:数码显示,时间调整,闹钟设定,秒表显示等,按照二十四小时循环,具有调节方便,简单实用,可靠性强的优点,有很高的利用价值。 关键词:单片机 AT89C51 74LS245 数码管 1 引言数字钟是采用数字电路实现对时、分、秒及数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功

4、能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。为了适应时代的潮流,本设计采用 AT89S51 单片机为核心,使得计时的精度有了很大的提高,而且调节也变的简单实用,采用数字显示也跟加的直观方便。 2 总体设计方案 2.1 设计思路 本设计采用 AT89S51 单片机为控制核心,产生精确的时钟震荡,来控制数码管显示电路来进行数码显示,外围电路主要有复位电路,震荡电路,按键电路,显示电路,蜂鸣电路组成;复位电路可及时的对单片机

5、进行复位,恢复到初始的状态,震荡电路主要用于计数,定时,产生合适的波特率,按键电路主要是给人们提供一个合适的人机对话的界面,方便人们进行实时的调节,显示电路主要用于数码的显示,蜂鸣电路用于闹铃设定等辅助功能。 2.2 方案确立 本设计主要有包含了时钟电路,按键扫描,显示电路等几个部分。由单片机实现时钟功能单片机内部具有定时器,可方便实现定时功能。 按键电路:键盘分为矩阵式键盘扫描电路和独立式按键电路。 。 。 。矩阵式键盘电路,此类键盘是采用行列扫描方式,优点是当按键较多时可以降低占用单片机的 I/O 口数目,缺点是电路复杂且会加大编程难度。独立按键电路,每个键单独占有一根 I/O 接口线,每

6、个 I/O 口的工作状态互4不影响,此类键盘采用端口直接扫描方式。缺点是当按键较多时占用单片机的 I/O 数目较多,优点是电路设计简单,且编程极其容易。由于该系统采用了常规钟表式的校对方式,用键较少,系统资源足够用,故采用了独立按键电路。显示电路分为:静态显示法与动态显示法,由于静态显示法需要数据锁存器等硬件,接口复杂一些,又考虑到时钟显示只有 6 位,且系统没有其它复杂的处理任务,所以决定采用动态显示法。2.3 硬件设计方框图 电路的设计以 AT89S51 单片机为核心,包含了按键电路,复位电路,震荡电路,数码显示电路,整点报时电路等一系列独立环节,下面介绍一下电路设计过程中的总体框图,如图

7、 1 所示。 图 1 时钟电路总体框图3 设计原理分析用 AT89S51 单片机控制的数字时钟电路,外接震荡电路,按键电路,显示电路,蜂鸣电路等:用单片机电路 P0 口来输出 7 段码数据, P2.0P2.5 口作列扫描输出;按键用 P1 口控制,分别用于调节时,分, 以及秒表和闹钟的设定; P1.7 口接 5V 的小蜂鸣器,用于按键发音以及定时提醒,整点报时提醒等;采用 74HC245 作为数码管的段码驱动,为了提供共阳 LED 数码管的列扫描驱动电压,用三极管 8550 做电源的驱动输出;采用 12MHZ 晶振,可提高秒计时的精确性;在软件设计方面,应完成时钟控制电路的各项要求。 3.1

8、系统硬件电路设计 系统硬件电路主要组成:主控制器 AT89S52、译码器 74HC245、显示电路、蜂5鸣器电路,复位电路时钟电路。 3.2 主控器件 AT89C51 AT89S51 是一款低功耗,高性能 CMOS 8 位单片机,片内含 4k Bytes ISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,AT89S51 在众多嵌入式控制应用系统中得到广泛应

9、用。管脚如图 2 所示。图 2 DIP-40 封装 89C51 引脚图3.3 译码器 74LS24574LS245 是我们常用的芯片,用来驱动 led 或者其他的设备,它是 8 路同相三态双向总线收发器,可双向传输数据。 74LS245 还具有双向三态功能,既可以输出,也可以输入数据。 当 89S51 单片机的 P0 口总线负载达到或超过 P0 最大负载能力时,必须接入 74LS245 等总线驱动器。 当片选端/CE 低电平有效时,DIR=“0” ,信号由 B 向 A 传输 ;(接收) DIR=“1”,信号由 A 向 B 传输;(发送)当 CE 为高电平时,A 、B 均为高阻态。P0 口与 7

10、4LS245 输入端相连,E 端接地,保证数据线畅通。管脚如图 3 所示。6图 3 74LS245 管脚图3.4 显示电路 LED 显示块是由发光二极管显示字段的显示器件。这种显示块有共阴与共阳两种结构。共阴极 LED 显示块的发光二极管阴极共地,当某个发光二极管的阳极为高电平时,发光二极管点亮。共阳极 LED 显示块的放光二极管阳极并接。显示块与单片机接口非常容易,只要将一个 8 位并行输出口语显示块的发光二极管引脚相连即可(AT89S51 需要加上拉电阻) 。此次电路采用 2 个 4 位共阳 LED 数码管,从 P0 口输出段码,列扫描用 P2.0 P2.7 来实现。如图 4 所示。A01

11、579BEDIRLSbcgdpfeFa?wytsm图 4 74LS245 驱动段码显示电路图3.5 按键电路 按键调节电路有四个独立的按键接到 P1 口的 P1.0P1.3 端口,控制着电路的调时,调分以及秒表功能和闹钟的设定。具体电路如下图 5 所示。 7图 5 按键电路图3.6 复位电路AT89S51 单片机的复位电路 ,如图 5 所示中左边电路。在 RESET 输入端出现高电平时实现复位和初始化。在震荡器运行的情况下,要实现复位操作,必须使 RST 引脚至少保持两个机器周期的高电平。在 CPU 在第二个机器周期内执行内部复位操作,以后每一个机器周期重复一次,直至 RST 端电平变低复位期

12、间不产生 ALE 信号。当RST 引脚返回低电平以后, CPU 从 0 地址开始执行程序。 3.7 蜂鸣电路 蜂鸣器是广泛应用于各种电子产品的一种元器件,它用于提示、报警、音乐等许多应用场合。三极管 8550 作蜂鸣器的驱动,增加了蜂鸣器的驱动电流。蜂鸣器的正极性的一端接到三极管的集电极,另一端连接到地,三极管的基极由单片机的 P1.7 管脚控制,底电平时蜂鸣器响,高电平时不响。另外,蜂鸣器的声音大小及音调可以通过调整 P1.7 管脚的置低时间及输出的波形进行控制。蜂鸣器的连接电路的原理图如图5 所示。 3.8 时钟电路AT89S51 内部片内有一个由反相放大器构成的振荡电路,XTAL1 和

13、XTAL2 分别为震荡电路的输入端和输出端。时钟可以由内部方式产生或外部方式产生。在 XTAL1和 XTAL2 引脚上外接定时元件,内部震荡电路就产生自己震荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。外部方式的时钟电路,XTAL1 接地,XTAL2 接外8部振荡器。一般要求输入方波信号的频率低于 33Mhz。本文设计的系统采用的是内部方式的时钟电路。如图 6 所示。 图 6 时钟电路原理图3.9 总体原理图 见附录 1 3.10 程序框图 主程序如图 7 所示首先是初始化部分,主要是计时单元清零,中断初始化,启动定时器工作,然后是调用显示子程序,接着是判断有无按键。无按键则回到调用显

14、示子程序处;有按键,则执行按键处理子程序,执行完后回到调用显示子程序处,重复循环。定时器 T0 中断如图 8 所示9图 7 主程序流程图10图 8 中断程序流程图 4 结束语 三周实习很快就过去了,通过自行设计、焊接和调试一个单片机系统,我熟悉了单片机基本的开发流程和单片机的深入学习。在完成这个设计的同时,我复习了书本上的许多相关内容,受益匪浅。因此我在获得理论知识的同时,实践中也获得了许多书本上没有的东西。提高了调试以及查找并解决问题的能力,我深入了解了焊普通元件与电路元件的技巧、数字时钟的工作原理及其它各电路元件的作用等。这些知识不仅在课堂上有效,对以后的学习工作有很大的指导意义,在日常生

15、活中更是有着现实意义;也对自己的动手能力是个很大的锻炼。实践出真知,纵观古今,所有发明创造11无一不是在实践中得到检验的。没有足够的动手能力,就奢谈在未来的科研尤其是实验研究中有所成就。最后,感谢老师对我们这次实习的辛勤指导和帮助。 参考文献1 李光飞 ,楼然苗,胡佳文编著.单片机课程设计实例指导.北京: 北京航空航天大学出版社. 20042 黄仁欣主编.单片机原理及应用技术. 北京: 清华大学出版社. 2005. 3 高吉祥主编.电子技术基础实验与课程设计.北京:电子工业出版社. 2002 4 肖玲妮.印刷电路板设计教程.M.北京:清华大学出版社,2003.5 康华光.电子技术基础.M.北京

16、;高等教育出版社,2006. 6 余小平等.电子系统设计.M.北京:北京航空航天大学出版社,2007. 12附录 1: 电路总原理图 A023456789BEDIRLSVsXTP.WNO/GpCKfMkuFbcgdea13附录 2: 总程序14ORG 0000H LJMP START ORG 000BH LJMP INIT0 START: MOV 70H,#0MOV 71H,#0MOV 72H,#0MOV 73H,#0MOV 74H,#0 MOV 75H,#0MOV 76H,#0MOV 77H,#0MOV 78H,#0MOV 79H,#0MOV 7AH,#0MOV 7BH,#0MOV 7CH,

17、#0MOV 7DH,#0MOV 7EH,#0MOV 72H,#0AH ;对连字符进行装值 MOV 75H,#0AH MOV 60H,#0MOV 61H,#0MOV 63H,#0MOV 64H,#0CLR P1.7MOV TMOD,#01H ;选择定时器/计数器 T0 的方式 1 MOV TL0,#0B0H ;对低位赋初值 MOV TH0,#03CH ;高位赋初值 SETB EA SETB ET0 SETB TR0 START1: LCALL SCAN LCALL KEYSCAN SJMP START1 DL1MS: MOV R6,#14H ;延时 1 子程序 DL1: MOV R7,#19H

18、DL2: DJNZ R7,DL2 DJNZ R6,DL1 15RET DELAY: MOV R6,#10D1: MOV R7,#30DJNZ R7,$DJNZ R6,D1RETDL20MS: ACALL SCAN ;延时 20ms 子程序ACALL SCANACALL SCANRET ;整点报时将秒和分的单元与零比较SCAN: MOV A,7EH ;7F 单元的内容为 0CJNE A,79H,NEXTMOV A,7DHCJNE A,7AH,NEXTSETB P1.7AJMP NEXT1NEXT: CLR P1.7NEXT1: MOV A,79HCJNE A,#0,NEXT2MOV A,78HC

19、JNE A,#0,NEXT2SETB P1.7LJMP NEXT3NEXT2:CLR P1.7;数码管总显示程序开始分两部分;校正时间和数码管正常工作的显示程序 NEXT3: MOV A,78H MOV B,#0AH DIV AB ;时间秒的十位送给A,时间秒的个位送 B MOV 71H,A ;时间秒要显示的十位 MOV 70H,B ;时间秒要显示的个位 MOV A,79H MOV B,#0AH DIV AB ;时间分的十位送给A,时间分的个位送 B 16MOV 74H,A ;时间分要显示的十位送地址 MOV 73H,B ;时间分要显示的个位送地址 MOV A,7AH MOV B,#0AH D

20、IV AB ;时间时的十位送给A,时间时的个位送 B MOV 77H,A ;时间时显示的十位送地址 MOV 76H,B ;时间时要显示的个位送地址 MOV R1,#70H MOV R5,#0FEH MOV R3,#09H SCAN1: MOV A,R5 ;数码管正常工作的显示程序 MOV P2,A MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR ;对字段表取值显示 MOV P0,A MOV A,R5 LCALL DL1MS INC R1 MOV A,R5 RL A MOV R5,A DJNZ R3,SCAN1MOV P2,#00H MOV P0,#00H JB P1.

21、3,QQLCALL DL1MSJB P1.3,QQHERE: JNB P1.3,HERESJMP LOOP1QQ: LJMP LASTLOOP1:JB P1.1,LOOP2LCALL DL1MSJB P1.1,LOOP2HERE1:JNB P1.1,HERE1INC 7DH17MOV A,7DHCJNE A,#18H,LOOP2MOV 7DH,#00HLOOP2:JB P1.2,LOOP3LCALL DL1MSJB P1.2,LASTHERE3:JNB P1.2,HERE3INC 7EHMOV A,7EHCJNE A,#3CH,LOOP3MOV 7EH,#00H;调制闹铃的时间显示LOOP3:

22、 MOV DPTR,#TABMOV A,7DHMOV B,#10DIV ABMOV 64H,AMOV 63H,BMOV A,7EHMOV B,#10DIV ABMOV 61H,AMOV 60H,BMOV P2,#0F7HMOV A,60HMOVC A,A+DPTRMOV P0,ALCALL DELAYMOV P2,#0EFHMOV A,61HMOVC A,A+DPTRMOV P0,ALCALL DELAYMOV P2,#0DFHMOV P0,#40HLCALL DELAYMOV P2,#0BFHMOV A,63HMOVC A,A+DPTRMOV P0,ALCALL DELAYMOV P2,#0

23、7FHMOV A,64HMOVC A,A+DPTR18MOV P0,ALCALL DELAYJB P1.3,LOOP4LCALL DL1MSJB P1.3,LOOP4HERE4:JNB P1.3,HERE4LJMP LASTLOOP4:LJMP LOOP1 LAST: RET ;“09“和“-“的字段表 TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H;定时/计数器 T0 中断程序 INIT0: PUSH ACC PUSH PSW CLR ET0 CLR TR0 MOV TL0,#0B0H MOV TH0,#03CH SETB TR0 IN

24、C 7BH MOV A,7BH CJNE A,#14H,OUTT0 ;50ms 是否到 20 次,没有到就继续执行50ms 的延时 MOV 7BH,#00 INC 78H MOV A,78H CJNE A,#3CH,OUTT0 ;一秒的延时是否计到 60 次,没有就继续执行 MOV 78H,#00 INC 79H MOV A,79HCJNE A,#3CH,OUTT0 MOV 79H,#00INC 7AH MOV A,7AH CJNE A,#18H,OUTT0 ;60 分钟的延时是否计到 24 次,没有就继续执行程序 MOV 7AH,#00 OUTT0: SETB ET0 ;启动定时器 T0 1

25、9POP PSW POP ACC RETI ;按键处理程序 KEYSCAN:CLR EA JNB P1.0,KEYSCAN0 ;P1.0 有按键按下则跳转到子程序 JNB P1.1,KEYSCAN1 ;P1.1 有按键按下则跳转到子程序 JNB P1.2,KEYSCAN2 ;P1.2 有按键按下则跳转到子程序 KEYOUT: SETB EA RET KEYSCAN0:LCALL DL20MS ;20ms 的延时消抖 JB P1.0,KEYOUT WAIT0: JNB P1.0,WAIT0 ;判断按键是否松手, 松手就往下执行程序 INC 7CH MOV A,7CH CLR ET0 CLR TR

26、0 CJNE A,#04H,KEYOUT ;按下第一次和第二次对时、分选定 MOV 7CH,#00 ;按下第三次时就启动计时 SETB ET0 SETB TR0 LJMP KEYOUT KEYSCAN1:LCALL DL20MS ;按键加一的程序 JB P1.1,KEYOUT WAIT1: JNB P1.1,WAIT1 MOV A,7CH CJNE A,#03H,KSCAN11 ;如果功能键按下则对时加一调整 INC 78HMOV A,78HCJNE A,#60,KEYOUTMOV 78H,#00 LJMP KEYOUT KSCAN11: CJNE A,#02H,KSCAN1220INC 79

27、H MOV A,79HCJNE A,#60,KEYOUT ;如果加到 60 则清零 MOV 79H,#00 LJMP KEYOUT KSCAN12:CJNE A,#01H,KEYOUTINC 7AH ;如果功能键是按下第二次则对分进行加一调整 MOV A,7AH CJNE A,#18H,KEYOUT MOV 7AH,#00 LJMP KEYOUT KEYSCAN2:LCALL DL20MS ;延时消抖程序 JB P1.2,KEYOUT WAIT2: JNB P1.2,WAIT2 ;判断是否放开按键 MOV A,7CH ;如果功能键是按下第一次对时进行减一 CJNE A,#03H,KSCAN22 DEC 78H MOV A,78H CJNE A,#00H,KEYOUT MOV 78H,#3BH LJMP KEYOUT KSCAN22:CJNE A,#02H,KSCAN23DEC 79H MOV A,79H CJNE A,#00H,KEYOUT1 MOV 79H,#3BH LJMP KEYOUT KSCAN23:CJNE A,#01H,KEYOUT1 DEC 7AH MOV A,7AH;如果功能键是按下第二次则对分进行减一CJNE A,#00H,KEYOUT1 MOV 7AH,#17H LJMP KEYOUT1KEYOUT1: SETB EA RET END

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报