欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
矩陣鍵盤按鍵顯示數字1-30匯編程序
[打印本頁]
作者:
daniu
時間:
2014-12-27 18:09
標題:
矩陣鍵盤按鍵顯示數字1-30匯編程序
;=================================================================
;程序編寫人:蘭建
;編寫地點:51hei培訓機構
;時間:6月4日上午星期四
;功能:矩陣鍵盤在P1口,利用反轉法讀取鍵值,16個獨立按鍵中的1-15號
;按鍵均有兩個功能,定義16號按鍵為功能鍵,按下不顯示任何數字,當按
;住這個案件不松,再按下1-15號按鍵時,數碼顯示16-30.
;=======================開始初始化================================
SHUCHU EQU P0 ;定義P0口為輸出口
PIANXUAN EQU P2 ;設置P2.0為片選
JIANPAN EQU P1 ;鍵盤接口
;========================程序開始================================
ORG 00H ;程序開始
JMP START ;跳到START
ORG 0030H ;入口地址
START:
MOV PIANXUAN,#05 ;片選
MOV SHUCHU,#0FFH ;上電默認不顯示
MOV R0,#00H ;順序碼清零
MOV 30H,#00H ;鍵值存儲單元清零
LOOP:
MOV JIANPAN,#0F0H ;把P1口高四位設為輸入,同時把低四位設為0
MOV A,JIANPAN ;讀P1口高四位列線
ANL A,#0F0H ;屏蔽低四位
MOV B,A ;保存高四位列線
MOV JIANPAN,#0FH ;把P1口低四位設為輸入,同時把高四位設為0
MOV A,JIANPAN ;讀取P1口低四位行線
ANL A,#0FH ;屏蔽高四位
ORL A,B ;列線和行線合并
CJNE A,#0FFH,KEY ;判斷是否右鍵按下,右則跳到按鍵處理
JMP LOOP ;沒有返回繼續查詢
KEY:
MOV 30H,A ;保存鍵值
MOV DPTR,#TAB1 ;指向鍵值表
MOV R0,#0FFH ;FF+1=0所以R0里面放FF,既可以顯示0
L1:
INC R0 ;順序碼加1
MOV A,R0 ;
MOVC A,@A+DPTR ;查鍵值表
CJNE A,#77H,L2 ;判斷是否鍵值為表格最后一個
JMP LOOP ;相等表示沒按鍵按下或者查到最后了,返回重新查詢
L2:
CJNE A,30H,L1
CALL JISUAN ;計算處理分離十位和個位
CALL DISPLAY ;動態顯示十位和個位
JMP LOOP ;返回、重新查詢
;========================計算子程序=========================
;輸入:30H
;輸出:"A和B"
;實現的功能:把30H的數據的十位和個位分離出來
;============================================================
JISUAN:INC R0
MOV A,R0 ;數據放在A中
MOV B,#10 ;除數放在B中
DIV AB ;商放在A中,余數放在B中
RET
;========================顯示子程序==========================
;輸入:"A"
;輸出:"P0口"
;實現的功能:把A的數輸出到P0口顯示,十位和個位分開顯示
;============================================================
DISPLAY:MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV SHUCHU,A ;顯示十位
MOV PIANXUAN,#02H ;片選
CALL DELAY
MOV SHUCHU,#0FFH
MOV A,B
MOVC A,@A+DPTR
MOV SHUCHU,A ;顯示個位
MOV PIANXUAN,#03H ;片選
CALL DELAY ;延時
MOV SHUCHU,#0FFH
RET
;========================延時程序============================
;輸入;無
;輸出: 無
;實現的功能:延時一段時間
;============================================================
DELAY:
MOV R6,#80
L7:MOV R5,#80
DJNZ R5,$
DJNZ R6,L7
RET
;=======================共陽查表數據==============================
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H, 82H,0F8H,80H,90H ;0-9共陽極數據
;=======================共陽查表數據==============================
TAB1:DB 0EEH,0DEH,0BEH,07EH,0EDH,0DDH,0BDH,07DH
DB 0EBH,0DBH,0BBH,07BH,0E7H,0D7H,0B7H ;反轉描碼表
DB 66H,56H,36H,76H,65H,55H,35H,75H,63H
DB 53H,33H,73H,67H,57H,37H,77H
;=========================程序結束================================
END
復制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1