ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:283.87KB ,
资源ID:9712758      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9712758.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计报告定时闹钟含程序.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计报告定时闹钟含程序.docx

1、单片机课程设计报告定时闹钟含程序大学单片机课程设计报告定时闹钟摘要本设计是用单片机原理及其相关硬件的运用实现的定时闹钟。数字电子钟设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用单片机AT89C51,它是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编

2、程器编程。另外, AT89C51的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。显示部分采用六位一体的共阳极数码管,运用同相三态双向总线收发器74LS245作为输出驱动显示部件的元件。在编写程序的过程采用了定时程序和时间调整程序对称的编写方法。并且在时间的调整或设置过程中本设计采用了长按进行调时或调分的选择,短按是进行在选择后进行加1,每短按一次,该单位加1.调整完毕以后再次长按原设置键即可跳出设置循环,显示部分共阳极数码管显示正常走时的时间。但是该程序在硬件的仿真过程中有点瑕疵。在仿真开始时警示灯直接亮,必

3、须通过闹钟定时键K2的闹钟设置以后时间才可以正常走时。之后可以进行时间的调整或闹钟的重新调整。 目录1 概述 31.1 设计任务 31.2设计要求 31.3设计意义 32 系统总体方案与硬件选择设计 42.1系统总体方案 42.2 硬件选择设计 43 软件设计 93.1程序流程图 93.2程序模块 104 Proteus软件仿真 175 课程设计体会 19参考文献 19附1:源程序代码 21附2:系统原理图 331概述1.1 设计任务在熟练掌握单片机及其仿真系统的使用方法的基础上,综合应用单片机原理,微机原理,微机接口技术等专业知识,设计采用一个AT89C51单片机控制的定时闹钟。1.2设计要

4、求1) 能够显示时时分分秒秒。2) 设定定时时间、修改定时时间。3) 定时时间到能发出报警声或者启动继电器,从而控制电器的启停。在此设计中该定时闹钟的报警启动继电器的动作用LED灯的变化来显示。1.3设计意义通过利用MCS-51单片机制作定时闹钟,可以更加深刻的理解单片机在自动化仪表中的作用以及掌握单片机的编程方法;从而进一步熟悉和掌握单片机的内部结构和工作原理,了解单片机应用系统设计的基本方法和步骤;通过设计定时数字闹钟数字输出输入及扫描显示模拟系统,熟练掌握单片机仿真软件Proteus的使用方法。 2系统总体方案与硬件选择设计 2.1系统总体方案定时闹钟的系统可分为四个环节,分别是单片机控

5、制系统、时间显示模块、控制键模块和闹铃模块。通过若干模块的协调工作就可以完成相应的时间调整和定时闹钟的相应功能以及显示功能。模块的相互连接如下图(图1)所示: 图12.2 硬件选择设计1 单片机控制系统与相关附件 可编程可擦除只读存储器AT89C51 ( 如图2 ) 图2(1) 简介 该元件由CPU、振荡器与时序电路、4KB的ROM、256B的RAM、两个16位的定时器/计数器T0和T1、4个8位的I/O端口(P0、P1、P2、P3)、串行口等组成。其中振荡器时序电路与外时钟组成了定时控制部件。(2) CPU的主要功能是产生各种控制信号,控制存储器、输入/输出接口的数据传送、数据的算术运算、逻

6、辑运算以及位操作处理等。它是单片机的头脑。(3) CPU从功能上可以分为运算器和控制器两部分。其中运算器由算术逻辑运算部件ALU、累加器、暂存器、程序状态字寄存器、BCD码运算调整电路等组成。为了提高数据处理和位操作能力,片内增加了一个通用寄存器B和一些专用寄存器,还增加了位处理逻辑电路的功能。主要完成对数据进行算术四则运算和逻辑运算、移位操作、位操作等。控制器由程序计数器、指令寄存器、指令译码器、定时控制与条件转移逻辑电路等组成。主要功能是对来自存储器中的指令进行译码,通过定时控制电路,在规定的时刻发出各种操作所需的全部内部和外部控制信号,协调各功能元件的工作,完成指令所规定的功能。而控制器

7、中的定时控制部件与时序是在规定时刻发出各种操作所需的全部内部和外部控制信号,使各功能元件能够协调工作,完成指令所规定动作的功能。主要任务是产生一个工作时序,其工作需要时钟电路提供一个工作频率。(4) 管脚说明 VCC:供电电压 GND:接地 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高祖输入.P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位.在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器

8、能接受输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用做输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故.在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2缓冲器可接收输出4个TTL门电流,当P2口被写1时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流.这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口作为地址的高8位。在给出地址1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄

9、存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流,当P3口写入1后,它们被内部上拉为高电平,并用作输入.作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 2 系统时钟电路 如图3图3MCS-51内部有一个用于构成振荡器的高增益反相放大器,此放大器的输入和输出端分别是引脚XTAL1和 XTAL2,在XTAL1和 XTAL2上外接时钟源即可构成时钟电路。单片机的生产工艺不同,时钟的产生方式也不同,有内部和外部两种时钟产生方式。根据该设计的需要,采取了内部方式。(1

10、) HMOS型MCS-51外部时钟源的接法。内部时钟产生方式:XTAL1和 XTAL2两端跨接晶体或陶瓷振谐器,与内部反相器构成稳定的自激振荡器。其发出的时钟脉冲直接送入片内定时控制部件。C1、C2对频率有微调作用。(2) CHMOS型的外部时钟源的接法与HMOS型的单片机内部时钟电路不同:(2.1)内部时钟信号取自反相放大器的输入端。 (2.2)振荡器的工作可编程控制。即当相应的部件进入掉电保护,系统进入低功耗运行。因内部时钟发生器的信号取自放大器的输入端,故采用外部时钟源时,接线方法与HMOS型的单片机有所不同。3 同相三态双向总线收发器74LS245 如图4图4 用来驱动LED或其他的设

11、备,可双向传输数据.还具有三态功能,既可以输出,也可以输入数据。当8051单片机的P0口总线负载达到或超过P0口负载能力时,必须接入74LS245等总线驱动器。(2)控制键模块(如图5)图5K1键为时间设置和正常走时的设置键。第一次长按该键即可进行分钟的设置状态,调整的部分为闪烁状态,之后短按该键每按下一次即可在要设置的分钟上加1。设置完成以后再次长按该键即可进入小时的设置,分钟的显示位置不再闪烁。而小时的显示位置为闪烁状态,之后短按该键每按下一次即可在要设置的小时上加1。设置完成之后再次长按该键(显示部分无闪烁状态),即可显示设置时间后的正常走时。K2键为闹钟设置键和正常走时的调整键。调整的

12、过程与时间的设置过程类似。第一次长按该键即可进行分钟的调整状态,调整的部分为闪烁状态,之后短按该键每按下一次即可在要设置的分钟上加1。设置完成以后再次长按该键即可进入小时的设置,分钟的显示位置不再闪烁。而小时的显示位置为闪烁状态,之后短按该键每按下一次即可在要调整的小时上加1。调整完成以后长按该键(显示部分无闪烁状态),即可显示正常走时。须注意:该定时闹钟在定时之后才可以正常走时。( 3 )时间显示模块显示部分(如图6) 图6 显示部分采用六位一体共阳数码管,自左到右分别显示时时分分秒秒。在进行时间的闹钟设置和时间的调整过程中相应的设置或调整的单元部分为闪烁状态。(4)闹铃模块(如图7) 图7

13、警示灯,定时时间输出低电平,LED灯两端存在电位差即灯亮。3 软件设计 3.1程序流程图 3.2程序模块; 主 程 序 ;START: MOV R0 , #70HMOV R7, #0BHMOV 20H, #00HCLEARDISP: MOV R0, #00HINC R0DJNZ R7,CLEARDISP ; 给显示缓冲单元7075H赋初值MOV 7AH,#0AHMOV 3AH,#0AHMOV R0, #30HMOV R7, #0BHMOV 20H, #00HCLEARdDISP: MOV R0, #00HINC R0DJNZ R7,CLEARdDISPMOV 3AH,#0AHMOV TMOD,

14、#11H;定时器等状态初始化MOV TL0, #0B0HMOV TH0, #3CHMOV TL1, #0B0HMOV TH1, #3CHSETB EA;开中断SETB ET0SETB TR0;T0开始工作MOV R4,#14Hstart1: LCALL DISPLAYJNB P3.2,SETMM1JNB P3.3,DSETMM1SJMP Start1SETMM1: LJMP SETMMDSETMM1:LJMP DSETMM程序开始先调用调整与正常走时显示程序,判断K1键是否按下,若按下择调用时钟调整程序,若无按下则判断K2是否按下,若按下则调用闹钟设置程序。若无键按下则返回主程序继续循环当定时

15、器计数满溢出时,调用计时秒进位程序,时钟每增加一秒,通过以下语句:CJNE a,70H,yyyMOV a,31HCJNE a,71H,yyyMOV a,32HCJNE a,72H,yyyMOV a,33HCJNE a,73H,yyyMOV A,34HCJNE A,74H,yyyMOV A,35HCJNE A,75H,yyy判断定时时间是否到,若没有则返回主程序,若有则调用闹钟服务子程序。由于定时设置时的初值和正常走时的初值全部为00H,所以在刚开始运行时灯直接亮。之后可以通过长按k2键设置定时闹钟的时间进而实现该闹钟的正常走时。;计时秒进位程序 ;INTT0: PUSH ACCPUSH PSW

16、CLR ET0CLR TR0MOV A,#0B7H ;中断同步修正ADD A,TL0MOV TL0,AMOV A,#3CHADD A,TH0MOV TH0,ASETB TR0DJNZ R4, OUTT0ADDSS: MOV R4,#14HMOV R0,#71HACALL ADD1 ;加1程序MOV A,R3CLR CCJNE A,#60H,ADDMMADDMM: JC OUTT0ACALL CLR0MOV R0,#77HACALL ADD1MOV A,R3CLR CCJNE A,#60H,ADDHHADDHH: JC OUTT0ACALL CLR0MOV R0,#79HACALL ADD1MO

17、V A,R3CLR CCJNE A,#24H,HOURHOUR: JC OUTT0ACALL CLR0OUTT0: MOV 72H,76HMOV 73H,77HMOV 74H,78HMOV 75H,79HMOV A,30HCJNE A,70HyyyMOV A,31HCJNE A,71H,yyyMOV A,32HCJNE A,72H,yyyMOV A,33HCJNE A,73H,yyyMOV A,34HCJNE A,74H,yyyMOV A,35HCJNE A,75H,yyyCLR p1.0LCALL ALARMPROCESSyyy:POP PSWPOP ACCSETB ET0RETI; 时钟调

18、整程序 ;SETMM: cLR ET0CLR TR0LCALL DL1SJB P3.2,CLOSEDISMOV R2,#06HSETB ET1SETB TR1SET2: JNB P3.2,SET1SETB 00HSET4: JB P3.2,SET3LCALL DL05SJNB P3.2,SETHHMOV R0,#77H ;加1分程序LCALL ADD1MOV A,R3CLR CCJNE A,#60H,HHHHHH: JC SET4LCALL CLR0CLR CAJMP SET4CLOSEDIS: SETB ET0SETB TR0CLOSE: JB P3.2,CLOSELCALL DISPLAY

19、JB P3.2,CLOSEWAITH: JNB P3.2,WAITHLJMP START1SETHH: CLR 00HSETHH1: JNB P3.2,SET5SETB 01HSET6: JB P3.2,SET7LCALL DL05SJNB P3.2,SETOUTMOV R0,#79HLCALL ADD1MOV A,R3CLR CCJNE A,#24H,HOUUHOUU: JC SET6LCALL CLR0AJMP SET6SETOUT: JNB P3.2,SETOUT1LCALL DISPLAYJNB P3.2,SETOUTCLR 01HCLR 00HCLR 02HCLR TR1CLR ET

20、1SETB TR0SETB ET0LJMP START1SET1: LCALL DISPLAYAJMP SET2SET3: LCALL DISPLAYAJMP SET4SET5: LCALL DISPLAYAJMP SETHH1SET7: LCALL DISPLAYAJMP SET6SETOUT1: LCALL DISPLAYAJMP SETOUT;调整通过判断按键按下时间的长短来判断是调小时还是调分,通过调用闪烁程序可以判断当前状态是调整小时或是调整分钟。; 闹铃时钟调整程序 ;DSETMM: CLR ET0CLR TR0SETB 04HLCALL DDL1SJB P3.3,DCLOSEDI

21、SMOV R2,#06HSETB ET1SETB TR1DSET2: JNB P3.3,DSET1SETB 03HDSET4: JB P3.3,DSET3LCALL DDL05SJNB P3.3,DSETHHMOV R0,#37H ;加1分程序LCALL ADD1MOV A,R3CLR CCJNE A,#60H,DHHHDHHH: JC DSET4LCALL CLR0CLR CAJMP DSET4DCLOSEDIS: SETB ET0SETB TR0DCLOSE: JB P3.3,DCLOSELCALL DISPLAY2JB P3.3,DCLOSEDWAITH: JNB P3.3,DWAITH

22、LJMP START1DSETHH: CLR 03HDSETHH1: JNB P3.3,DSET5SETB 06HDSET6: JB P3.3,DSET7LCALL DDL05SJNB P3.3,DSETOUTMOV R0,#39HLCALL ADD1MOV A,R3CLR CCJNE A,#24H,DHOUUDHOUU: JC DSET6LCALL CLR0AJMP DSET6DSETOUT: JNB P3.3,DSETOUT1LCALL DISPLAY2JNB P3.3,DSETOUTCLR 06HCLR 03HCLR 05HCLR 04HCLR TR1CLR ET1SETB TR0SET

23、B ET0LJMP START1DSET1: LCALL DISPLAY2AJMP DSET2DSET3: LCALL DISPLAY2AJMP DSET4DSET5: LCALL DISPLAY2AJMP DSETHH1DSET7: LCALL DISPLAY2AJMP DSET6DSETOUT1: LCALL DISPLAY2AJMP DSETOUT设置通过判断按键按下时间的长短来判断是设置小时还是设置分钟,通过调用闪烁程序可以判断当前状态是设置小时或是设置分钟。4 Proteus软件仿真正常走时的仿真图(如图8) 图8定时时间到灯亮时的仿真图(如图9,图10)图9图105课程设计体会当今

24、时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。它在科学技术的发展与生活中的重要性随着时间的发展越来越显著。通过这次单片机课程设计我对常用的单片机的工作原理与设置应用有了具体的操作上的认识。对于程序中编程过程掌握欠缺的地方在此次单片机的课程设计中得到很大的提高。对于指令的认识与运用在这次课程设计中有了更多的认识。并且对PROTEUS软件与WAVE软件的应用得到了掌握。并且通过这次单片机课程设计

25、我深刻的感受到自己在编程以及硬件上的差距。虽然实现了老师对这个课程设计的基本要求,但是对于编程过程中的许多细节上的东西处理的不好,以致在数码管的刚开始的显示中显示有点混乱,只有在若干次的按键才能正常显示。并且开始的正常走时必须在定时的前提下才能正常走时。我的这次课设存在瑕疵。通过这次课设让我更深刻的感受到单片机是与实践是紧密联系在一起的.因此我更要在以后的学习中注重对这方面能力的培养!为走向工作岗位增加自己的竞争力,也为更好的适应社会与时代的发展做准备!参考文献期刊论文:1金素华,张尉.单片机调试方法的讨论.电子世界,2004,25(4):34-652宋凤娟,廉文利,付云强.单片机89C51在

26、调速系统中的应用.微计算机信息,2007,12(6):113-114书、专著:1余发山. 单片机原理及应用技术. 中国矿业大学出版社, 2003,21302何立民编著.单片机中级教程(原理与应用).北京:北京航天大学出版社,2000.78-1003张迎新编著.单片微型计算机原理应用及接口技术.北京:国防工业出版社,1993.67-89电子文献:1步步鱼.单片机AT89C51介绍.2007-05-20/2007-08-062海子. 同相三态双向总线收发器74LS245简介.2007-04-12/2007-08-06附1:源程序代码;显示缓冲单元在70H75H,70H71H显示秒,72H73H显示

27、分,74H75H显示时;定时缓冲单元在30H35H,30H-31H显示秒,32H-33H显示分,34H-35H显示小时;时间计数单元在70H71H(秒)、76H77H(分)、78H79H(时),7AH单元放熄;灭符(#0AH);计数单元采用BCD码计数,定时器T0设置为50MS溢出中断,为秒计数用,定时器T1;为调整时闪烁用;P3.2为调整按钮,P1口为字符输出口,采用共阳显示管。; 中断入口程序 ;ORG 0000HLJMP STARTORG 0003HRETIORG 000BHLJMP INTT0ORG 0013HRETIORG 001BHLJMP INTT1ORG 0023HRETIOR

28、G 002BHRETI; 主 程 序 ;START: MOV R0, #70HMOV R7, #0BHMOV 20H, #00HCLEARDISP: MOV R0, #00HINC R0DJNZ R7,CLEARDISPMOV 7AH,#0AHMOV 3AH,#0AHMOV TMOD,#11HMOV TL0, #0B0HMOV TH0, #3CHMOV TL1, #0B0HMOV TH1, #3CHSETB EASETB ET0SETB TR0MOV R4,#14Hstart1: LCALL DISPLAYJNB P3.2,SETMM1JNB P3.3,DSETMM1SJMP Start1SETMM1: LJMP SETMMDSETMM1:LJMP DSETMM;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1