数字钟论文基于单片机技术数字钟电路的设计.doc

上传人:仙人指路1688 文档编号:4149195 上传时间:2023-04-07 格式:DOC 页数:25 大小:1.81MB
返回 下载 相关 举报
数字钟论文基于单片机技术数字钟电路的设计.doc_第1页
第1页 / 共25页
数字钟论文基于单片机技术数字钟电路的设计.doc_第2页
第2页 / 共25页
数字钟论文基于单片机技术数字钟电路的设计.doc_第3页
第3页 / 共25页
数字钟论文基于单片机技术数字钟电路的设计.doc_第4页
第4页 / 共25页
数字钟论文基于单片机技术数字钟电路的设计.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

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

1、毕业综合实践报告课题名称: 基于单片机技术数字钟电路的设计 系 部: 电子与通信工程系 班 级: 电信10C2 姓 名: 汤继磊 学 号: 102221234 指导教师: 刘训非 2012年 4 月29日论文/设计/报告原创性声明本人郑重声明:所呈交的论文/设计/报告是本人在导师的指导下进行研究所取得的研究成果。除了论文/设计/报告中特别加以标注引用的内容外,本论文/设计/报告不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名: 2011 年 9月 15 日 论文/设计/报告版权使用授权书本论文/设计/报告作者完全了解学校有关保障、使用学位论文

2、/设计/报告的规定,同意学校保留并向有关论文/设计/报告管理部门或机构送交论文/设计/报告的复印件和电子版,允许论文/设计/报告被查阅和借阅。本人授权省级优秀论文/设计/报告评选机构将本论文/设计/报告的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本论文/设计/报告。本论文/设计/报告属于1、保密 ,在_年解密后适用本授权书。2、不保密 。(请在以上相应方框内打“”)作者本人签名: 2011 年 9 月15 日 指导教师签名: 年 月 日 目录第1节 摘 要4第2节 设计方案的选择与论证5第3节 系统原理设计6 3.1 设计思想63.2 系统框图6第4节

3、硬件设计74.1元器件清单74.2电路设计及其工作原理8 4.2.1控制部分8 4.2.2数码管显示部分9 4.2.3按钮与开关部分10 4.2.4原理图与PCB图部分12第5节 软件设计135.1程序原理概述135.2总的设计思想135.3程序代码13第6节 调试19第7节 结束语22参考文献23第1节 摘 要 本系统采用单片机STC89C52RC控制,以STC89C52RC为核心,它完成整个系统的信息处理及协调功能,本次设计我们选用ATMEL公司的STC89C52RC芯片,其功能强大,兼容性好,还支持软件选择的空间和掉电两种节电方式。本设计的软件,硬件都采用模块化的设计方法,提高了设计的效

4、率。 本次设计通过对一个实现定时、时钟显示等功能的时间系统的设计,其中结合了数据转换显示、数码管显示、动态扫描、单片机定时中断等技术。系统由STC89C52RC、LED数码管、按键、三极管、74LS244、稳压管、二极管、电阻等组成。能实现时钟时、分、秒的显示。也具有时间设置。文章后附有电路图、程序清单。AbstractThe system USES the monolithic STC89C52RC control to STC89C52RC as the core, it to complete the entire system of information processing and

5、 coordination function, this design we choose ATMEL company STC89C52RC chip, the powerful, good compatibility, also support the software choice of space and power lost two power saving mode. The design of the software, hardware, are adopted the modular design method, improve the design efficiency. T

6、his design through to a realization timing, the clock display functions of time the design of the system, which combines the data transfer display, digital pipe display, dynamic scanning and single-chip microcomputer timing interrupts, and technology. System STC89C52RC, by LED digital tube, buttons,

7、 transistor, and 74 LS244, tube, diodes, voltage resistance etc. Can realize the clock, minutes and seconds when the display. Also has the time set. After the article with a circuit diagram, program list.第2节 设计方案的选择与论证 该课题主要有两种方案:一种是用数字电路通过硬件实现,另一种是用单片机通过软件编程实现。在以上两种方案中:第一种是直接采用的是数字电路,但是在外围电路和控制比较麻烦

8、,需要比较多的器件来控制;第二种是采用软件来实现一些特定功能,硬件电路只需要一些显示部件和控制部件,其他的都是由软件来实现。第一种一切都由硬件实现,几乎没有软件编程,但电路复杂、芯片多、后续制板及硬件调试麻烦而且成本高;第二种虽电路简单、芯片少、成本低,但编写程序相当复杂。经过一番利弊的权衡及对今后电子业发展趋势的考量,最后敲定用单片机方案实现。另外用单片机实现本设计也有两种可选的子方案:第一种,用软件编程实现设计中的钟控功能;另一种则选用单片机加时钟芯片实现钟控功能。在本次主要的是时间的设计,因此对时间的精度要求是比较高的,竟量是误差减少到最小值,但是为了更好的练习复习自己在以前所学习的编程

9、能力,所以不采用单片机加时钟芯片的方案,直接用软件编程实现钟控功能。总的来看,单片机已成为工控领域、尖端武器、日常生活中最广泛使用的计算机,且将进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格方向发展,因此敲定用单片机加软编程方案符合今后电子业发展趋势;另外运用此方案既能将自己以前学过的模拟电路、数字电路、单片机、汇编语言、Protel99等知识结合实践进行一次全面的检测,又能为将来实际制作电路积累宝贵的经验。第3节 系统原理设计3.1 设计思想单片机控制系统是整个控制系统的核心,它完成整个系统的信息处理及协调功能。本次我们选用ATMEL公司的STC89C52RC芯片;其功能强大,

10、兼容性好。STC89C52RC是与8051兼容的CHMOS微控制器。与CHMOS工艺的8051一样,支持软件选择的空闲和掉电两种节电方式。 在STC89C52RC的P0口是数码管的段选;P2.0P2.5是数码管的位选。单片机采用STC89C52RC, 设计有1个2位和1个4位0.5英寸共阳数码管和时间设置按键。可开设数字钟等实训项目。使用说明:配套提供的实验源程序所能实现的功能。模块通电后,6位数码管显示12:59:50秒,正常运行,长按“S2”键(约3秒)松开,第一第二位数码管闪烁,此时轻按“S2”键,可设置“时” (023),再长按“S2”键(约3秒)松开,第三第四位数码管闪烁,此时轻按“

11、S2”键,可设置“分” (059), 再长按“S2”键(约3秒)松开,第五第六位数码管闪烁,此时轻按“S2”键,可设置“秒” (059),如此循环。设置完成后再长按“S2”键(约3秒)松开即进入正常运行状态。3.2系统框图P1.0 P0口STC 89C52 P2.0 P2.5RESETS1驱动S26位数码显示段选位选 第四节 硬件设计4.1 元件清单品名封装规格型号器件号实测值功能贴片电阻0805101(100)R199.5偏置电组、保护电路R499.5R799.3R1099.3R1499.5R2199.6201(200)R130.199K102(1K)R200.987K202(2K)R21.

12、95KR51.97KR81.96KR111.96KR151.98KR181.97K512(5.1K)R35.11KR65.15KR95.08KR125.12KR165.09KR195.09K排阻10K*8RN1驱动电路电容060330uFC9正常稳定晶振C110.1ufC7滤波去高频、中频、低频正弦电压C10电解电容RB.2/.4100uF/25vC6正常保持稳定振荡C8二极管IN47334148D2正常保护电路稳压管IN41485.1V/1WD1正常稳定电压输出时5.1V三极管SOT-23/P1.98550Q1PNP位选放大Q2Q3Q4Q5Q6数码管DIP12LG5641BHU1(12P座)

13、正常显示时、分 数DIP10LG5621DHU3(10P座)正常显示秒数晶振XTAL111.0592MX1正常提供一个振荡电路小方键SW-PBS1正常S1复位按钮S2S2设计时间(时、分、秒)DIP20DIP20U4(SN74LS244N)正常驱动电路保持(数码管)额定电压DIP40DIP40U5(AT89C52)正常控制作用SIP-3CON3JP34.2电路设计及其工作原理4.2.1控制部分:STC89C52RC单片机STC89C52RC单片机概述:STC89C52RC单片机是国Atmel公司生产的采用高性能的静态STC89C52RC设计,是一个低电压,高性能CHMOS 8位单片机,片内含4

14、kbytes的可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。 STC89C52RC是一个功能强大的单片机,但它只有40个引脚,32个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。此外,由于器件采用了动态设计,可提供很宽的操作频率范围(频率0HZ24MHZ)。即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/

15、计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。 图4-1 STC89C52RC时钟电路连接在本设计中STC89C52RC的时钟电路采用内部时钟方式,此方式是在XTAL1和XTAL2两端跨接晶体或陶瓷谐振器。在本设计中XTAL1和XTAL2两端跨接12MHz晶体振荡器,其发出的脉冲直接送入内部时钟电路。本设计采用按键手动复位的按键电平复位。图4-2 STC89C52RC外部复位电路设计STC89C52RC在本设计中的I/O口应用:STC89C52RC的P0口控制SN74LS244N译码实现数

16、码管段选;STC89C52RC1的P2.0、P2.5控制数码管位选; STC89C52RC的RESET连接按钮,用于输入校时、定时信号和停止信号。4.2.2数码管显示部分 本设计中所涉及数码管皆采用共阳数码管,显示电路为动态扫描式显示。图4-3数码管及显示电路选择数码管显示位选:STC89C52RC的P0口输出控制数码管段选,在本次设计的电路中,因为是使用的是共阳数码管,因此由STC89C52RC的P0.0P0.7的输出控制SN74LS244N,使之输出相应的端口为低电平,控制数码管点亮。图4-4 数码段位选原理数码管段选AT89C51的P2.0P2.5控制数码管位选,在设计的时候,怕在芯片输

17、出的电流信号过大,因此在输出的时候加了限流电阻,为保护数码管,防止烧坏。 图4-5 数码管位选原理4.2.3 按钮与开关部分长按“S2”键(约3秒)松开,第一第二位数码管闪烁,此时轻按“S2”键,可设置“时” (023),再长按“S2”键(约3秒)松开,第三第四位数码管闪烁,此时轻按“S2”键,可设置“分” (059), 再长按“S2”键(约3秒)松开,第五第六位数码管闪烁,此时轻按“S2”键,可设置“秒” (059),如此循环。设置完成后再长按“S2”键(约3秒)松开即进入正常运行状态。图4-6按键电路原理4.2.4原理图与PCB图部分图4-7电路原理图图4-8 PCB图第5节 软件设计5.

18、1程序原理概述 在程序设计这一环节,本次将其分为时钟中断程序、时钟显示程序、键盘程序、主程序、各程序衔接程序。在以下几节中将根据实际各个部分的编程及调试顺序,依次介绍各程序的设计思想和流程。5.2总的设计思想 在本次主要是使用的是数字闹钟,因此主要部分是数字钟的实现,因此要实现这样的功能必须要在硬件的电路上实现数字钟的实现,然后在此基础上逐步实现其他的功能, 数字电子钟的程序大概可以分为三个部分:时钟主程序、时钟显示程序、时钟中断程序。时钟主程就是对时钟的各个模块的实现。时钟显示程序是将秒显示用发光二极管显示,每一秒点亮一次;将分个位、分十位、时个位、时十位数据存储单元的计时数据通过设置段选和

19、位选、由SN74LS244N段选译码,最后显示在相应的数码管上。时钟中断程序则通过重设计时、1秒计时与时钟程序相结合实现秒个位、秒十位、分个位、分十位、时个位、时十位数据存储单元的数据按计时规则加1进位和清零,以配合时钟显示程序实现数字电子钟。5.2程序代码DATA_SEGSEGMENTDATA;定义一个DATA段STACKSEGMENTIDATA;定义一个堆栈段BIT_SEGSEGMENTBIT;定义一个位段bKeyBITP1.0;IdleConstEQU50RSEG STACK DS10H ;16个字节的堆栈RSEGDATA_SEG;开始DATA_SEG段buffer:DS6;6个字节的显

20、示缓冲区ms50:DS 1;50ms计数ms250:DS 1;250ms计数sec: DS 1 ;秒min: DS 1 ;分hour:DS 1;时ms50_1:DS1;存放多少个50ms,用于记录按键时间SetPos:DS1;设置位置SetPos1: DS1;需要屏蔽的数码管RSEG BIT_SEGbIdle:DBIT1;省电模式bTwinkle:DBIT1;当前设置位置闪烁CSEGAT0;相当于小汇编的ORGAJMPMAINCSEGAT000BH;定时器T0中断处理入口地址LJMPINT_Timer0CSEGAT001BH;定时器T1中断处理入口地址LJMPINT_Timer1CSEGAT0

21、100HMAIN:MOVSP,#STACK-1;堆栈CLRbIdleCLRbTwinkleMOVms50,A;清零ms50MOVms250,AMOVhour,#12;设定初值: 12:59:50MOVmin,#59MOVsec,#50MOVTH0,#60;定时中断计数器初值MOVTL0,#176;定时50msMOVTMOD,#11H;定时器0,1:方式一MOVIE,#8AH;中断初始化,EA=1,ET0=1, ET1 = 1SETBTR0;开定时器T0MOVSetPos,#0FFH;MAIN1:ACALLAdjustBuffer;调整显示缓冲区MAIN2:ACALLKey;调用键扫描ACALL

22、DisplayJNBF0,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;秒加1CJ

23、NER1,#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,minAC

24、ALLHexToBCDMOVA,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,AINC

25、R0SJMPDisplay1Display2: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:

26、CLRbTwinkleRET;不在设置状态SetHour:INChourMOVA,hourCJNEA,#24,SetHour1MOVhour,#0SetHour1:SJMPSetFun1SetMin:INCminMOVA,minCJNEA,#60,SetMin1MOVmin,#0SetMin1:SJMPSetFun1SetSec:INCsecMOVA,secCJNEA,#60,SetFun1MOVsec,#0SetFun1:SETBF0RET;调整闪烁位置SetPosTab:AJMPNoSetPosAJMPSetHourPosAJMPSetMinPosAJMPSetSecPosNoSetPos

27、:MOVSetPos1,#0RETSetHourPos:MOVSetPos1,#30HRETSetMinPos:MOVSetPos1,#0CHRETSetSecPos:MOVSetPos1,#03HRETKey:ACALLDisplayJNBbKey,Key4JNBTR1,Key3CLRTR1SETBbKeyMOVA,ms50_1CJNEA,#10,$+3JNCKey1;调整时间SetFun:MOVA,SetPosINCARLAMOVDPTR,#SetFunTabJMPA+DPTRKey1:CJNEA,#IdleConst,$+3JNCKey2;进入设置状态SetPosFun:INCSetPo

28、sMOVA,SetPosCJNEA,#3,SetPosFun1MOVSetPos,#0FFH;退出设置状态SetPosFun1:MOVA,SetPosINCARLAMOVDPTR,#SetPosTabJMPA+DPTRKey2:SETBbIdle;进入省电模式MOVP2,#0FFHKey3:RETKey4:JNBTR1,Key5MOVA,ms50_1CJNEA,#IdleConst,$+3JNCKey2RETKey5:ACALLDisplayACALLDisplayACALLDisplayACALLDisplayJNBbKey,Key6SJMPKey3Key6:CLRbIdleMOVTH1,#

29、60MOVTL1,#176SETBTR1MOVms50_1,#0RETEND第六节 调试USB下载STC89C52RC单片机的使用说明将USB串口线的驱动安装请看“关于USB转串口线和编程器连接的问题.pdf”文件。会显示USB-SERIAL CH340(COM7),记住COM?的端口号,要在STC-ISP软件中进行设置。将USB转串口线与编程器连接好,将单片机放入编程器ZIP1锁紧座上(芯片缺口朝上),打开STC-ISP软件(STC_ISP_V480.exe),选择STC单片机型号,打开要下载的程序文件,设置COM号,点击下载按钮,当出现给MCU上电提示时,插上USB取电线,进行正常下载。实

30、物图实训小结经过一周的实训学习,我学到了很多东西,有专业知识方面的,也有思维和人家交往方面的.俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,选一个自己有兴趣的题目。其次,对老师的要求要一丝不苟的实践,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 在专业知识方面,自从进入大学以后在这一方面我从不认为自己是懒惰的,但这次课程设计使我对学习有了重新的认识勤奋不等于好结果,粗心一定会有苦果。对于这次单片机综合课程实习,我在思想上的体会就是作

31、为一名电子专业的大学生,要求具备的首要素质绝对应该是严谨。我们这次实训所遇到的多半问题多数都是由于我们不够严谨。其次在和人交流上,我认识到,无论做什么事情,有困难,有疑问,要和同学多讨论,几个人一起想办法总比一个人强,你一个解决方案,她一个,两者综合又有一个方案。只有想不到,没有做不到。只要有心、有毅力、要坚强,没什么能难倒我们。实验最关键是要有耐心,有时实验电路和程序并不能一次成功,所以要有良好的心理素质,有克服一切困难的勇气,勇于寻找问题的根源,一次次反复的实验,才能达到目的。这同时也是一个学习与进步的过程,可以帮助我们自主寻找问题的根源,自主学习寻找解决问题的办法,最终实实在在地学到知识

32、,提高本领,掌握技能。在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。在绘制电路原理图和安装元件的过程中,加强了我思考问题的完整性,同时增强了我的耐性,让我更细心和有耐心。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。 当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,

33、我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无再次感谢老师的严格要求而给了我这样一个机会,以此不仅培养了我书写论文的能力,更重要的是培养了我在面对需要重大紧急问题时的能力,课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。 参考文献1 商俊平,于洋,陈亮.基于SM8958C25 的多接口复费率用电控制器设计J.自动化技术与应用,20072杨金岩,郑应强,张振仁.8051 单片机数据传输接口扩展技术与应用实例 M .第一版.北京: 人民邮电出版社,20053 钟睿.单片机原理及应用开发技术M .北京航空航天大学出版社, 20014 方大千.实用电子控制电路M .北京:国防工业出版社, 20035廖日坤.cpld /fpga 嵌入式应用开发技术白金手册 M . 第一版, 中国电力出版社,20056 吴金戎,沈庆阳等,8051单片机实践与应用,清华大学出版社,20017 8 夏路易,石宗义,电路原理图与电路板设计教程北京希望电子工业出版20029 丁元杰、吴大伟单片微机实题集与实验指导书M机械工业出版社, 2004P12412510 8051单片机实践与应用 吴金戎.清华大学出版社.2001

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号