基于单片机的数字钟的设计.doc

上传人:李主任 文档编号:3264730 上传时间:2019-08-07 格式:DOC 页数:19 大小:1.08MB
返回 下载 相关 举报
基于单片机的数字钟的设计.doc_第1页
第1页 / 共19页
基于单片机的数字钟的设计.doc_第2页
第2页 / 共19页
基于单片机的数字钟的设计.doc_第3页
第3页 / 共19页
基于单片机的数字钟的设计.doc_第4页
第4页 / 共19页
基于单片机的数字钟的设计.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《基于单片机的数字钟的设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的数字钟的设计.doc(19页珍藏版)》请在三一文库上搜索。

1、19 单片机综合实践报告课题名称: 基于单片机技术数字钟电路的设计 系 部: 电子工程系 2010年 10 月 8 日目录一、摘要4二、简单设计思路52.1课题设计要求52.2设计基本原理简介5三、整体设计方案63.1硬件电路设计631.1原理图的设计631.2 PCB板的设计73.2软件编程73.3单片机下载8四、电路安装与调试114.1电路的安装1142电路的调试11五、改进与应用12六、参考资料12附录13附录一13附录二14一、摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点

2、,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本文介绍了基于单片机的数字钟的设计,详细讨论了它从软件上实现的过程,重点在时钟调整的方式:查询和中断的比较,然后,对数字钟的稳定性和精确性作了相关的讨论。在文章的最后,给出了采用中断方式实现的数字钟的源程序。 关键字:单片机,数字钟,数据缓冲区,中断AbstractIn recent years, with computers in the in filtration an

3、d the development of large-scale integrated circuits. SCM application is steadily deepening, as it has strong function, small size, low power dissipation, low prices, reliable, easy to use features, it is particularly suited to and control of the system, increasingly widely used in automatic control

4、, intelligent instruments, gauges, data acquisition, military products and household appliances, and other areas, is often microcontroller as a core component to use, In light of specific hardware architecture, and application-specific software features object combine to make perfect. In this paper,

5、 based on single-chip digital clock design, discussed in detail from the software realize the process, focusing on the clock adjust in the way: queries and disruption of comparison, then, on the digital clock made of the stability and accuracy related discussion. In the last article, give way using

6、interrupted realize the source of the digital clock. Keywords: MCU, digital clock, data buffer, interruption, timing, 二、简单设计思路2.1课题设计要求 基于单片机电路,设计一个可以显示时、分、秒的数字钟的电路。要求如下:(1)能直接显示时、分、秒的数字钟,要求二十四时为一计数周期。(2)当电路发生走时误差时,要求电路具有校时功能,校时时伴有闪烁(3)要求电路使用单片机电路。(4)要求电源电压+5伏。(5)要求有复位电路2.2设计基本原理简介 数字钟的设计首先要保证其走时尽可能

7、的准确,其次再设定其功能。 在设计中使用51系列单片机定时来完成走时并用两组输出口控制数码管分别显示时钟的小时、分钟、秒,利用输入端外接复位开关S1和调节时间开关S2来实现数字钟的功能。该电路的原理框图如图1所示:数字钟原理框图P1.0STC89S2RCRESTP0P2.0P2.5S1S2小时分钟秒复位调时间 图1三、 整体设计方案3.1硬件电路设计系统硬件电路根据课题设计要求,它由以下几个部件组成:单片机89C52RC、电源、时分秒显示模块。时分秒显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。显示模块中时分秒显示驱动、校时模块都通过89C52RC的I/O口控制。显示模块

8、中的复位电路由89C52RC的RESET端控制。电源部分:电源部分有二部分组成。一部分是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作;另一部分是由5V的电池供电,以保证停电时正常走时。正常情况下电池是不提供电能的,以保证电池的寿命。31.1原理图的设计由此结合单片机课程学习,用potel 99 SE画出电路设计图,如图2所示:数字钟原理电路图图2此电路中的数码管采用的是共阳极电路,使用单片机89C52RC的P0口和P2口控制六段数码管的译码显示时钟的时分秒。接通电源,显示12:59:50 。持续三秒按S2,小时闪烁可调小时;再持续按三秒,分钟闪烁可调分钟; 再持续按三

9、秒,秒钟闪烁可调节;最后按三秒S2即可正常走时。按一下按钮S1电路复位,又恢复显示显示12:59:50。此电路只可以实现加一调时,记满重新从0:0:0开始计时,如此往复。31.2 PCB板的设计按照原理图,用potel 99 SE画出PCB板的设计电路图,如下图所示:数字钟PCB板的设计图3 此PCB板采用的是双面布线,布线方便简单,除电源线和地线采用较粗的线,其他线的粗细相同。由于时间不足所以只有电源线和地线采用手动布线,其他都采用了自动布线。3.2软件编程此部分主要介绍显示模块,显示模块是实现数字钟的重要部分,在显示时,首先将时间十进制数据转化为显示段码,然后送往数码管显示。显示段码采用动

10、态扫描的方式。在要求改变显示数据的类别时,只须改变R1(指向数据缓冲区的指针)指向的十进制数据缓冲区即可。根据要求首先画出流程图,程序设计的基本流程图如下:数字钟流程图开始取段码,送到显示缓冲区单元6位显示完各缓冲区初始化对定时口中断设置开始计数显示缓冲单元首址R0取显示单元值,转为段显示码送数据口扫描传送数据口延时一小段时间显示单元地址加一扫描值左移一位显示状态是否切换查询让调整位口P点亮YN图4根据流程图用Keil软件编程,采用定时器中断T0和T1来实现时钟的显示和调整时间。具体程序见附录二。3.3单片机下载将USB转串口线与编程器连接好,将单片机放入编程器ZIP1锁紧座上(芯片缺口朝上)

11、,打开STC-ISP软件(STC_ISP_V480.exe),选择STC单片机型号,打开要下载的程序文件,设置COM号,点击下载按钮,当出现给MCU上电提示时,插上USB取电线,进行正常下载。STC-ISP软件示意图图5在选择COM端口时看设备管理器端口的USB-SERIAL CH340显示COM为多少就选择多少。如图6所示:COM端口查看示意图图6单片机在下载时如的摆放方法下图所示:单片机摆放示意图图7四、电路安装与调试4.1电路的安装电路的安装要求如下:(1) 列出除元器件清单。(2) 元器件成型:脚的间距=板上孔距。元件两边留下的长度一致,弯折不要是直角(即有一定的弧度,防止折断管脚)(

12、3) 插装元件:插对位置、方向,元件插序由低到高分批。元件要横平竖直。(4) 焊接:烙铁预热焊盘和引脚;左手送入焊锡丝;当焊锡溶化时,提起焊锡丝;再提起烙铁;(焊锡应正好把焊盘覆盖,不能太多也不能太少)焊点的要求:焊点要圆而光滑,不毛刺,不虚焊。(5) 剪脚:预留12mm。(6) 修整:修整焊点,整理元件。42电路的调试接上由220V的市电通过变压、整流稳压来得到+5V电压,即可看到如图8所示的显现,如不是则出现了故障,需先排除故障再进行调试。调试步骤如下:长按“S2”键(约3秒)松开,第一第二位数码管闪烁,此时轻按“S2”键,可设置“时” (023),再长按“S2”键(约3秒)松开,第三第四

13、位数码管闪烁,此时轻按“S2”键,可设置“分” (059), 再长按“S2”键(约3秒)松开,第五第六位数码管闪烁,此时轻按“S2”键,可设置“秒” (059),如此循环。设置完成后再长按“S2”键(约3秒)松开即进入正常运行状态。按S1恢复显示12:59:50秒,完成调试。数字钟成果图图8五、 改进与应用在日常生活中我们缺不了时钟的陪伴,此电路的设计只是显示时间,在日常生活的运用中可以添加整点报时和闹钟的功能。还可以添加下面两个功能:(1)跑表功能:按ms 显示时间,以中断启动或停止计时在判断显示跑表功能后,启动定时计数器T1,用类似走时程序的办法来实现跑表功能。参考中断程序T0 编写。这样

14、会增加中断程序T1 的复杂程度。(2)倒计时功能:可设定任意时间进行倒计时利用前述预置时间等的办法来预置倒计时的时间,利用类似跑表功能的办法来实现倒计时功能。这样同样会增加中断程序T1 的复杂程度。六、参考资料1 单片机原理及应用 李建忠 编著 西安电子科技大学出版 2002年2月2 单片机中级教程 张俊谟 编著 北京航空航天大学出版 2000年1月3 单片机原理与应用技术 江力 编著 清华大学出版社4、8051单片机课程设计实训教材 陈明荧 编著 清华大学出版社5、单片机原理及接口技术 余锡存、曹国华 编著 西安电子科技大学出版社6、MCS-51单片机应用设计 张毅刚、修林成、胡振江 编著

15、哈尔滨工业大学出版社附录附录一数字钟元器件明细表品名型号规格设计序号封装功能焊接注意事项碳膜电阻100R1,R4,R7,R11,R14,R17AXIAL0.4集电极限流焊锡应正好把焊盘盘覆盖,不能太多也不能太少,有正负极性之分的元器件焊接时要注意方向公共端也需要注意。碳膜电阻5.1KR3,R6,R9,R12,R16,R19AXIAL0.4基极偏置电阻碳膜电阻2KR2,R5,R8,R11,R15,R18AXIAL0.4基极偏置电阻碳膜电阻200R13AXIAL0.4分压碳膜电阻1KR20AXIAL0.4分压排阻10KRN1SIP9上拉电阻圆片瓷介电容30PC9,C11RAD0.1微调平衡独石电容

16、0.1uC7,C10RAD0.1充放电滤波电解电容100uF/25VC6,C8RB.2/.4上电复位二极管IN4148D2DIODE0.4整流稳压二极管5.1V/1WD1DIODE稳压三极管S8550Q1,Q2,Q3,Q4,Q5,Q6TO-92B驱动集成电路HD74LS244U4DIP20缓冲驱动单片机89C52RCU5DIP40控制电路数码管共阳U1DIP-10动态显示数码管共阳U3DIP-20动态显示晶振11.0592MX1RAD0.3产生振荡频率小方键SW-PBS1SW复位小方键SW-PB S2SW调整时间电源插座CON3JP2SIP3接+5V电源直插座CON3JP3SIP3接+5V电源

17、PCB板11.43cm*6.15cm*0.08cm串线口一根表一附录二单片机程序DATA_SEGSEGMENTDATA;定义一个DATA段STACKSEGMENTIDATA;定义一个堆栈段BIT_SEGSEGMENTBIT;定义一个位段bKeyBITP1.0;IdleConstEQU50RSEG STACKDS10H ;16个字节的堆栈RSEGDATA_SEG;开始DATA_SEG段buffer:DS6;6个字节的显示缓冲区ms50:DS1;50ms计数ms250:DS1;250ms计数sec:DS1 ;秒min:DS1 ;分hour:DS1;时ms50_1:DS1;存放多少个50ms,用于记

18、录按键时间SetPos:DS1;设置位置SetPos1:DS1;需要屏蔽的数码管RSEGBIT_SEGbIdle:DBIT1;省电模式bTwinkle:DBIT1;当前设置位置闪烁CSEGAT0;相当于小汇编的ORGLJMPMAINCSEGAT000BH;定时器T0中断处理入口地址LJMPINT_Timer0CSEGAT001BH;定时器T1中断处理入口地址LJMPINT_Timer1CSEGAT0100HMAIN:MOVSP,#STACK-1;堆栈CLRbIdleCLRbTwinkleMOVms50,A;清零ms50MOVms250,AMOVhour,#12;设定初值: 12:59:50MO

19、Vmin,#59MOVsec,#50MOVTH0,#60;定时中断计数器初值MOVTL0,#176;定时250nsMOVTMOD,#11H;定时器0,1:方式一MOVIE,#8AH;中断初始化,EA=1,ET0=1, ET1 = 1SETBTR0;开定时器T0MOVSetPos,#0FFH;MAIN1:ACALLAdjustBuffer;调整显示缓冲区MAIN2:ACALLKey;调用键扫描ACALLDisplayJNBF0,MAIN2CLRF0SJMPMAIN1;需要刷新显示时间;中断服务程序INT_Timer0:MOVTL0,#176+5MOVTH0,#60PUSH01HMOVR1,#ms

20、50INCR1;50ms单元加1CJNER1,#5,ExitIntMOVR1,#0;恢复初值INCR1MOVA,SetPosCJNEA,#0FFH,INT_Timer0_1SJMPINT_Timer0_2INT_Timer0_1:CPLbTwinkleSJMPExitInt1INT_Timer0_2:INCR1CJNER1,#4,ExitIntMOVR1,#0;恢复初值INCR1INCR1;秒加1CJNER1,#60,ExitInt1MOVR1,#0INCR1INCR1;分加1CJNER1,#60,ExitInt1MOVR1,#0INCR1INCR1;时加1CJNER1,#24,ExitInt

21、1MOVR1,#0ExitInt1:SETBF0ExitInt:POP01HRETI;中断服务程序INT_Timer1:MOVTL0,#176+5MOVTH0,#60INCms50_1RETIHexToBCD:MOVB,#10DIVABMOVR0,BINCR0MOVR0,AINCR0RETAdjustBuffer:MOVR0,#bufferMOVA,secACALLHexToBCDMOVA,minACALLHexToBCDMOVA,hourACALLHexToBCDRET;显示Display:JNBbIdle,Display3RET;省电模式Display3:PUSHBPUSHACCPUSHD

22、PLPUSHDPHPUSH00HMOVR0,#bufferMOVB,#0FEHMOVDPTR,#SEG_TABDisplay1:MOVA,R0MOVCA,A+DPTR;取段码MOVP0,AMOVA,BJNBbTwinkle,Display4ORLA,SetPos1 Display4:MOVP2,A;选种数码管CALLDelay1msMOVA,BRLAJNBACC.6,Display2MOVB,AINCR0SJMPDisplay1Display2:POP00HPOPDPHPOPDPLPOPACCPOPBRETSEG_TAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F

23、8H;段码DB080H,90H,88H,83H,0C6H,0A1H,86H,8EH DB0FFH,0BFH;延时1msDelay1ms:PUSHACCMOVA,#230DJNZACC,$MOVA,#230DJNZACC,$POPACCRET;设置功能SetFunTab:AJMPNoSet;不需要调整AJMPSetHour;调整小时AJMPSetMin;调整分钟AJMPSetSec;调整秒钟NoSet:CLRbTwinkleRET;不在设置状态SetHour:INChourMOVA,hourCJNEA,#24,SetHour1MOVhour,#0SetHour1:SJMPSetFun1SetMi

24、n:INCminMOVA,minCJNEA,#60,SetMin1MOVmin,#0SetMin1:SJMPSetFun1SetSec:INCsecMOVA,secCJNEA,#60,SetFun1MOVsec,#0SetFun1:SETBF0RET;调整闪烁位置SetPosTab:AJMPNoSetPosAJMPSetHourPosAJMPSetMinPosAJMPSetSecPosNoSetPos:MOVSetPos1,#0RETSetHourPos:MOVSetPos1,#30HRETSetMinPos:MOVSetPos1,#0CHRETSetSecPos:MOVSetPos1,#03

25、HRETKey:ACALLDisplayJNBbKey,Key4JNBTR1,Key3CLRTR1SETBbKeyMOVA,ms50_1CJNEA,#10,$+3JNCKey1;调整时间SetFun:MOVA,SetPosINCARLAMOVDPTR,#SetFunTabJMPA+DPTRKey1:CJNEA,#IdleConst,$+3JNCKey2;进入设置状态SetPosFun:INCSetPosMOVA,SetPosCJNEA,#3,SetPosFun1MOVSetPos,#0FFH;退出设置状态SetPosFun1:MOVA,SetPosINCARLAMOVDPTR,#SetPosTabJMPA+DPTRKey2:SETBbIdle;进入省电模式MOVP2,#0FFHKey3:RETKey4:JNBTR1,Key5MOVA,ms50_1CJNEA,#IdleConst,$+3JNCKey2RETKey5:ACALLDisplayACALLDisplayACALLDisplayACALLDisplayJNBbKey,Key6SJMPKey3Key6:CLRbIdleMOVTH1,#60MOVTL1,#176SETBTR1MOVms50_1,#0RETEND19

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

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1