




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 题 摘 要摘要:近年来,随着电子产品的发展,人们对数字时钟的要求越来越高,本文针对人们的这一需求,设计了一种有单片机控制的智能化数字时钟,功能强大,界面友好,更好的满足了人们对它的智能化要求。 时钟已不仅仅被看成一种用来显示时间的工具,在很多实际应用中它还需要能够实现更多其它的功能。高精度、多功能、小体积、低功耗,是现代时钟发展的趋势。在这种趋势下,时钟的数字化、多功能化已经成为现代时钟生产研究的主导设计方向。本文正是基于这种设计方向,以单片机为控制核心,设计制作一个符合指标要求的多功能数字时钟。 本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个多功能数字时钟系统。该时钟系统主要由时钟模块、闹钟模块、环境温度检测模块、液晶显示模块、键盘控制模块以及信号提示模块组成。系统具有简单清晰的操作界面,能在 4V7V直流电源下正常工作。能够准确显示时间(显示格式为时时:分分:秒秒,24小时制),可随时进行时间调整,具有闹钟时间设置、闹钟开/关、止闹功能,能够对时钟所在的环境温度进行测量并显示。设计以硬件软件化为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。同时,该时钟系统还具有功耗小、成本低的特点,具有很强的实用性。由于系统所用元器件较少,单片机所被占用的I/O口不多,因此系统具有一定的可扩展性。关键词: 数字钟 单片机 at89c51目录1.引言41.1 系统方案的确定42.设计目的与要求52.1设计目的52.2设计指标52.3设计要求52.4制作要求52.5编写设计报告53数字钟的构成63.1晶体振荡器电路63.2按键模块73.3复位电路73.4显示模块83.5蜂鸣模块84.单片机介绍94.1 89C52芯片管脚功能94.2程序设计流程图124.3元器件清单135调试及性能分析145.1硬件调试145.2软件调试145.3性能分析146完整电路图157完整PCB158结论169AT89C51单片机显示时钟程序清单171.引言现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人。数字化的钟表给人们带来了极大的方便。 近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。单片机在多功能数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉。但是却很少知道它的内部结构以及工作原理。由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术和数码管显示技术。 1.1 系统方案的确定单片机芯片作为控制系统的核心部件,它除了具备微机CPU的数值计算功能外,还具有灵活强大的控制功能,以便实时检测系统的输入量、控制系统的输出量,实现自动控制。在本次设计中采用单片机技术来实现数字钟的功能。方案的设计可以从以下几个方面来确定。微处理器的选择,AT89S51、52是2003年ATMEL推出的新型品种,除了完全兼容8051外,还多了ISP编程和看门狗功能。但是AT89S52的存储器容量比AT89S51的大。在本次设计中采用AT89S52单片机;显示电路的设计,随着科技的发展,液晶显示的使用越来越方便,已被普遍的使用。由于液晶显示与驱动都集成在一个芯片上,因此使用起来很方便。在这里采用液晶显示;校时和定时电路的设计;实时控制电路是时钟电路的一个重要组成部分,采用的是一个时钟芯片,单片机从中读取数据送到显示器上显示,从而实现数字钟的功能;还有一些其他控制电路如复位电路、时钟电路等。通过这些控制电路的连接构成了完整的电路,2.设计目的与要求2.1设计目的熟悉集成电路的引脚安排.掌握各芯片的逻辑功能及使用方法.了解面包板结构及其接线方法.了解数字钟的组成及工作原理.熟悉数字钟的设计与制作.2.2设计指标时间以24小时为一个周期;显示时,分,秒;有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时;为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号.2.3设计要求画出电路原理图(或仿真电路图);元器件及参数选择;电路仿真与调试;PCB文件生成与打印输出.2.4制作要求自行装配和调试,并能发现问题和解决问题2.5编写设计报告写出设计与制作的全过程,附上有关资料和图纸,有心得体会.设计原理及其框图3数字钟的构成数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路.由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定.通常使用石英晶体振荡器电路构成数字钟.图 3-0所示为数字钟的一般构成框图. 图3-0 数字钟的组成框图3.1晶体振荡器电路 晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定.不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路. 图3-1晶体振荡器电路3.2按键模块本系统采用的是独立式键盘结构,每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。此软件是采用查询式结构,首先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。四个按键的功能:S1键用于电子钟启动/调整;S2键用于开启闹铃功能;S3键用于调时,分和秒,没按一次+1; S4键用于调时,分和秒,没按一次-1 图3-2按键模块3.3复位电路复位电路是种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。 图3-3复位电路3.4显示模块采用的是动态扫描显示电路,将显示各位的所有相同字段线连在一起,每一位的a段连在一起,b段连在一起,g段连在一起,共八段,由一个8位I/0口控制,而每一位的公共端由另一个I/0控制。它比静态显示电路更加优越,它占用的I/0端线少;电路简单,硬件成本低;CPU要定时扫描刷新显示。由于5伏的电压不能驱动数码管,采用三极管上拉电阻集电极输出模式,使电压变大。驱动数码管。 图3-4显示模块3.5蜂鸣模块蜂鸣模块是由at98c51的p1.1口接上一个限流电阻,一个npn三极管和蜂鸣器组成。三极管的的发射极接地,蜂鸣器的正极接到电源vcc。当p1.1口出现一个低电平出发,使蜂鸣器正常工作。 图3-5 蜂鸣模块 4.单片机介绍4.1 89C52芯片管脚功能AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指钟写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态, ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89S51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 图4-1 AT89C51单片机示意图 特殊功能寄存器 初始态 特殊功能寄存器 初始态 ACC 00H B 00H PSW 00H SP 07H DPH 00H TH0 00H DPL 00H TL0 00H IP xxx00000B TH1 00H IE 0xx00000B TL1 00H TMOD 00H TCON 00H SCON xxxxxxxxB SBUF 00H P0-P3 1111111B PCON 0xxxxxxxB 表4-1 8051的初始态4.2程序设计流程图 图4-2程序设计流程图4.3元器件清单 表4-3 元器件清单5调试及性能分析5.1硬件调试硬件调试时可先检查印刷电路板及焊接的质量情况,在检查无误后可通电检查LED显示器的点亮情况。若亮度不理想,可以调整P0口的电阻值大小,一般情况下取2001000之间,可以获得满意的亮度效果。实验室制作时可结合示波器测试晶振及P0、P1端口的波形情况进行综合硬件测试分析。5.2软件调试软件调试用Keil C51编译器,源程序编译及仿真调试应分段或子函数为单位一个个地进行,最后可结合硬件实时运行调试。5.3性能分析按照设计程序分析,LED显示器动态扫描频率约为167Hz,实际使用观察时完全没有闪烁,实际计时时间精度较高,可满足一般场合的应用需要。控制源程序清6完整电路图7完整PCB8结论这个电路结构决定LED采用共阳极的数码管,可以采用LQ5101BS普通的发光二极管,驱动三极管可采用易得的2SA1015和2SC1815等型号,当然也可使用象S9012,S9013,S9014,2N5401,2N5555等小功率三极管,其它器件没有特殊要求。为便于实验,单片机AT89C51可采用DIP20P插座,程序编制好后,调试无错,即可烧写到AT89C51中,值得一提的是,AT89C51是Falsh程序存储器,程序可反复擦写,对于做实验是非常方便的。单片机的定时功能也是通过计数器的计数来实现的,此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。如果MCS-51采用的12MHz晶体,则计数频率为1MHz,即每过1us的时间计数器加1。这样可以根据计数值计算出定时时间,也可以根据定时时间的要求计算出计数器的初值。MCS-51单片机的定时器/计数器具有4种工作方式,其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编程,可以方便的选择定时器/计数器两种工作模式和4种工作方式。定时器/计数器工作在方式0时,为13位的计数器,由TLX(X=0、1)的低5位和THX的高8位所构成。TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中的溢出标志位TFX.当定时器/计数器工作于方式1,为16位的计数器。本设计师单片机多功能定时器,所以MCS-51内部的定时器/计数器被选定为定时器工作模式,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。9AT89C51单片机显示时钟程序清单ORG0000H;主程序起始地址LJMPMAIN;跳转至主程序ORG000BH;跳转至主程序LJMPINTT0;跳转至主程序ORG0030H;定位起始地址MAIN:MOVSP,#75H;设置堆栈在75HMOV21H,#0;21H为功能状态标志单元,;0为时钟运行态,1为秒调节,2为分调节,3为时调节CLR00H;按键消抖标志初始化为0CLR02H;02H为显示闪烁标志,1为熄灭,0点亮MOVR5,#100;计数器赋初始值100MOVR6,#50;计数器MOVTMOD,#01H;T0为方式1MOVTH0,#0D8H;T0赋初值(10ms,fosc=12MHz)MOVTL0,#0F0H;MOV6DH,#23;将立即数23送到6DHMOV6EH,#59;将立即数59送到6EHMOV6FH,#58;将立即数58送到6FHSETBEA;CPU开中断SETBET0;T0开中断SETBTR0;T0启动运行HERE:SJMPHERE;等待中断DISP:MOVDPTR,#TAB;置共阳字段码首地址MOVA,70H;读显示数MOVCA,A+DPTR;读十位显示符MOVP0,A;输出至P0CLRP2.7;P2.7清零LCALLD1MS;调用1MS显示子程序SETBP2.7;P2.7置1MOVA,71H;读显示数MOVCA,A+DPTR;读十位显示符JB02H,NL;判断标志位为0吗ANLA,#0EFH;点亮DPNL:MOVP0,A;熄灭CLRP2.6;P2.6清零LCALLD1MS;调用1MS显示子程序SETBP2.6;P2.6置1MOVDPTR,#TAB2;读表2MOVA,72H;读显示数MOVCA,A+DPTR;读十位显示符JB02H,NL1;判断标志位为0吗ANLA,#0FBH;点亮DPNL1:MOVP0,A;熄灭CLRP2.5;P25清零LCALLD1MS;调用1MS显示子程序SETBP2.5;P2.5置1MOVDPTR,#TAB;读表2MOVA,73H;读显示数MOVCA,A+DPTR;读十位显示符MOVP0,A;输出至P0CLRP2.4;P2.4清零LCALLD1MS;调用1MS显示子程序SETBP2.4;P2.4置1RET;推出循环TAB:DB014H,0B7H,051H,031H,0B2HDB038H,018H,0B5H,010H,030H,0FFH;表1TAB2: DB 014H,0B7H,045H,025H,0A6H DB 02CH,00CH,0B5H,004H,014H,0FFH;表2;fosc=12MHz, 1T=1us,1ms=1000T;D1MS:MOVR7,#249;1TDIMSLP:NOP;2TX249=498TNOP;DJNZR7,DIMSLP;2TX249=498TNOP;1TRET;2TINTT0:MOVTH0,#0D8H;T0重赋初值MOVTL0,#0F0H;重复初值DJNZR6,INT01 ;判断INT01为0MOVR6,#50;计数器赋出值50CPL02H;取反INT01:DJNZR5,INTRET;R5减1等于0,转移,不是,顺序执行MOVR5,#100;重赋初值100MOVA,21H;将21H单元数送入累加器AINC6FH;6FH单元加1MOVA,6FH;将6FH数送入累加器ACJNEA,#60,INTRET;判断累加器A中的数等于60MOV6FH,#0;6FH清0INC6EH;6EH单元加1MOVA,6EH;将6EH数送入累加器ACJNEA,#60,INTRET;判断累加器A中的数等于23MOV6EH,#0;6EH清0INC6DH;6DH加1MOVA,6DH;将6DH的数据送入累加器CJNEA,#24,INTRET;判断累加器A中的数等于23MOV6DH,#0;清0,INTRET:LCALLKEYA;调用键盘LCALLBIN2BCD;调用2位十进制数显示模块LCALLXS_FL;调用闪烁模块LCALLDISP;调用显示模块RETI;结束中断;=KEYA:ORLP2,#00FH;置P2.0P2.4为输入状态MOVA,P2;读键值,键闭合相应位为0CPLA;取反,键闭合相应位为1ANLA,#00FH;屏蔽高4位,保留有键值信息的低4位JZGRET1;全0,无键闭合,返回JB00H,KEYAP;非全0,有键闭合SETB00H;标志位,为1说明有键操作SJMPGRET;循环GRET1:CLR01H;按键功能响应标志GRET:RET;结束KEYAP:JBACC.0,KA1;转KA1键功能程序JBACC.1,KA2;转KA2键功能程序JBACC.2,KA0;转KA0键功能程序SJMPGRET;继续判断;=KA0:JB01H,N3;判断标志位等于3INC21H;21H单元加1MOVA,21H;将21H单元送入累加器ACJNEA,#3,N3;判断等于3,不等于3MOV21H,#0;21H单元清0N3:CLR00H;标志位,0为下一次按键操作做好准备SETB01H;按键功能响应标志SJMPGRET;退出;=KA1:JB01H,KA1END;转01H标志响应MOVA,21H;将21H标志送入累加器ACJNEA,#0,N0;判断键为0,不等于0SJMPKA1END;退出响应N0:CJNEA,#1,N1;判断等于1,不等于1INC6EH;6EH单元加1MOVA,6EH;将6FH单元送入累加器ACJNEA,#60,KA1END;判断等于60,不等于60MOV6EH,#0;6EH清0SJMPKA1END;退出响应N1:CJNEA,#2,KA1END;判断等于2,不等于2INC6DH;6EH单元加1MOVA,6DH;将6FH单元送入累加器ACJNEA,#24,KA1END;判断等于60,不等于60MOV6DH,#0;6DH清0KA1END:CLR00H;标志位,0为下一次按键操作做好准备SETB01H;按键功能响应标志SJMPGRET;时钟运转;=KA2:JB01H,KA2END;转01H标志响应MOVA,21H;将21H标志送入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物材料在肌筋膜修复中的应用-洞察及研究
- 安全培训机制课题研究课件
- 2023中国电信股份有限公司湾沚分公司招聘2人(安徽芜湖市)笔试备考题库附答案详解(轻巧夺冠)
- 2023年山东济南市章丘区殡仪馆招聘工作人员10人笔试参考题库(共500题)答案详解版含答案详解(满分必刷)
- 2025中煤地质集团有限公司招聘19人笔试备考试题及答案详解(典优)
- 医院信息系统安全防护方案
- 小学语文教师第二学期教学计划范文
- 高考英语听力训练材料
- 储罐升级改造技术方案范例
- 公司员工绩效考核体系设计及评估工具
- 2025年4月自考13126管理学原理初级试题及答案
- 2023医疗质量安全核心制度要点释义(第二版)对比版
- 2025年注册土木工程师(水利水电)之基础知识模考模拟试题(全优)
- 2025年云南省中考数学试卷真题及解析答案
- 货运平台项目可行性研究报告
- CJ/T 448-2014城镇燃气加臭装置
- 租房开午托园合同范本
- 脚手架废弃物的分类与处理
- 河北建投集团招聘笔试题库2025
- (高清版)DB33∕T 715-2018 公路泡沫沥青冷再生路面设计与施工技术规范
- 托育园管理制度
评论
0/150
提交评论