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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機鍵盤掃描顯示匯編源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:568296 發表于 2019-6-20 20:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這次做的單片機 鍵盤掃描顯示匯編源碼
一、實驗目的
  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;  延時子程序
  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  個八段管
  15. MOV R2, #00100000B ;  從左邊開始顯示
  16. Loop:
  17. MOV DPTR, #8002H
  18. MOV A, #00H
  19. MOVX @DPTR, A;  關所有八段管
  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 ;  讀入鍵狀態
  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 ;  無鍵入,  繼續顯示
  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
復制代碼


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


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 做a视频在线观看 | 国产精品日韩一区 | 欧美日韩精品一区 | 午夜在线视频 | 久久电影一区 | av黄色在线| 亚洲一区二区久久久 | 99九九视频 | 日韩在线 | 黄色视频a级毛片 | 男插女下体视频 | 国产精品国产三级国产aⅴ无密码 | 欧美日韩国产一区二区 | 一二三区视频 | 精品三级在线观看 | 国产精品99久久久久久宅男 | 动漫www.被爆羞羞av44 | 伊色综合久久之综合久久 | 中文字幕第十五页 | 久久精品二区 | 日本久久久久久久久 | 91在线网站| 天天躁人人躁人人躁狂躁 | 91精品国产91久久久久久不卞 | 国产a级毛片 | 国产一区二区三区在线 | h视频在线观看免费 | 久在草| www国产成人免费观看视频,深夜成人网 | 国产一级片在线观看视频 | 午夜影晥 | 国产精品九九九 | 国产欧美性成人精品午夜 | 国产欧美一区二区久久性色99 | 91在线视频免费观看 | 99视频在线 | 欧美午夜一区 | 国产中文在线 | 日韩成人在线观看 | 国产视频久久 | aaaaaa大片免费看最大的 |