单片机课程设计定时闹钟的设计

上传人:ni****g 文档编号:456675368 上传时间:2024-01-31 格式:DOC 页数:22 大小:198KB
返回 下载 相关 举报
单片机课程设计定时闹钟的设计_第1页
第1页 / 共22页
单片机课程设计定时闹钟的设计_第2页
第2页 / 共22页
单片机课程设计定时闹钟的设计_第3页
第3页 / 共22页
单片机课程设计定时闹钟的设计_第4页
第4页 / 共22页
单片机课程设计定时闹钟的设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《单片机课程设计定时闹钟的设计》由会员分享,可在线阅读,更多相关《单片机课程设计定时闹钟的设计(22页珍藏版)》请在金锄头文库上搜索。

1、河南城建学院本科课程设计报告提供全套毕业论文,各专业都有河南城建学院电子技术基础课程设计报告定 时 闹 钟姓 名: 连波 学 号: 094412130 专业班级: 0944121 指导老师: 张洛花 所在院系:电气与信息工程学院 2014年12月24日摘要本设计是一个定时闹钟,它仅使用单片的40引脚单片机完成闹钟的全部功能。设计目的是为了学习和巩固单片机知识,使对已学过的基础知识能有更深入的理解,学会独立思考、独立思考、独立工作,以及提高对所学应用基本理论分析和解决实际问题的能力。本文设计的定时闹钟采用80c51芯片,用汇编语言进行编程,时、分、秒用6位LED数码管显示。在电路中通过四个按键S

2、1、S2、S3和S4来进行定时和调时,定时时间到通过喇叭发出报警声。设计系统的主要功能 能显示 时时分分秒秒。能够设置定时时间、 修改定时时间。到定时时间能发出报警1 系统总体方案及硬件设计1.1系统总体方案1)由于要显示数字时间,所以需要6位数码管。2)时间的定时用时钟电路,修改时间和定时用手动按键控制,报警声通过喇叭发出。3)80c51单片机加上外围器件(2个3位共阳数码管,8个限流电阻和一个蜂鸣器)和应用程序(ISIS 7 Professional软件和KEIL编译软件),构成相应的应用系统。1.2系统设计方框图晶振及复位按钮 单片机80c518个限流电阻蜂鸣器6位共阳数码管显示选位图1

3、系统设计方框图1.3硬件设计1.3.1芯片:80c5180c51芯片内不包含一个8位中央处理器cpu,4kb程序存储器ROM,128B随机存取存储器,RAM,4个8位并行I/O接口,1个全双工串行通信接口,2个16 位定时器、计数器级及21个特殊功能寄存器。由先进CMOS 工艺制造并带有非易失性Flash 程序存储器 全部支持12 时钟和6 时钟操作 P89C51X2 和P89C52X2/54X2/58X2 分别包含128 字节和256 字节RAM 32 条I/O 口线 3 个16 位定时/计数器 6 输入4 优先级嵌套中断结构 1 个串行I/O 口 可用于多机通信 I/O 扩展或全双工UAR

4、T以及片内振荡器和时钟电路。此外,由于器件采用了静态设计,可提供很宽的操作频率范围,频率可降至0 。可实现两个由软件选择的节电模式,空闲模式和掉电模式,空闲模式冻结CPU但RAM定时器,串口和中断系统仍然工作掉电模式保存RAM的内容 但是冻结振荡器 导致所有其它的片内功能停止工作。由于设计是静态的时钟可停止而不会丢失用户数据 运行可从时钟停止处恢复。.1.3.2蜂鸣器由P3.7口控制蜂鸣器,使其定时时间到能发出报警声。1.3.3时钟电路单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中单片机采用内部时钟方式。最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。振荡晶体可在

5、1.2MHz12MHz之间。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF100pF之间取值。单片机的时钟电路:如图所示 限流电阻:8个10k电阻控制按键:本系统要进行时间的调整和定时,因此用4个手动按键对其进行控制。1.3.4显示器模块的设计利用2个七段数码管6个选位引脚连接C51单片机 P2.5 P2.0接口,其他8个引脚分别通过限流电阻与C51单片机的P0.0 - P0.7和共阳极数码管连接。数码管:单片机中通常使用7段LED,LED是发光二极管显示器的缩写。LED显示器由于结构简单,价格便宜,体积小,亮度高,电压低,可靠性高,寿命

6、长,响应速度快,颜色鲜艳,配置灵活,与单片机接口方便而得到广泛应用。LED显示器是由若干个发光二极管组成显示字段的显示部件,当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组合的二极管导通,就能显示出各种字符。如图所示2软件设计2.1划分模块根据设计要求,定时闹钟程序可分为以下几个模块:1)显示时间的设置;2)闹钟时间的设置:4)定时时间的响应。显示时间S4按下?S3按下?S1按下?显示闹钟时间调整闹钟调整响铃主程序响铃判断YYYNYNNN初始化开始3.2程序流程图 程序流程图2.3汇编程序 ORG 0000H LJMP START ORG 000BH LJMP TIME;初始化;ST

7、ART: MOV SP, #50H MOV 20H,#00H ;定义秒 MOV 21H,#00H ;定义分 MOV 22H,#00H ;定义时 MOV 23H,#01H ;定义闹钟分钟 MOV 24H,#01H ;定义闹钟小时 MOV 25H,#00H MOV 26H,#01H MOV 30H,#00H ;BCD SECOND MOV 31H,#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,#

8、00H MOV 50H,#00H ;按键次数 MOV TMOD,#01H ;16位计数器 MOV TH0, #03CH ;赋初值 MOV TL0, #0B0H MOV IE, #87H ;中断允许 SETB TR0 ;启动T0 MOV R2,#14H MOV P2,#0FFH CLR P3.7;主程序;MAIN: LCALL TIMEPRO ;调用闹钟判断GB: LCALL DISPLAY1;调用时间显示 JB P1.3,M1 ;P1.3=1时转移 S4没有按下 LCALL SETTIME ;调用SETTIME调时子程序 LJMP MAINM1: JB P1.2,M2 ;P1 g.2=1时转移

9、S3 LCALL SETATIME ;调用SETATIME子程序 LJMP MAINM2: JB P1.0,M4 ;P1.01时转移 S1 LCALL LOOKATIME ;调用LOOKATIME显示闹钟子程序M4: LJMP MAIN;延时子程序 ;DELAY: MOV R4,#030HDL00: MOV R5,#0FFHDL11: MOV R6,#9HDL12: DJNZ R6,DL12 DJNZ R5,DL11 DJNZ R4,DL00 RET;时间调整;SETTIME: ;设置时间L0: LCALL DISPLAY1MM1: JB P1.3,L1 ;P1.3=1时转移 MOV C,P1

10、.3 JC MM1 LCALL DELAY1 ;延时 JC MM1MSTOP1: MOV C,P1.3 ;P1.3为0时转移 JNC MSTOP1 LCALL DELAY1 ;延时 MOV A,50H INC 50H CJNE A,#00H,HJ1 LJMP L0HJ1: MOV C,P1.3 JNC MSTOP1 INC 22H ;小时自加一 MOV A,22H CJNE A,#18H,GO12 ;小时计数循环 MOV 22H,#00H ;复位 MOV 34H,#00H MOV 35H,#00H LJMP L0L1: JB P1.1,L2 ;P1.1=1时转移 MOV C,P1.1 JC L1 LCALL DELAY1 ;延时 JC L1MSTOP2: MOV C,P1.1 ;P1.10时转移 JNC MSTOP2 LCALL DELAY1 ;延时 MOV C,P1.1 JNC MSTOP2 INC 21H ;分钟加一 MOV A,21H CJNE A,#3CH,GO11 ;分钟计数循环 MOV 21H,#00H ; 复位 MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11: MOV B,#0AH DIV AB MOV 32H,B ; 将A的低4位存入32单元 MOV 33H,A

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号