27时钟计数器(课程设计)_第1页
27时钟计数器(课程设计)_第2页
27时钟计数器(课程设计)_第3页
27时钟计数器(课程设计)_第4页
27时钟计数器(课程设计)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计报告-33 -单片机课程设计报告定时闹钟1h F.匸 £E 塚 a 二远名:号:姓学 专业班级指导老师 所在学院 实验地点I : _L24小时制、两闹钟摘要单片计算机即单片微型计算机。是集 CPU ,RAM ,ROM ,定时,计数和多种接口于 体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。这 次设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。本次设计是 一个定时闹钟,以单片机为基础,实现显示时时一分分一秒秒,能够设定定时时间、修 改定时时间,并且到定时时间可以发出警报。单片机具有集成度高、功能强、通用性好、 特别是它能耗低、价格便宜

2、、可靠性高、抗干扰能力强和使用方便等独特的优点,所以 单片机现在广泛的应用到家用电器、机电产品、儿童玩具、机器人、办公自动化产品等 领域。为了进一步的熟悉并掌握单片机的应用及开发,认真的做好此次课程设计非常必LED显示要的。基于单片机的数字定时闹钟在设计时需要解决三个方面的主要问题:一是 模块的驱动和编程,二是有关单片机中定时器的使用,三是如何利用单片机的外中断实 现时钟功能和运行模式的转化。在基于单片机系统的数字定时闹钟电路中,除了基本的 单片机系统和外围电路外,还需要外部的控制和显示装置。在本设计中,输入装置是按键开关,用于控制数字定时闹钟的运行模式,显示装置是LED七段数码管。该数字定时

3、闹钟是由80C51单片机控制的,可以达到以下效果:1、能够显示“时时 -分分-秒秒”。2、能够设定定时时间、修改定时时间。3、定时时间到能够发出一分钟的报警声。关键词: 定时闹钟 模块化 仿真目录1概述1.1课程设计的目的和意义41.2课程设计的所需元件41.3课设设计的设计任务42系统总体方案及硬件设计42.1总体设计框图42.2主电路52.380C51单片机引脚图及引脚功能介绍63软件系统设计93.1软件设计说明93.2定时闹钟程序流程图94 Proteus软件仿真114.1注意事项114.2仿真步骤125课程设计体会14参考文献14附1:源程序代码15.概述1.1课程设计的目的和意义本文

4、是利用80C51单片机结合四段显示器设计一个简易的定时闹铃时钟,可以放在计算机教室或是实验室中使用,由于用四段显示器显示数据,在夜晚或黑暗的场合中也 可以使用。可以设置现在的时间及显示闹铃设置时间,若时间到则发出一分钟闹铃响。本课程设计主要用到80C51单片机定时器时间计时处理、按键扫描及四段显示器扫描的设计方法等等。闹钟与我们的日常生活密不可分,通过闹钟的设计可以使我们进一步熟悉和掌握单片机的内部结构和工作原理,掌握单片机仿真软件Protel的使用方法。1.2课程设计所需元件电阻100欧8个1K6个10K1个9012 PNP5个4007二极管1个发光二极管1个极性电容4.7uF1个无极性电容

5、33PF2个晶振24MHz1个芯片插槽40管脚1个开关4个蜂鸣器1个1.3设计任务在熟练掌握单片机及其仿真系统的使用方法的基础上,综合应用单片机原理,微机原理,微机接口技术等专业知识,设计采用一个80C51单片机控制的定时闹钟。时间的定 时用时钟电路,修改时间和定时用手动按键控制,报警声通过蜂鸣器发出。2系统总体方案及硬件设计2.1总体设计框图该数字定时闹钟是由80C51单片机控制的,采用24小时制计时。基于单片机的数字 定时闹钟在设计时需要解决三个方面的主要问题:一是LED显示模块的驱动和编程,是有关单片机中定时器的使用,三是如何利用单片机的外中断实现时钟功能和运行模式 的转化。数字定时闹钟

6、系统框图如图一所示,包括主电路和显示电路两大部分。图一系统框图2.2 主电路主电路图如图二所示。该电路使用 P2端口的P2.2端口线实现闹钟0的切换;使用 P2端口的P2.1端口线实现闹钟1的切换;同样使用P2端口的P2.3端口实现闹钟功能。 当定点时,P2.5端口所接的蜂鸣器闹一分钟。图二中的开关K4用于闹钟开关控制。当K4 = 1时(开关处于ON的位置),打开闹钟,使之在预定时间起闹:当K4 = 0时(开K4也可以作为止闹开关使关处于OFF的位置),贝U关闭闹钟。另外,在闹钟响起时, 用,若不止闹,则闹一分钟。闹钟信号也是用蜂鸣器来模拟的。按键KI、K2、K3以及开关K4的定义如表一所示表

7、一按键功能按键键名功能K1校时键进入校时状态K2转换键校时状态下校正时钟调整闹钟1K3转换键校时状态下校正分钟调整闹钟0K4闹钟开启开关校时后切换到时钟状态闹钟校时后切换到时钟状态本设计采用的80C51单片机是51系列单片机。该系列单片机是采用高性能的静态80C51设计由先进CMOS工艺制造并带有非易失性Flash程序存储器全部支持12时钟和 6时钟操作 P89C51X2 和P89C52X2/54X2/58X2 分别包含128字节和 256字节RAM 32条I/O 口线3个16位定时/计数器6输入4优先级嵌套中断结构1个串行I/O 口可用于多机通信I/O扩展或全双工 UART以及片内振荡器 和

8、时钟电路。此外,由于器件采用了静态设计,可提供很宽的操作频率范围,频率 可降至0。可实现两个由软件选择的节电模式,空闲模式和掉电模式,空闲模式冻RAM的内容但结CPU但RAM定时器,串口和中断系统仍然工作掉电模式保存是冻结振荡器 导致所有其它的片内功能停止工作。由于设计是静态的时钟可停止而不会丢失用户数据运行可从时钟停止处恢复。8051系列,片内有128B的RAM, 有6个中断源,有片内振荡器。 * I - Pie Pl IP12P13P14P16P16P17二亠 PRWP01 pea P03P04Pd5 pe6 P07INT0INTI0123456722222222pppppppp80C51

9、单片机引脚图及引脚功能介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。1.电源:VCC -芯片电源,接+5V;VSS -接地端;2.时钟:XTAL1 XTAL2 -晶体振荡电路反相输入端和输出端。3. 控制线:控制线共有4根,ALE/PROG地址锁存允许/片内EPRO编程脉冲 ALE功能:用来锁存P0 口送出的低8位地址 PROG功能:片内有EPRO的芯片,在EPROMS程期间,此引脚输入编程脉冲。PSEN:外 ROM读选通信号。RST/V PD:复位/备用电源。RST ( Reset)功能:复位信号输入端。VPD功能:在Vcc掉电情况下,接备用电源。EA/Vdd:内外RO

10、M选择/片内EPRO编程电源。EA功能:内外ROM选择端。Vdd功能:片内有EPROMS芯片,在EPROMS程期间,施加编程电源 Vdd。4. I/O 线80C51共有4个8位并行I/O端口: P0 P1、P2、P3 ,共32个引脚。P3 口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。本设计中的硬件设计如图:5 二图总电路图n15PIOPI IPI-?M-bwnin二 T土匚亍如J厂王9I - I即一丄 R-1 *- *-占y二匚亍 -' ':Tilvcc*Mi丄RD WTTT-”"t_;S a S a 二-g p"*'r.II .

11、,*nAPDA吋1patV,FTZfQ ALWJ'切J-JwPCB板排图® J十I3软件系统设计3.1软件设计模块说明根据设计要求,定时闹钟程序可分为以下几个模块:1)显示时间的设置;2)闹钟时间的设置:4)定时时间的响应。数字定时闹钟的秒信号是利用单片机定时器T0产生的。由于开发机的晶振频率为 24MHz,使得T0的最大定时时间远远小于1秒,因此,在设计时采用了硬件计数与软件 计数相结合的方式。即通过T0产生一定的定时时间,然后再利用软件进行计数,从而产 生1秒钟的时间信号。在设计中,定时器 T0采用了中断方式。当定时时间到时,单片机 产生中断,在T0的中断服务程序中实现时

12、、分、秒的累加。并且,该中断的优先级别高 于其它中断,因此,保证了定时闹钟走时准确。在设计中,利用外部中断0和外部中断1分别作为校时和闹钟校时按键的触发输入。当需要校时时,拨动K2开关,便产生外部中断,进入相应的中断服务程序。在外部中 断0和外部中断1的中断服务程序中,都只有一条“表示有按键”的标志位置1的指令, 然后在主程序中用查询标志位的方式判断是否有键按下。若查得标志位为1则进入校时 子程序进行校时处理;若为0则照常进行时间显示。当拨动K1开关时,进入校时状态, 用户可以方便地校准时间。当拨动 K3开关时,便进入闹钟校时状态,这时,可以根据 需要设置起闹时间。在闹钟校时期间,时钟继续计数

13、,即闹钟校时不影响时钟走时。3.2定时闹钟程序流程图合理的软件结构是设计出一个性能优良的单片机应用系统的基础,根据系统的定义,可以把整个工作分解为若干个相对独立的操作,采用模块化的设计方法,它具有便于设计和调试、容易完成、可供多个程序共享等优点程序设计中重新设置初值时一开始设为 10ms,后来发现数字定时闹钟走时有点慢, 所以改为50ms。设计写显示数据段码程序时,向 28H送的值一开始定为#1,发现LED有闪烁现象, 所以后来定为#2。8255A的控制字为80H。数字定时闹钟的主程序流程图如图三所示。主程序流程图4 P rotel软件仿真4.1 注意事项1在Protel软件中进行放置元件、设

14、置电路参数、连接各元件,经几次修改布线错 误,画出数字定时闹钟总电路,并进行 ERC佥查。2、画封装,封装时应注意管脚的个数以及同种元件的不同类型,封装的大小要适合电路板中的原件大小,所以不能随便画。封装完后,制作PCB版,布线时应注意导线的 大小要适合,焊盘的大小也要适中,以便在之后的制版中好操作。3要注意本设计用的是四段共阳极 LED数码管的驱动芯片。在放置四位数码管LED时要选择7SEG-MPX6-CC(共阳极)而不是7SEG-MPX6-CA (共阴极)。4、悍接电路板时,由于电路板中的布线比较紧密,所以焊接原件前腰线用万用表检 测电路有没有短路或短路的,焊接元件前要注意元件的极性和方向

15、以防弄反,在焊接时 更要小心,防止各个焊点之间不要发生接触造成短路的现象发生5、所以东西都弄好之后是进行仿真,在用仿真机仿真是要注意芯片的方向不要插反, 以及在上电之前检测电源电压有没有超过一定值,以防把仿真机烧坏。&在写程序时要注意自己所用芯片的管脚分布及其对应功能,这样有利于程序的顺 禾y编写。4.2仿真步骤把接线连好,点击开始按钮仿真,按下K4键,闹钟从零走时。DH0 JR图1开始仿真,闹钟从零走时按下K1键,进入校时状态,可以根据实际时间调整时钟。调整后,按K4时钟继续走。F日日日日 壬a o o图2调整后,时钟继续走在(2)后,按下K3键,LED闪亮,进入闹钟0状态,此时可以

16、按K2和K3调 整定时时间。然后按K4,时钟继续走。Cl上匚人图3进入闹钟0重新开始计时后,按下 K2键,LED 一直亮,进入闹钟1状态,此时可以按K2 和K3调整定时时间。然后按K4,时钟继续走。 O口 Q n O £J ex 口 u图4进入闹钟15课程设计体会在做课程设计的过程中,我进一步认识到全面专业的科学知识以及逻辑思考方式对研 究问题的重要性,同时我也更加具体的掌握了课程设计的基本方法。在实验开始时,首 先是对Protel软件运用,虽然平时比较多用这软件,但是在真正自己独立用的时候还是 会遇到很多自己无法解的决的是问题,比如说元件有些要怎么找以及找到元件了要用哪 个型号的、

17、最重要的是找到元件了不清楚元件的封装是什么,诸如此类的问题还是成出 不穷。接着,原理图和PCB板都弄好了就找实物电路了,来到实验室看到大堆大堆的元 件是也不能马上辨认出哪些元件就自己要用的,所以说平时不多接触这些东西,到真正 要用的时候就很难迅速反应过来。紧接着就是自己动手做电路板了,这是我第一次真正 做电路板,刚开始看同学做的时候感觉好复杂好多程序,到后来自己动起手来也就不觉 得难了,所以说不管什么事还是要多经历经历就知道怎么回事。最后就是焊接和编写程 序了,这也是最最难和最需要认真的地方了,由于在做 PCB板的时候没有设置好焊盘和 导线的大小所以在电路板做出来的时候就有好几跟导线是短路了,

18、而且有些焊盘钻孔完 后就没多少铜片了,我想着也是因为没有经验的后果吧。那么,编写程序就是致命的问 题了,感觉到现在自己的单片机什么都没学过似的,最后只能硬着头皮把同学的程序拿 来研究修改,最后让自己的电路有程序可用。经过不断的的努力,我终于完成了这次课 程设计,总的来说,我学到了不少的东西,知道了理论联系实际的重要性。在设计过程 中我遇到了很多的困难,但没放弃,查阅了许多相关的书籍,自己独立思考和借鉴了前 人的许多优秀成果,并与所学的知识紧密的结合了起来。我相信这过程对我今后的学习 和工作给与积极的影响,搭好了平台。通过这次设计,我对这门课有了更好的理解,尤其结合了这两年学的相关的专业知识,

19、对各门课都有了一个较全面的理解。这必将对我以后的学习和工作有很大的帮助。本次 课程设计的定时闹钟电路,可以满足人们的基本要求,但因为水平有限,此电路中存在 一定的问题,虽可以通过增加电路解决,但过于复杂和现有水平有限,本次设计就未深 入涉及,想要更好的改进电路,需要进一步的努力,如果有好的意见,希望老师给以支 持。参考文献李朝青李广弟何立民张毅刚谭浩强1.2.3 .4 .5 .6 .7 .8 .单片机原理及接口技术(修订版).北京:北京航空航天大学出版社,1998 单片机基础.北京:北京航空航天大学出版社,1992单片机应用技术大全.北京:北京航空航天大学出版社,1994单片机原理及接口技术.

20、哈尔滨:哈尔滨工业大学出版社,1990单片机课程设计.北京:清华大学出版社,1989 余发山主编,单片机原理及应用技术,中国矿业大学出版社2003.12张迎新编著.单片微型计算机原理应用及接口技术.北京:国防工业出版社,1993.67-89杨刚,周群.电子系统设计与实践.电子工业出版社.2004:18-23 341-347 118-122附:程序如下:BUFEQU30H;显示缓冲区HOUR EQU39H;时钟时位HOURO EQU40H;闹钟0时位HOUR1 EQU41H;闹钟1时位MIN EQUI2H;时钟分位MINO EQU43H;闹钟0分位MIN1 EQU44H;闹钟1分位SECEQUI

21、6H;秒位STICK EQU45HLEDBIT P 2.7;发光二极管指示位BZ BIT P2.5;蜂鸣器位ON BIT 20H.1;闹铃1开关标志位DOTBIT 20H.2;小数点标志位FLASH BIT 20H.3;发光二极管闪烁指示位K1 BIT P 2.0;按键1K2 BIT P2.1;按键2K3 BIT P2.2;按键3K4 BIT P2.3;按键4ORG0OOOHaJMP MAINORG0OOBHJMPTIMEORG3OHMAIN:MOVS P,#7OHMOVBUF,#1OMOVBUF+1,#1OMOVBUF+2,#1OMOVBUF+3,#1OACALLACALLb乙in itIN

22、ITACALLSETBT_SETDOTCLRONCLRFLASHMOVrMOD,#O1HMOVE,#82HMOVrH0,#HIGH(65536-50000)MOVrL0,#LOW(65536-50000);主程序不断循环LOOP: ACALL COV TACALL DISPACALL CONVOJNBON,KOO ACALL CONV1K00:JB K1,K11K20:ACALL COV T;按键1功能,设置时钟ACALL DISPJNBK1,K20ACALL BZ 0;按键是否放开ACALL T_SET JMPLOOP;设置时钟K11:JB K2,K21K30:ACALL COV T;按键2

23、功能,设置闹钟0ACALL DISPJNBK2,K30ACALL ATI0 S;按键是否放开;设置闹钟0JMPLOOPK21:JB K3,K31K40:ACALL COV_T;按键3功能,设置闹钟1ACALL DISPJNBK3,K40ACALL ATI1_S;按键是否放开;设置闹钟1JMPLOOPK31:JB K4,LOOPK50:ACALL COV TACALL DISPJNBK4,K50ACALL ON OFFJMPLOOPON_OFF:CPLONMOVC,ONJC ON 1ACALL BZ_ORET 0N_1: MOR5,#30N_2: ACALL BZ_O;声音间断时间ACALL D

24、ELAYDJNZ R5,ON_2RETINIT:;初始化程序MOVHOUR,#OOHMOVMIN,#01HMO>SEC,#00HMOVHOUR0,#00HMOVMIN0,#00HMOVHOUR1,#00HMOVMIN1,#00HMOVmCK,#00HRETCONV0: MOA,HOUR0;闹钟0与时钟对比CJNE A,HOUR,CON0_OMOVk,MIN0CJNE A,MIN,CON0_OACALL NAODECMIN0con0_o: retCONV1: MOA,HOUR1;闹钟1与时钟对比CJNE A,HOUR,CON1_OMOVk,MIN1CJNE A,MIN,CON1_OACAL

25、L NAOCLRONCON1_O: RETNAO: CLRBZ;闹铃程序NAO0: ACALL COV_TACALL DISPJB K4,NAO0NAO1: ACALL COV_TACALL DISPJNBK4,NAO1SETBBZRETATI1_S:ACALL;设置闹钟1SETBCOV_A1FLASHACALL DISPAT1_K2:JB K2,AT1_K0AT1 K22:ACALL COV_A1ACALL DISPJNBK2,AT1_K22INC HOUR1MOgHOURICJNE A,#24,AT1_O0MOVHOUR1,#00HAT1_O0:ACALLACALL COV_A1DIS P

26、ATI KO:JB K3,AT1_K1AT1_K00:ACALLCOV A1ACALLDIS PJNBK3,AT1_K00INC MIN1MOVk,MIN1CJNE A,#60,AT1_O1MOVZIIN1,#00HACALL COV A1AT1 O1:ACALLDIS PAT1 K1:JB K4,AT1_K2AT1 K11:ACALLACALLCOV_A1 DIS PJNBK4,AT1_K11CLRONCLRFLASHSETB LEDACALL COV TACALL DISPRETCOV_A1:MOVk,HOUR1MOV5,#10DIV ABM0出UF,AMO出UF+1,B MOgMINIM

27、O巴#10DIV ABMOV5UF+2,AMOV5UF+3,BRETT_SET:CLFTR。MO>SEC,#00HACALL COV_T T_K2: LCALL DISPJB K2,T_K0T_K22: ACALL COV_TACALL DISPJNBK2,T_K22INC HOUR MOgHOURCJNE A,#24,T_O0 MOVHOUR,#00H T_O0: LCALL COV_TLCALL DISPT_K0: JB K3,T_K1T_K00: ACALL COV_TACALL DISP;闹钟1调整并送显示缓冲区;设置时钟JNBK3,T_K00INC MINMOgMINCJNE

28、A,#60,T_O1MOVMIN,#00HT_O1: LCALL COV_TLCALL DISPT_K1: JB K4,T_K2 T_K11: ACALL COV TACALL DISPJNBK4,T_K11BZ_0TR0ACALLSETBRETBZ_0:MOVR7,#2B0: CPLBZACALLDELAYACALLDIS PDJNZR7,B0RETbz_i nit:c plbzB;初始化蜂鸣器响10MScpI ledMOVR5,#50BZ_I1: MOV R3,#20BZ_I0: MOV R2,#250DJNZDJNZACALLR2,$R3,BZ_I0DIS PDJNZ CP LLED C

29、PLBZ RETR5,BZ_I1COV_T:MOgHOURMOVJ,#10 DIV AB MOVJUF,A MOVJUF+1,B MOgMIN MOVJ,#10;时钟调整送显示缓冲区DIV ABMOV5UF+2,AMOV5UF+3,BRETATI0_S:ACALL COV A0;设置闹钟0CLRLEDAT0_K2:ACALL DISPJB K2,AT0_K0AT0_K22:ACALL COV A0ACALL DISPJNBK2,AT0_K22INC HOUR0MOVk,HOUR0CJNE A,#24,AT0_O0MOVHOUR0,#00HAT0 O0: ACALL COV A0ACALL DISPAT0_K0:JB K3,AT0_K1AT0 K00:ACALL COV_A0ACALL DISPJNBK3,AT0_K00INC MIN0MOgMINOCJNE A,#60,AT0_O1MOVZIIN0,#00HAT0_O1:ACALL COV_A0ACALL DISPAT0 K1: JB K4,AT0 K2AT0_K11:ACALL COV A0ACALL DISPJNBK4,AT0_K11ACALLSETBCOV_TLEDRET;闹钟0调整并送显示缓冲区COV_A0:MOgHOUROMO巴#10DIV ABMO出UF,AMO

温馨提示

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

评论

0/150

提交评论