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

標(biāo)題: 單片機(jī)鍵盤掃描顯示匯編源碼 [打印本頁]

作者: 趙子龍OL    時(shí)間: 2019-6-20 20:47
標(biāo)題: 單片機(jī)鍵盤掃描顯示匯編源碼
這次做的單片機(jī) 鍵盤掃描顯示匯編源碼
一、實(shí)驗(yàn)?zāi)康?div id="nrjzhdrpvdvp" class="blockcode">
  1. ORG 0000H
  2. AJMP MAIN
  3. LEDMAP:
  4. DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H
  5. DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H
  6. ;  八段管顯示碼
  7. Delay: MOV R6, #01H;  延時(shí)子程序
  8. Delay1:MOV R7, #00H
  9. Delay2:DJNZ R7, Delay2
  10. DJNZ R6, Delay1
  11. RET
  12. DisplayLED:
  13. MOV R0, #60H
  14. MOV R1, #06H ; 共 共 6  個(gè)八段管
  15. MOV R2, #00100000B ;  從左邊開始顯示
  16. Loop:
  17. MOV DPTR, #8002H
  18. MOV A, #00H
  19. MOVX @DPTR, A;  關(guān)所有八段管
  20. MOV A, @R0
  21. MOV DPTR, #8004H ;  段控制口
  22. MOVX @DPTR, A
  23. MOV DPTR, #8002H ;  位控制口
  24. MOV A, R2
  25. MOVX @DPTR,A ; 顯示一位八段管
  26. ACALL Delay
  27. MOV A, R2 ;  顯示下一位
  28. RR A
  29. MOV R2,A
  30. INC R0
  31. DJNZ R1, Loop
  32. RET
  33. TestKey:
  34. MOV DPTR, #8002H
  35. MOV A, #00H
  36. MOVX @DPTR, A;  輸出線置為 0
  37. MOV DPTR, #8001H
  38. MOVX A, @DPTR ;  讀入鍵狀態(tài)
  39. CPL A
  40. ANL A, #0FH ;  高四位不用
  41. RET
  42. KeyTable: ;  鍵碼定義
  43. DB 16H, 15H, 14H, 0FFH
  44. DB 13H, 12H, 11H, 10H
  45. DB 0DH, 0CH, 0BH, 0AH
  46. DB 0EH, 03H, 06H, 09H
  47. DB 0FH, 02H, 05H, 08H
  48. DB 00H, 01H, 04H, 07H
  49. GetKey:
  50. MOV DPTR, #8002H
  51. MOV R1, #00100000B
  52. MOV R2, #06H
  53. KLoop:
  54. MOV A, R1 ;  找出鍵所在列
  55. CPL A
  56. MOV DPTR, #8002H
  57. MOVX @DPTR, A
  58. CPL A
  59. RR A
  60. MOV R1,A ;  下一列
  61. MOV DPTR, #8001H
  62. MOVX A, @DPTR
  63. CPL A
  64. ANL A, #0FH
  65. JNZ Goon1 ;  該列有鍵入
  66. DJNZ R2, KLoop
  67. MOV R2, #0FFH ;  沒有鍵按下,
  68. 回 返回 0FFH
  69. AJMP Exit
  70. Goon1:
  71. MOV R1,A; 值 鍵值 = 列 列 *4 + 行 行
  72. MOV A, R2
  73. DEC A
  74. RL A
  75. RL A
  76. MOV R2, A ; R2 = (R2-1)*4
  77. MOV A, R1 ; R1  中為讀入的行值
  78. MOV R1, #04H
  79. LoopC:
  80. RRC A ;  移位找出所在行
  81. JC Exit
  82. INC R2 ; R2 =R2+  行值
  83. DJNZ R1, LoopC
  84. Exit:
  85. MOV A, R2 ;  取出鍵碼
  86. MOV DPTR, #KeyTable
  87. MOVC A, @A+DPTR
  88. MOV R2, A
  89. WaitRelease:
  90. MOV DPTR, #8002H ;  等鍵釋放
  91. CLR A
  92. ACALL TestKey
  93. JNZ WaitRelease
  94. MOV A, R2
  95. RET
  96. MAIN:
  97. MOV 60H, #0FFH ; 示 顯示 8.8.8.8.
  98. MOV 61H, #0FFH
  99. MOV 62H, #0FFH
  100. MOV 63H, #0FFH
  101. MOV 64H, #00H
  102. MOV 65H, #00H
  103. MLoop: ACALL DisplayLED ;  顯示
  104. ACALL TestKey ;  有鍵入?
  105. JZ MLoop ;  無鍵入,  繼續(xù)顯示
  106. ACALL GetKey ;  讀入鍵碼
  107. ANL A, #0FH ;  顯示鍵碼
  108. MOV DPTR, #LEDMap
  109. MOVC A, @A+DPTR
  110. MOV 65H,A
  111. LJMP MLoop
  112. END
復(fù)制代碼

1 .掌握鍵盤和顯示器的接口方法和編程方法
2 .掌握鍵盤掃描和數(shù)碼管顯示器的工作原理
二、 實(shí)驗(yàn)內(nèi)容
利用實(shí)驗(yàn)儀上的鍵盤掃描電路和顯示電路 , 做一個(gè)掃描鍵盤和數(shù)碼顯示實(shí)驗(yàn) , 把按鍵
輸入的鍵碼在六位數(shù)碼管上顯示出來。實(shí)驗(yàn)程序分為三個(gè)模塊:
① 鍵輸入模塊:掃描鍵盤、讀取一次鍵盤并將鍵值存入鍵值緩沖單元。
② 顯示模塊:將顯示單元的內(nèi)容在顯示器上動(dòng)態(tài)顯示。







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲一区二区久久 | 亚洲精品视频一区 | 亚洲视频在线看 | 亚洲自拍偷拍免费视频 | 91精品国产91久久久久久 | 国产高清一区二区 | 国产精品久久国产精品99 | 国产精品视频一区二区三区 | 久久精品福利视频 | 久久久婷婷 | 伊人超碰 | 第四色播日韩第一页 | a在线视频 | 午夜专区 | 欧美高清视频 | 亚洲欧美激情国产综合久久久 | 午夜视频网站 | 国产精品日韩在线观看 | 午夜小视频免费观看 | 丁香综合 | 国产激情三区 | 人人鲁人人莫人人爱精品 | 久草免费在线视频 | 妞干网视频 | 日本福利视频免费观看 | 日韩欧美日韩在线 | 天堂av在线影院 | 日韩欧美一级片 | 日日操夜夜摸 | 亚洲欧洲精品成人久久奇米网 | 国产区视频在线观看 | 91中文视频 | 在线看片国产精品 | 色综合网站| 欧美精品啪啪 | 成人在线不卡 | 欧美日本韩国一区二区三区 | 精品一二三 | 精品久久精品 | 天天干狠狠操 | 国产精品乱码一区二区三区 |