基于单片机的设计的多功能数字钟设计报告.doc
文本预览下载声明
多功能数字钟设计报告
指导老师:龙光利
队员:霍宝龙(物理与电信工程学院)
王阳阳(电气工程学院,电气101)
李伟涛(电气工程学院,电气101)
目录
设计任务与要求
设计原理及方案
主要元器件清单
电路原理图
原理说明
系统软件部分
整机调整过程
总结
六位多功能数字钟制作报告
一.设计任务与要求。
1.任务。
设计制作一个24小时制多功能数字钟。示意图如下(仅供参考):
2要求.
基本要求
(1)具有时间设置(小时和分钟)、闹钟时间设置、闹钟开、闹钟关功能。
(2)数字显示小时、分钟,有AM、PM指示器,闹钟就绪灯,蜂鸣器。
(3)220V供电。
发挥部分
(1)键盘切换现场环境温度显示。(0~60℃ 1℃)
(2)键盘切换电网频率、电压显示。
(3)电压欠压、过压报警(~220V 10%)功能。二,设计原理及方案
1,计数原理
数字计中是一个对标准频率进行校准的计数电路。它的计时周期是24小时,由于计数器的起始时间不可能与标准时间一致,所以采用校准功能和报时功能。
数字钟电路主要由译码显示器、校准电路、报时电路、时计数、分计数、秒计数器,振荡器和单脉冲产生组成。其中电路系统由秒信号产生器是整个系统基本信号,它直接决定计数器的精度,用石英振荡器加分频器来实现,将标准秒信号送入秒计数器。分、秒计数器采用60进制,时计数器采用24进制,。译码器显示电路将时、分、秒计数器的输出状态通过三个两位共阳数码管显示出来。整点报时电路根据计时系统的输出状态产生一个脉冲信号,用蜂鸣器输出。
二、模块电路设计与比较
1、 时钟方案选择
采用带 RAM的时钟芯片AT89C2051。该芯片可以进行时分秒的计数,可编程接口,还具有报警功能和掉电保存功能,并且可以对其方便的进行程序控制,完全能满足题目的要求。
C程序:
#includeREG2051.H
code senen_seg[10]={0x81,0xe7,0x92,0xa2,0xe4,0xa8,0x88,0xe3,0x80,0xa0}; //P1.7(冒号)口高电平
bit key1_enter=0,key2_enter=0,key3_enter=0,countdown_mark=0,stopwatch_mark=0,count_mark=0,bell_mark=0; //状态标志
unsigned char program=0,program_variable=0,count_bit=0,count=0;
unsigned char hour=10,minute=10,second=0; //时间变量
unsigned char delayed_hour=22,delayed_minute=10,delayed_second=0; //定时变量
unsigned char count_hour=0,count_minute=0,count_second=0; //计时计数变量
unsigned char count_time=0,count_count=0;
void delay(unsigned int t) //延时子程序
{
unsigned int i,j;
for(i=0;it;i++)
for(j=0;j10;j++)
;
}
void time0_init(void){ //定时计数0器初始化
EA=0;
TR0=0;
TMOD=0x01;
TH0=0xec;
TL0=0x73;
ET0=1;
TR0=1;
EA=1;
}
static void timer0_isr(void) interrupt TF0_VECTOR using 1 //定时计数0器中断函数
{
TR0=0;
TH0=0xec;
TL0=0x73;
TR0=1;
count_time++; //时钟计时程序
if(count_time=199){
count_time=0;
second++;
if(second=60){
second=0;
minute++;
if(minute=60){
minute=0;
hour++;
if(hour=24)hour=0;
}
}
}
if(delayed_hour==hour delayed_minute==minute s
显示全部