1 / 17
文档名称:

电子钟说明书.doc

格式:doc   大小:100KB   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

电子钟说明书.doc

上传人:rjmy2261 2018/4/20 文件大小:100 KB

下载得到文件列表

电子钟说明书.doc

文档介绍

文档介绍:数字电子钟说明书
姓名:杨华碧
学号:1010401024
指导老师:赖友源
时间:2011年12月7日星期三
数字电子钟说明书
一、电子钟功能介绍
可调整运行的电子钟具有三种工作状态:“P.”状态、运行状态、调整状态。
(1)、“P.”状态,依靠上电或者复位键进入,在此状态下,按B、C、D键均无效,按A键有效,进入运行状态;
(2)、运行状态,按奇数次A键进入,在此状态下,按B、C、D键均无效,只有按A键有效,按下A键后,退出运行状态,进入调整状态;
(3)、调整状态,按偶数次A键进入,在此状态下,按B、C、D键均有效,如按下A键,则推出调整状态,进入运行状态;B、C、D分别为调时、分、秒,分别使之加1;调整后,按A键退出调整状态。
二、实现时钟计时的基本方法
(1)计数初值计算:
把定时器设为工作方式1,定时时间为50ms,则计数溢出20次即得时钟计时最小单位秒。
假设使用T/CO,方式1,50ms定时,fosc=12MHz。
则初值X满足
(2)采用中断方式进行溢出次数累计,计满20次为秒计时(1秒);
(3)从秒到分和从分到时是通过累计加和数值比较实现。
三、电子钟的时间显示
电子钟的时钟时间在六位数码管上显示,因此,在内部RAM中设置显示缓冲区共8个单元。
LED8
LED7
LED6
LED5
LED4
LED3
LED2
LED1
37H
36H
35H
34H
33H
32H
31H
30H
时十位
时个位
分隔
分十位
分个位
分隔
秒十位
秒个位
四、电子钟的启、停及时间调整
电子钟设置4个按键,通过程序控制来完成电子钟的启、停及时间调整。
A键控制电子钟的启、停;
B键调整时;
B键调整分;
B键调整秒。
五、电子钟电路仿真图:
六、电子钟元件清单:
元件名称
规格型号
数量(个)
单片机
AT89C52
1
显示驱动芯片
74LS245
2
8位一体的共阳LED
显示器
7SEG-MPX8-CA-BLUE
1
晶振
12MHz
1
无极电容
1nF
2
有极电容
1n
1
按键
BUTTON
5
电阻
1K
1
电阻
10K
4
限流电阻
10K
8
排阻
RESPACK-8
1
万能板

1
七、电子钟程序流程框图
1、主程序流程图:
开始
系统初始化

A键按下否
进入自动计时状态
检测到A键按下
进入时间设置状态
检测到A键按下
N
Y
Y
Y
N
N
2、按键子程序流程图
开始
有按键闭合
调显示子程序延时,去抖动
有键闭合
有键释放
保存键值
结束
Y
Y
Y
N
N
N
调用显示子程序
3、中断服务子程序流程图
开始
重装初值
计数是否满20
计数清零,秒加1
满60秒?
秒清零,分加1
满60分?
分清零,时加1
满24小时?
时清零
结束
N
N
N
N
Y
Y
Y
Y
4、显示子程序流程图
开始
查表取断码
送断码到P0口
送位码到P2口
延时1毫秒
8位LED显示完否
结束
Y
N
八、电子钟程序清单
#include<>
unsigned int start;
unsigned int count=0;
unsigned char fg;
unsigned char c[]={
0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
unsigned char sec,min,hour;
sbit sec1=P2^7;
sbit sec2=P2^6;
sbit min1=P2^4;
sbit min2=P2^3;
sbit hour1=P2^1;
sbit hour2=P2^0;
sbit a=P2^5;
sbit b=P2^2;
sbit key_A=P1^0;
sbit key_B=P1^1;
sbit key_C=P1^2;
sbit key_D=P1^3;
void delay(unsigned int t)
{
for(t;t>0;t--);
}
void display()
{
P2=0xff;
P0= c[sec%10];
sec1=0;
delay(15);
sec1=1;
P0=c[sec/10];
sec2=0;
delay(15);
sec2=1;
P0=c[min%10]