欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

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

    • 资源ID:4148587       资源大小:1.02MB        全文页数:19页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    单片机综合实践报告课题名称: 基于单片机技术数字钟电路的设计 系 部: 电子工程系 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一、摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本文介绍了基于单片机的数字钟的设计,详细讨论了它从软件上实现的过程,重点在时钟调整的方式:查询和中断的比较,然后,对数字钟的稳定性和精确性作了相关的讨论。在文章的最后,给出了采用中断方式实现的数字钟的源程序。 关键字:单片机,数字钟,数据缓冲区,中断AbstractIn recent years, with computers in the in filtration and 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, 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, 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 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设计基本原理简介 数字钟的设计首先要保证其走时尽可能的准确,其次再设定其功能。 在设计中使用51系列单片机定时来完成走时并用两组输出口控制数码管分别显示时钟的小时、分钟、秒,利用输入端外接复位开关S1和调节时间开关S2来实现数字钟的功能。该电路的原理框图如图1所示:数字钟原理框图P1.0STC89S2RCRESTP0P2.0P2.5S1S2小时分钟秒复位调时间 图1三、 整体设计方案3.1硬件电路设计系统硬件电路根据课题设计要求,它由以下几个部件组成:单片机89C52RC、电源、时分秒显示模块。时分秒显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。显示模块中时分秒显示驱动、校时模块都通过89C52RC的I/O口控制。显示模块中的复位电路由89C52RC的RESET端控制。电源部分:电源部分有二部分组成。一部分是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作;另一部分是由5V的电池供电,以保证停电时正常走时。正常情况下电池是不提供电能的,以保证电池的寿命。31.1原理图的设计由此结合单片机课程学习,用potel 99 SE画出电路设计图,如图2所示:数字钟原理电路图图2此电路中的数码管采用的是共阳极电路,使用单片机89C52RC的P0口和P2口控制六段数码管的译码显示时钟的时分秒。接通电源,显示12:59:50 。持续三秒按S2,小时闪烁可调小时;再持续按三秒,分钟闪烁可调分钟; 再持续按三秒,秒钟闪烁可调节;最后按三秒S2即可正常走时。按一下按钮S1电路复位,又恢复显示显示12:59:50。此电路只可以实现加一调时,记满重新从0:0:0开始计时,如此往复。31.2 PCB板的设计按照原理图,用potel 99 SE画出PCB板的设计电路图,如下图所示:数字钟PCB板的设计图3 此PCB板采用的是双面布线,布线方便简单,除电源线和地线采用较粗的线,其他线的粗细相同。由于时间不足所以只有电源线和地线采用手动布线,其他都采用了自动布线。3.2软件编程此部分主要介绍显示模块,显示模块是实现数字钟的重要部分,在显示时,首先将时间十进制数据转化为显示段码,然后送往数码管显示。显示段码采用动态扫描的方式。在要求改变显示数据的类别时,只须改变R1(指向数据缓冲区的指针)指向的十进制数据缓冲区即可。根据要求首先画出流程图,程序设计的基本流程图如下:数字钟流程图开始取段码,送到显示缓冲区单元6位显示完各缓冲区初始化对定时口中断设置开始计数显示缓冲单元首址R0取显示单元值,转为段显示码送数据口扫描传送数据口延时一小段时间显示单元地址加一扫描值左移一位显示状态是否切换查询让调整位口P点亮YN图4根据流程图用Keil软件编程,采用定时器中断T0和T1来实现时钟的显示和调整时间。具体程序见附录二。3.3单片机下载将USB转串口线与编程器连接好,将单片机放入编程器ZIP1锁紧座上(芯片缺口朝上),打开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) 元器件成型:脚的间距=板上孔距。元件两边留下的长度一致,弯折不要是直角(即有一定的弧度,防止折断管脚)(3) 插装元件:插对位置、方向,元件插序由低到高分批。元件要横平竖直。(4) 焊接:烙铁预热焊盘和引脚;左手送入焊锡丝;当焊锡溶化时,提起焊锡丝;再提起烙铁;(焊锡应正好把焊盘覆盖,不能太多也不能太少)焊点的要求:焊点要圆而光滑,不毛刺,不虚焊。(5) 剪脚:预留12mm。(6) 修整:修整焊点,整理元件。42电路的调试接上由220V的市电通过变压、整流稳压来得到+5V电压,即可看到如图8所示的显现,如不是则出现了故障,需先排除故障再进行调试。调试步骤如下:长按“S2”键(约3秒)松开,第一第二位数码管闪烁,此时轻按“S2”键,可设置“时” (023),再长按“S2”键(约3秒)松开,第三第四位数码管闪烁,此时轻按“S2”键,可设置“分” (059), 再长按“S2”键(约3秒)松开,第五第六位数码管闪烁,此时轻按“S2”键,可设置“秒” (059),如此循环。设置完成后再长按“S2”键(约3秒)松开即进入正常运行状态。按S1恢复显示12:59:50秒,完成调试。数字钟成果图图8五、 改进与应用在日常生活中我们缺不了时钟的陪伴,此电路的设计只是显示时间,在日常生活的运用中可以添加整点报时和闹钟的功能。还可以添加下面两个功能:(1)跑表功能:按ms 显示时间,以中断启动或停止计时在判断显示跑表功能后,启动定时计数器T1,用类似走时程序的办法来实现跑表功能。参考中断程序T0 编写。这样会增加中断程序T1 的复杂程度。(2)倒计时功能:可设定任意时间进行倒计时利用前述预置时间等的办法来预置倒计时的时间,利用类似跑表功能的办法来实现倒计时功能。这样同样会增加中断程序T1 的复杂程度。六、参考资料1 单片机原理及应用 李建忠 编著 西安电子科技大学出版 2002年2月2 单片机中级教程 张俊谟 编著 北京航空航天大学出版 2000年1月3 单片机原理与应用技术 江力 编著 清华大学出版社4、8051单片机课程设计实训教材 陈明荧 编著 清华大学出版社5、单片机原理及接口技术 余锡存、曹国华 编著 西安电子科技大学出版社6、MCS-51单片机应用设计 张毅刚、修林成、胡振江 编著 哈尔滨工业大学出版社附录附录一数字钟元器件明细表品名型号规格设计序号封装功能焊接注意事项碳膜电阻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微调平衡独石电容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电源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,用于记录按键时间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:50MOVmin,#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,#ms50INCR1;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,ExitInt1MOVR1,#0ExitInt1:SETBF0ExitInt:POP01HRETI;中断服务程序INT_Timer1:MOVTL0,#176+5MOVTH0,#60INCms50_1RETIHexToBCD:MOVB,#10DIVABMOVR0,BINCR0MOVR0,AINCR0RETAdjustBuffer:MOVR0,#bufferMOVA,secACALLHexToBCDMOVA,minACALLHexToBCDMOVA,hourACALLHexToBCDRET;显示Display:JNBbIdle,Display3RET;省电模式Display3:PUSHBPUSHACCPUSHDPLPUSHDPHPUSH00HMOVR0,#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,0F8H;段码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:SJMPSetFun1SetMin:INCminMOVA,minCJNEA,#60,SetMin1MOVmin,#0SetMin1:SJMPSetFun1SetSec:INCsecMOVA,secCJNEA,#60,SetFun1MOVsec,#0SetFun1:SETBF0RET;调整闪烁位置SetPosTab:AJMPNoSetPosAJMPSetHourPosAJMPSetMinPosAJMPSetSecPosNoSetPos:MOVSetPos1,#0RETSetHourPos:MOVSetPos1,#30HRETSetMinPos:MOVSetPos1,#0CHRETSetSecPos:MOVSetPos1,#03HRETKey: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,#0RETEND

    注意事项

    本文(基于单片机的数字钟的设计.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开