51單片機(jī)數(shù)碼管顯示時鐘程序_第1頁
51單片機(jī)數(shù)碼管顯示時鐘程序_第2頁
51單片機(jī)數(shù)碼管顯示時鐘程序_第3頁
51單片機(jī)數(shù)碼管顯示時鐘程序_第4頁
51單片機(jī)數(shù)碼管顯示時鐘程序_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上#include<reg52.h>/#include#include<intrins.h>#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 ,

2、 0x7c,0x39 , 0x5e , 0x79 , 0x71 ;uchar num1,num2,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);

3、void main() TMOD=0x01;/設(shè)定定時器0工作方式1 TH0=(65536-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) n

4、ums+; if (nums=24) nums=0; while(!key1);display(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; whi

5、le(!key4); display(m,m1,f,f1,s,s1); */ void keyscan1() 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) dingsh

6、i=0; while(!key3);/ display(m,m1,f,f1,s,s1); 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)/鬧鐘顯示函數(shù) nf=numnf%10; nf1=numnf/10; ns=numns%10; ns1=numns/10;/* wela=

7、1; P0=0xc0;/送位選數(shù)據(jù) wela=0; P0=0xff;*/ dula=1; P0=tablens1; dula=0; P0=0xff; 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; wel

8、a=1; P0=0xf7; wela=0; delay(1); void display(uchar m,uchar m1,uchar f,ucharf1,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;

9、wela=1; P0=0xfe; wela=0; delay(1); dula=1; P0=tables|0x80; dula=0; P0=0xff; 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; s1=nums/10; i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論