51单片机数码管电子时钟程序
更新时间:2023-08-25 16:04:01 阅读量: 教育文库 文档下载
这是一个以8位数码管做的电子时钟程序,包括整点报时
#include<reg52.h>
#define uint unsigned int #define uchar unsigned char
uchar miao,fen,shi,m,f,s,num,num2,num1,num4;
uchar code table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; sbit beep=P3^7; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }
void xiansi( uchar aa,uchar bb,uchar cc) { P2=0xdb; P0=0xbf; delay(1); P0=0xff; // num2++;
if(num1==1&num2==0|num1==1&num2==1) { P2=0xff; P0=table1[aa%10]; delay(1); P0=0xff; P2=0xff; P0=table1[aa/10]; delay(1); P0=0xff; } else { P2=0xfe; P0=table1[aa%10]; delay(1); P0=0xff; P2=0xfd; P0=table1[aa/10]; delay(1); P0=0xff; }
if(num1==2&num2==0|num1==2&num2==1) { P2=0xff;
这是一个以8位数码管做的电子时钟程序,包括整点报时
P0=table1[bb%10]; delay(1); P0=0xff; P2=0xff; P0=table1[bb/10]; delay(1); P0=0xff; } else { P2=0xf7; P0=table1[bb%10]; delay(1); P0=0xff; P2=0xef; P0=table1[bb/10]; delay(1); P0=0xff; }
if(num1==3&num2==0|num1==3&num2==1) { P2=0xff; P0=table1[cc%10]; delay(1); P0=0xff; P2=0xff; P0=table1[cc/10]; delay(1); P0=0xff; } else { P2=0xbf; P0=table1[cc%10]; delay(1); P0=0xff; P2=0x7f; P0=table1[cc/10]; delay(1); P0=0xff; } //if(num2==256)num2=1; }
void jishi( ) //计时函数
这是一个以8位数码管做的电子时钟程序,包括整点报时
{ if(num==20) //重复计数20次为一秒钟 { beep=1; num=0; miao++; if(miao==60) { miao=0; fen++; if(fen==60) { fen=0; shi++; if(shi==24) shi=0; } } if(miao==0&fen==0)beep=~beep; } xiansi(miao,fen,shi); } void init(void) //初始化函数 { TMOD=0x01; TH0=0x3c; TL0=0xb0; TH1=0x3c; TL1=0xb0; EA=1; ET0=1;
TR0=1; // 定时/计数器0计时开始 ET1=1;
TR1=1; // 定时/计数器1计时开始 } void key()//按键函数 { P1=0xfe; //功能键 if(P1==0xee) { delay(10); if(P1==0xee) {
这是一个以8位数码管做的电子时钟程序,包括整点报时
beep=0; while(P1==0xee)xiansi(miao,fen,shi); beep=1; num1++; TR0=0; if(num1==4){num1=0;TR0=1;} xiansi(miao,fen,shi); } }
if(num1!=0) { if(P1==0xde) //时间加 { delay(10); if(P1==0xde) { beep=0; while(P1==0xde)xiansi(miao,fen,shi); beep=1; switch(num1) { case 1 : miao++; if(miao==60)miao=0; break; case 2 : fen++; if(fen==60)fen=0; break; case 3 : shi++; if(shi==24)shi=0; break; } } } if(P1==0xbe);//时间减 { delay(10); if(P1==0xbe) { beep=0; while(P1==0xbe)xiansi(miao,fen,shi);
这是一个以8位数码管做的电子时钟程序,包括整点报时
beep=1; switch(num1) { case 1 : miao--; if(miao==-1)miao=59; break; case 2 : fen--; if(fen==-1)fen=59; break; case 3 : shi--; if(shi==-1)shi=23; break; } } } } }
void main() ////////////////////////主函数 { init(); while(1) { jishi(); key(); } }
void zhongduan() interrupt 1 //中断函数 { TH0=0x3c; //初值重装 TL0=0xb0; num++; }
void zhongduan1() interrupt 3 //中断函数 { TH1=0x3c; //初值重装 TL1=0xb0; num2++; if(num2==3)num2=0;
这是一个以8位数码管做的电子时钟程序,包括整点报时
}
正在阅读:
51单片机数码管电子时钟程序08-25
试析建筑工程造价中计算机的应用发展05-22
新能源汽车发展现状及问题分析09-21
职业高中文秘专业秘书基础复习题参考答案08-10
入党志愿书模板--正式05-15
汽车电工电子试卷A03-09
人教版地理七年级下册第八章第四节《澳大利亚》教学设计06-22
辅助生产费用分配练习题01-14
仿制药晶型研究的思考08-31
最好的朋友作文500字07-07
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 数码管
- 单片机
- 时钟
- 程序
- 电子
- 最新交通肇事赔偿标准
- 北师大版一年级语文 上期 学写字
- 文明执法与暴力抗法
- 销售订单管理信息系统
- 2017新苏教版一年级下册语文第一、二单元全部教案
- 门店防损与安全管理
- 2016-2022年中国K树脂市场前景研究与市场运营趋势报告告
- 我把青春献给党征文
- 第三届互网搜索教案评选李燕燕-《伤仲永》教学设计5
- 2014_年八年级下册Unit_2_I'll_help_to_clean_up_the_city_parks.Section_A
- PEP小学三年级英语上册单词句子练习题
- 七年级信息技术上册教案(科学出版社) 2
- 咯血的鉴别诊断和治疗
- 浅谈小学语文教学理念
- 第七讲 定价策略
- 湖北工业大学毕业设计说明书
- 桥门式起重机定期自检报告
- 业绩报告
- 围手术期抗菌药物预防性应用管理规定
- 耐火材料实习报告