|
兩位數(shù)碼管顯示按鍵的按下的次數(shù),從0-99,按鍵按到99后下一次清零,適合剛接觸單片機(jī)的同學(xué)。內(nèi)容包含keil+Proteus
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
protues.png (9.28 KB, 下載次數(shù): 55)
下載附件
2019-4-4 09:28 上傳
單片機(jī)源程序如下:
- /*兩位靜態(tài)數(shù)碼管顯示按鍵次數(shù)*/
- //頭文件
- #include "reg51.h"
- /* 定義 uint uchar */
- typedef unsigned int uint;
- typedef unsigned char uchar;
- uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,
- 0x92,0x82,0xf8,0x80,0x90}; //0~9的數(shù)組 (共陽(yáng)極)
- sbit key = P1^0; //定義按鍵
- void Delay_ms(uint z); //聲明延時(shí)函數(shù)
- void main(void) //主函數(shù)
- {
- uint i;
- while(1)
- {
- if(key == 0) //判斷按鍵是否按下
- {
- Delay_ms(10); //延時(shí)10ms
- if(key == 0) //再次判斷
- {
- i++; //按鍵次數(shù)
- while(key == 0); //判斷是否松開按鍵
- if(i == 100) i=0; //如果到達(dá)99,下一次回到0
- }
- }
- P2 = table[i/10]; //顯示十位
- P3 = table[i%10]; //顯示各位
- }
- }
- void Delay_ms(uint z) //延時(shí)函數(shù)
- {
- while(z--) //@12.000MHz
- {
- unsigned char i, j;
-
- i = 2;
- j = 239;
- do
- {
- while (--j);
- } while (--i);
- }
- }
復(fù)制代碼
keil.png (27.6 KB, 下載次數(shù): 54)
下載附件
2019-4-4 09:28 上傳
所有資料51hei提供下載:
兩位靜態(tài)數(shù)碼管顯示獨(dú)立按鍵的次數(shù).rar
(54.84 KB, 下載次數(shù): 29)
2019-4-4 09:28 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
有什么單片機(jī)的問(wèn)題大家也可以留言評(píng)論!
|
評(píng)分
-
查看全部評(píng)分
|