单片机课程设计-基于单片机的多功能电子钟的设计._第1页
单片机课程设计-基于单片机的多功能电子钟的设计._第2页
单片机课程设计-基于单片机的多功能电子钟的设计._第3页
单片机课程设计-基于单片机的多功能电子钟的设计._第4页
单片机课程设计-基于单片机的多功能电子钟的设计._第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、电子时钟 电子时钟简介 1957年,Ventura创造了世界上第一个电子表,从而奠定了电子时钟的根底,电子时钟开始迅速开展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而到达计时的功能,是人民日常生活补课缺少的工具。现在高精度的计时工具大多娄都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有

2、时、分、秒显示时间的功能,还可以进行时和分的核对,片选的灵活性好。1.3 电子时钟的原理 该电子时钟由89C2051,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,到达时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,到达省电的目的;直接按下不松开,那么可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,那么可实现小时的调节,同样每按一次小时加一。2 单片机 2.1 单片机简介 单片机全称为单片机微型计算机Single C

3、hip Microsoftcomputer)。从应用领域来看,单片机主要用来控制,所以又称为微控制器Microcontroller Unit或嵌入式控制器。单片机是将计算机的根本部件微型化并集成在一块芯片上的微型计算机。2.2 单片机的开展史1 . 4位单片机 1975年,美国德克萨斯仪器公司首次推出4位单片机TMS-1000;此后,各个计算机公司竞相推出四位单片机。日本松下公司的MN1400系列,美国洛克威尔公司的PPS/1系列等。四位单片机的主要应用领域有:PC机的输入装置,电池充电器,运动器材,带液晶显示的音/视频产品控制器,一般家用电器的控制及遥控器,电子玩具,钟表,计算器,多功能 等

4、。 2 . 8位单片机 1972年,美国Intel公司首先推出8位微处理器8008,并于1976年9月率先推出MCS-48系列单片机。在这以后,8位单片机纷纷面市。例如,莫斯特克和仙童公司合作生产的3870系列,摩托罗拉公司生产的6801系列等。随着集成电路工艺水平的提高,一些高性能的8位单片机相继问世。例如,1978年摩托罗拉公司的MC6801系列及齐洛格公司的Z8系列,1979年NEC公司的UPD78XX系列。这类单片机的寻址能力达64KB,片内ROM容量达4-8KB,片内除带有并行IO口外,还有串行IO口,甚至还有AD转化器功能。8位单片机由于功能强,被广泛用于自动化装置、智能仪器仪表、

5、智能接口、过程控制、通信、家用电器等各个领域。3 . 16位单片机 1983年以后,集成电路的集成度可达几十万只管/片,各系列16位单片机纷纷面市。这一阶段的代表产品有1983年Intel公司推出的MCS-96系列,1987年Intel推出了80C96,美国国家半导体公司推出的HPC16040,NEC公司推出的783XX系列等。16位单片机主要用于工业控制,智能仪器仪表,便携式设备等场合。4 . 32位单片机 随着高新技术只智能机器人,光盘驱动器,激光打印机,图像与数据实时处理,复杂实时控制,网络效劳器等领域的应用与开展,20世纪80年代末推出了32位单片机,如Motorlora公司的MC68

6、3XX系列,Intel的80960系列,以及近年来流行的ARM系列单片机。32位单片机是单片机的开展趋势,随着技术的开展及开发本钱和产品价格的下降,将会与8位单片机并驾齐驱。5 . 64位单片机 近年来,64位单片机在引擎控制,智能机器人,磁盘控制,语音图像通信,算法密集的实时控制场合已有应用,如英国Inmos公司的Transputer T800是高性能的64位单片机。2.3 单片机的特点 1 . 单片机的存储器ROM和RAM时严格区分的。ROM称为程序存储器,只存放程序,固定常数,及数据表格。RAM那么为数据存储器,用作工作区及存放用户数据。 2 . 采用面向控制的指令系统。为满足控制需要,

7、单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力。 3 . 单片机的I/O口通常时多功能的。由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或由机器状态来区分。 4 . 单片机的外部扩展能力很强。在内部的各种功能部件不能满足应用的需求时,均可在外部进行扩展,与许多通用的微机接口芯片兼容,给应用系统设计带来了很大的方便。2.4 89C2051单片机介绍 89C2051是由ATMEL公司推出的一种小型单片机。95年出现在中国市场。其主要特点为采用FLASH存贮技术,降低了制造本钱,其软件、硬件与MCS-51

8、完全兼容,可以很快被中国广阔用户接受,其程序的电可擦写特性,使得开发与试验比拟容易。2.4.1 构成:89C2051共有20条引脚,详见下列图。从图中可见,2051继承了8031最重要引脚:1.引脚:P1口共8脚,准双向端口,P3共7脚,也是准双向端口,并且保存了全部的P3的第二功能,如P3.0、P3.1的串行通讯功能,P3.2、P3.3的中断输入功能,P3.4、P3.5的定时器功能。在引脚的驱动能力上面,89C2051具有很强的下拉能力,P1、P3口的下拉能力均可到达20mA,相比之下,89C51/87C51的端口的下拉能力每脚最大为15mA。但是限定9脚电流之和小于71mA。这样,引脚的平

9、均电流只有9mA。89C2051驱动能力的增强,使得它可以直接驱动LED数码管。为了增加对模拟量的输入功能,2051在其内部构造了一个模拟信号比拟器,其输入端办连到P1.0和P1.1口比拟结果存入P3.6对应存放器,P3.6在2051外部无引脚。对于一些不大复杂的控制电路我们就可以增加少量元件来实现,例如,对温度的控制,过压的控制等。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。2.电源:89C2051有很宽的工作电源电压,可为2.7到6V,当工作在3V时,电流相当于6V工作时的1/4。89C2051工作于12Hz时,动态电流为5.5mA,空闲时为1mA,掉电态

10、仅为20nA。这样小的功耗很适合于电池供电的小型控制系统。3.存储器:89C2051片内含有2k字节的Flash程序存储器,128字节的片内RAM,与80C31内部完全类似。由于2051内部设计全静态工作,所以允许工作的时钟为0-20MHz,也就是说,允许在低速工作时,不破坏RAM内容。相比之下,一般8031对最低工作时钟限制为3.5MHz,因为其内部的RAM是动态刷新的。89C2051不允许构造外部总线来扩充程序/数据存储器,所以它也不需要ALEPSEN、RD、WR一类的引脚。4.内部I/O控制:89C2051在内部I/O控制上继承了MCS51的特性:5路2级优待中断,串等口,2路定时器/计

11、数器。2.4.2 实物:89C2051实物图AT89C2051是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读程序存储器PEROM和128bytes的随机数据存储器RAM,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合。程序保密89C2051设计有2个程序保密位,保密位1被编程之后,程序存储器不能再被编程除非做一次擦除,保密位2被编程之后,程序不能被读出。软硬件的开发89C2051可以采用下面2

12、种方法开发应用系统。1 由于89C2051内部程序存贮器为Flash,所以修改它内部的程序十分方便快捷,只要配备一个可以编程89C2051的编程器即可。调试人员可以采用程序编辑-编译-固化-插到电路板中试验这样反复循环的方法,对于熟练的MCS-51程序员来说,这种调试方法并不十分困难。当做这种调试不能够了解片内RAM的内容和程序的走向等有关信息。2 将普通8031/80C31仿真器的仿真插头中和引出来仿真2051,这种方法可以运用单步、断点的调试方法,但是仿真不够真实,比方,2051的内部模拟比拟器功能,P1口、P3口的增强下拉能力等等。2.4.3 主要性能:和MCS-51产品兼容;2KB可重

13、编程FLASH存储器1000次;电压范围;全静态工作:0Hz-24KHz2级程序存储器保密锁定128*8位内部RAM15条可编程I/O线两个16位定时器/计数器6个中断源可编程串行通道高精度电压比拟器,直接驱动LED的输出端口3 控制系统的硬件设计3.1 单片机型号的选择 通过对多种单片机性能的分析,最终认为89C2051是最理想的电子时钟开发芯片。采用ATMEL的AT89C2051的微处理器是基于以下因素:89C2051为51内核,仿真调试软硬件资源丰富;性价比高,货源充足;DIP20封装,体积小,便于产品小型化;为EEPROM程序存储介质,1000次以上擦/写周期,便于编程调试;具有IDL

14、E和POWER-DOWN两种工作模式,便于进行低功耗设计;工作电压范围宽:2.7-6V。便于交直流供电。3.2 数码管显示工作原理数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的

15、相同端也会连接在一起。即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。如下列图所示即为数码管图:3.3 键盘电路设计 该设计只用了一个键盘,但实现的功能却是比拟完善,减少了硬件资源的损耗,该键盘可以实现小时和分钟的调节以及控

16、制是否进入省电模式。当按键按下又松开,可以实现屏蔽数码管显示的功能,到达省电的目的;直接按下不松开,那么可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,那么可实现小时的调节,同样每按一次小时加一。到达时间调节的目的。3.4 整个电路原理图 4 控制系统的软件设计 4.1 程序设计 本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序四大模块。在程序设计过程中,加强了局部软件抗干扰措施,下面对主程序及显示程序作一下简单介绍:主程序:START:MOV R0,#70H;清70H-7AH共11个内存单元 MOV R7,#0BH CLEARDISP: MO

17、V R0,#00H INC R0 DJNZ R7,CLEARDISP MOV 20H,#00H ;清20H标志用MOV 7AH,#0AH ;放入熄灭符数据MOV TMOD,#11H ;设定T0,T1为位定时器MOV TL0,#0B0H ;以下为0,T1的定时初值MOV TH0,#3CHMOV TL1,#0B0HMOV TH1,#3CHSETB EA ;以下为开中断并启动SETB ET0SETB TR0MOV R4,#14H ;秒定时用初值50乘20START1:LCALL DISPLAY ;调用显示子程序JNB P3.7,SETMM1 ;为0时转时间调整程序SJMP START1 ;为1时转S

18、TART1SETMM1: LJMP SETMM ;转时间调整程序SETMM显示子程序:显示数据在70H-75H单元内,用六位LED共阳数码管显示,P1口输出段码数据,P3口作扫描控制,每个LED数码管亮1ms时间再逐位循环。DISPLAY: MOV R1,#70H ;指向显示数据首址MOV R5,#0FEH ;扫描控制字初值PLAY: MOV A,R5 ;扫描字给MOV P3,A ;从P3口输出MOV A,R1 ;取显示数据到MOV DPTR,#TAB ;取段码表地址MOVC A,A+DPTR ;查显示数据对应段码MOV P1,A ;段码放入P1口LCALL DL1MS ;显示1msINC R

19、1 ;指向下一地址MOV A,R5 ;JNB ACC.5,ENDOUT ;ACC.5=0时一次显示结束RL A ;中数据循环左移MOV R5,A ;放入R5内AJMP PLAY ;跳回PLAY循环ENDOUT: SETB P3.5 ;一次显示结束,P3口复位MOV P1,#0FFH ;P1口复位RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH 程序流程图系统的流程图如图和图所示:主程序流程图:开始开中断,并允许T0中断TH0,TL0装入初值计数单元清零 P3.7按键识别成功否? 加1秒计时程序时间调整程序 是 否 ;时间调

20、整 程序流程图;小时加1分钟加1省电程序中断返回开T0定时器,开T0中断允许关T1定时器,关T1中断允许开T1定时器,开T1中断允许关T0定时器,关T0中断允许按下大于1秒吗?按下大于0.5秒吗?按下大于0.5秒吗?仿真结果5.1 仿真图 图4.3 开始运行程序仿真图 图4.4 运行一段时间后仿真图5.2 仿真结果分析功能太过单调,只能实现时、分、秒的显示,设计比拟简单。电路图的设计过于单调,用的器件太少,实现调节时间的按钮太少,不能很好的实现时间的调节。在测试过程中,六位数码显示管只显示五位数字,有一位数字不亮,通过屡次的修改程序并在PROTEUS软件环境中进行仿真,最终解决了这个问题,同时

21、也透露出本人在单片机电路设计和程序设计方面的缺乏。不过最后的仿真效果非常好,实现了预期的效果,能过通过多功能控制键调节时间和是否进入省电模式,是一个比拟令人满意的设计。 结束语在余国卫老师耐心的指导下,我顺利完成了这次单片机课程设计课题中的电子时钟设计,通过这次的设计使我认识到本人对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,尤其是对程序设计语句的理解和运用,不能够充分理解每个语句的具体含义,导致编程的程序过于复杂,使得需要的存储空间增大。损耗了过多的内存资源。本次的设计使我从中学到了一些很重要的东西,感谢余老师对我的细心的指导。相信这对我以后的课程设计和毕业设计将会有很

22、大的帮助!参考文献1 谢自美电子线路设计实验测试M武汉:华中理工大学出版社,1992.2 何立民单片机应用系统设计M北京:北京航空航天大学出版社,1993.3 楼然笛单片机开发M北京:人民邮电出版社,1994.4 付家才单片机控制工程实践技术M北京:化学工业出版社 2004.3.5 李光才单片机课程设计 实例指导M 北京:北京航空航天大学出版社 2004.6 朱定华单片机原理及接口技术实验M北京:北方交通大学出版社2002.11.7 刘湘涛江世明单片机原理与应用M. 北京:电子工业出版社,2006.附录程序源代码: ORG 0000HLJMP STARTORG 0003HRETIORG 000

23、BHLJMP INTT0ORG 0013HRETIORG 001BHLJMP INTT1ORG 0023HRETI ;主程序START:MOV R0,#70H MOV R7,#0BH ;CLEARDISP: ; MOV R0,#00H ;清零INC R0 ;DJNZ R7,CLEARDISP ;MOV 20H,#00H ;清20H标志用MOV 7AH,#0AH ;放入熄灭符数据MOV TMOD,#11H ;T0,T1为16位定时器MOV TL0,#0B0H ;以下为0,T1的定时初值MOV TH0,#3CHMOV TL1,#0B0HMOV TH1,#3CHSETB EA ;以下为开中断并启动T

24、0SETB ET0SETB TR0MOV R4,#14H ;秒定时用初值50乘20START1: LCALL DISPLAYJNB P3.7,SETMM1 ;为0时转时间调整程序SJMP START1 ;为1时转START1SETMM1: LJMP SETMM ;转时间调整程序;1s计时程序INTT0: PUSH ACCPUSH PSWCLR ET0CLR TR0MOV A,#0B7HADD A,TL0MOV TL0, AMOV A,#3CHADDC A,TH0MOV TH0,ASETB TR0DJNZ R4,OUTT0ADDSS: MOV R4,#14HMOV R0,#71HACALL AD

25、D1MOV A,R3CLR CCJNE A,#60H,ADDMMADDMM: JC OUTT0ACALL CLR0MOV R0,#77HACALL ADD1MOV A,R3CLR CCJNE A,#60H,ADDHHADDHH: JC OUTT0ACALL CLR0MOV R0,#79HACALL ADD1MOV A,R3CLR CCJNE A,#24H,HOURHOUR : JC OUTT0ACALL CLR0 OUTT0: MOV 72H,76HMOV 73H,77HMOV 74H,78HMOV 75H,79HPOP PSWPOP ACCSETB ET0RETI;闪动调时INTT1: PU

26、SH ACCPUSH PSWMOV TL1,#0B0HMOV TH1,#3CHDJNZ R2,INTT1OUTMOV R2,#06HCPL 02HJB 02H,FLASH1MOV 72H,76HMOV 73H,77HMOV 74H,78HMOV 75H,79HINTT1OUT: POP PSWPOP ACCRETIFLASH1: JB 01H,FLASH2MOV 72H,7AHMOV 73H,7AHMOV 74H,78HMOV 75H,79H AJMP INTT1OUTFLASH2: MOV 72H,76HMOV 73H,77HMOV 74H,7AHMOV 75H,7AHAJMP INTT1O

27、UT;加1程序;ADD1: MOV A,R0DEC R0 SWAP AORL A,R0ADD A,#01HDA AMOV R3,AANL A,#0FHMOV R0,AMOV A,R3INC R0SWAP AANL A,#0FHMOV R0,ARET;清零程序CLR0: CLR AMOV R0,ADEC R0MOV R0,ARET; 时钟调整程序 SETMM: CLR ET0CLR TR0LCALL DL1SJB P3.7,CLOSEDISMOV R2,#06HSETB ET1SETB TR1 SET2: JNB P3.7,SET1SETB 00H SET4: JB P3.7,SET3LCALL

28、 DL05SJNB P3.7,SETHHMOV R0,#77HLCALL ADD1MOV A,R3CLR CCJNE A,#60H,HHH HHH: JC SET4LCALL CLR0CLR CAJMP SET4CLOSEDIS: SETB ET0SETB TR0CLOSE: JB P3.7,CLOSELCALL DISPLAYJB P3.7,CLOSEWAITH: JNB P3.7,WAITHLJMP START1SETHH: CLR 00HSETHH1: JNB P3.7,SET5 SETB 01HSET6: JB P3.7,SET7LCALL DL05SJNB P3.7,SETOUTMOV R0,#79HLCALL ADD1MOV A,R

温馨提示

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

评论

0/150

提交评论