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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2718|回復(fù): 0
收起左側(cè)

單片機(jī)鍵盤(pán)掃描顯示匯編源碼

[復(fù)制鏈接]
ID:568296 發(fā)表于 2019-6-20 20:47 | 顯示全部樓層 |閱讀模式
這次做的單片機(jī) 鍵盤(pán)掃描顯示匯編源碼
一、實(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 ;  從左邊開(kāi)始顯示
  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 ;  沒(méi)有鍵按下,
  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 ;  無(wú)鍵入,  繼續(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 .掌握鍵盤(pán)和顯示器的接口方法和編程方法
2 .掌握鍵盤(pán)掃描和數(shù)碼管顯示器的工作原理
二、 實(shí)驗(yàn)內(nèi)容
利用實(shí)驗(yàn)儀上的鍵盤(pán)掃描電路和顯示電路 , 做一個(gè)掃描鍵盤(pán)和數(shù)碼顯示實(shí)驗(yàn) , 把按鍵
輸入的鍵碼在六位數(shù)碼管上顯示出來(lái)。實(shí)驗(yàn)程序分為三個(gè)模塊:
① 鍵輸入模塊:掃描鍵盤(pán)、讀取一次鍵盤(pán)并將鍵值存入鍵值緩沖單元。
② 顯示模塊:將顯示單元的內(nèi)容在顯示器上動(dòng)態(tài)顯示。


回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久亚洲天堂 | 五月天.com | 日韩一级黄色片 | 国产三级一区 | 奇米影视888 | 日韩精品片 | 日韩成人高清 | 成 人 黄 色 片 在线播放 | 高清乱码男女免费观看 | 成人在线观看网站 | 亚洲啪啪网 | 一区二区三区免费在线观看 | 国产久 | 欧美日韩91 | 国产中文字幕在线 | 国产精品一区久久 | 欧美日韩免费在线观看 | 色一情一乱一乱一区91av | 欧美性一区二区 | 香港三日本三级少妇66 | 日韩欧美高清视频 | 国产午夜在线 | 五月婷婷av | 在线免费观看黄色片 | 黄视频免费在线观看 | 欧美美女视频 | 超碰av在线播放 | 国产黄a三级三级看三级 | 亚洲成人毛片 | 欧美激情网 | 色婷婷免费视频 | 91精品国产日韩91久久久久久 | 久热精品在线观看 | 精品一区在线 | 亚洲综合免费 | 日韩小视频 | 黄色在线小视频 | 欧美日韩国产成人 | 伊人黄色 | 福利网站在线观看 | 亚洲国产精品久久久 |