仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (19.08 KB, 下載次數: 68)
下載附件
2017-12-9 22:10 上傳
單片機源程序如下:
- #include <AT89X51.H>
- unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,
- 0x6d,0x7d,0x07,0x7f,0x6f}; //0-9顯示代碼
- unsigned char Count;
- void delay10ms(void) //延時10ms函數
- {
- unsigned char i,j;
- for(i=20;i>0;i--)
- for(j=248;j>0;j--);
- }
- void main(void)
- {
- Count=0;
- P0=table[Count/10]; //定義P0口為十位顯示位
- P2=table[Count%10]; //定義P2口為個位顯示位
- while(1)
- {
- if(P3_7==0) //查詢P3.7為0則延時
- {
- delay10ms(); //調用延時函數
- if(P3_7==0) //延時后再查詢P3.7腳,以去抖動.如確實為0,則計數加1
- {
- Count++;
- if(Count==100) //查詢計數是否到100,如果到則清零
- {
- Count=0;
- }
- P0=table[Count/10];
- P2=table[Count%10];
- while(P3_7==0);
- }
- }
- }
- }
復制代碼
所有資料51hei提供下載:
10 0-99計數器.rar
(22.47 KB, 下載次數: 15)
2017-12-9 20:21 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|