久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 數碼管顯示4x4鍵盤的鍵號的單片機匯編程序與仿真 [打印本頁]

作者: a1127137479    時間: 2017-10-21 01:33
標題: 數碼管顯示4x4鍵盤的鍵號的單片機匯編程序與仿真
數碼管顯示4x4鍵盤的鍵號仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)

目錄..................................................................................................................................................1
數碼管顯示4x4矩陣鍵盤的鍵號    2
摘要    2
    關鍵詞    2
第一章 硬件    2
AT89C51    2
4*4鍵盤    6
第二章 軟件    9
    KEIL4    9
   匯編程序    10
   Proteus    15
   仿真電路圖    17
第三章 實物    17
   材料    17
   實物展示    18
第四章 課程設計心得    19
參考文獻    20


單片機源程序(匯編語言)如下:
  1. scan_code EQU 30H
  2.           ORG 0000H
  3.                   JMP start
  4.                   ORG 0030H
  5. start:   
  6.           MOV P0,#0FFH ;初始化p0口,使輸出無顯示
  7. loop:                                    ; 循環(huán)調用read—key獲取鍵盤信息,若鍵盤按下,
  8.          CALL read_key        ; 則用R7返回鍵值信息
  9.          CJNE R7,#0FFH,next         ; 若R7返回值不為0xff,則調用顯示函數
  10.                   JMP loop
  11. next:                                             ;顯示程序
  12.           MOV A,R7
  13.                   MOV DPTR,#disp_code
  14.                  MOVC A,@A+DPTR
  15.                   MOV P0,A
  16.                   JMP loop
  17. read_key:
  18.           MOV scan_code,#7FH
  19.                   MOV P1,#0FH
  20.                   MOV A,P1
  21.                   MOV R7,#0FFH
  22.                  CJNE A,#0FH,wait_key   ;鍵盤按下則p1的值會改變
  23.                   JMP end_key
  24. wait_key:
  25.          CALL delay_10ms        ;延時10ms,若p1口仍右鍵按下,則跳到scan—key
  26.                   MOV A,P1
  27.                   MOV R7,#0FFH
  28.                   MOV R6,#4
  29.                  CJNE A,#0FH,scan_key
  30.                   JMP end_key
  31. scan_key:
  32.           MOV P1,scan_code       ;將0x7f循環(huán)右移并賦給P1
  33.                   MOV A,P1
  34.                  CJNE A,scan_code,get_key;p1的值改變則確定出其行數
  35.                    RR A
  36.                   MOV scan_code,A
  37.                  DJNZ R6,scan_key
  38.                   JMP end_key
  39. get_key:
  40.    ;       MOV P1,#0FH
  41.         ;          MOV R1,P1
  42.         ;         CJNE R1,#0FH,$
  43.                   MOV R7,#4
  44. get_key0:
  45.           JNB ACC.0,add_r6;移位循環(huán)判斷最低位,為0則確定其列數
  46.                    RR A
  47.                  DJNZ R7,get_key0
  48.                   MOV R7,#0FFH
  49.                   JMP end_key
  50. add_r6:
  51.           DEC R6        ;從第0個鍵盤數起,數滿(R6-1)*4個鍵盤,再加上第R6行
  52.                   MOV A,R6      ;的列數R7-1,便得第幾個鍵盤按下
  53.                   MOV B,#4
  54.                   MUL AB
  55.                   DEC R7
  56.                   ADD A,R7
  57.                   MOV R7,A
  58. end_key:
  59.           RET
  60. delay_10ms:
  61.           MOV R7,#10
  62. delay0:
  63.           MOV R6,#0FAH
  64. delay1:
  65.           NOP                    ;   1us
  66.                   NOP                        ;  1us
  67. ……………………

  68. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼



所有資料51hei提供下載:
數碼管顯示4x4矩陣鍵盤的鍵號.zip (354.64 KB, 下載次數: 32)








歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美国产激情二区三区 | 91精品国产一区二区三区 | 亚洲二区视频 | 国产传媒在线观看 | 福利视频二区 | 久久激情视频 | 亚洲男人网 | 视频一区二区三区中文字幕 | www.黄网| 成人国产精品久久久 | 欧美精品1区2区 | 欧美美女爱爱 | 黄色小视频大全 | 精品久久久久久 | 免费观看a级毛片在线播放 黄网站免费入口 | 99riav国产一区二区三区 | 免费一看一级毛片 | 色资源站| 亚洲一区中文 | 日韩欧美国产一区二区 | 免费精品久久久久久中文字幕 | 秋霞在线一区二区 | 亚洲一区二区三区在线播放 | 久久国产精品99久久久久久丝袜 | 精品在线99 | 久久久美女 | 一本大道久久a久久精二百 国产成人免费在线 | caoporn国产精品免费公开 | 精品久久av | 国产精品欧美日韩 | 羞羞网站在线免费观看 | 超碰在线97国产 | 久久99网| 中文字幕av一区二区三区 | 欧美精品一区在线发布 | av一区二区在线观看 | 亚洲视频在线播放 | 亚洲国产网 | 亚洲精品乱码久久久久久按摩观 | jdav视频在线观看免费 | 视频一区二区三区中文字幕 |