欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 求救啊,明天要交了~~~~(>_<)~~~~ [打印本頁]

作者: xuexizhiyong    時間: 2012-11-6 18:35
標題: 求救啊,明天要交了~~~~(>_<)~~~~

MAIN: CLR  P1.4

      MOV R4,#00H;初始化按鍵值

LOOP: MOV R0,#00H;掃描計數器

NEXT: SETB P1.5

      CLR  P1.6;初始化HC138輸入信號,選中U4

      MOV P2,#0FFH;關顯示

      MOV A,R4 

      MOV DPTR,#DISPCODE

      MOVC A,@A+DPTR;查找顯示內容

      MOV P0,A;將查到的顯示內容送P0

      SETB P1.7

      CLR  P1.7;P0口數據鎖存到U4

      MOV A,R0

      MOV DPTR,#SCAN

      MOVC A,@A+DPTR;查找位掃描數據

      MOV P2,A;位掃描數據送P2

      ACALL DELAY

      CLR  P1.5

      SETB P1.6

      SETB P1.7;選通HC244U6

      MOV A,P0;讀取按鍵狀態

      CPL A

      CLR P1.7;

      CJNE A,#00H,KEY;判斷是否有鍵按下

      AJMP NOKEY;無鍵按下則不處理鍵值

KEY:  MOV R2,#00H;按鍵所在的列號清零

      CLR C;清除CY

MVBIT:RRC A

      INC  R2

      JNC MVBIT;循環移位,以獲取按鍵所在的列號

      MOV A,R0;當前掃描的行號

      MOV B,#08H

      MUL AB;行號乘

      ADD A,R2;行列組合,得到按鍵值

      MOV R4,A;保存按鍵值

NOKEY:INC R0

      CJNE R0,#06H,NEXT;判斷位數碼管是否掃描完一次,沒掃描完則繼續

      AJMP LOOP;掃描完一次盡行下一次掃描

      

SCAN:  DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH;位掃描數據

DISPCODE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H;1,2,3,4,5,6,的顯示碼

          DB 0F8H,80H,90H,88H,83H,0C6H;7,8,9,A,B,C

          DB 0A1H,86H,8EH,0BFH;D,E,F,-

DELAY:       MOV R3,#01H;延時

LOOP2:       MOV R1,#0FFH

LOOP1:       DJNZ R1,LOOP1

             DJNZ R3,LOOP2

             RET

             END

3、將程序修改為按鍵時在LED上循環顯示所按鍵值(按第一個鍵時,第一個LED顯示對應鍵值,按第二個鍵時,第二個LED顯示對應鍵值,。。。,按第七個鍵時,第一個LED顯示對應鍵值,按第八個鍵時,第二個LED顯示對應鍵值。。。)

用了74HC13,,74HC574,8*2鍵盤接有緩沖器






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1