简易电子时钟设计单片机_第1页
简易电子时钟设计单片机_第2页
简易电子时钟设计单片机_第3页
简易电子时钟设计单片机_第4页
简易电子时钟设计单片机_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机的简易电子时钟设计功能分析1)时制式为24小时制。2)采用LED数码管显示时、分,秒采用数字显示。3)具有方便的时间调校功能。4)计时稳定度高,可精确校正计时精度。二总体方案设计论证比较2.1实现时钟计时的基本方法利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现时钟计数。(1) 计数初值计算:把定时器设为工作方式1,定时时间为50ms,则计数溢出20次即得时钟计时最小单位秒,而100次计数可用软件方法实现。假设使用T/C0,方式1,50ms定时,fosc=12MHz。贝U初值X满足(216-X)X1/12MHzX12s=50000sX=15536f00111100101

2、1000S3CB0H(2) 采用中断方式进行溢出次数累计,计满20次为秒计时(1秒);(3) 从秒到分和从分到时的计时是通过累加和数值比较实现。2.2 电子钟的时间显示电子钟的时钟时间在六位数码管上进行显示,因此,在内部RAM中设置显示缓冲区共8个单元。LED8LED7LED6LED5LED4LED3LED2LED137H36H35H34H33H32H31H30H时十位时个位分隔分十位分个位分隔秒十位秒个位2.3 电子钟的时间调整电子钟设置3个按键通过程序控制来完成电子钟的时间调整。A键调整时;B键调整分;C键复位2.4 总体方案介绍2.4.1 计时方案利用AT89S51单片机内部的定时/计数

3、器进行中断时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作用。2.4.2 控制方案AT89S51的P0口和P2口外接由八个LED数码管(LED8LED1)构成的显示器,用P0口作LED的段码输出口,P2口作八个LED数码管的位控输出线,P1口外接四个按键A、B、C构成键盘电路。AT89S51是一种低功耗,高性能的CMOS8位微型计算机。它带有8KFlash可编程和擦除的只读存储器(EPROM),该器件采用ATMEL的高密度非易失性存储器技术制造

4、,与工业上标准的80C51和80C52的指令系统及引脚兼容,片内Flash集成在一个芯片上,可用与解决复杂的问题,且成本较低。简易电子钟的功能不复杂,采用其现有的I/O便可完成,所以本设计中采用此的设计方案。三硬件电路设计根据以上的电子时钟的设计要求可以分为以下的几个硬件电路模块:单片机模块、数码显示模块与按键模块,模块之间的关系图如下面得方框电路图1所示。第 2 页 共 20 页四各模块电路设计4.1.1芯片分析AT89C51单片机引脚图如下:U1用>XTAL1IPHU信口口PD.1JMD1POftD?xtaispnAipiPQ.4AD<FQJSDS电盼D6HSTPDJAD7mo

5、m另P22A1QpsenTP2JWM1MEP2.UM2声P2J&A1IR2.TJM5P1I阳mtx口PiJP3.mnP12P3mTTTP13P33/INTHFl.lPS.imiP1JP3J3T1pusoiTHlSDCzJ8DV37D2z阴36D3z35DI/33D6z332OF/ilBG22z29N21无253126F田,U1:21,心3第41口11笆_J3_:P1,511-IS16PU"K1Tridir寸k"图KT8SS52州*阳2AT89C51引脚图MCS-51单片机是标准的40引脚双列直插式集成电路芯片,其各引脚功能如下:VCC:+5V电源。VSS:接地。RS

6、T:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。P0口:P0口为一个8位漏极开路双向I/O口,当作输出口使用时,必须接上拉电阻才能有高电平输出;当作输入口使用时,必须先向电路中的锁存器写入“1”,使FET截止,以避免锁存器为“0”状态时对引脚读入的干扰。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,它不再需要多路转接电路MUX;因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同

7、样也需先向其锁存器写“1”,使输出驱动电路的FET截止。P2口:P2口电路比P1口电路多了一个多路转接电路MUX,这又正好与P0口一样。P2口可以作为通用的I/O口使用,这时多路转接电路开关倒向锁丰存器Q端P3口:P3口特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。当作为I/O口使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。当输出第二功能信号时,该位应应置“1”使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出,具体第二功能如表1所示。4.1.2晶振电路右图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反

8、相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。C1C2-例_碑FX1一口一图3晶振电路4. 1.3复位电路单片机复位的条件是:必须使RST/VPD或RST引(9)加上持续两个机器周期(即24个振荡周期)的高电平。例如,若时钟频率为12MHz,每机器周期为1s,则只需2pS以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位如图所示。电路为上电复位电路,它是利用电容充电来实现的

9、。在接电瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。只要保证RESET为高电平的时间大于两个机器周期,便能正常复位。该电路除具有上电复位功能外,若要复位,只需按图中的RESET键,此时电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。图4单片机复位电路4.2 数码显示模块设计系统采用动态显示方式,用P0口来控制LED数码管的段才S线,而用P2口来控制其位控线。动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同

10、时显示的感觉。第9页共20页旭汉用冲uhRllMh ra.M5 府承妹,ia南 tr 阻MilKITAirBT口,心1IZMV邛岬绅PHP3.ITkCPIJ,田E,口pxiiM-nij hF'llf IMrasTr映丽-FIJIUli图5数码显示电路4.3 按键模块下图为按键模块电路原理图,A为复位键,B为时钟调控键,C为分钟调控键。图6按键模块电路原理图五软件设计流程图在编程上,首先进行了初始化,定义程序的的入口地址以及中断的入口地址,在主程序开始定义了一组固定单元用来储存计数的时.分.秒,在显示初值之后,进入主循环。在主程序中,对不同的按键进行扫描,实现秒表,时间调整,复位清零等功

11、能,系统总流程图如下图7:图7软件设计流程图六程序清单内存ORG0000HMOV30H,#1MOV31H,#2MOV32H,#0MOV33H,#0MOV34H,#0设置时钟的起始时间12.00.00,分配显示数据MOV35H,#0MOVTMOD,#01启动计数器MOV 40H,A第 11 页 共 20 页使 TRO 位置 1计数器置零扫描控制字初值取段码表地址从 P2 口输出取显示数据到 A查显示数据对应段码段码放入 P0 中显示 1MSPO 端口清零取扫描控制字放入 A 中A 中数据循环左移放回 40H 地址段内XS0:SETBTR0MOVTH0,#00HMOVTL0,#00HXS:MOV4

12、0H,#0FEHMOVDPTR,#TABMOVP2,40HMOVA,30HMOVCA,A+DPTRMOVP0,ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLAMOV40H,AMOVP2,40HMOVA,31HADDA,#10进位显示MOVCA,A+DPTRMOVP0,ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLAMOV40H,AMOVP2,40HMOVA,32HMOVCA,A+DPTRMOVP0,ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLAMOV40H,AMOVP2,40HMOVA,33HADDA,#10MOVCA,A+DPTRMOV

13、P0,ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLAMOVP2,40HMOVA,34HMOVCA,A+DPTRMOVP0,ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLAMOV40H,AMOVP2,40HMOVA,35HMOVCA,A+DPTRMOVP0,ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLAMOV40H,A如果 TF0 为 1 时,则执行JIA ,否则顺序执行为 0 则 转移到P100为 0 则 转移到P1000为 0 则 转移到 P10000跳转到 XSJBTF0,JIAJNBP1.0,P100JNBP1.1,P1000JN

14、BP1.2,P10000AJMPXSP100:MOV30H,#0清零程序MOV31H,#0MOV32H,#0MOV33H,#0MOV34H,#0MOV35H,#0JIA:CLRTF0TF0清零MOVA,35H秒单位数据到ACJNE A,#9,JIA1MOV 35H,0MOV A,34HCJNE A,#5,JIA10MOV 34H,#09 进行比较,大于秒个位清零秒十位数据到 A与 5 进行比较,大于秒十位清零9 就转移到 JIA15 就转移到 JIA10P10000: JNB P1.2,P10000为 0 则 转移到 P10000MOV A,33HCJNE A,#9,JIA100MOV 33H

15、,#0MOV A,32HCJNE A,#5,JIA1000MOV 32H,#0取分的个位到 A与 9 进行比较,大于分的个位清零分十位数据到 A与 5 进行比较,大于分的十位清零9 就转移到 JIA1005 就转移到 JIA1000P1000: JNB P1.1,P1000为 0 则 转移到 P1000第 13 页 共 20 页MOVA,31H时个位数据到ACJNE A,#9,JIA10000与9进行比较,大于9就转移到JIA10000MOV 31H,#0 时的个位清零MOVA,30H时十位数据到ACJNE A,#2,JIA100000MOV 30H,#0AJMP XS0JIA100000:I

16、NC 30HAJMP XS0JIA10000:CJNE A,#3,JIAJIAMOV A,30HCJNE A,#02,JIAJIAMOV 30H,#0MOV 31H,#0AJMP XS0JIAJIA:INC 31HAJMP XS0JIA1000:INC 32HAJMP XS0JIA100: INC 33HAJMP XS0与2进行比较,大于5就转移到JIA100000时的十位清零转移到XSO加1跳转到XS0与3进行比较,大于则转移到JIAJIA将时的十位放到A与2进行比较,大于则转移到JIAJIA时段清零跳转到XSO加一第 14 页 共 20 页JIA10:INC34HAJMPXS0JIA1:I

17、NC35HAJMPXS0RET返回YS1MS:MOVR6,#9H延时程序YL1:MOVR7,#19HDJNZR7,$DJNZR6,YL1RETTAB:DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H共阳段码表DB040H,079H,024H,030H,019H,012H,002H,078H,000H,010HEND七运行结果说明电子时钟主要的设计要求是能够实现时钟的一般功能,以及包括时间的调整功能,这个基于单片机的电子时钟基本上实现了上述功能,能够通过时间调整电路对时间进行调整以及复位。下述为18:30:30的仿真图:第 15 页 共 20 页密一需哥哥SRUIP3-4MMMI1HIbFPHHACQ-2XI.P3LSA&5VMS*li帕R£jAniiPSLA-llKdLfcPSfCIFZTLrtE良口in丁号fd-dTPHoaWrJ.+mF疝*iZ.T.'T

温馨提示

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

评论

0/150

提交评论