基于单片机的时钟控制器设计_第1页
基于单片机的时钟控制器设计_第2页
基于单片机的时钟控制器设计_第3页
基于单片机的时钟控制器设计_第4页
基于单片机的时钟控制器设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.时钟控制器设计任务书1.设计目的与要求设计出一个用于数字时钟的控制器,准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能:(1)显示: 可以显示时、分和秒(2)调时功能:时(0-24)、分和秒(0-60)可以连续可调(3)时间日误差 2秒(4)增加整点报时功能(5)增加闹钟任意设定功能2设计内容 (1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出;(5)PCB文件生成与打印输出;3编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。4答辩 在规定时间内,完成叙述并回答问题。目录1.引言-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-基于单片机控制的时钟控制器摘要:本设计以Atmel公司的AT89S51单片机为控制系统的核心,模型采用单片机作为主控制器,以汇编语言为程序设计的基础,设计的一个用两个四位一体数码管串口显示的时钟控制电路,包含了时钟控制电路的基本功能:数码显示,时间调整,闹钟设定,秒表显示等,按照二十四小时循环,具有调节方便,简单实用,可靠性强的优点,有很高的利用价值。 关键词:单片机 AT89C51 74LS245 数码管 1 引言数字钟是采用数字电路实现对时、分、秒及数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。为了适应时代的潮流,本设计采用AT89S51单片机为核心,使得计时的精度有了很大的提高,而且调节也变的简单实用,采用数字显示也跟加的直观方便。 2 总体设计方案 2.1 设计思路 本设计采用AT89S51单片机为控制核心,产生精确的时钟震荡,来控制数码管显示电路来进行数码显示,外围电路主要有复位电路,震荡电路,按键电路,显示电路,蜂鸣电路组成;复位电路可及时的对单片机进行复位,恢复到初始的状态,震荡电路主要用于计数,定时,产生合适的波特率,按键电路主要是给人们提供一个合适的人机对话的界面,方便人们进行实时的调节,显示电路主要用于数码的显示,蜂鸣电路用于闹铃设定等辅助功能。 2.2 方案确立 本设计主要有包含了时钟电路,按键扫描,显示电路等几个部分。由单片机实现时钟功能单片机内部具有定时器,可方便实现定时功能。 按键电路:键盘分为矩阵式键盘扫描电路和独立式按键电路。矩阵式键盘电路,此类键盘是采用行列扫描方式,优点是当按键较多时可以降低占用单片机的I/O口数目,缺点是电路复杂且会加大编程难度。独立按键电路,每个键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。缺点是当按键较多时占用单片机的I/O数目较多,优点是电路设计简单,且编程极其容易。由于该系统采用了常规钟表式的校对方式,用键较少,系统资源足够用,故采用了独立按键电路。显示电路分为:静态显示法与动态显示法,由于静态显示法需要数据锁存器等硬件,接口复杂一些,又考虑到时钟显示只有6位,且系统没有其它复杂的处理任务,所以决定采用动态显示法。 2.3 硬件设计方框图 电路的设计以AT89S51单片机为核心,包含了按键电路,复位电路,震荡电路,数码显示电路,整点报时电路等一系列独立环节,下面介绍一下电路设计过程中的总体框图,如图1所示。 图1 时钟电路总体框图3 设计原理分析用AT89S51单片机控制的数字时钟电路,外接震荡电路,按键电路,显示电路,蜂鸣电路等:用单片机电路P0口来输出7段码数据,P2.0P2.5口作列扫描输出;按键用P1口控制,分别用于调节时,分,以及秒表和闹钟的设定;P1.7口接5V的小蜂鸣器,用于按键发音以及定时提醒,整点报时提醒等;采用74HC245作为数码管的段码驱动,为了提供共阳LED数码管的列扫描驱动电压,用三极管8550做电源的驱动输出;采用12MHZ晶振,可提高秒计时的精确性;在软件设计方面,应完成时钟控制电路的各项要求。 3.1 系统硬件电路设计 系统硬件电路主要组成:主控制器AT89S52、译码器74HC245、显示电路、蜂鸣器电路,复位电路时钟电路。 3.2 主控器件AT89C51 AT89S51是一款低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。管脚如图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口与74LS245输入端相连,E端接地,保证数据线畅通。管脚如图3所示。图3 74LS245管脚图3.4 显示电路 LED显示块是由发光二极管显示字段的显示器件。这种显示块有共阴与共阳两种结构。共阴极LED显示块的发光二极管阴极共地,当某个发光二极管的阳极为高电平时,发光二极管点亮。共阳极LED显示块的放光二极管阳极并接。显示块与单片机接口非常容易,只要将一个8位并行输出口语显示块的发光二极管引脚相连即可(AT89S51需要加上拉电阻)。此次电路采用2个4位共阳LED数码管,从P0口输出段码,列扫描用P2.0P2.7来实现。如图4所示。 图4 74LS245驱动段码显示电路图 3.5 按键电路 按键调节电路有四个独立的按键接到P1口的P1.0P1.3端口,控制着电路的调时,调分以及秒表功能和闹钟的设定。具体电路如下图5所示。 图5 按键电路图3.6 复位电路AT89S51单片机的复位电路 ,如图5所示中左边电路。在RESET输入端出现高电平时实现复位和初始化。在震荡器运行的情况下,要实现复位操作,必须使RST引脚至少保持两个机器周期的高电平。在CPU在第二个机器周期内执行内部复位操作,以后每一个机器周期重复一次,直至RST端电平变低复位期间不产生ALE信号。当RST引脚返回低电平以后,CPU从0地址开始执行程序。 3.7 蜂鸣电路 蜂鸣器是广泛应用于各种电子产品的一种元器件,它用于提示、报警、音乐等许多应用场合。三极管8550作蜂鸣器的驱动,增加了蜂鸣器的驱动电流。蜂鸣器的正极性的一端接到三极管的集电极,另一端连接到地,三极管的基极由单片机的P1.7管脚控制,底电平时蜂鸣器响,高电平时不响。另外,蜂鸣器的声音大小及音调可以通过调整P1.7管脚的置低时间及输出的波形进行控制。蜂鸣器的连接电路的原理图如图5所示。 3.8 时钟电路AT89S51内部片内有一个由反相放大器构成的振荡电路,XTAL1和XTAL2分别为震荡电路的输入端和输出端。时钟可以由内部方式产生或外部方式产生。在XTAL1和XTAL2引脚上外接定时元件,内部震荡电路就产生自己震荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。外部方式的时钟电路,XTAL1接地,XTAL2接外部振荡器。一般要求输入方波信号的频率低于33Mhz。本文设计的系统采用的是内部方式的时钟电路。如图6所示。 图6 时钟电路原理图3.9 总体原理图 见附录1 3.10程序框图 主程序如图7所示首先是初始化部分,主要是计时单元清零,中断初始化,启动定时器工作,然后是调用显示子程序,接着是判断有无按键。无按键则回到调用显示子程序处;有按键,则执行按键处理子程序,执行完后回到调用显示子程序处,重复循环。定时器T0中断如图8所示图7 主程序流程图图8 中断程序流程图 4 结束语 三周实习很快就过去了,通过自行设计、焊接和调试一个单片机系统,我熟悉了单片机基本的开发流程和单片机的深入学习。在完成这个设计的同时,我复习了书本上的许多相关内容,受益匪浅。因此我在获得理论知识的同时,实践中也获得了许多书本上没有的东西。提高了调试以及查找并解决问题的能力,我深入了解了焊普通元件与电路元件的技巧、数字时钟的工作原理及其它各电路元件的作用等。这些知识不仅在课堂上有效,对以后的学习工作有很大的指导意义,在日常生活中更是有着现实意义;也对自己的动手能力是个很大的锻炼。实践出真知,纵观古今,所有发明创造无一不是在实践中得到检验的。没有足够的动手能力,就奢谈在未来的科研尤其是实验研究中有所成就。最后,感谢老师对我们这次实习的辛勤指导和帮助。 参考文献1 李光飞,楼然苗,胡佳文编著.单片机课程设计实例指导.北京:北京航空航天大学出版社. 20042 黄仁欣主编.单片机原理及应用技术. 北京: 清华大学出版社. 2005. 3 高吉祥主编.电子技术基础实验与课程设计.北京:电子工业出版社. 2002 4 肖玲妮.印刷电路板设计教程.M.北京:清华大学出版社,2003.5 康华光.电子技术基础.M.北京;高等教育出版社,2006. 6 余小平等.电子系统设计.M.北京:北京航空航天大学出版社,2007. 附录1: 电路总原理图附录2: 总程序.页脚ORG 0000H LJMP START ORG 000BH LJMP INIT0 START: MOV 70H,#0 MOV 71H,#0MOV 72H,#0MOV 73H,#0MOV 74H,#0 MOV 75H,#0MOV 76H,#0MOV 77H,#0MOV 78H,#0MOV 79H,#0MOV 7AH,#0MOV 7BH,#0MOV 7CH,#0MOV 7DH,#0MOV 7EH,#0 MOV 72H,#0AH ;对连字符进行装值 MOV 75H,#0AH MOV 60H,#0MOV 61H,#0MOV 63H,#0MOV 64H,#0 CLR P1.7 MOV 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 DL2: DJNZ R7,DL2 DJNZ R6,DL1 RET DELAY: MOV R6,#10 D1: MOV R7,#30 DJNZ R7,$ DJNZ R6,D1RETDL20MS: ACALL SCAN ;延时20ms子程序 ACALL SCAN ACALL SCAN RET ;整点报时将秒和分的单元与零比较SCAN: MOV A,7EH ;7F单元的内容为0 CJNE A,79H,NEXT MOV A,7DH CJNE A,7AH,NEXT SETB P1.7 AJMP NEXT1NEXT: CLR P1.7NEXT1: MOV A,79H CJNE A,#0,NEXT2 MOV A,78H CJNE A,#0,NEXT2 SETB P1.7 LJMP 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 MOV 74H,A ;时间分要显示的十位送地址 MOV 73H,B ;时间分要显示的个位送地址 MOV A,7AH MOV B,#0AH DIV 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,SCAN1 MOV P2,#00H MOV P0,#00H JB P1.3,QQ LCALL DL1MS JB P1.3,QQHERE: JNB P1.3,HERE SJMP LOOP1 QQ: LJMP LASTLOOP1:JB P1.1,LOOP2 LCALL DL1MS JB P1.1,LOOP2HERE1:JNB P1.1,HERE1 INC 7DH MOV A,7DH CJNE A,#18H,LOOP2 MOV 7DH,#00HLOOP2:JB P1.2,LOOP3 LCALL DL1MS JB P1.2,LASTHERE3:JNB P1.2,HERE3 INC 7EH MOV A,7EH CJNE A,#3CH,LOOP3 MOV 7EH,#00H ;调制闹铃的时间显示LOOP3: MOV DPTR,#TAB MOV A,7DH MOV B,#10 DIV AB MOV 64H,A MOV 63H,B MOV A,7EH MOV B,#10 DIV AB MOV 61H,A MOV 60H,B MOV P2,#0F7H MOV A,60H MOVC A,A+DPTR MOV P0,A LCALL DELAY MOV P2,#0EFH MOV A,61H MOVC A,A+DPTR MOV P0,A LCALL DELAY MOV P2,#0DFH MOV P0,#40H LCALL DELAY MOV P2,#0BFH MOV A,63H MOVC A,A+DPTR MOV P0,A LCALL DELAY MOV P2,#07FH MOV A,64H MOVC A,A+DPTR MOV P0,A LCALL DELAY JB P1.3,LOOP4 LCALL DL1MS JB P1.3,LOOP4HERE4:JNB P1.3,HERE4 LJMP 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 INC 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,79H CJNE A,#3CH,OUTT0 MOV 79H,#00 INC 7AH MOV A,7AH CJNE A,#18H,OUTT0 ;60分钟的延时是否计到24次,没有就继续执行程序 MOV 7AH,#00 OUTT0: SETB ET0 ;启动定时器T0 POP 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 TR0 CJNE A,#04H,KEYOUT ;按下第一次和第二次对时、分选定 MOV 7CH,#00 ;按下第三次时就启动计时 SETB ET0 SETB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论