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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3681|回復: 0
收起左側

這是我編的用小鍵盤(8279)控制步進電機的匯編程序

[復制鏈接]
ID:112317 發表于 2016-4-6 21:54 | 顯示全部樓層 |閱讀模式

這是我編的用小鍵盤(8279)控制步進電機的匯編程序
  1. Z8279 EQU 212H
  2. D8279 EQU 210H
  3. D8251 EQU 228H
  4. Z8251 EQU 22aH
  5. LEDMOD EQU 00 ;左邊輸入,八位顯示外部譯碼八位顯示
  6. LEDFEQ EQU 38H ;掃描頻率
  7. STACK SEGMENT STACK
  8. STA DW 512 DUP (?)
  9. TOP EQU LENGTH STA
  10. STACK ENDS
  11. DATA SEGMENT
  12. LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H
  13. DB 5EH,79H,71H
  14. MESS1 DB 0DH,0AH,0DH,0AH
  15. DB ' Speed-----Press 1~F',0DH,0AH
  16. DB ' Direction-----Press + OR -',0DH,0AH
  17. DB ' ESC-----Press 0',0DH,0AH,'



  18. MESS2 DB 0dh,' Dir Now----','



  19. SPDLY DB 1
  20. DIRE DB '+'
  21. DATA ENDS
  22. CODE SEGMENT
  23. ASSUME CS:CODE,DS:DATA,SS:STACK
  24. START: MOV AX,STACK ;初始化
  25. MOV SS,AX
  26. MOV SP,TOP
  27. MOV AX,DATA
  28. MOV DS,AX
  29. MOV DX,20BH ;8255初始化
  30. MOV AL,80H
  31. OUT DX,AL
  32. MOV CX,100
  33. LOOP $
  34. MOV CX,05H
  35. NEXT:PUSH CX
  36. MOV DX,Z8251          ;初始化8251
  37. MOV AL,00H
  38. OUT DX,AL
  39. MOV CX,04H
  40. LOOP $
  41. OUT DX,AL
  42. MOV CX,04H
  43. LOOP $
  44. OUT DX,AL
  45. MOV CX,04H
  46. LOOP $
  47. MOV AL,40H
  48. OUT DX,AL
  49. MOV CX,100
  50. LOOP $
  51. MOV AL,0CEH           ;異步方式,設置為8個數據位,兩個停止位波特率因子為16
  52. OUT DX,AL             ;無奇偶校驗位
  53. MOV CX,100
  54. LOOP $
  55. MOV AL,25H            ;設為請求發送,允許發送,允許接收狀態
  56. OUT DX,AL
  57. MOV CX,100
  58. LOOP $
  59. POP CX
  60. LOOP NEXT
  61. NOP               
  62. MOV DX,Z8279
  63. MOV AL,LEDMOD
  64. OUT DX,AL
  65. MOV AL,LEDFEQ
  66. OUT DX,AL
  67. MOV DX,D8279
  68. MOV AL,7FH
  69. OUT DX,AL
  70. MOV DX,D8279
  71. MOV AL,7FH
  72. OUT DX,AL
  73. MOV DX,D8279
  74. MOV AL,7DH
  75. OUT DX,AL
  76. MOV DX,D8279
  77. MOV AL,7FH
  78. OUT DX,AL
  79. MOV DX,D8279
  80. MOV AL,70H
  81. OUT DX,AL
  82. MOV DX,D8279
  83. MOV AL,5EH
  84. OUT DX,AL
  85. MOV DX,D8279
  86. MOV AL,79H
  87. OUT DX,AL
  88. MOV DX,D8279
  89. MOV AL,77H
  90. OUT DX,AL ;以上為寫(AEDK8688)
  91. NOP
  92. BG:MOV DX,Z8279
  93. MOV AL,0C2H
  94. OUT DX,AL ;置空FIFO寄存器
  95. PUSH DX
  96. LEA DX,MESS1 ;顯示信息1
  97. MOV AH,09H
  98. INT 21H
  99. LEA DX,MESS2
  100. MOV AH,09H
  101. INT 21H
  102. MOV DL,DIRE ;顯示方向信息
  103. MOV AH,06H
  104. INT 21H
  105. POP DX
  106. WAIIT:MOV AH,0BH
  107. INT 21H
  108. CMP AL,0FFH;有鍵輸入則為0FFH
  109. JNE WAT;無鍵入轉
  110. L3:MOV AH,08H
  111. INT 21H
  112. L4:CMP AL,'+'
  113. JE L0
  114. CMP AL,'-'
  115. JE L1
  116. CMP AL,'9'
  117. JNA DA
  118. SUB AL,37H
  119. CMP AL,0AH
  120. Jb WAIIT
  121. CMP AL,0FH
  122. Ja WAIIT
  123. JMP JIAN
  124. DA: SUB AL,30H
  125. CMP AL,00H
  126. JB WAT
  127. JMP PAN
  128. WAT:NOP
  129. IN AL,DX
  130. MOV BL,AL
  131. AND AL,80H
  132. CMP AL,80H
  133. JE WAT ;FIFO正在清除期間則跳轉等待
  134. MOV AL,BL
  135. AND AL,0FH
  136. CMP AL,00H
  137. JE WAIIIT ;無鍵按下轉
  138. BG3:MOV DX,Z8279
  139. MOV AL,40H ;寫 讀FIFO RAM命令字
  140. OUT DX,AL
  141. MOV DX,D8279 ;讀入FIFO RAM內容
  142. IN AL,DX
  143. NOP
  144. JMP PAN
  145. WAIIIT:PUSH DX
  146. MOV DX,Z8251
  147. MOV AH,02H
  148. IN AL,DX             ;有數據送到嗎?
  149. AND AL,AH
  150. JZ WAIIT               ;讀入寄存器空,沒有數據送到則跳轉至發送
  151. L5:MOV DX,D8251          ;有數據送到則從數據緩沖區讀入
  152. IN AL,DX
  153. JMP L4               
  154. PAN:CMP AL,00H ;是結束符則結束
  155. JZ AK
  156. JIAN:MOV BL,AL ; 查表,將鍵碼放入AL中
  157. CMP AL,0fH;速度不在1~15之間
  158. JA BG1
  159. MOV SPDLY,AL;
  160. JMP BB0
  161. L4:JMP BG
  162. BG1: CMP AL,13H ;方向控制鍵
  163. JE L0
  164. CMP AL,12H
  165. JNE L4
  166. L1:MOV DIRE,'-'
  167. JMP BG2
  168. L0:MOV DIRE,'+'
  169. BG2:push dx
  170. LEA DX,MESS2
  171. MOV AH,09H
  172. INT 21H
  173. MOV DL,DIRE;顯示方向信息
  174. MOV AH,06H
  175. INT 21H
  176. POP DX
  177. MOV    DX,Z8279          ;清FIFO RAM寄存器
  178. MOV    AL,0C2H
  179. OUT    DX,AL
  180. JMP BB1
  181. L2:JMP L3
  182. BB0: mov cx,08h
  183. mov al,00h
  184. clear: MOV DX,D8279
  185. out dx,al
  186. loop clear
  187. mov dx,z8279
  188. mov al,83h
  189. out dx,al
  190. MOV AL,BL
  191. LEA BX,LED
  192. XLAT
  193. MOV DX,D8279 ;將AL中內容寫到數碼管上
  194. OUT DX,AL
  195. MOV    DX,Z8279          ;清FIFO RAM寄存器
  196. MOV    AL,0C2H
  197. OUT    DX,AL
  198. JMP BB1
  199. AK: JMP FINI
  200. BG4:JMP BG3
  201. L6:JMP L5
  202. BB1: MOV AH,0BH              ;判斷PC機是否有鍵按下
  203. INT 21H
  204. CMP AL,0FFH
  205. JE L2
  206. MOV DX,Z8279
  207. IN AL,DX
  208. NOP
  209. AND AL,0FH
  210. CMP AL,00H
  211. JNE BG4
  212. MOV DX,Z8251
  213. MOV AH,02H
  214. IN AL,DX             ;有數據送到嗎?
  215. AND AL,AH
  216. JNZ L6            
  217. XOR CX,CX
  218. MOV CL,SPDLY
  219. CALL DELAY
  220. MOV DX,208H
  221. MOV AL,00000001B
  222. OUT DX,AL
  223. CMP DIRE,'+' ;控制轉向
  224. JNE BB2
  225. XOR CX,CX
  226. MOV CL,SPDLY
  227. CALL DELAY
  228. MOV DX,208H
  229. MOV AL,00000010B
  230. OUT DX,AL
  231. XOR CX,CX
  232. MOV CL,SPDLY
  233. CALL DELAY
  234. MOV DX,208H
  235. MOV AL,00000100B
  236. OUT DX,AL
  237. XOR CX,CX
  238. MOV CL,SPDLY
  239. CALL DELAY
  240. MOV DX,208H
  241. MOV AL,00001000B
  242. OUT DX,AL
  243. JMP BB1
  244. BB2:XOR CX,CX
  245. MOV CL,SPDLY
  246. CALL DELAY
  247. MOV DX,208H
  248. MOV AL,00001000B
  249. OUT DX,AL
  250. XOR CX,CX
  251. MOV CL,SPDLY
  252. CALL DELAY
  253. MOV DX,208H
  254. MOV AL,00000100B
  255. OUT DX,AL
  256. XOR CX,CX
  257. MOV CL,SPDLY
  258. CALL DELAY
  259. MOV DX,208H
  260. MOV AL,00000010B
  261. OUT DX,AL
  262. JMP BB1
  263. FINI: MOV DX,Z8279 ;清FIFO寄存器并關蜂鳴器
  264. MOV AL,0C2H
  265. OUT DX,AL
  266. MOV AH,4CH
  267. INT 21H
  268. DELAY PROC NEAR
  269.       PUSH CX
  270.       MOV CX,80                           ;延時子程序
  271. DELAY1: PUSH CX
  272.       MOV CX,2000H
  273.       LOOP $
  274.       POP CX
  275.       LOOP DELAY1
  276.       POP CX
  277.       LOOP DELAY
  278.       RET
  279. DELAY ENDP
  280. CODE ENDS
  281. END START
復制代碼



回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 最新中文字幕一区 | 久久久国产一区 | 亚洲欧美中文日韩在线 | 日日草夜夜草 | 91精品国产综合久久久久久蜜臀 | 亚洲综合国产精品 | 久久婷婷香蕉热狠狠综合 | 欧美一级二级视频 | 涩涩视频网站在线观看 | 毛片日韩| 国产馆| 日韩毛片| 日本一区二区电影 | 国产精品a久久久久 | 99久久中文字幕三级久久日本 | 夜夜爽99久久国产综合精品女不卡 | 视频在线观看亚洲 | 色综合99| 国产小视频在线观看 | 日韩精品一区二区三区在线观看 | 久久精品国产99国产精品 | 亚洲欧美日韩网站 | 国产精品 亚洲一区 | 成年人网站免费 | 久久99精品久久 | 国产在线a| 97视频久久| 精品日韩一区二区 | 久久久高清| 久久久久久国产精品免费免费 | 毛片免费视频 | 97福利在线 | 大学生a级毛片免费视频 | 不卡在线视频 | 亚洲高清免费 | 韩日一区 | 久久精点视频 | 免费a级毛片在线播放 | 国内精品久久久久久久 | 在线欧美日韩 | 日本免费在线观看视频 |