資源簡介
基于AT89S52單片機數(shù)碼管顯示數(shù)字鐘(含proteus仿真)
轉(zhuǎn)載請標(biāo)明出處,并保持代碼完整。

代碼片段和文件信息
#include??
unsigned?char?code?dispcode[]={0x3f0x060x5b0x4f?
???????????????????????????????0x660x6d0x7d0x07?
???????????????????????????????0x7f0x6f0x770x7c?
???????????????????????????????0x390x5e0x790x710x40};//共陰數(shù)碼管編碼:0-f,最后是“-”
unsigned?char?dispbitcode[]={0x070x060x050x04?
?????????????????????????????0x030x020x010x00};?//位選端
unsigned?char?dispbuf[8]={0016001600};//初始狀態(tài):00-00-00
unsigned?char?dispbitcnt=0;?
unsigned?char?second=0;?
unsigned?char?minute=0;?
unsigned?char?hour;?
unsigned?int?tcnt;?
unsigned?char?mstcnt=0;??
unsigned?char?ij;?
sbit?P0_0=P0^0;
sbit?P0_1=P0^1;
sbit?P0_2=P0^2;
sbit?P0_7=P0^7;
sbit?P3_0=P3^0;
sbit?P3_4=P3^4;
void?main(void)?
{
??TMOD=0x02;?
??TH0=0x06;?
??TL0=0x06;?
??TR0=1;?
??ET0=1;?
??EA=1;?
??hour=0;
??P3_0=0;
??P0_7=0;
???while(1)?
????{?
?if(P0_0==0)?
????????{?
??????????for(i=10;i>0;i--)?
??????????for(j=248;j>0;j--);?
??????????if(P0_0==0)?
????????????{?
??????????????second++;?
??????????????if(second==60)?
????????????????{?
??????????????????second=0;?
????????????????}?
??????????????dispbuf[0]=second%10;?
??????????????dispbuf[1]=second/10;?
??????????????while(P0_0==0);?
????????????}?
????????}?
??????if(P0_1==0)?
????????{?
??????????for(i=10;i>0;i--)?
??????????for(j=248;j>0;j--);?
??????????if(P0_1==0)?
????????????{?
??????????????minute++;?
??????????????if(minute==60)?
????????????????{?
??????????????????minute=0;?
????????????????}?
??????????????dispbuf[3]=minute%10;?
??????????????dispbuf[4]=minute/10;?
??????????????while(P0_1==0);?
????????????}?
????????}?
??????if(P0_2==0)?
????????{?
??????????for(i=10;i>0;i--)?
??????????for(j=248;j>0;j--);?
??????????if(P0_2==0)?
????????????{?
??????????????hour++;?
??????????????if(hour==24)?
????????????????{?
??????????????????hour=0;?
????????????????}?
??????????????dispbuf[6]=hour%10;?
??????????????dispbuf[7]=hour/10;?
??????????????while(P0_2==0);?
????????????}?
????????}?
??
????}?
}?
void?t0(void)?interrupt?1?using?0?
{?
?
??mstcnt++;?
??
??if(mstcnt==8)?
????{?
??????mstcnt=0;?
??P3_0=1;
??????P2=dispcode[dispbuf[dispbitcnt]];?
??P3_0=0;
??????P1=dispbitcode[dispbitcnt];?
??????dispbitcnt++;?
??????if(dispbitcnt==8)?
????????{?
??????????dispbitcnt=0;
?
????????}?
????}?
??tcnt++;?
??if(tcnt==4000)?
????{?
??????tcnt=0;?
??????second++;
??if((second==54)&&(minute==59))
?????P3_4=0;
??if(second==59)
?????P3_4=1;?
??????if(second==60)?
????????{?
??????????second=0;?
??????????minute++;?
??if(minute==60)?
????????????{?
??
??????????????minute=0;
??hour++;?
??????????????if(hour==24)?
????????????????{?
??????????????????hour=0;?
????????????????}?
????????????}?
????????}?
??????dispbuf[0]=second%10;?
??????dispbuf[1]=second/10;?
??????dispbuf[3]=minute%10;?
??????dispbuf[4]=minute/10;?
??????dispbuf[6]=hour%10;?
??????dispbuf[7]=hour/10;?
????}?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4833??2009-07-08?09:19??基于AT89s52數(shù)碼管顯示數(shù)字鐘\474
?????文件???????1634??2009-07-08?09:19??基于AT89s52數(shù)碼管顯示數(shù)字鐘\474.hex
?????文件?????????40??2009-07-08?09:19??基于AT89s52數(shù)碼管顯示數(shù)字鐘\474.lnp
?????文件???????7434??2009-07-08?09:19??基于AT89s52數(shù)碼管顯示數(shù)字鐘\474.M51
?????文件???????1344??2009-10-06?17:06??基于AT89s52數(shù)碼管顯示數(shù)字鐘\474.Opt
?????文件????????182??2009-10-06?17:06??基于AT89s52數(shù)碼管顯示數(shù)字鐘\474.plg
?????文件???????2106??2009-07-08?09:20??基于AT89s52數(shù)碼管顯示數(shù)字鐘\474.Uv2
????.......??????1343??2009-10-05?20:02??基于AT89s52數(shù)碼管顯示數(shù)字鐘\474_Opt.Bak
?????文件?????108683??2009-07-09?00:55??基于AT89s52數(shù)碼管顯示數(shù)字鐘\Last?Loaded?方案三---單片機數(shù)字鐘.DBK
?????文件???????3032??2009-07-08?09:20??基于AT89s52數(shù)碼管顯示數(shù)字鐘\Text1.c
?????文件???????6068??2009-07-08?09:19??基于AT89s52數(shù)碼管顯示數(shù)字鐘\Text1.LST
?????文件???????5715??2009-07-08?09:19??基于AT89s52數(shù)碼管顯示數(shù)字鐘\Text1.OBJ
?????文件?????108902??2009-10-06?17:06??基于AT89s52數(shù)碼管顯示數(shù)字鐘\方案三---單片機數(shù)字鐘.DSN
?????文件????????742??2009-10-06?17:06??基于AT89s52數(shù)碼管顯示數(shù)字鐘\方案三---單片機數(shù)字鐘.PWI
?????目錄??????????0??2009-10-06?17:06??基于AT89s52數(shù)碼管顯示數(shù)字鐘
-----------?---------??----------?-----??----
???????????????252058????????????????????15
評論
共有 條評論