单片机课程设计-4位LED数字时钟的设计_第1页
单片机课程设计-4位LED数字时钟的设计_第2页
单片机课程设计-4位LED数字时钟的设计_第3页
单片机课程设计-4位LED数字时钟的设计_第4页
单片机课程设计-4位LED数字时钟的设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

TOC\o"1-5"\h\z\o"CurrentDocument"一、摘要 1\o"CurrentDocument"二、设计任务 11、题目:4位LED数字时钟的设计 12、技术指标及设计要求 13、给定条件及器件 1\o"CurrentDocument"三、设计方案与实现 2-61、硬件设计 2(1)相关器件介绍 2(2)数码管介绍 2(3)数码管的驱动方式 3(4)单片机(AT89S52)介绍 4-5(5)电路设计 62、软件设计 6-7(1)软件设计基本思想 6(2)程序流程图 7\o"CurrentDocument"四、调试 7\o"CurrentDocument"五、总结 7-8六、附录 8-131、元件清单 8132、程序清单 9-1313七、参考文献一、摘要电子钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所。本系统采用本系统MT89S52为主控芯片,实现电子时钟的设计,并考虑节约系统的硬件,能用软件实现的功能尽量都用软件实现。而且达到时钟功能为24小时的计时方式,显示时、分;具有快速校准时、分的功能;根据键盘输入调用相应键处理子程序,实现时间的调整;然后输出到4位的1£口显示器显示出来。二、设计任务1、题目:4位LED数字时钟的设计2、技术指标及设计要求(1)显示小时、分钟时间(2)实现秒的量化显示(3)具有调整时间功能(4)开机复位显示及手动复位显示功能3、给定条件及器件(1)单片机及相关外围器件(2)直流稳压电源5V(3)万用电路板(4)4联共阳数码管

三、设计方案及实现1、硬件设计(1)相关器件介绍(a)(b)LED数码显示器(c)共阳极结构EBC +图29012和LED引线排图1一位LED数码显示J」(a)(b)LED数码显示器(c)共阳极结构EBC +图29012和LED引线排图1一位LED数码显示J」4,可口9口be)®(9」5_必U@hdhdhdh4联LED数码显示器b|COfaCOMCOMCOgchde4联LED数码显示器图4按键引线排列图3四位LED数码显(2)数码管介绍数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。本设计采用共4联共阳数码管。(3)数码管的驱动方式数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。①静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的 I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5X8=40根I/O端口来驱动,要知道一个89552单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。②动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的 I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过

分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1〜2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 I/O端口,而且功耗更低。本设计采用动态扫描的方式进行显示。(4)单片机(AT89S52)介绍P1.0匚P1.1匚P1.2匚P1.0匚P1.1匚P1.2匚P1.3匚P1.4匚P1.5匚P1.6匚P1.7匚RST匚RXD/P3.0匚TXD/P3.1匚INT0/P3.2匚INT1/P3.3匚T0/P3.4匚T1/P3.5匚WR/P3.6匚RD/P3.7匚XTAL2匚XTAL1匚VSS2348031578051898751101189C5140393837363534333231302928272625""2221nVCC二IP0.0二।P0.1二।P0.2二।P0.3二|P0.4二।P0.5二|P0.6二।P0.7口EAnALE二IPSEN二।P2.7二।P2.6二|P2.5口P2.4二|P2.3二।P2.2二|P2.1P2.0主要性能:与MCS-51单片机产品兼容、8K字节在系统可编程、Flash存储器、1000次擦写周期全静态操作:0Hz〜33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。功能特性描述:At89s52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用人士巾61公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下

一个中断或硬件复位为止。(5)电路设计电路原理图如下所示,单片机采用内部有8kb的flashROM与80C51完全兼容的AT89S52单片机,扩展4位共阳极LED数码显示器,采用动态显示方式,显示段码由P0□提供,位码由P2.4〜2.7提供,扩展2个独立式按键用于时间的设定及调整。EAvccP2.7RSTP2.6P2.5R2〜R5 6.8kX4R2R3VSSP2.4R4-CZP-

R5R6卜COM4COM3COM2C4+10u;9012电源插座COM1<.+5VC230PEAvccP2.7RSTP2.6P2.5R2〜R5 6.8kX4R2R3VSSP2.4R4-CZP-

R5R6卜COM4COM3COM2C4+10u;9012电源插座COM1<.+5VC230PX1X2P3.0P3.1P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0R13时十位AT89S52R6〜R13 470X8El.时个位n□QD.分十位分个位图6时钟电路2、软件设计(1)软件设计基本思想:由单片机的定时器T0产生0.05s的时间基准,通过计数得到时钟的秒、分、时信号,由显示子程序送数码管显示器显示,键盘工作在扫描方式,当有键按下时,通过键处理程序完成时间的调整。(2)程序流程图如下:四、调试通过烧录器将软件烧录到单片机后数码管显示不正常,经检查是硬件电路的复位按键接错,导致系统总是复位无法正常工作,经修改后显示正常。五、总结经过两个星期的学习和工作,我终于完成了单片机时钟课程设计。从开始接到论文要求到时钟的实现,再到论文文章的完成,每走一步对我来说都是新的尝试与挑战,这也是我在大学期间独立完成的最大的项目。在这段时间里,我学到了很多知识也有很多感受,我开始了独立的学习和试验,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常稚嫩作品一步步完善起来,每一次改进都是我学习的收获,每一次试验的成功都会让我兴奋好一段时间。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。这次论文的经历也会使我终身受益,我感受到做论文是要用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。通过本次毕业设计,我在苏老师的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域这对我今后进一步学习计算机方面的知识有极大的帮助。六、附录1、元器件清单4番中规格或型号炉单片机AT89S51或ATS9S521片240脚口2片"晶振审12MHZ1只三极管49012P4支」电解电春^10UF/10V了2支口塞片电容V30PF^2支」电阻(小)小1喈W、470Q^S支二电阻(小)Pl/8Wxfi.SKO^5支平万髭实超版卡903E^1片炉6Xtiimn33只"电源插座?4*1.1iulup1只小细身黑门数据桀40线XL5cui口1段4焊镭/中O.Simn口SODjiom口LED数码管口4联共阳红0.5时口1只中-8-2、程序清单;;预定义部分产=========================================BUFEQU6EHSBFEQU6FHMBFEQU70HHBFEQU71HFGWEQU76HFSWEQU77HSGWEQU78HSSWEQU79HB05BIT00H ;0.5s标志SS2BITP3.1SS1BITP3.0;===========================================;初始化及主程序;===========================================ORG 0000HLJMPMAINORG 000BHLJMPTOCLOCK ;0.05s中断服务程序ORG0100HMAIN:MOVIE,#00HMOVSP,#30H;堆栈指针MOV20H,#00H;清标志CLRA;A=00HMOVBUF,A;BUF清0MOVSBF,A;SBF清0MOVMBF,A;MBF清0MOVHBF,#0CH;初始时钟显示12:00MOVTMOD,#01H;定时器T0工作在方式1MOVTH0,#3CH;T0用于时钟定时,0.05s定时初值MOVTL0,#0B0HSETBPT0;T0高级优先ACALLPUTD_PRG;调用向显示缓冲区放数子程序ACALLDISP_PRG;调用显示子程序LCALLYS20MSSETBEA;开中断SETBET0SETBTR0;启动定时NOP-9-

NOP;调用向显示缓冲区放数子程序;调用向显示缓冲区放数子程序;调用显示子程序;调用键盘扫描处理子程序ACALLDISPPRGACALLJPCL_PRGSJMPLOO1;;T0中断服务程序; TOCLOCK:MOVTH0,#3CH—MOVTL0,#0B7HPUSHPSWPUSHACCINCBUF;BUF+1MOVA,BUFCJNEA,#10,CLOCK_1SETBB05;置位0.5s标志CLOCK_1:CJNEA,#20,DK13;累计20次为1sCLRB05;清除0.5s标志MOVBUF,#00HMOVA,SBF;修改秒计数单元INCAMOVSBF,ACJNEA,#60,DK13;不到60,返回MOVSBF,#00H;等于60,计数单元清0MOVA,MBF;修改分计数单元INCAMOVMBF,ACJNEA,#60,DK13MOVMBF,#00HMOVA,HBF;修改时计数单元INCAMOVHBF,ACJNEA,#24,DK13MOVHBF,#00HSJMPDK13DK13: POPACCPOPPSWRETI; —;向显示缓冲区放数子程序;—PUTD_PRG:PUSHPSW;保护现场,(RS1,RS0)PUSHBPUSHACC-10-

PUTD2:MOVA,MBF;MBF中内容送入AACALLCHU10;调用除10程序MOVFGW,B;分个位送显缓76HMOVFSW,A;分十位送显缓77HPUTD5:MOVA,HBF;HBF中内容送入AACALLCHU10;调用除10程序MOVSSW,A;时十位送显缓79HPUTD10:MOVSGW,B;时个位送显缓78HPUTD9:POPACCPOPB;恢复现场POPPSW;恢复(RS1,RS0)RET;子程序返回; —滁10子程序;CHU10:MOVB,#0AHDIVABRET; ;显示子程序(须将显缓中十进制数转换成七段码,再送数码显示器);—DISP_PRG:PUSHPSWSETBRS0;转工作寄存器组1CLRRS1PUSHACC;保护现场MOVA,P2ORLA,#0F0H;高4位置1MOVP2,A;关闭显示MOVR0,#FGWMOVDPTR,#TABDMOVA,@R0MOVCA,@A+DPTRMOVP0,ACLRP2.4;点亮1位LCALLYS20MSINCR0MOVDPTR,#TABDMOVA,@R0MOVCA,@A+DPTRMOVP0,ASETBP2.4CLRP2.5;点亮2位LCALLYS20MS-11

INCR0MOVDPTR,#TABDMOVA,@R0MOVCA,@A+DPTRJNBB05,DISP_1ANLA,#7FH;点亮小数点DISP_1:MOVP0,ASETBP2.5CLRP2.6;点亮3位LCALLYS20MSINCR0MOVDPTR,#TABDMOVA,@R0CJNEA,#00H,DISP_2MOVA,#0AH;最高位为0,显示灭DISP_2:MOVCA,@A+DPTRMOVP0,

温馨提示

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

评论

0/150

提交评论