单片机最小应用系统设计报告-单片机多点定时数字钟的设计

上传人:aa****6 文档编号:29985363 上传时间:2018-01-26 格式:DOC 页数:18 大小:159.50KB
返回 下载 相关 举报
单片机最小应用系统设计报告-单片机多点定时数字钟的设计_第1页
第1页 / 共18页
单片机最小应用系统设计报告-单片机多点定时数字钟的设计_第2页
第2页 / 共18页
单片机最小应用系统设计报告-单片机多点定时数字钟的设计_第3页
第3页 / 共18页
单片机最小应用系统设计报告-单片机多点定时数字钟的设计_第4页
第4页 / 共18页
单片机最小应用系统设计报告-单片机多点定时数字钟的设计_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《单片机最小应用系统设计报告-单片机多点定时数字钟的设计》由会员分享,可在线阅读,更多相关《单片机最小应用系统设计报告-单片机多点定时数字钟的设计(18页珍藏版)》请在金锄头文库上搜索。

1、 电 子 科 技 大 学单片机最小应用系统设计报告指导老师: 学 生: 学 号: 机电工程学院2009 年 5 月单片机最小应用系统设计报告一、设计题目 .1二、设计内容与要求 .1三、设计的目的与意义 .1四 、系统硬件图 .14.1 系统的硬件电路原理图 .24.2 各主要芯片及相应组成电路 .3五、程序流程图 .4六、系统程序 .5七、系统说明与分析 .127.1 设计步骤 .127.2 设计内容 .13八、总结 .13九、参考文献 .14一、 设计题目多点定是数字钟的设计二、设计内容与要求以 AT89S51 单片机为核心器件,组成一个定时数字钟系统,系统显示器由四位数字型数码管组成,分

2、别显示小时和分钟,能够随时对当前时间进行调整,并能构随时输入定时时间,在定时时间到时会有提示音提示时间已到。三、设计的目的意义1. 通过本课程设计的学习,掌握数码管显示电路的动态显示原理;2. 了解到 CD4511 是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码七段码译码器,如下特点:具有 BCD 转换、消隐和锁存控制、七段译码及驱动功能的 CMOS 电路能提供较大的拉电流,可直接驱动 LED 显示器;3. 掌握单片机定时器、中断的工作原理以及动态显示的编程方法,可以设计可以调整的数字闹钟。4. 完成系统所需的硬件设计制作,在提高实际动手能力的基础上进一步巩固所学知识。5. 进行

3、题目要求功能基础上的软件程序编程,会用相应软件进行程序调试和测试工作。6. 用 AT89C51,CD4511 设计出题目所要求的波形实现循环显示,并针对实际设计过程中软、硬件设计方面出现的问题提出相应解决办法。四、系统的硬件电路图4.1 系统的硬件电路原理图系统的硬件电路图如图 1 所示,从图中可以看到该电路主要有时钟电路、复位电路等组成。电源电路有设备提供,在原理图上不在说明,本文简单介绍电源电路的组成原理。该图为多点定时数字钟的硬件电路图4.2 各主要芯片及相应组成电路1)8051 单片机:2) 时钟电路该电路主要有电容 C1、C2 和晶振 Y1 组成。其组成原理图如图 2 所示,图中 X

4、TAL1 为芯片内部振荡电路的输入端,XTAL2 为芯片内部振荡电路的输出端。图为时钟电路3)复位电路单片机通常采用的复位方式有上电复位和按钮复位两种。本次设计用的复位方式是按钮电平复位。其原理图如图 3 所示。当按下按钮 SW 时,电容对R6 迅速放电,RESET 端变为高电平,RESET 松开后,电容通过电阻 R6 进行充电,RESET 端恢复为低电平。图为复位电路五、程序流程图主程序设置初始常数设置各中断服务程序入口地址设定各单元的初 值设置堆栈指针设定定时器 T 0 的初值并开中断调用显示与比较程序闹钟时间到否闹钟响YNT 0 中断服务程序保护现场设置段码缓冲区指针设置位码缓冲区指针是

5、闪烁位否 ?Y将位码和段码值送 P 2 端口显示某位并延时修改显示缓冲区指针加 1中断返回 ( R E T I )N显示完否 ?YN显示位加 1该图为主程序框图 该图为中断数码管动态显示框图定时器 T0 初始化并开中断六、系统的程序SW1 EQU P3.0 ; 定义校分按钮SW2 EQU P3.1 ;定义校时按钮SW3 EQU P3.2 ;定义设定按钮SW4 EQU P3.3 ;定义设定结束按钮BUZZER EQU P3.4 ;定义蜂鸣器输出按钮DIS EQU P2 ;定义显示器控制口MS EQU 10H ;定义 50ms 计数器SECS EQU 11H ;定义秒计数器MINUTE EQU 1

6、2H ;定义分钟计数器HOUR EQU 13H ;定义时计数器DM EQU 14H ;定义显存地址TMINUTE EQU 18H ;定义定时分单元THOUR EQU 19H ;定义定时时单元TTAB EQU 1AH ;时间表指针ORG 0000HAJMP Main ;转主程序ORG 000BHAJMP T0INT ;转 T0 定时程序Main:MOV SP ,#60HMOV P3,#0FFH ;将 p3.0p3.3 设置为输入口LCALL CLEARSETB EA ;允许中断SETB ET0CLR F0MOV TMOD ,#01H ;清数码管闪亮控制标志MOV TL0,#0B0H ;预装 50

7、ms 初值MOV TH0,#3CHMOV B ,#50 MOV MS,#0 MOV SECS ,#0 ;预装秒初值MOV MINUTE ,#01h ;预装分初值MOV HOUR ,#0CH ;预装时初值MOV TMINUTE ,#0 ;预置定时分MOV THOUR,#6H ;预装定时时SETB TR0 ;启动 T0LOOP1:SETB BUZZERMOV R0,#MINUTE LCALL SPLIT ;调用子程序LCALL DISP ;调用显示程序MOV A,SECS LCALL COMP MOV R0,#MINUTELCALL SPLITLCALL DISPSCAN:JB SW3,LOOP1

8、LCALL tSet ;调用设定时间设置程序SJMP LOOP1tSET:LCALL CLEAR ;调用时间表清除程序LCALL BBSET0:MOV R0,#MINUTE LCALL SPLITLCALL DISP ;调用显示子程序JNB SW3,SET0setb F0MOV TTAB,#20HSET1:MOV R0,#TMINUTELCALL SPLITLCALL DISPJNB SW1,SETM ;判断设置分按钮是否有效JNB SW2,SETH ;判断设置时按钮是否有效JNB SW3,SAVEJNB SW4,SET1SJMP SEXITSETM:MOV R0,#TMINUTELCALL

9、SPLITLCALL DISPJNB SW1,SETMMOV A,TMINUTE ;取定时分ADD A,#1 ;定时分加 1DA A ; 十进制调整MOV TMINUTE ,A ;保存定时分CJNE A ,#60H ,SET1MOV TMINUTE ,#0SJMP SET1SETH:MOV R0,#TMINUTE LCALL SPLITLCALL DISPJNB SW2,SETH ;等待 SW2 释放MOV A,THOUR ;取定时时ADD A,#1 ;定时时加 1DA AMOV THOUR ,ACJNE A ,#24 ,SET1MOV THOUR ,#0SJMP SET1SAVE:MOV R

10、0,#TMINUTELCALL SPLITLCALL DISP ;调用显示子程序JNB SW3,SAVELCALL BBMOV R0,TTAB ;取时间表指针MOV R0,THOURINC R0MOV R0,TMINUTEINC R0MOV TTAB,R0CJNE R0,#60H,SET1 ;判断时间表是否存满SEXIT:LCALL BBCLR F0RETBB:MOV R5,#40HLOOP3:MOV R6,#80HDJNZ R6,$CPL BUZZERDJNZ R5,LOOP3SETB BUZZERRETSPLIT:MOV R1,#DM ;显存首地址MOV A,R0 ;取分钟ANL A,#0

11、F0H ;取分钟的个位MOV R1,A ;送显存INC R1 ;MOV A,R0 ANL A,#0F0H ;取分钟的个位SWAP AMOV R1,A ;送显存INC R1INC R0MOV A,R0 ;取小时ANL A,#0F0H ;取小时个位MOV R1,AINC R1MOV A,R0ANL A,#0F0HSWAP AMOV R1,A ;送显存RETDISP: PUSH 00 ;保护现场PUSH 01PUSH 02 PUSH 03PUSH ACCMOV R0,#DM ;显示缓冲区首地址MOV R2,#0EFHJNB F0,DISP0DJNZ B,DISP1CPL F0MOV B,#50SJM

12、P DISP1DISP0:CLR F0DISP1:ORL DIS ,#0F0H ;关显示器MOV R3,#100DJNZ R3,$JB F0,HIDEMOV A,R2 ;取位控码ANL A,#0F0H ;屏蔽无关位ORL A,R0MOV DIS ,AHIDE:MOV R3,#200DJNZ R3,$INC R0 ;指向下一位显存MOV A,R2 ;取字位码RL AMOV R2,AJB ACC.0,DISP1 ;判断显示器是否扫描一遍DEEIT:POP ACCPOP 03POP 02POP 01POP 00RETCOMP:MOV R1,#20H ;时间表首地址COMP1:MOV A,R1 ;取时

13、间表的小时CJNE A,HOUR,COMP5INC R1MOV A,R1CJNE A,MINUTE,COMP6MOV R5,#40MOV R4,#10MOV R6,#30MOV R7,#40COMP2:MOV R0,#MINUTELCALL SPLITLCALL DISP ;调用显示程序DJNZ R6,COMP2MOV R6,#30CPL BUZZERDJNZ R5,COMP2MOV R5,#40 ;响铃COMP3:MOV R0,#MINUTELCALL SPLITLCALL DISPDJNZ R4,COMP3MOV R4,#20CPL BUZZERDJNZ R7,COMP3MOV R7,#40COMP4:LCALL DISPMOV

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

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