51单片机数码管显示时钟程序_第1页
51单片机数码管显示时钟程序_第2页
51单片机数码管显示时钟程序_第3页
51单片机数码管显示时钟程序_第4页
51单片机数码管显示时钟程序_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include/#include#include#define uchar unsigned char#define uint unsigned intsbit dula=P26;sbit wela=P27;sbit key1=P34;sbit key2=P35;sbit key3=P36;sbit beep=P23;unsigned code table=0x3f , 0x06 , 0x5b , 0x4f ,0x66 , 0x6d , 0x7d , 0x07 ,0x7f , 0x6f , 0x77 , 0x7c,0x39 , 0x5e , 0x79 , 0x71 ;uchar num1,n

2、um2,s,s1,m,m1,f,f1,num,numf,nums,dingshi;uchar ns,ns1,nf,nf1,numns,numnf;void delay(uint z); void keyscan ();void keyscan1 ();void alram();void display(uchar m,uchar m1,uchar f,ucharf1,uchars,uchars1);void display0(uchar nf,uchar nf1,uchar ns,uchar ns1); void main() TMOD=0x01;/设定定时器0工作方式1 TH0=(65536

3、-46080)/256 ;TL0=(65536-46080)%256 ;EA=1;/开总中断ET0=1;/开定时器0中断TR0=1;/启动定时器0中断numns=12;numnf=0; while(1) if(dingshi=0) keyscan (); display(m,m1,f,f1,s,s1); alram(); else keyscan1 (); display0(nf,nf1,ns,ns1); void keyscan () if(key1=0) delay(10); if(key1=0) nums+; if (nums=24) nums=0; while(!key1);displ

4、ay(m,m1,f,f1,s,s1); if(key2=0) delay(10); if(key2=0) numf+; if (numf=60) numf=0; while(!key2); display(m,m1,f,f1,s,s1); if(key3=0) delay(10); if(key3=0) dingshi=dingshi; while(!key3) display(m,m1,f,f1,s,s1); /* if(key4=0) delay(10); if(key4=0) flag=1; while(!key4); display(m,m1,f,f1,s,s1); */ void k

5、eyscan1() if(key1=0) delay(10); if(key1=0) numns+; if (numns=24) numns=0; while(!key1);/ display(nf,nf1,ns,ns1); if(key2=0) delay(10); if(key2=0) numnf+; if (numnf=60) numnf=0; while(!key2);/ display(nf,nf1,ns,ns1); if(key3=0) delay(10); if(key3=0) dingshi=0; while(!key3);/ display(m,m1,f,f1,s,s1);

6、void alram() if(numnf=numf)&(numns=nums) beep=0; if(numnf+1=numf)&(numns=nums)&(dingshi=0)/一分钟报时提示 beep=1; void display0(uchar nf,uchar nf1,uchar ns,uchar ns1)/闹钟显示函数 nf=numnf%10; nf1=numnf/10; ns=numns%10; ns1=numns/10;/* wela=1; P0=0xc0;/送位选数据 wela=0; P0=0xff;*/ dula=1; P0=tablens1; dula=0; P0=0xf

7、f; wela=1; P0=0xfe; wela=0; delay(1); dula=1; P0=tablens|0x80; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(1); dula=1; P0=tablenf1; dula=0; P0=0xff; wela=1; P0=0xfb; wela=0; delay(1); dula=1; P0=tablenf; dula=0; P0=0xff; wela=1; P0=0xf7; wela=0; delay(1); void display(uchar m,uchar m1,uchar f,uc

8、harf1,uchars,uchars1)/时间显示 dula=1; P0=tablem1; /秒位第1位 dula=0; P0=0xff; wela=1; P0=0xef; wela=0; delay(1); dula=1; P0=tablem; /秒位第2位 dula=0; P0=0xff; wela=1; P0=0xdf; wela=0; delay(1); dula=1; P0=tables1; /时位第一位 dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delay(1); dula=1; P0=tables|0x80; dula=0; P0=0x

9、ff; wela=1; P0=0xfd; wela=0; delay(1); dula=1; P0=tablef1;/分位第一位 dula=0; P0=0xff; wela=1; P0=0xfb; wela=0; delay(1); dula=1; P0=tablef|0x80; dula=0; P0=0xff; wela=1; P0=0xf7; wela=0; delay(1); void T0_timer() interrupt 1 TH0=(65536-46080)/256 ;TL0=(65536-46080)%256 ;num2+; if(num2=20) num+; num2=0; m=num%10; m1=num/10; f=numf%10; f1=numf/10; s=nums%10; s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论