用单片机内部的定时计数器来实现电子时钟的方法
更新时间:2023-12-07 09:43:01 阅读量: 教育文库 文档下载
用单片机内部的定时/计数器来实现电子时钟的方法
时钟,自从它发明的那天起就成为人类的朋友,但随着时间的推移,科学技术的不段发展,人们对时间计量的精度要求越来越高,怎样让时钟更好的为人们服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断的设计出新型时钟。现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校;数字式电子钟用集成电路计时时,译码代替机械转动,用LED显示器代替指针进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分,秒的校对,片选的灵活性好。
时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。
本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法
一. 基本功能
1. 时间显示功能:显示时,分,秒,且计时初值为12:00:00 2. 时间设置功能:可以通过键盘任意设定,修改显示时间
二. 硬件框图
在系统电路中显示器为6个共阳极的LED数码管,用一个BCD七段译码器74LS47驱动数码管(74LS47的输入为BCD码,其输出为集电极开路,可直接驱动七段译码器,具有首尾消零
等特点)用3-8译码器的74LS138的输出作为动态扫描数码管的选通信号。因为采用了上述的两个芯片,所以在对数码管进行扫描显示时。只需要单片机的7条I/O线就能完成显示功能了。
2.1 单片机
单片机采用AT89C51型,它是一种带4K字节的闪烁可编程可擦处的只读存储的低电压,高性能的SMOS8位位处理器,该器件采用ATMEL高密度非易失性存储器制造技术和工业标准的MCS-51指令集和输出管脚相兼容,由于该8位多功能CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微处理器,为很多嵌入控制系统提供了一种灵活高而且价格低廉的方案。
2.2 时钟显示电路
为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,接口复杂一点,考虑到时钟显示只有6位,且系统没有其他复杂的处理任务,所以决定采用动态扫描法实现LED显示。
2.3 时钟电路
如果设置过多的按键,将会占用很多的I/O口,而且给布线带来不便,按键过少,在修
改时间和闹钟时间的时候就不能直接输入,只能通过加或者减来完成,稍为有点麻烦,但是程序简单,成本低,考虑到上述原因这里采用独立按键来实现。
2.4 闹钟电路
当时间与设置闹钟时间相当时,通过I/O控制继电器接通闹钟实现。
2.5 复位电路
复位电路采用按钮电平复位电路
三. 软件设计
由于电路设计巧妙,许多功能都可以有硬件电路来完成,因此软件设计就比较简单,软件采用模块化的设计,流程图如下
主程序
置计时初值 12:00:00
置T0为4MS定时
开T0中断
有键按下
计数值调整
调用控制子程序
3.1 初始化参数设置
设置电子钟的计时初值为12:00:00,启动T0进行4MS定时,且允许T0中断
3.2 定时器T0中断服务子程序
中断服务子程序的作用是进行时,分,秒,的计时与显示。定时器T0用于 定时周期设为4MS,中断累计250次,即1S,对秒计数单元进行加一操作。 时间计数单元分别在2CH(S)2BH(MIN)2AH(H)内存单元中,在计数单元
中采用组合BCD码计数,满60进位。定时器T0中断服务程序流程图如下:
T0中断
重新启动T0
保护现场
1S定时到
计数值调整
调DISP子程序
调SCAN子程序
恢复现场
中断返回
3.3 显示程序DISP:
DISP子程序的作用是分别将时间记数单元 2CH(S)2BH(MIN)2AH(H)中的十进制时间值(组合BCD码)转化为个位和十位(分离BCD码)存放在显示缓冲区中。显示缓冲区的地质为20H~25H,其中,20H~21H存放秒数据,22H~23H存放分数据,24H~25H存放时数据,由于每一个地址单元均为分离BCD码,用BCD七为译码器74LS47直接进行编译。因此,不需要软件方式对BCD码进行编译。
3.4扫描子程序SCAN
SCAN的作用是把显示缓冲区的数据依次送经显示器进行,把扫描值作为24位,
显示数据值作为低4位,输出到P112,以完成显示。因为采用了3-8译码器74LS138作为扫描输出,所以用28H单元存放扫描指针,即28H中存放的是数码管的序层。显示时,只需要去处20H~25H某一地址中的数据,并从P1口的低4位输出,同时P1口的高4位作为扫描值的输出,就能保证数码管的正常工作。
3.5 控制子程序
作用是判断时间是否与设置闹钟时间相等。如相等则开启闹钟。
3.6 源程序清单
*******主程序*******
ORG 000H ; 主程序起始地址 JMP START ; 跳至主程序
ORG 0BH ; T0中断子程序起始地址 JMP TIMO ; 跳至TO中断子程序TIM0
START:MOV SP,#70H ;设置堆栈在70H
MOV 28H,#00 ;(28H)为扫描指针,初值为0 MOV 2AH,#12H;时 初值为10H MOV 2BH,#00H;分 初值为00H
MOV 20H,#00H;秒 初值为00H MOV TMOD,#01H;设T0为MOOD1 MOV TH0,#0F0H;计时中断为4MS MOV TL0,#60H
MOV IE,#10000010B;T0中断使能 MOV R4,#250;中断250次 STEB TR0;启动T0
LOOP:JB P0.0 N2;秒按下?若不是,则跳至N2J检查S2 CALL DELAY;消除抖动 MOV A,2CH;将秒值存如A ADD A,#01H;A的内容加1 DA A;做十进制位调整
MOV 20H,A;将A的值存入秒单元
CJNE A,#60H,N3;是否等于60MIN?若不是,则跳至N3 MOV 2BH ,#00H;若是,则清除分的值为00 N3:JNB P0.1,$;(分)放开了? CALL DELAY;消除抖动
N4:JB P0.2 ,LOOP;时 按了么?若不是,则跳至LOOP CALL DELAY;消除抖动 MOV A,2AH;将十的值存入A ADD D,#01;A的内容加1 DA A;将十进位调整
MOV 2AH,A;将A的值存入时单元
CJNE A,#24H,N5;是否等于20时?若不是,则跳至N5 MOV 2AH,#00;若是,则消除时的值为00 N5:JNB P0.2,$;分放开了? CALL DELAY;消除抖动 JMP LOOP
*******中断服务子程序********
TIM0:MOV TH0,#0F0H;重新启动T0 MOV TL0,#60
PUSH ACE;将A的值暂时存入堆栈 PUSH PSW;将PSW的值暂时存入堆栈 DJNZ R4,X2;计时一秒 MOV R4,#250
CALL CLOCK;调用计时子程序CLOCK CALL DISP;调用显示子程序 X2:CALL SCAN ;调用扫描子程序 POP PSW;从堆栈取出PSW的值 POP ACE;从堆栈取出A的值 RETL
******显示器扫描子程序*******
SCAN:MOV R0,#28H;28H为扫描指针
CJNE @R0,#6,X3;扫描完6个数码管?若不是,则调至X3
正在阅读:
我学会了当老师作文350字06-18
plc应用技术基础期末考试 3 - 图文11-28
哈佛管理案例《苦行僧的寓言》对管理的启示03-20
动物园一日游作文02-04
电厂烟气中二氧化碳的捕集技术12-07
运动生理学习题0503-09
格斗基础体能训练计划07-22
【推荐】特岗教师小学数学试题07-27
质量管理体系三级文件目录04-01
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 单片机
- 时钟
- 计数器
- 定时
- 内部
- 实现
- 方法
- 电子
- 无轨胶轮车制度汇编与奖惩办法
- 分类计数原理(加法原理)
- 中国摄影器材行业研究报告目录
- 《大学物理》复习题
- 初一下册历史第五课预习案
- 电厂烟气中二氧化碳的捕集技术
- 切克兰德方法论
- 如何办理外商投资企业登记注册
- 田翠华著《算法设计与分析》课后习题参考答案
- 《药理学》分章练习题、题库题
- 七年级英语(上)Unit 1 Relatives in Beijing知识点总结
- 2018~2019学年部编版三年级语文上册专项分类练习题及答案
- 自考 - 操作系统概论真题第6章 并发进程
- ATM机巡逻防范工作实施方案 - 图文
- 房屋建筑工程监理工作的重点
- 实验小学学校文化建设工作总结
- 201X年度安全工作总结-优秀word范文(10页)
- 矿长在全矿安全生产月活动动员大会上的讲话-精选模板
- 社区卫生服务2010工作总结及2011工作计划
- 信用证试题2