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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于单片机定时闹钟设计.docx

1、基于单片机定时闹钟设计基于单片机定时闹钟设计基于单片机定时闹钟设计学生学号:xxxxxxxx学生姓名: xxx 指导教师: xxx 机电工程系2014年 月 日基于单片机定时闹钟设计石家庄职业技术学院机电系 xxx 邮编 xxxxx摘 要 随着科学技术的不断发展 , 人们对时间计量的要求越来越高 。在当今社会,电子时钟已经得到相当广泛的应用,产品多样,发展更是多元化。本作品是以STC89C51单片机作为主控芯片,使用12MHZ的晶振, 产生时间信息,时间精确。在其基础上外围扩展芯片和外围电路,附加时钟电路,复位电路,键盘接口及数码管显示。键盘采用独立连接式。还有定时报警系统,即定时时间到,通过

2、扬声器发出报警声,提示预先设定时间时间到,从而起到定时作用。关键字 按键 、单片机、 汇编1 设计课题任务、功能要求说明及总体方案介绍4 1.1 设计课题任务4 1.2 功能要求说明4 1.3 总体方案介绍及工作原理说明42 硬件系统设计52.1 各模块功能选择与设计62.2 电路原理图82.3 元器件清单93 软件系统的设计93.1 单片机资源分配情况93.2 软件系统程序流程框图103.3 软件系统各模块功能简述 123.4 软件系统程序清单124 设计结论、仿真过程及设计体会204.1 设计结论及使用说明214.2 仿真过程204.3 设计体会24参考文献25致谢25 1 设计课题任务、

3、功能要求说明及总体方案介绍1.1 设计课题任务设计一个单片机控制的电子闹钟系统,利用单片机的定时器/计数器定时和记数的原理,结合显示电路、用六个LED数码管以及按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行闹时,同时数码管能够正确地显示时间。1.2 功能要求说明1正常状态下,数码管显示当前时间。当定时开关按下时,启动定时功能;启动定时后,若定时时间到,则蜂鸣器响30秒。2默认定时时间是12:00:00。定时时间可以用开关设定。3当时间不准确时,可以按动校时开关进行校时。* 4允许自己增加功能1.3 总体方案介绍及工作原理说明本设计利用AT89S52单片机的定时器/计数器定时

4、和记数的原理,使其能精确计时。利用中断系统使其能实现开始暂停的功能。P0口输出段码数据,P2.0-P2.4口作数码管显示输出,6个按键S2至S7分别依次接在P3.3至P3.7口线,硬件电路基本原理图如图1.1所示。图1.1 闹钟硬件电路基本原理图2 硬件系统设计2.1 各模块功能选择与设计2.1.1 显示电路的选择与设计数码管显示电路 单片机中通常使用7段LED,LED是发光二极管显示器的缩写。LED显示器由于结构简单,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响应速度快,颜色鲜艳,配置灵活与单片机接口方便而得到广泛应用。LED显示器是由若干个发光二极管组成显示字段的显示部件,当发光

5、二极管导通时,相应的一个点或一个笔划发光,控制不同组合的二极管导通,就能显示出各种字符。LED显示器有多种形式,如:“米”字型显示器,点阵显示器和七段数码显示器等,在单片机系统中使用最多的是七段数码显示器 LED七段数码显示器由8个发光二极管组成显示字符,根据内部发光二极管 的连接形式不同,LED有共阴极和共阳极两种,如图3所示: 采用高亮共阴型数位数码管,为示区别,显示秒的两个数码管个头较小,另外4个较大。共阴数码管连接线路如下:一般用7个发光二极管构成显示数字和符号,另外还用一段发光二极管显示小数点。这种显示器一般分为两种,共阳极显示器和共阴极显示器,共阳极显示器是把每个二极管的正端连在一

6、起,共阴极显示器是把每个二极管的阴极连在一起。一只显示器是有8个发光二极管构成,当把某段加正向电压时,则该段所对应的笔划亮,不加正向电压则暗,为了保护各段不受损坏需要加限流电阻,无论是共阳极显示器还是共阴极显示器,它的8段排列顺序都是一样的:A段、B段、C段、D段、E段、F段、G段和DP段。在单片机中通常使用7段LED。图2.1 显示电路基本原理图动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的公共阴极位选线由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示必须采用扫描方

7、式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码,依此规律循环,即可使各位数码管显示将要显示的字符,虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人同时显示的感觉。2.1.2 按键电路的选择与设计当按键没有按下时,单片机的I/O口直接连接电源,因此需要接上拉电阻来进行限流,本设计中选取阻值为470 的电阻作为上拉电阻.具体设计如图2.2所示2.1.3 时钟电路的选择与设计单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中AT89C51单片机采用内部时钟方式。最常用的内部时钟方式是采用外

8、接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHz12MHz之间。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF100pF之间取值。AT98S51单片机的时钟电路如图2所示。2.1.4 复位电路的选择与设计标准AT89S52不仅复位源比较单一,而且还没有设计内部上电复位的延时功能,因此必须借助于外接阻容支路来增加延时环节,如图2.4(a)所示。其实,外接电阻R还是可以省略的在每次单片机断电之后,须使延时电容C上的电荷立刻放掉,以便为随后可能在很短的时间内再次加电作好准备。否则,在断电后C还没有充分放电的情况下,如果很快又加电,那么R

9、C支路就失去了它应有的延迟功能。因此,在图2.4(a)的基础上添加一个放电二极管D,上电复位延时电路就变成了如图2.4(c)所示的改进电路。也就是说,只有RC支路的充电过程对电路是有用的,放电过程不仅无用,而且会带来潜在的危害。于是附加一个放电二极管D来大力缩短放电持续时间,以便消除隐患。二极管D只有在单片机断电的瞬间(即VCC趋近于0 V,可以看作VCC对地短路)正向导通,平时一直处于反偏截止状态。手动复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。单片机要完成复位,必须向复位端输出并持续两个机器周期以上的高电平,从而实现复位操作。本设计采用上电且开关

10、复位电路,如图2.5所示上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。 2.1.5 音响报警电路 在AT89C51外围的一个管口上加蜂鸣器,通过软件与硬件的结合可实现定时闹钟功能2.2 电路原理图2.3 元器件清单序号元件规格数量1电阻10K12电阻220243电阻1K64电容1F15电容33pF26单片机AT89S5217排阻10K28晶振12MHz19蜂鸣器110排针4011数码管六位一体112LED共阳极913三极管H9012914四脚按键715下载口116电源接口13 软件系统的设计3

11、.1单片机资源分配情况P0.7-P0.0段控线,接LED的显示段P2.7-P2.0位控线P3.3-P3.7 6个按键S6至S13.3 软件系统程序流程框图3.3 软件系统各模块功能简要介绍 TIME_1MS(定时1ms子程序)KEY(键扫描子程序)KEYCHULI(P1口数据处理子程序)3.4 软件系统程序清单ORG 0000H LJMP MAIN ;主程序跳转 ORG 000BH LJMP T0 ;T0跳转 ORG 001BH LJMP T1INT ;T1跳转 MAIN:MOV SP,#70 ;堆栈初始化 MOV TMOD,#11H ;T0.T1方式1工作 MOV TL1,#0EFH ;T1

12、初值 MOV TH1,#0D8H MOV TL0,#00h ;T0初值 MOV TH0,#0EEH MOV IE,#8aH ;开中断 MOV 39H,#30 MOV R7,#100 ;中断次数(计时) MOV R5,#6 ;位个数 MOV R4,#01H MOV 30H,#0 ;时钟缓冲区 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0 MOV 34H,#2 MOV 35H,#1 MOV 40H,#0 ;闹钟缓冲区 MOV 41H,#0 MOV 42H,#0 MOV 43H,#0 MOV 44H,#6 MOV 45H,#0 MOV DPTR,#TAB SETB TR1 ;启动

13、定时器1 SETB TR0 ;启动定时器0 MainLoop: MOV R3,39H CJNE R3,#0, YU MOV 39H,#30 ;蜂鸣器叫30S CLR 20H.0 ;关蜂鸣器 CLR 20H.1 ;关闹钟 YU:JB P3.7,CheckPP LCALL Delay2 JB P3.7,CheckPP ;闹时设置键按下了吗?没有则转去检测秒设置键篇p3.4 SETB 20H.1 ;开闹钟 CALL NAOZHONG CheckPP: MOV 46H,#30H JB P3.4,CheckPQ ;分设置键按下了吗?没有则转去检测小时设置键 CALL Delay2 ; JB P3.4,C

14、heckPQ INC 32H MOV A,32H CJNE A,#10,NotOver1 ;到10分钟了吗? MOV 32H,#0 NotOver1: ;以下等待按键释放及防抖动 JNB P3.4,$ CheckPQ: JB P3.3,CheckPQ1 ;分十位设置键按下了吗?没有则转去闹时状态检测 CALL Delay2 JB P3.3 ,CheckPQ1 INC 33H MOV A,33H CJNE A,#6,NotOver2 MOV 33H,#0NotOver2: ;以下等待按键释放及防抖动 JNB P3.3,$ ;CheckPQ1: JB P3.5,CheckPQ2 ;小时个位设置键按

15、下了吗? CALL Delay2 JB P3.5,CheckPQ2 INC 34H MOV A,35H CJNE A,#0,JU1 MOV A,34H CJNE A,#10,NotOver21 MOV 34H,#0 MOV A,35H JU1: CJNE A,#1,JU MOV A,34H CJNE A,#10,NotOver21 MOV 34H,#0 JU:CJNE A,#2,NotOver21 MOV A,34H CJNE A,#4,NotOver21 MOV 34H,#0 ;到24小时则将小时清0NotOver21: ;以下等待按键释放及防抖动 JNB P3.5,$;*小时调整逻辑* C

16、heckPQ2: JB P3.6,CheckAlarm ;小时十位设置键按下了吗?没有则转去闹时状态检测 CALL Delay2 JB P3.6,CheckAlarm INC 35H MOV A,34H CJNE A,#0,E1 MOV A,35H CJNE A,#3,NotOver22 MOV 35H,#0 E1:CJNE A,#1,E2 MOV A,35H CJNE A,#3,NotOver22 MOV 35H,#0 E2:CJNE A,#2,E3 MOV A,35H CJNE A,#3,NotOver22 MOV 35H,#0 E3:CJNE A,#3,E4 MOV A,35H CJNE

17、 A,#3,NotOver22 MOV 35H,#0 E4:CJNE A,#4,E5 MOV A,35H CJNE A,#2,NotOver22 MOV 35H,#0 E5:CJNE A,#5,E6 MOV A,35H CJNE A,#2,NotOver22 MOV 35H,#0 E6:CJNE A,#6,E7 MOV A,35H CJNE A,#2,NotOver22 MOV 35H,#0 E7:CJNE A,#7,E8 MOV A,35H CJNE A,#2,NotOver22 MOV 35H,#0 E8:CJNE A,#8,E9 MOV A,35H CJNE A,#2,NotOver22

18、 MOV 35H,#0 E9:CJNE A,#9,NotOver22 MOV A,35H CJNE A,#2,NotOver22 MOV 35H,#0 ;到24小时则将小时清0NotOver22: ;以下等待按键释放及防抖动 JNB P3.6,$ CheckAlarm: JNB 20H.1,LL ;判闹钟 LCALL BIJIAO ;调用闹钟子程序 LL: AJMP MainLoop ;X显示程序; T0:MOV TL0,#00H ;T0初值 MOV TH0,#0EEH DJNZ R5,T01 ;一轮扫描是否结束 MOV R5,#6 ;动态扫描位数 MOV R4,#01H ;动态扫描初值 MO

19、V R0,46H ;动态扫描缓冲区选择 T01:MOV P0,#00H ;关显示 MOV A,R0 ;取首地址 MOVC A,A+DPTR ;查表 MOV P2,A ;送段码 MOV P0,R4 ;送位码 MOV A,R4 ;位偏移 RL A MOV R4,A INC R0 RETI T1INT: MOV TL1,#0EFH ;T1初值 MOV TH1,#0D8H DJNZ R7,N MOV R7,#100 ;1秒计时 jnb 20h.0, bt01 cpl p1.7 ;蜂鸣器叫 cpl p1.0 DEC 39H bt01: INC 30H ;秒个位加1 MOV R3,30H CJNE R3,

20、#10,N MOV 30H,#0 INC 31H ;秒十位加1 MOV R3,31H CJNE R3,#3,TTT CLR 20H.0 TTT:CJNE R3,#6,N MOV 31H,#0 INC 32H ;分个位加一 MOV R3,32H CJNE R3,#10,N MOV 32H,#0 INC 33H ;分十位加一 MOV R3,33H CJNE R3,#6,N MOV 33H,#0 INC 34H ;时个位加一 MOV R3,34H CJNE R3,#4,N1 MOV R3,35H CJNE R3,#2,N1 LJMP N2 N1:CJNE R3,#10,N MOV 34H,#0 IN

21、C 35H ;时十位加一 LJMP N N2:MOV 30H,#0 ;计时24小时清0 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0 MOV 34H,#0 MOV 35H,#0 N:RETI TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;译码表 Delay1: MOV R5,#5 ;延时间产生1s,扬声器的震动间隔时间 de3:MOV R6,#200 de2:MOV R7,#250 DJNZ R7,$ DJNZ R6,dE2 DJNZ R5,dE3 RET Delay2: MOV R6,#10 ;延时产生15ms,按键防止抖

22、动时间 de4:MOV R7,#245 DJNZ R7,$ DJNZ r6,de4 RET ;*N闹钟调整子程序* NAOZHONG: INC 60H ;单元加一,选取首地址 MOV A,60H MM1: CJNE A,#1,MM MOV 46H,#40H ;闹钟首地址 MM: CJNE A,#0,M2 MOV 46H,#30H ;时钟首地址 M2:CJNE A,#2,MM1 MOV 60H,#0 NAOZHONGaa:JB P3.4,CheckPQa ;分设置键按下了吗?没有则转去检测小时设置键 CALL Delay2 ; JB P3.4,CheckPQa INC 42H MOV A,42H

23、 CJNE A,#10,NotOver1a ;到10分钟了吗? MOV 42H,#0 NotOver1a: ;以下等待按键释放及防抖动 JNB P3.4,$ CheckPQa: JB P3.3,CheckPQ1a ;小时设置键按下了吗?没有则转去闹时状态检测 CALL Delay2 JB P3.3 ,CheckPQ1a INC 43H MOV A,43H CJNE A,#6,NotOver2a MOV 43H,#0NotOver2a: ;以下等待按键释放及防抖动 JNB P3.3,$ ;CheckPQ1a: JB P3.5,CheckPQ2a ;小时设置键按下了吗? CALL Delay2 J

24、B P3.5,CheckPQ2a INC 44H MOV A,45H CJNE A,#0,JU1a MOV A,44H CJNE A,#10,NotOver21a MOV 44H,#0 MOV A,45H JU1a:CJNE A,#1,JUa MOV A,44H CJNE A,#10,NotOver21a MOV 44H,#0 JUa:CJNE A,#2,NotOver21a MOV A,44H CJNE A,#4,NotOver21a MOV 44H,#0 ;到24小时则将小时清0NotOver21a: ;以下等待按键释放及防抖动 JNB P3.5,$ CheckPQ2a: JB P3.6,

25、kka ;小时设置键按下了吗? CALL Delay2 JB P3.6,kka INC 45H MOV A,44H CJNE A,#0,E1a MOV A,45H CJNE A,#3,NotOver22a MOV 45H,#0 E1a:CJNE A,#1,E2a MOV A,45H CJNE A,#3,NotOver22a MOV 45H,#0 E2a:CJNE A,#2,E3a MOV A,45H CJNE A,#3,NotOver22a MOV 45H,#0 E3a:CJNE A,#3,E4a MOV A,45H CJNE A,#3,NotOver22a MOV 45H,#0 E4a:CJ

26、NE A,#4,E5a MOV A,45H CJNE A,#2,NotOver22a MOV 45H,#0 E5a:CJNE A,#5,E6a MOV A,45H CJNE A,#2,NotOver22a MOV 45H,#0 E6a:CJNE A,#6,E7a MOV A,45H CJNE A,#2,NotOver22a MOV 45H,#0 E7a:CJNE A,#7,E8a MOV A,45H CJNE A,#2,NotOver22a MOV 45H,#0 E8a:CJNE A,#8,E9a MOV A,45H CJNE A,#2,NotOver22a MOV 45H,#0 E9a:CJNE A,#9,NotOver22

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

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