Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.36 KB | None | 0 0
  1. LJMP START
  2. P5 EQU 0F8H
  3. P7 EQU 0DBH
  4.  
  5. LCDstatus equ 0FF2EH
  6. LCDcontrol equ 0FF2CH
  7. LCDdataWR equ 0FF2DH
  8.  
  9. #define HOME 0x80
  10. #define INITDISP 0x38
  11. #define HOM2 0xc0
  12. #define LCDON 0x0e
  13. #define CLEAR 0x01
  14.  
  15. ORG 0100H
  16.  
  17. LCDcntrlWR MACRO x
  18. LOCAL loop
  19. loop: MOV DPTR, #LCDstatus
  20. MOVX A,@DPTR
  21. JB ACC.7,loop
  22.  
  23. MOV DPTR, #LCDcontrol
  24. MOV A,x
  25. MOVX @DPTR,A
  26. ENDM
  27.  
  28. LCDcharWR MACRO
  29. LOCAL tutu
  30. PUSH ACC
  31. tutu:
  32. MOV DPTR,#LCDstatus
  33. MOVX A,@DPTR
  34. JB ACC.7,tutu
  35.  
  36. MOV DPTR,#LCDdataWR
  37. POP ACC
  38. MOVX @DPTR,A
  39. ENDM
  40.  
  41. initLCD MACRO
  42. LCDcntrlWR #INITDISP
  43. LCDcntrlWR #CLEAR
  44. LCDcntrlWR #LCDON
  45. ENDM
  46.  
  47. putchar:
  48. LCDcharWR
  49. RET
  50.  
  51. putstring:
  52. CLR A
  53. MOVC A, @A+DPTR
  54. JZ EXIT
  55. PUSH DPH
  56. PUSH DPL
  57. CALL putchar
  58. POP DPL
  59. POP DPH
  60. INC DPTR
  61. SJMP putstring
  62. exit: RET
  63.  
  64. NOWALINIA:
  65. LCDcntrlWR #HOM2
  66. RET
  67.  
  68.  
  69. CZEKAJ:
  70. MOV A, #0FFH
  71. LOOP11:
  72. JZ FINISH1
  73. MOV R6, #0FFH
  74. MOV R6, A
  75. LOOP12:
  76. MOV A, #0FFH
  77. NEXT:
  78. JZ CONT
  79. DEC A
  80. JMP NEXT
  81. CONT:
  82. MOV A, R6
  83. DEC A
  84. JMP LOOP11
  85. MOV A, #0FFH
  86.  
  87.  
  88. FINISH1:
  89. RET
  90. START:
  91.  
  92. MOV DPH, #80H
  93. MOV DPL, #77H
  94. MOV A, #31H
  95. MOVX @DPTR, A
  96.  
  97. MOV DPH, #80H
  98. MOV DPL, #7BH
  99. MOV A, #32H
  100. MOVX @DPTR, A
  101.  
  102. MOV DPH, #80H
  103. MOV DPL, #7DH
  104. MOV A, #33H
  105. MOVX @DPTR, A
  106.  
  107. MOV DPH, #80H
  108. MOV DPL, #07EH
  109. MOV A, #41H
  110. MOVX @DPTR, A
  111. MOV DPH, #80H
  112. MOV DPL, #0B7H
  113. MOV A, #34H
  114. MOVX @DPTR, A
  115. MOV DPH, #80H
  116. MOV DPL, #0BBH
  117. MOV A, #35H
  118. MOVX @DPTR, A
  119. MOV DPH, #80H
  120. MOV DPL, #0BDH
  121. MOV A, #36H
  122. MOVX @DPTR, A
  123.  
  124. MOV DPH, #80H
  125. MOV DPL, #0BEH
  126. MOV A, #42H
  127. MOVX @DPTR, A
  128. MOV DPH, #80H
  129. MOV DPL, #0D7H
  130. MOV A, #37H
  131. MOVX @DPTR, A
  132. MOV DPH, #80H
  133. MOV DPL, #0DBH
  134. MOV A, #38H
  135. MOVX @DPTR, A
  136. MOV DPH, #80H
  137. MOV DPL, #0DDH
  138. MOV A, #39H
  139. MOVX @DPTR, A
  140.  
  141. MOV DPH, #80H
  142. MOV DPL, #0DEH
  143. MOV A, #43H
  144. MOVX @DPTR, A
  145.  
  146. MOV DPH, #80H
  147. MOV DPL, #0E7H
  148. MOV A, #2AH
  149. MOVX @DPTR, A
  150.  
  151. MOV DPH, #80H
  152. MOV DPL, #0EBH
  153. MOV A, #30H
  154. MOVX @DPTR, A
  155.  
  156. MOV DPH, #80H
  157. MOV DPL, #0EDH
  158. MOV A, #23H
  159. MOVX @DPTR, A
  160.  
  161. MOV DPH, #80H
  162. MOV DPL, #0EEH
  163. MOV A, #44H
  164. MOVX @DPTR, A
  165.  
  166.  
  167.  
  168. initLCD
  169. mov R7, #010H
  170.  
  171. FIRST:
  172. MOV R0, #7FH
  173. MOV A, R0
  174. MOV P5, A
  175. MOV A, P7
  176. ANL A, R0
  177. MOV R2, A
  178. CLR C
  179. SUBB A, R0
  180. JZ SECOND
  181.  
  182.  
  183. CALL CZEKAJ
  184.  
  185. MOV A, R2
  186. MOV DPH, #80H
  187. MOV DPL, A
  188. MOVX A, @DPTR
  189.  
  190. call putchar
  191. DEC R7
  192.  
  193. SECOND:
  194. MOV R0, #0BFH
  195. MOV A, R0
  196. MOV P5, A
  197. MOV A, P7
  198. ANL A, R0
  199. MOV R2, A
  200. CLR C
  201. SUBB A, R0
  202. JZ THIRD
  203. CALL CZEKAJ
  204.  
  205.  
  206.  
  207. MOV A, R2
  208. MOV DPH, #80H
  209. MOV DPL, A
  210. MOVX A, @DPTR
  211. CALL putchar
  212. DEC R7
  213. THIRD:
  214. MOV R0, #0DFH
  215. MOV A, R0
  216. MOV P5, A
  217. MOV A, P7
  218. ANL A, R0
  219. MOV R2, A
  220. CLR C
  221. SUBB A, R0
  222. JZ FOURTH
  223.  
  224. CALL CZEKAJ
  225.  
  226. MOV A, R2
  227. MOV DPH, #80H
  228. MOV DPL, A
  229. MOVX A, @DPTR
  230. call putchar
  231. DEC R7
  232. FOURTH:
  233. MOV R0, #0EFH
  234. MOV A, R0
  235. MOV P5, A
  236. MOV A, P7
  237. ANL A, R0
  238. MOV R2, A
  239. CLR C
  240. SUBB A, R0
  241. JZ LONGJUMP
  242.  
  243. CALL CZEKAJ
  244.  
  245. MOV A, R2
  246. MOV DPH, #80H
  247. MOV DPL, A
  248. MOVX A, @DPTR
  249. call putchar
  250. DEC R7
  251.  
  252.  
  253. JMP LONGJUMP
  254.  
  255. LONGJUMP:
  256. MOV A, R7
  257. JZ LON
  258. LJMP FIRST
  259. LON:
  260. CALL NOWALINIA
  261. LJMP FIRST
  262.  
  263. NOP
  264. NOP
  265. NOP
  266. JMP $
  267. END START
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement