单片机课程设计报告定时闹钟含程序 .doc
《单片机课程设计报告定时闹钟含程序 .doc》由会员分享,可在线阅读,更多相关《单片机课程设计报告定时闹钟含程序 .doc(34页珍藏版)》请在三一办公上搜索。
1、河南理工大学单片机课程设计报告程序,加153893706定时闹钟姓 名: 学 号: 专业班级: 电气工程044 指导老师: 所在学院:电气工程与自动化学院2007年6月30日摘要本设计是用单片机原理及其相关硬件的运用实现的定时闹钟。数字电子钟设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用单片机AT
2、89C51,它是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。另外, 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 设计任务在熟练掌握单片机及其仿真系统的使用方法的基础上,综合应用单片机原理,微机原理,微
4、机接口技术等专业知识,设计采用一个AT89C51单片机控制的定时闹钟。1.2设计要求1) 能够显示时时分分秒秒。2) 设定定时时间、修改定时时间。3) 定时时间到能发出报警声或者启动继电器,从而控制电器的启停。在此设计中该定时闹钟的报警启动继电器的动作用LED灯的变化来显示。1.3设计意义通过利用MCS-51单片机制作定时闹钟,可以更加深刻的理解单片机在自动化仪表中的作用以及掌握单片机的编程方法;从而进一步熟悉和掌握单片机的内部结构和工作原理,了解单片机应用系统设计的基本方法和步骤;通过设计定时数字闹钟数字输出输入及扫描显示模拟系统,熟练掌握单片机仿真软件Proteus的使用方法。 2系统总体
5、方案与硬件选择设计 2.1系统总体方案定时闹钟的系统可分为四个环节,分别是单片机控制系统、时间显示模块、控制键模块和闹铃模块。通过若干模块的协调工作就可以完成相应的时间调整和定时闹钟的相应功能以及显示功能。模块的相互连接如下图(图1)所示: 闹铃模块控制键模块时间显示模块单片机控制系统模块 图12.2 硬件选择设计1 单片机控制系统与相关附件 可编程可擦除只读存储器AT89C51 ( 如图2 ) 图2(1) 简介 该元件由CPU、振荡器与时序电路、4KB的ROM、256B的RAM、两个16位的定时器/计数器T0和T1、4个8位的I/O端口(P0、P1、P2、P3)、串行口等组成。其中振荡器时序
6、电路与外时钟组成了定时控制部件。(2) CPU的主要功能是产生各种控制信号,控制存储器、输入/输出接口的数据传送、数据的算术运算、逻辑运算以及位操作处理等。它是单片机的头脑。(3) CPU从功能上可以分为运算器和控制器两部分。其中运算器由算术逻辑运算部件ALU、累加器、暂存器、程序状态字寄存器、BCD码运算调整电路等组成。为了提高数据处理和位操作能力,片内增加了一个通用寄存器B和一些专用寄存器,还增加了位处理逻辑电路的功能。主要完成对数据进行算术四则运算和逻辑运算、移位操作、位操作等。控制器由程序计数器、指令寄存器、指令译码器、定时控制与条件转移逻辑电路等组成。主要功能是对来自存储器中的指令进
7、行译码,通过定时控制电路,在规定的时刻发出各种操作所需的全部内部和外部控制信号,协调各功能元件的工作,完成指令所规定的功能。而控制器中的定时控制部件与时序是在规定时刻发出各种操作所需的全部内部和外部控制信号,使各功能元件能够协调工作,完成指令所规定动作的功能。主要任务是产生一个工作时序,其工作需要时钟电路提供一个工作频率。(4) 管脚说明 VCC:供电电压 GND:接地 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高祖输入.P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位.在FLASH编程时,P0口作为原码输入口,
8、当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接受输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用做输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故.在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2缓冲器可接收输出4个TTL门电流,当P2口被写1时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流.这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器
9、进行存取时,P2口作为地址的高8位。在给出地址1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流,当P3口写入1后,它们被内部上拉为高电平,并用作输入.作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 2 系统时钟电路 如图3图3MCS-51内部有一个用于构成振荡器的高增益反相放大器,此放大器的输入和输出端分别是引脚XTAL1和 XTAL2,在XTAL1和 XTAL2上外接时钟
10、源即可构成时钟电路。单片机的生产工艺不同,时钟的产生方式也不同,有内部和外部两种时钟产生方式。根据该设计的需要,采取了内部方式。(1) HMOS型MCS-51外部时钟源的接法。内部时钟产生方式:XTAL1和 XTAL2两端跨接晶体或陶瓷振谐器,与内部反相器构成稳定的自激振荡器。其发出的时钟脉冲直接送入片内定时控制部件。C1、C2对频率有微调作用。(2) CHMOS型的外部时钟源的接法与HMOS型的单片机内部时钟电路不同:(2.1)内部时钟信号取自反相放大器的输入端。 (2.2)振荡器的工作可编程控制。即当相应的部件进入掉电保护,系统进入低功耗运行。因内部时钟发生器的信号取自放大器的输入端,故采
11、用外部时钟源时,接线方法与HMOS型的单片机有所不同。3 同相三态双向总线收发器74LS245 如图4图4 用来驱动LED或其他的设备,可双向传输数据.还具有三态功能,既可以输出,也可以输入数据。当8051单片机的P0口总线负载达到或超过P0口负载能力时,必须接入74LS245等总线驱动器。(2)控制键模块(如图5)图5K1键为时间设置和正常走时的设置键。第一次长按该键即可进行分钟的设置状态,调整的部分为闪烁状态,之后短按该键每按下一次即可在要设置的分钟上加1。设置完成以后再次长按该键即可进入小时的设置,分钟的显示位置不再闪烁。而小时的显示位置为闪烁状态,之后短按该键每按下一次即可在要设置的小
12、时上加1。设置完成之后再次长按该键(显示部分无闪烁状态),即可显示设置时间后的正常走时。K2键为闹钟设置键和正常走时的调整键。调整的过程与时间的设置过程类似。第一次长按该键即可进行分钟的调整状态,调整的部分为闪烁状态,之后短按该键每按下一次即可在要设置的分钟上加1。设置完成以后再次长按该键即可进入小时的设置,分钟的显示位置不再闪烁。而小时的显示位置为闪烁状态,之后短按该键每按下一次即可在要调整的小时上加1。调整完成以后长按该键(显示部分无闪烁状态),即可显示正常走时。须注意:该定时闹钟在定时之后才可以正常走时。( 3 )时间显示模块显示部分(如图6) 图6 显示部分采用六位一体共阳数码管,自左
13、到右分别显示时时分分秒秒。在进行时间的闹钟设置和时间的调整过程中相应的设置或调整的单元部分为闪烁状态。(4)闹铃模块(如图7) 图7警示灯,定时时间输出低电平,LED灯两端存在电位差即灯亮。3 软件设计 3.1程序流程图初次设置闹铃间CPU等初始化设定闹铃时间启动走时有关量的初始化启动闹铃定时设置程序判断分时变化调时调分判断1S到否再次设置闹铃否闹铃时间到否显示刷新 3.2程序模块; 主 程 序 ;START: MOV R0 , #70HMOV R7, #0BHMOV 20H, #00HCLEARDISP: MOV R0, #00HINC R0DJNZ R7,CLEARDISP ; 给显示缓冲
14、单元7075H赋初值MOV 7AH,#0AHMOV 3AH,#0AHMOV R0, #30HMOV R7, #0BHMOV 20H, #00HCLEARdDISP: MOV R0, #00HINC R0DJNZ R7,CLEARdDISPMOV 3AH,#0AHMOV TMOD,#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,DS
15、ETMM1SJMP Start1SETMM1: LJMP SETMMDSETMM1:LJMP DSETMM程序开始先调用调整与正常走时显示程序,判断K1键是否按下,若按下择调用时钟调整程序,若无按下则判断K2是否按下,若按下则调用闹钟设置程序。若无键按下则返回主程序继续循环当定时器计数满溢出时,调用计时秒进位程序,时钟每增加一秒,通过以下语句: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,y
16、yy判断定时时间是否到,若没有则返回主程序,若有则调用闹钟服务子程序。由于定时设置时的初值和正常走时的初值全部为00H,所以在刚开始运行时灯直接亮。之后可以通过长按k2键设置定时闹钟的时间进而实现该闹钟的正常走时。;计时秒进位程序 ;INTT0: PUSH ACCPUSH PSWCLR 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 CC
17、JNE 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 CLR0OUTT0: MOV 72H,76HMOV 73H,77HMOV 74H,78HMOV 75H,79HMOV A,30HCJNE A,70HyyyMOV A,31HCJNE A,71H,yyyMOV A,32HCJNE
18、 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; 时钟调整程序 ;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
19、 ;加1分程序LCALL ADD1MOV A,R3CLR CCJNE A,#60H,HHHHHH: JC SET4LCALL CLR0CLR CAJMP SET4CLOSEDIS: SETB ET0SETB TR0CLOSE: JB P3.2,CLOSELCALL DISPLAYJB 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,R
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机课程设计报告定时闹钟含程序 单片机 课程设计 报告 定时 闹钟 程序
链接地址:https://www.31ppt.com/p-4847472.html