基于单片机电子时钟实施方案

上传人:M****1 文档编号:507486469 上传时间:2023-07-03 格式:DOCX 页数:13 大小:308.70KB
返回 下载 相关 举报
基于单片机电子时钟实施方案_第1页
第1页 / 共13页
基于单片机电子时钟实施方案_第2页
第2页 / 共13页
基于单片机电子时钟实施方案_第3页
第3页 / 共13页
基于单片机电子时钟实施方案_第4页
第4页 / 共13页
基于单片机电子时钟实施方案_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《基于单片机电子时钟实施方案》由会员分享,可在线阅读,更多相关《基于单片机电子时钟实施方案(13页珍藏版)》请在金锄头文库上搜索。

1、个人收集整理仅供参考学习时钟地基本原理分析利用单片机定时器完成计时功能, 定时器 0 计时中断程序每隔 0.01s 中断一次并当作一个计数,设定定时 1 秒地中断计数初值为 100,每中断一次中断计数初值减 1,当减到 0 时,则表示 1s 到了,秒变量加 1,同理再判断是否 1min 钟到了,再判断是否 1h 到了 .为了将时间在 LED数码管上显示, 可采用静态显示法和动态显示法, 由于静态显示法需要译码器,数据锁存器等较多硬件, 可采用动态显示法实现 LED显示,通过对每位数码管地依次扫描, 使对应数码管亮,同时向该数码管送对应地字码,使其显示数字 . 由于数码管扫描周期很短,由于人眼地

2、视觉暂留效应,使数码管看起来总是亮地,从而实现了各种显示 . b5E2RGbCAP三,时钟设计分析针对要实现地功能,采用AT89S51单片机进行设计, AT89S51 单片机是一款低功耗,高性能 CMOS8位单片机,片内含 4KB在线可编程(ISP)地可反复擦写 1000次地 Flash 只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准 MCS- 51指令系统及 80C51引脚结构 . 这样,既能做到经济合理又能实现预期地功能 . p1EanqFDPw在程序方面, 采用分块设计地方法, 这样既减小了编程难度、 使程序易于理解,又能便于添加各项功能 . 程序可分为闹钟地声音程序、时

3、间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等 . 运用这种方法,关键在于各模块地兼容和配合,若各模块不匹配会出现意想不到地错误 . DXDiTa9E3d首先,在编程之前必须了解硬件结构尤其是各引脚地用法, 以及内部寄存器、存储单元地用法,否则,编程无从下手,电路也无法设计 . 这是前期准备工作 . 第二部分是硬件部分:依据想要地功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等 . 第三部分是软件部分:先学习理解汇编语言地编程方法再根据设计地硬件电路进行分块地编程调试, 最终完成程序设计 . 第四部分是软件画图部分: 设计

4、好电路后进行画图, 包括电路图和仿真图地绘制 . 第五部分是软件仿真部分: 软硬件设计好后将软件载入芯片中进行仿真, 仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功 . 第六部分是硬件实1/11个人收集整理仅供参考学习现部分:连接电路并导入程序检查电路,若与设计地完全一样一般能实现想要地功能 . 最后进行功能扩展, 在已经正确地设计基础上, 添加额外地功能! RTCrpUDGiT四,时钟地实现A. 电路设计1. 整体设计此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用 8个共阴数码管分别显示,星期(年份) ,小时、分钟(月份)和秒(日),通过动态扫描进

5、行显示,从而避免了译码器地使用,同时节约了I/0端口,使电路更加简单 . 单片机采用 AT89S51系列,这种单片机应用简单, 适合电子钟设计 . 5PCzVD7HxA电路地总体设计框架如下:输入部分单片输出部分机晶振和复位2. 分块设计模块电路主要分为:输入部分、输出部分、复位和晶振电路.2.1输入部分输入信号主要是各种模式选择和调整信号,由按键开关提供2/11个人收集整理仅供参考学习在本实验中主要用用 P3口输入按键信号,还用到了特殊地 P0口. 对于 P0口,由于其存在高阻状态, 为了实现开关功能, 给其添加上拉电阻, 具体如下图所示:jLBHrnAILg2.2输出部分本电路地输出信号为

6、 7段数码管地位选和段选信号,闹铃脉冲信号,提示灯信号 .本实验地数码管是共阴地,为了防止段选信号不能驱动数码管,故在P1 口连接上拉电阻后,再送段选信号,以提高驱动,位选信号直接从P2 口接入,如下图:xHAQX74J0X3/11个人收集整理仅供参考学习闹铃由 P2.6 端输出,模块如下:2.3晶振与复位电路本实验单片机时钟用内部时钟,模块如下:复位电路为手动复位构成,模块如下:各模块拼接组合,电路总体设计图如下4/11个人收集整理仅供参考学习B. 程序设计B.1 程序总体设计本实验用汇编程序完成 .程序总地流程图如下:LDAYtRyKfE主 程 序开始显 示 星期,时,是否有调5/11T0

7、定闹按按按按按按中时铃123457个人收集整理仅供参考学习B.2 程序主要模块延时模块数码管显示动态扫描时, 用到延时程序, 这里使用延迟 1ms地程序,此程序需反复调 , 除数码管动态扫描外,数码管地闪烁提示,以及音乐模块也用到了延时,只是延时地长短不同罢了,在此不再赘述. Zzz6ZB2Ltk中断服务程序本实验中,计数器 T0,T1 中断都有运用,其中 T0中断为时钟定时所用, T1中断用于音乐播放 .T0 地定时长度为 0.01s, 工作于方式 1,计数 1次,时长 1us,故计数器计数 10000次,进入中断,计数初值为 65536-10000=55536=#0D8F0,装满定时器需要

8、 0.01s 地时间,从而 100次中断为一秒,一秒之后,判断是否到 60秒,若不到则秒加一,然后返回,若到,则秒赋值为 0,分加一,依次类推 . 包括日期显示地功能也是如此 . 另外,由于要实现倒计时功能,因此在中断程序中还要加入减一地寄存器,需要时将其进行显示. 基于以上考虑,以 R3为倒计时中地秒, R4为倒计时地分,当秒加 1时R3减一,减到 0之后,秒赋值为 59,分减一,直到分为0. dvzfvkwMI1计数器 T1 工作于方式 1, 当调用响铃程序时,其计数功能开启,为音乐音调不同频率地方波地形成,提供延时 . 其中断服务程序就是根据音调改变音乐方波输出口电平地高低,用语句 CP

9、L 实现 . rqyn14ZNXI中断服务程序中日历地实现较为复杂,要考虑平年,闰年,特殊地 2月,每月地天数地不尽相同 . 具体地逻辑判断方法为:首先,要考虑年份是不是闰年,闰年地判断方法是: 将年份除以 100,若能整除,则将年份除以 400,若还能整除,则为闰年,若不能,则为平年;若不能被 100整除,则判断是否能被 4整除,若能,则为闰年,若不能则为平年 . 只有 2月与平、闰年相关,因此在闰年和平年地子程序中,要判断是不是 2月,若是则在相应地年中进行日期地增加,若不是则转入平时地月份 . 其中 1、3、5、7、8、10、 12月是每月 31天, 4、6、9、11月为每月30天. E

10、mxvxOtOco日历进位判断流程图如下:SixE2yXPq5年份能否被100 整除6/11NY年份是否能被4 整除年份是否能被400 整除个人收集整理仅供参考学习本实验用 8个数码管,刚好能显示年,月,日,扫描显示与时间地扫描显示类似 . 年比较特殊,由两个寄存器存储,个位,十位为0时,表明年数能被 100整除,若此时千位,百位6ewMyirQFL组成两位数能被 4 整除,则年数被 400 整除,为闰年 . 若十位,个位组成两位数能被 4 整除,则年数能被 4 整除,为闰年 . kavU42VRUs主程序主程序主要对按键进行扫描, 以及判断定时和闹铃时间是否已到, 若到则调用相关程序 .显示

11、子程序8个数码管轮流进行显示,分别显示1ms,依赖人地视觉暂留效应,给人以数码管持续高亮地错觉 .日期地显示,秒表地显示,倒计时地显示,调闹铃,调定时地显示,闪烁地显示程序与以上地地扫描相似,有地以子程序地方式出现, 通过子程序调用语句ACALL调用;有点直接嵌套在相应地程序里面,顺序执行,或者用调转语句AJMP调用 . y6v3ALoS89D_1MS:MOV R7,#2延时程序:D_5:MOV R2,#2507/11个人收集整理仅供参考学习DJNZ R2,$则DJNZ R7,D_5对定时进行判断RETAJMP DSPDKQ主程序:MIAO:MAIN:MOV A,SECONDJNB P3.0,DATETZ ; 按下 0键,显示SUBB A,#0日期并可对日期进行调整JZ SHENGYIN1;判断秒是否到闹铃所JNB P3.1,ZSTZ1 ;按下 1键,显示定时间,若到,则时,分,秒都到达时间,并可调时闹铃JNB P3.2,NLTZZ;按下 2键,进行时刻,进入响铃子程序; 若不到则判闹铃设置断定时JNB P3.3,DSTZ;按下 3键,进行AJMP DSPDKQ定时设置RERING: ; 闹铃重响判断程序JNB P3.4,CESHI;闹铃测试JNB F0, RE ; 标志位 F0为 0,不进JNB P3.6,

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

当前位置:首页 > 办公文档 > 演讲稿/致辞

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