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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4110|回復: 0
打印 上一主題 下一主題
收起左側

數碼管顯示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:                                    ; 循環調用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循環右移并賦給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;移位循環判斷最低位,為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)



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日本在线观看 | 波多野结衣一区二区三区 | 国产精品久久久久无码av | 国产9久| 精品久久久久久久久久久久久久 | 婷婷综合色 | 国产一区二区在线免费观看 | 国产成人精品久久二区二区 | 国产精品777一区二区 | 国产精品乱码一二三区的特点 | 久久综合影院 | 国产精品久久久久久久久婷婷 | 成人国产精品入口免费视频 | 久久婷婷色 | 久久国产秒| 一区中文字幕 | 免费在线观看一区二区三区 | 欧美日韩久久久久 | 精品视频在线观看 | 国产精品视屏 | 国产视频中文字幕在线观看 | 欧美1区 | 亚洲 中文 欧美 日韩 在线观看 | 一区二区三区四区不卡视频 | 拍拍无遮挡人做人爱视频免费观看 | 91精品一区| 正在播放国产精品 | 精品久久久精品 | 99久久精品免费看国产免费软件 | 日韩精品久久 | 欧美一卡二卡在线观看 | 91麻豆精品国产91久久久更新资源速度超快 | 国产欧美在线观看 | 亚洲精品在线免费播放 | 国产乱码精品一区二区三区忘忧草 | 亚洲国产精品成人久久久 | 综合精品| 国产成人免费视频网站高清观看视频 | 免费在线观看黄色av | 男人的天堂久久 | 国产日韩欧美一区 |