按鍵修改單片機存儲器單元中的數據的實例(舉例)以上為參考的電路圖
假設單片機片內數據存儲器50H單元,為七段數碼管的顯示緩沖單元。按增1鍵,則七段數碼管的顯示緩沖單元的內容的值增1(0-1-2-3-...-9-0循環)
(1)增1鍵的處理子程序:
INC1: PUSH ACC ? ;堆棧保護? PUSH PSW
?SETB P2.1
LLN: ? JB ?P2.1,LLE ;無增1鍵按下,則轉LLE退出增1鍵的掃描子程序?
? LCALL ? YS ;有鍵按下 延時去抖
?JB ?P2.1,?LLE ? ;無增1鍵按下,則轉LLE退出增1鍵的掃描子程序?
LLC: ? MOV ?A,50H
?CJNE A,#09H,LLA ? ;判斷顯示緩沖單元內容如果是9? 則回零
?CLR ?A
? SJMP LLB
LLA: ? INC ? A ;顯示緩沖單元內容不是9? 則加1
LLB: ? MOV 50H,?A
?LCALL ?YS ;增1鍵延時
?SETB P2.1
?JNB ? P2.1,LLC ;增1鍵還在按下,則專LLC繼續使顯示緩沖單元內容增1
LLE: ? POP ?PSW ? ;否則? 退出
?POP ?ACC
?RET
?
YS: MOV R7,#200 ;延時子程序
YY: MOV R6,#200
SS: NOP
?NOP
?DJNZ R6,SS
?DJNZ R7,YY
?RET
(2)備註:? 如果在按鍵掃描子程序中 調用顯示程序 則可觀察增1鍵的修改顯示緩沖單元數值的效果。這裏我就不給出具體的代碼了。(剩下的該自己寫了)
感到滿意 有參考價值時 ?就給俺加分