ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:214.57KB ,
资源ID:12512919      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12512919.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机的数字钟制作.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机的数字钟制作.docx

1、单片机的数字钟制作课 题 摘 要摘要:近年来,随着电子产品的发展,人们对数字时钟的要求越来越高,本文针对人们的这一需求,设计了一种有单片机控制的智能化数字时钟,功能强大,界面友好,更好的满足了人们对它的智能化要求。 时钟已不仅仅被看成一种用来显示时间的工具,在很多实际应用中它还需要能够实现更多其它的功能。高精度、多功能、小体积、低功耗,是现代时钟发展的趋势。在这种趋势下,时钟的数字化、多功能化已经成为现代时钟生产研究的主导设计方向。本文正是基于这种设计方向,以单片机为控制核心,设计制作一个符合指标要求的多功能数字时钟。 本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过硬

2、件电路的制作以及软件程序的编制,设计制作出一个多功能数字时钟系统。该时钟系统主要由时钟模块、闹钟模块、环境温度检测模块、液晶显示模块、键盘控制模块以及信号提示模块组成。系统具有简单清晰的操作界面,能在 4V7V直流电源下正常工作。能够准确显示时间(显示格式为时时:分分:秒秒,24小时制),可随时进行时间调整,具有闹钟时间设置、闹钟开/关、止闹功能,能够对时钟所在的环境温度进行测量并显示。设计以硬件软件化为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。同时,该时钟系统还具有功耗小、成本低的特点,具有很强的实用性。由于系统所用元器件较少,单片机所被占用的I

3、/O口不多,因此系统具有一定的可扩展性。%关键词: 数字钟 单片机 at89c51*?、【1.引言现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人。数字化的钟表给人们带来了极大的方便。 近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数

4、字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。单片机在多功能数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉。但是却很少知道它的内部结构以及工作原理。由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术和数码管显示技术。 系统方案的确定单片机芯片作为控制系统的核心部件,它除了具备微机CPU的数值计算功能外,还具有灵活强大的控制功能,以便实时检测系统的输入量、控制系统的输出量,实现自动控制。在本次设计中采用单片机技术来实现

5、数字钟的功能。方案的设计可以从以下几个方面来确定。微处理器的选择,AT89S51、52是2003年ATMEL推出的新型品种,除了完全兼容8051外,还多了ISP编程和看门狗功能。但是AT89S52的存储器容量比AT89S51的大。在本次设计中采用AT89S52单片机;显示电路的设计,随着科技的发展,液晶显示的使用越来越方便,已被普遍的使用。由于液晶显示与驱动都集成在一个芯片上,因此使用起来很方便。在这里采用液晶显示;校时和定时电路的设计;实时控制电路是时钟电路的一个重要组成部分,采用的是一个时钟芯片,单片机从中读取数据送到显示器上显示,从而实现数字钟的功能;还有一些其他控制电路如复位电路、时钟

6、电路等。通过这些控制电路的连接构成了完整的电路,2.设计目的与要求#设计目的熟悉集成电路的引脚安排.掌握各芯片的逻辑功能及使用方法.了解面包板结构及其接线方法.了解数字钟的组成及工作原理.熟悉数字钟的设计与制作.设计指标时间以24小时为一个周期;显示时,分,秒;有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时;为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号.设计要求画出电路原理图(或仿真电路图);元器件及参数选择;电路仿真与调试;PCB文件生成与打印输出.制作要求自行装配和调试,并能发现问题和解决问题编写设计报告!

7、写出设计与制作的全过程,附上有关资料和图纸,有心得体会.设计原理及其框图3数字钟的构成数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路.由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定.通常使用石英晶体振荡器电路构成数字钟.图 3-0所示为数字钟的一般构成框图. 图3-0 数字钟的组成框图晶体振荡器电路 晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定.不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路. 图3-1晶体振荡器电路按键模块本系统采用的是

8、独立式键盘结构,每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。此软件是采用查询式结构,首先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。四个按键的功能:S1键用于电子钟启动/调整;S2键用于开启闹铃功能;S3键用于调时,分和秒,没按一次+1; S4键用于调时,分和秒,没按一次-1 图3-2按键模块复位电路复位电路是种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信

9、号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。 图3-3复位电路显示模块采用的是动态扫描显示电路,将显示各位的所有相同字段线连在一起,每一位的a段连在一起,b段连在一起,g段连在一起,共八段,由一个8位I/0口控制,而每一位的公共端由另一个I/0控制。它比静态显示电路更加优越,它占用的I/0端线少;电路简单,硬件成本低;CPU要定时扫描刷新显示。由于5伏的电压不能驱动数码管,采用三极管上拉电阻集电极输出模式,使电压变大。驱动数码管。 图3-4显示模块蜂鸣模块蜂鸣模

10、块是由at98c51的口接上一个限流电阻,一个npn三极管和蜂鸣器组成。三极管的的发射极接地,蜂鸣器的正极接到电源vcc。当口出现一个低电平出发,使蜂鸣器正常工作。 图3-5 蜂鸣模块 4.单片机介绍 89C52芯片管脚功能AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATM

11、EL的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

12、编程和校验时,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个

13、TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指钟写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态, ALE/PROG:当访问外

14、部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次

15、有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。,XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分

16、频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89S51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。, 图4-1 AT89C51单片机示意图)

17、 特殊功能寄存器 初始态 特殊功能寄存器 初始态 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-3 元器件清单5调试及性能分析硬件调试硬件调试时可先检查印刷电路板及焊接的质量情况,在检查无误后可通电检查LED

18、显示器的点亮情况。若亮度不理想,可以调整P0口的电阻值大小,一般情况下取2001000之间,可以获得满意的亮度效果。实验室制作时可结合示波器测试晶振及P0、P1端口的波形情况进行综合硬件测试分析。软件调试;软件调试用Keil C51编译器,源程序编译及仿真调试应分段或子函数为单位一个个地进行,最后可结合硬件实时运行调试。性能分析按照设计程序分析,LED显示器动态扫描频率约为167Hz,实际使用观察时完全没有闪烁,实际计时时间精度较高,可满足一般场合的应用需要。控制源程序清!6完整电路图7完整PCB8结论这个电路结构决定LED采用共阳极的数码管,可以采用LQ5101BS普通的发光二极管,驱动三极

19、管可采用易得的2SA1015和2SC1815等型号,当然也可使用象S9012,S9013,S9014,2N5401,2N5555等小功率三极管,其它器件没有特殊要求。为便于实验,单片机AT89C51可采用DIP20P插座,程序编制好后,调试无错,即可烧写到AT89C51中,值得一提的是,AT89C51是Falsh程序存储器,程序可反复擦写,对于做实验是非常方便的。)单片机的定时功能也是通过计数器的计数来实现的,此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。如果MCS-51采用的12MHz晶体,则计数频率为1MHz,即每过1us的时间

20、计数器加1。这样可以根据计数值计算出定时时间,也可以根据定时时间的要求计算出计数器的初值。MCS-51单片机的定时器/计数器具有4种工作方式,其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编程,可以方便的选择定时器/计数器两种工作模式和4种工作方式。定时器/计数器工作在方式0时,为13位的计数器,由TLX(X=0、1)的低5位和THX的高8位所构成。TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中的溢出标志位TFX.当定时器/计数器工作于方式1,为16位的计数器。本设计师单片机多功能定时器,所以MCS-51内部的定时器/计数器被选定为定时器工作模式,计数输入信号是内部

21、时钟脉冲,每个机器周期产生一个脉冲使计数器增1。9AT89C51单片机显示时钟程序清单ORG 0000H ;主程序起始地址 LJMP MAIN ;跳转至主程序 ORG 000BH ;跳转至主程序 LJMP INTT0 ;跳转至主程序 ORG 0030H ;定位起始地址MAIN: MOV SP,#75H ;设置堆栈在75HMOV 21H,#0 ;21H为功能状态标志单元,;0为时钟运行态,1为秒调节,2为分调节,3为时调节) CLR 00H ;按键消抖标志初始化为0 CLR 02H ;02H为显示闪烁标志,1为熄灭,0点亮 MOV R5,#100 ;计数器赋初始值100 MOV R6,#50 ;

22、计数器 MOV TMOD,#01H ;T0为方式1 MOV TH0,#0D8H ;T0赋初值(10ms,fosc=12MHz) MOV TL0,#0F0H ; MOV 6DH,#23 ;将立即数23送到6DH MOV 6EH,#59 ;将立即数59送到6EH MOV 6FH,#58 ;将立即数58送到6FH( SETB EA ;CPU开中断 SETB ET0 ;T0开中断 SETB TR0 ;T0启动运行HERE: SJMP HERE ;等待中断DISP: MOV DPTR,#TAB ;置共阳字段码首地址 MOV A,70H ;读显示数 MOVC A,A+DPTR ;读十位显示符 MOV P0

23、,A ;输出至P0 CLR ;清零 LCALL D1MS ;调用1MS显示子程序 SETB ;置1 MOV A,71H ;读显示数 MOVC A,A+DPTR ;读十位显示符 JB 02H,NL ;判断标志位为0吗 ANL A,#0EFH ;点亮DPNL: MOV P0,A ;熄灭 CLR ;清零 LCALL D1MS ;调用1MS显示子程序 SETB ;置1 MOV DPTR,#TAB2 ;读表2 MOV A,72H ;读显示数 MOVC A,A+DPTR ;读十位显示符 JB 02H,NL1 ;判断标志位为0吗 ANL A,#0FBH ;点亮DPNL1: MOV P0,A ;熄灭 CLR

24、;P25清零 LCALL D1MS ;调用1MS显示子程序 SETB ;置1 MOV DPTR,#TAB ;读表2 MOV A,73H ;读显示数? MOVC A,A+DPTR ;读十位显示符 MOV P0,A ;输出至P0 CLR ;清零 LCALL D1MS ;调用1MS显示子程序 SETB ;置1 RET ;推出循环TAB:DB 014H,0B7H,051H,031H,0B2H DB 038H,018H,0B5H,010H,030H,0FFH ;表1 TAB2: DB 014H,0B7H,045H,025H,0A6H DB 02CH,00CH,0B5H,004H,014H,0FFH ;表

25、2;;fosc=12MHz, 1T=1us,1ms=1000T ;D1MS: MOV R7,#249 ;1TDIMSLP: NOP ;2TX249=498T NOP ; DJNZ R7,DIMSLP ;2TX249=498T NOP ;1T RET ;2TINTT0: MOV TH0,#0D8H ;T0重赋初值 MOV TL0,#0F0H ;重复初值 DJNZ R6,INT01 ;判断INT01为0 , MOV R6,#50 ;计数器赋出值50 CPL 02H ;取反INT01: DJNZ R5,INTRET ;R5减1等于0,转移,不是,顺序执行 MOV R5,#100 ;重赋初值100 M

26、OV A,21H ;将21H单元数送入累加器A INC 6FH ;6FH单元加1 MOV A,6FH ;将6FH数送入累加器A CJNE A,#60,INTRET ;判断累加器A中的数等于60 MOV 6FH,#0 ;6FH清0 INC 6EH ;6EH单元加1! MOV A,6EH ;将6EH数送入累加器A CJNE A,#60,INTRET ;判断累加器A中的数等于23 MOV 6EH,#0 ;6EH清0 INC 6DH ;6DH加1 MOV A,6DH ;将6DH的数据送入累加器 CJNE A,#24,INTRET ;判断累加器A中的数等于23 MOV 6DH,#0 ;清0,INTRET

27、: LCALL KEYA ;调用键盘 LCALL BIN2BCD ;调用2位十进制数显示模块 LCALL XS_FL ;调用闪烁模块. LCALL DISP ;调用显示模块 RETI ;结束中断;=KEYA: ORL P2,#00FH ;置为输入状态 MOV A,P2 ;读键值,键闭合相应位为0 CPL A ;取反,键闭合相应位为1 ANL A,#00FH ;屏蔽高4位,保留有键值信息的低4位 JZ GRET1 ;全0,无键闭合,返回 JB 00H,KEYAP ;非全0,有键闭合 SETB 00H ;标志位,为1说明有键操作: SJMP GRET ;循环GRET1: CLR 01H ;按键功能

28、响应标志 GRET: RET ;结束KEYAP: JB ,KA1 ;转KA1键功能程序 JB ,KA2 ;转KA2键功能程序 JB ,KA0 ;转KA0键功能程序 SJMP GRET ;继续判断;=KA0: JB 01H,N3 ;判断标志位等于3 INC 21H ;21H单元加1 MOV A,21H ;将21H单元送入累加器A CJNE A,#3,N3 ;判断等于3,不等于3 MOV 21H,#0 ;21H单元清0N3: CLR 00H ;标志位,0为下一次按键操作做好准备 SETB 01H ;按键功能响应标志 SJMP GRET ;退出;=KA1: JB 01H,KA1END ;转01H标志

29、响应 MOV A,21H ;将21H标志送入累加器A CJNE A,#0,N0 ;判断键为0,不等于0! SJMP KA1END ;退出响应N0: CJNE A,#1,N1 ;判断等于1,不等于1 INC 6EH ;6EH单元加1 MOV A,6EH ;将6FH单元送入累加器A CJNE A,#60,KA1END ;判断等于60,不等于60 MOV 6EH,#0 ;6EH清0 SJMP KA1END ;退出响应N1: CJNE A,#2,KA1END ;判断等于2,不等于2 INC 6DH ;6EH单元加1 MOV A,6DH ;将6FH单元送入累加器A! CJNE A,#24,KA1END ;判断等于60,不等于60 MOV 6DH,#0 ;6DH清0KA1END: CLR 00H ;标志位,0为下一次按键操作做好准备 SETB 01H ;按键功能响应

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1