定时闹钟设计_第1页
定时闹钟设计_第2页
定时闹钟设计_第3页
定时闹钟设计_第4页
定时闹钟设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要本设计是以AT89S51单片机为核心,设计并制作定时闹钟,在此设计的定时闹钟基础上,能显示时时分分秒秒,能够设定定时时间以及修改定时时间,定时时间到能发出警报声或者启动继电器,从而控制电器的启停。现在是自动化高度发达的时代,特别是电子类产品都是靠内部的控制电路来实现对产品的控制,达到自动运行的目的,这就需要我们这里要做的设计中的电器元件及电路的支持了。AT89S51是此次课程设计的核心部件,利用共阴极显示器件,用LED来显示数字。AT89S51单片机属于MCS51单片机的一种,采用单总线结构。在显示发面用计数器和七段显示数码管组成闹钟电路的基本电路和显示电路,由4个开关来控制闹钟的显示及定

2、时,一个开关控制小时一个控制分钟一个控制秒钟,通过4个按键调节,也采用中断的方式进行溢出数据在这次设计中主要是用AT89S51来进行定时,也结合着其他辅助电路实施控制,在定时的时候,按一下控制小时的键对小时加一;按一下控制分钟的键对分钟加一;按一下控制秒钟的键对秒钟加一,秒计时器和分计时器都是满60加一,到达预设的时间,此电路就会发出报警声音提示已经到点,俗话说时间就是生命,有了定时闹钟,让人们的时间观念更强更优质。目录1 概述3 1.1定时闹钟课程设计的意义 3 1.2总体设计过程的概述 3 1.3系统的主要功能简介 32 系统总体方案及硬件设计5 2.1系统核心AT89S51单片机概述 5

3、独立式键盘电路 6 LED结构与原理 7定时控制寄存器 73 软件设计8 3.1系统流程图 83.2键盘及按键功能设定 8 3.3动态数码显示及其处理 9104 Proteus软件仿真 115课程设计体会 13参考文献 14附1:源程序代码 15附2:系统原理图 231 概述现在是一个高度发达的高科技时代,目前单片机正朝向高性能和多品种方向发展,并且进一步向低功耗,小体积,大容量,高性能,低价格和外围电路内装化等几个方向发展。单片机的应用还从根本上改变了传统的控制系统设计思想和方法。从前必须由模拟电路和数字电路实现的大部分功能,现在已经能够用单片机运用软件方法来实现了,因此称之为软件代替硬件的

4、控制技术。定时闹钟是用数字电路技术实现时分秒计时的装置,有更高的准确性和直观性,寿命更长,得到了广泛的应用。定时闹钟是采用数字电路实现对时分秒数字显示的计时装置,广泛应用于家庭,车站,办公室等场所,成为人们日常生活不可缺少的必需品,它给人们带来了很大的方便在此次设计中,AT89S51单片机是主要的元器件,通过它来控制电路的各个元器件以及显示器件的工作,本次设计用到了AT89S51单片机,LED七段显示器,RP电阻及一些小电阻,电容,开关,电源,接地线以及一个LS小发声喇叭组成,通过对对应端口的连接来实现其功能,在电路设计中还运用到了保护电路,起到保护元器件的目的,首先就是选择器件,在选材方面一

5、定要仔细,有些器件之间只有一点点区别,即便是那一点点区别就会导致整个电路不可用,因此要慎重选材。在材料选好之前,要好好的规划一下设计的电路,设计的思想,总体的思路。在这之后,就是开始怎么来组织设计的时候了,运用逻缉的思维来组织。我们运用AT89S51这个主要的单片机器件,它是核心,它有40个引脚,分别有I/O接口,电源接口等等,分别从那引出接线,然后分别与各部件连接,发出控制信号对各个部件进行控制,让各部件都工作起来,实现各自的功能。对于在连接接口时注意一一对应,不要接反了。在总体设计好之后进行调试,避免错误的产生。定时闹钟是采用数字电路实现对时分秒数字显示的控制装置,在电路中,有中断电路,保

6、护电路,触发电路,显示电路等,它们各显其功能,然后通过自己的功能来组合成一个整体的功能,也就是此次设计的定时闹钟的功能,通过这些元器件组成的电路,定时闹钟有了自己的本领。在整体电路中,保护电路起着保护各元器件不会因为接错线或者是电源电压不合理而导致的对器件的损坏,保护各电路的正常工作。触发电路起着给出触发信号的作用,显示电路是起着显示的作用。定时闹钟可以显示时分秒,并且在同时可以进行定时,分别对时分秒的设计来定时,在时间到了后可以发出声音提示,起着报警提示的目的。现在是个高度发达的社会,时间很重要,对时间的控制是自古以来都是棘手的问题,现在有了定时闹钟,就大大的提高人们的时间观。显示电路及LE

7、D显示器是其中最重要的部分之一,有动态显示和静态显示两种方式,通过它来观察时间数,很直观,方便。2 系统总体方案及总体设计 图2-1 单片机AT89S51的引脚图本系统的核心元件为单片机AT89S51,利用共阴显示器件。在此设计中接入一个共阴LED显示器,其中2个用于显示时钟,其中2个用于显示分钟,2个用于显示秒钟。 AT89S51属于MCS-51单片机系列中的其中一种,单片机内部总线是单总线结构,即数据总线和地址总线是公用的。该芯片具有40引脚,这40条引脚可分为I/O接口线、电源线、外接晶振线4部分。8051单片机为双列直插式封装结构,本设计利用的核心元件便是它了。 其引脚功能说明:VCC

8、:+5V电源线;XTAL1:片内振荡器反向放大器的输入端和内部时钟工作的输入端;XTAL2:片内振荡器反向放大器的输出端;P0口:是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口对端口P0写1时,可作为高阻抗输入端用,在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻;P1口:是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流;P2口

9、:是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流;P3口:是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流。RST复位输入;ALE/PROG当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节;PS

10、EN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号;EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态;如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令独立式键盘电路在单片机系统的输入电路中,经常需要独立式键盘。a.独立式键盘的接口电路:在单片机应用系统中,有时只需要几个简单的按键向

11、系统输入信息。这时,可将每个按键接在一根I/O接口线上,这种方式的连接称为独立式键盘。每个独立式按键单独占有一根 I/O接口线,每根I/O接口线的工作状态不 会影响到其他 I/O接口线 。这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根I/O接口线,I/O接口线浪费较大。故只在按键数量不多时采用这种按键电路。在此电路中,按键输入都采用低电平有效。上拉电阻保证了按键断开时,I/O接口线有确定的高电平。当I/O接口内部有上拉电阻时,外电路可以不配置上拉电阻。b.独立式键盘的编程:独立式键盘的编程常采用查询式结构。先逐位查询每根I/O接口线的输入状态,如某一根I/O接口线输入为低电平,

12、则可确定该I/O接口线所对应的按键以按下,然后,再转向按键的功能处理程序。 图2-2 定时闹钟的键盘电路图 LED结构与原理 图2-3 LED元件引脚图ag为数字和字符显示段,h段为小数点显示,通过ag为7个发光段的不同组合,可以显示09和AF共16个数字和字母,本设计采用的是共阴极接法。点亮LED显示器有两种方式:一是静态显示:二是动态显示。所谓静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定的导通或截止。所谓动态显示,就是将要显示的多位LED显示器采用一个8位的段选端口,然后采用动态扫描方式一位一位地轮流点亮各位显示器。 定时控制寄存器TCON:该寄存器单元地址为88H,位地址

13、为88H-8FH;其内容及位地址见表表2-1 TCON寄存器的内容及位地址位地址8FH8EH8DH8CH8BH8AH89H88H位符号TF1TR1TF0TR0IE1IT1IE0IT0该寄存器具有定时器/计数器的控制功能和中断控制功能,其中与中断有关的控制位共有6位: TF1 :定时器/计数器T1溢出中断标志。TF1 :定时器/计数器T0溢出中断标志。其功能类似于TF1。IT1 :外部中断1触发方式标志。IE0:外部中断0中断请求标志。其功能类似于IE1 。IT0:外部中断1触发方式标志。其功能类似于IT1 。IE1 :外部中断1中断请求标志。3软件设计3.1系统流程图开始显示初始化定时器初始化

14、中断初始化定时器赋初值开启中断调用显示,按键 图3-1 系统流程图3.2键盘及按键功能设定 图3-2 开关电路图在此开关电路路图中,一共用了4个开关K1,K2,K3,K4。在开关上也同时接了4个上拉电阻R5,R6,R1,R2。同时开关左边接了地,上拉电阻一端接了电源。4个开关和上拉电阻同时起了不同的作用。在整个定时闹钟电路运行时,先按下K1,然后再按K2,因此就可以给时钟加1;按K3是给分钟加1。开关K2控制定时状态,K1控制分钟,K3控制时钟,K4是退出键。3.3动态数码显示及其处理此电路中就是靠LED数码管来显示时间的,LED数码管一般采用的是7段显示,可以显示09的数字,它是从ag的7段

15、管显示数字的,分别控制这7段的亮与灭来显示09这几个数字。动态数码管是靠动态驱动来使其发光的,动态驱动是将所有数码管使用一个专门的译码驱动器,使各位数码管逐个轮流受控显示。显示子程序为:DISPLAY1:MOVR0,#30H MOVR3,#0FEH MOVA,R3 PLAY1: MOV P2,A MOV A,R0 MOV DPTR,#DSEG1 MOVC A,A+DPTR MOV P0,A LCALL DL1 ;调用延时 MOV P2,#0FFH MOV A,R3 RL A JNB ACC.6,LD1 ;判位并进行下一位操作 INC R0 MOV R3,A LJMP PLAY1 LD1: RE

16、TDISPLAY2:PUSH ACC ;保护现场 PUSH PSW MOV R0,#36H MOV R3,#0FBH MOV A,R3PLAY2: MOV P2,A ;轮流选通显示 MOV A,R0 MOV DPTR,#DSEG1 MOVC A,A+DPTR MOV P0,A LCALL DL1 MOV P2,#0FFH MOV A,R3 RL A JNB ACC.6,LD2 INC R0 MOV R3,A LJMP PLAY2 LD2: POP PSW POP ACC RETIDL1: MOVR7,#02H ;延时程序2 DL: MOVR6,#0200H DL6: DJNZR6,$ DJNZ

17、R7,DL RETIDSEG1: DB 3FH,06H,5BH,4FH,66H ;/字符转换显示/ DB 6DH,7DH,07H,7FH,6FH3.4简单的运算在开关电路中,存在着上拉电阻,它们同时对时间进行着控制。在运行时,按下K1,然后再按下K2,这就可以对时钟加1,按下K3可以对分钟加1,但这两个都不是对闹钟定时所做的操作。先按下K2就可以对闹钟进行定时了,按下K1,对分钟进行加1,按下K3对时钟进行加1,因此就可以想定多少时间就行。就比如说我们将定到11点11分报时,那我们就先按K2,再按K1,按十一下K1,把分钟调到11;然后再按十一下K3,把时钟调到11,然后按K4退出就可以了,这

18、个简单的操作就这样完成了。举例如下:GO22:MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A4 Proteus软件仿真在软件设计中提到的定时操作,我选择了定时到11点11分,一下为定时后的截图图4-1 设定定时后的电路图上述为结果图,以下为具体操作的过程:点了电路运行按钮后,就可以开始对其进行设定了。先按K2,进入定时状态,然后再按下K1,可以在分钟上加1,其运行效果图为:图4-2 运行效果图 再按K3,对时钟加1,其运行效果图为: 图4-3 运行效果图 。5 课程设计体会我们每天都在为起床起不来而发愁,因此就我就打算设计了这个定时闹钟来提醒我们早早起床,这样我们就

19、有了个提醒我们起床的东西了。经过一周的忙碌,这次课程设计也到了尾声,在做设计的过程中也遇到了不少的困难,但我们都没被打倒,还经常跑图书馆去查阅一些相关的资料,经过老师的细心指导和同学们的热情帮助,经过仔细的检查和修改把过程中遇到的种种故障排除,过程中遇到了其他的一些困难也解决掉。总体来说,设计这个东西需要的是各个学科的综合知识,不是单靠一科就能解决得了的,因此对我们的综合知识是很大的考验,现在才深有体会的,学好一门课程是很不容易的事情。平常上课时可能没太在意,学这些东西的重要性,实用性,因此就没认真的去听,现在做这个设计才发现这些学科的重要性,并且在做这个设计后我们能更好的把所学的知识更系统的

20、连续起来、结合起来,已达到突出运用的目的。从开始不断的需要去图书馆跑找资料,不仅使自己长了知识也使我明白了一些道理。设计当中不仅运用了在大学几年所学的东西,而且还运用了从未接触过的一些东西。学习不认真,就不会很好的完成这次设计。此次设计也使我明白,它可能需要多方面的东西,是通过各个方面的知识积累以及动手实践做出来,而绝非凭空想出来的,它是实实在在不打水瓢的,只有自己掌握了各方面的知识才能更好的去设计,才能走到成功的目的地。参考文献1余发山.单片机原理及应用技术.中国矿业大学出版社,2003.21-45,98-118,185-1982刘和平. 单片机编程与入门.重庆大学出版社,2002.68-9

21、9,111-1223陈明荧. 89C51单片机课程设计实训教材.清华大学出版社,2003.38-67,102-118附1源程序代码 ORG 0000H LJMP MAIN ORG 000BH LJMP TIME;* MAIN PROGRAM * ORG 0100H MAIN:MOV SP,#50H MOV 20H,#00H ;BIN SECOND /程序赋初值/ MOV 21H,#00H ;BIN MINUTE MOV 22H,#00H ;BIN HOUR MOV 23H,#01H MOV 24H,#01H MOV 25H,#00H MOV 30H,#00H ;BCD SECOND MOV 3

22、1H,#00H ; MOV 32H,#00H ;BCD MINUTE MOV 33H,#00H ; MOV 34H,#00H ;BCD HOUR MOV 35H,#00H MOV 36H,#01H MOV 37H,#00H MOV 38H,#01H MOV 39H,#00H MOV TMOD,#01H ;16位计数器/工作方式选择/ MOV TH0,#03CH ;/赋初值/ MOV TL0,#0B0H MOV IE,#10000111B SETB TR0 ;T0启动计数 MOV R2,#14H MOV P2,#0FFH LOOP:LCALL TIMEPRO ;/子程序调用/ LCALL DIS

23、PLAY1 ;/显示程序调用/ JB P1.1,M1 ;消除按键抖动 LCALL SETTIME LJMP LOOP M1:JB P1.2,M2 LCALL SETATIME LJMP LOOP M2:JB P1.4,M4 LCALL LOOKATIME M4:LJMP LOOP DELAY:MOV R4,#030H ;/延时程序/ DL00:MOV R5,#0FFH DL11:MOV R6,#9H DL12:DJNZ R6,DL12 DJNZ R5,DL11 DJNZ R4,DL00 RET SETTIME: L0: LCALL DISPLAY1为1时跳转到L1子程序/ JC MM1 LCA

24、LL DELAY1 JC MM1 JNC MSTOP1 LCALL DELAY1 JNC MSTOP1 INC 22H MOV A,22H CJNE A,#18H,GO12 MOV 22H,#00H ;重新赋值 MOV 34H,#00H MOV 35H,#00H LJMP L0 L1:JB P1.3,L2 JC L1 LCALL DELAY1 JC L1 JNC MSTOP2 LCALL DELAY1 JNC MSTOP2 INC 21H MOV A,21H CJNE A,#3CH,GO11 ;判断分值是否到进位 MOV 21H,#00H MOV 32H,#00H MOV 33H,#00H L

25、JMP L0 GO11:MOV B,#0AH DIV AB MOV 32H,B ;保存当前显示输出值 MOV 33H,A LJMP L0 GO12:MOV B,#0AH DIV AB MOV 34H,B MOV 35H,A LJMP L0 L2:JB P1.4,L0 ;进位判断 JC L2 LCALL DELAY1 JC L2STOP1: MOV C,P1.4 ;暂停状态 JNC STOP1 LCALL DELAY1 JNC STOP1 LJMP LOOP SETATIME:LCALL DISPLAY2 ;加位操作程序 N0: LCALL DISPLAY2 MM2: JB P1.3,N1 JC

26、 MM2 LCALL DELAY1 JC MM2 MSTOP3: MOV C,P1.3 ;条件判断是否成立 JNC MSTOP3 LCALL DELAY1 JNC MSTOP3 INC 24H ;执行操作并保存相应状态 MOV A,24H CJNE A,#24,GO22 MOV 24H,#00H MOV 38H,#00H MOV 39H,#00H LJMP N0 N1:JB P1.1,N2 JC N1 LCALL DELAY1 JC N1MSTOP4: MOV C,P1.1 ;中转位状态保存 JNC MSTOP4 LCALL DELAY1 JNC MSTOP4 INC 23H MOV A,23

27、H CJNE A,#60,GO21 MOV 23H,#00H MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21:MOV B,#0AH ;十六进制转化为十进制 DIV AB MOV 36H,B MOV 37H,A LJMP N0 GO22:MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A LJMP N0 N2:JB P1.4 ,N0 JC N2 LCALL DELAY1 MOV C,P1.4 ;进位标志位判断 JC N2 JNC STOP2 LCALL DELAY1 JNC STOP2 LJMP LOOP TIMEPRO:MOV A,21H

28、;数据保存与转换 MOV B,23H CJNE A,B,BK MOV A,22H MOV B,24H CJNE A,B,BK JC XX XX:LCALL TIMEOUT BK:RETTIMEOUT: X1:LCALL BZ ;时间完成处理程序 LCALL DISPLAY2 JB P1.4, X1 LCALL DELAY CLR 25H.0 ;清除标志位状态 LJMP DISPLAY1 MOV R7,#250 T2: MOV R6,#124 T3: DJNZ R6,T3 DJNZ R7,T2 RETLOOKATIME:LCALL DISPLAY2 MM: JB P1.4,LOOKATIME ;

29、重新设置时间 JC MM LCALL DELAY1 JC MM JNC STOP3 LCALL DELAY1 JNC STOP3 LJMP LOOP DELAY1: MOV R4,#14H /延时程序1/DL001: MOV R5,#0FFHDL111: DJNZ R5,DL111 DJNZ R4,DL001 RET;* TIME PROCESS * 定时器中断程序TIME: PUSH ACC /保存现场,进行压栈操作/ PUSH PSW MOVTH0,#03CH MOVTL0,#0B0HDJNZR2,RET0 ;有效操作判断MOVR2,#14HMOVA,20HCLR CINC ACJNE A,#3CH,GO1MOV20H,#0 ;重新赋值 MOV 30H,#0 MOV 3

温馨提示

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

评论

0/150

提交评论