51单片机数码管电子时钟程序
这是一个以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位数码管做的电子时钟程序,包括整点报时
}
…… 此处隐藏:631字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [高等教育]一年级家长课程教案
- [高等教育]封丘县人民医院深入推进纠正医药购销领
- [高等教育]2017年6月大学英语四级真题试卷及答案(
- [高等教育]2017年北京第二外国语学院文学院824中
- [高等教育]7 高中历史第7单元1861年俄国农奴制改
- [高等教育]【K12学习】4、实际测量-苏教版六年级
- [高等教育]药具培训试卷题库及部分参考答案
- [高等教育]本土电子元器件目录分销商如何赢得生意
- [高等教育]七年级岭南版美术教案
- [高等教育]书作文之书法活动通讯稿
- [高等教育]Endnote X 软件使用入门和用法总结(LS)
- [高等教育]嵌入式系统的现状及发展状况
- [高等教育]2012抗菌药物专项整治活动方案解读
- [高等教育]人教版新课本一年级数学下册期末试卷
- [高等教育]爱课程民法学观后感
- [高等教育]930机组使用说明书1
- [高等教育]煤气设备设施点检标准
- [高等教育]常见室内观叶植物图解
- [高等教育]312党员群众路线心得体会
- [高等教育]小学信息(苗版)第一册全册教案
- 在市---局2010党建大会上的讲话
- 《科哲》提纲及补充阅读材料(2010.7)
- 苏州高博软件技术职业学院论文开题报告
- 兼职导游管理的困境及对策探讨
- 基于通用设计理念的现代厨房产品语义研
- 康乐一中2010年至2011年度鼓号队、花束
- 第10章_数据收集整理与描述_期末复习课
- 2008年黑龙江林甸商贸购物中心营销策划
- 水硬度的测定实验报告
- 五分钟教你拍摄夜景光绘照
- 2014年临床妇产科三基三严试题及答案
- 0第二课 纾解压力第一站了解压力
- 解析建筑工程电气设备安装施工技术要点
- 地方性应用型本科高校“双师型”师资队
- 高考语文专题复习课件:小说阅读指导
- 装饰工程投标书2
- 大学生就业难问题探讨及对策
- English and Its History
- 青岛市城市房屋修缮工程质量监督管理办
- 初中英语形容词和副词的用法和练习题




