1 作業(yè)回顧
作業(yè)
2 獨立鍵盤概念
s2 s3 s4 s5 為獨立鍵盤與P3^0 P3^1 P3^2 P3^3 相連接
s2 = 0 就是s2被按下的意思
3 程序編寫
1先寫個簡單的
要求 按下s2按鍵 led點亮,再次按下熄滅
代碼
s2按鍵
分析:
1
sbit S2 =P3^4;
在板子的原理圖中,S2 接的是P3.4口不要寫錯了
2
假如S2 被按下,如果10ms后還是按下的
其中的語句delay(10) 學名叫去抖延時
還有while(!S2)分析以下
假如S2被按下,則!S2 = 1 就一直執(zhí)行空語句;假如S2松開則可以往下執(zhí)行。
2 來個復雜點的
1 要求:用數(shù)碼管的前兩位顯示一個十進制數(shù),變化范圍為00到59
按鍵功能: S2 按下數(shù)值加一
S3 按下數(shù)值減一
S4 按下數(shù)值清零
S5 按下后啟動自加每秒加一,再次按下后暫停并顯示數(shù)值
2 代碼:
鍵盤2
3 分析下:
要完成自加,需要定時器,我們需要寫一個中斷程序;
我建議寫代碼時用notepad,可以寫的很清晰明白
這里我將代碼主要寫了7大塊;看上去就清晰明白了許多吧。下面我們主要看幾塊代碼
1
初始化函數(shù)的作用是選定定時器0工作模式1 并打開開關總斷和定時器0中斷
2
顯示函數(shù)
P0 = 0xfe; // 1111 1110 第一位數(shù)碼管 對應十位
P0 = 0xfd // 1111 1101 第二位數(shù)碼管 對應個位
3 鍵盤塊代碼
對S2 功能是加一 但假如加滿到60時將其置零
S3 功能是減一 ,先判斷是否位0;為零置60
S4 功能清零
S5 S5是按下一次開始,在按下一次暫停,所以先while(!S5)
先判斷S5是否按完畢了,一但手從S5按鍵拿開,就開始自加或暫停。
4 主函數(shù)
套個大循環(huán),讓他一直掃描鍵盤并顯示即可。
5 中斷
每一次中斷時,先填值,保證每次定時都是50ms
每20個50ms 即1s,將numt0置零,num+1;num會用于顯示函數(shù)中
假如大于59 將其置0;