教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

基于STC89C52的电子时钟设计(2)

来源:网络收集 时间:2026-07-24
导读: void delay_ms(uint x) { } /*****************定时器初始化********************/ void init_T0(void) { TMOD=0x11;//// TH0=(65536-50000)/256; TL0=(65536-50000)%6; ET0=1; } void init_T1(void) { TH1=(65536-

void delay_ms(uint x) { }

/*****************定时器初始化********************/ void init_T0(void) {

TMOD=0x11;//// TH0=(65536-50000)/256; TL0=(65536-50000)%6; ET0=1; }

void init_T1(void) {

TH1=(65536-10000)/256; TL1=(65536-10000)%6; ET1=1; EA=1; }

/*****************数据处理********************/ void date_transform(void) {

a=hour/10; b=hour; c=mins/10; d=mins; e=sec/10; f=sec; }

void watch_transform(void) {

uint a,b; for(a=x;a>0;a--)

for(b=110;b>0;b--);

6

a1=watch_sec/10; b1=watch_sec; c1=watch_msec/10; d1=watch_msec; }

void alarm_transform(void) {

a0=alarm_hour/10; b0=alarm_hour; c0=alarm_mins/10; d0=alarm_mins; e0=alarm_sec/10; f0=alarm_sec; }

void DS18B20_transform(uint dat) {

bai=dat/100;

shi=(dat0/10); ge=dat; }

/*****************显示模式********************/ void display(void) {

date_transform(); P0=table[c]; P2=0;

delay_us(shijian); P0=table[d]; P2=1;

delay_us(shijian); P0=table[e]; delay_us(shijian); P0=table[f]; P2=3;

P2=2;

7

delay_us(shijian);

}

void watch_display(void) {

watch_transform(); P0=table[a1]; P2=0;

delay_us(sj); P0=table[b1]; P2=1;

delay_us(sj); P0=table[c1]; P2=2;

delay_us(sj); P0=table[d1]; P2=3;

delay_us(sj);

}

void alarm_display(void) {

alarm_transform(); P0=table[c0]; P2=0;

delay_us(shijian); P0=table[d0]; P2=1;

delay_us(shijian); P0=table[e0]; P2=2;

delay_us(shijian); P0=table[f0]; P2=3;

delay_us(shijian);

}

void DS18B20_display(void)

8

{

P0=table[bai]; }

/**************中断服务函数******************/ void int_T0() interrupt 1 {

TH0=(65536-50000)/256; TL0=(65536-50000)%6;

count++; if(count==20) { sec++;

count=0; if(sec==60) {

sec=0; mins++; zhengdian++; if(mins==60) {

mins=0; hour++; zhengdian=0; if(hour==24)

P2=0;

delay_us(si); P0=tab[shi]; P2=1;

delay_us(si); P0=table[ge]; delay_us(si); P0=0x39; P2=3;

delay_us(si);

P2=2;

9

}

}

hour=0; }

}

void int_T1() interrupt 3 {

TH1=(65536-10000)/256; TL1=(65536-10000)%6; watch_msec++; if(watch_msec==100) { }

/**************功能选择函数******************/ void function_choose(void) {

if(!key_1) {

while(!key_1); TR0=0;

model=1; if(choose==5) choose=1; P2=0;

P0=table[choose];

choose++; watch_msec=0;

watch_sec++; if(watch_sec==60) {

watch_sec=0; }

}

10

…… 此处隐藏:133字,全部文档内容请下载后查看。喜欢就下载吧 ……
基于STC89C52的电子时钟设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/592740.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)