Advertisement
Guest User

ptm4_lcd_test_dupa

a guest
Apr 30th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. LJMP START
  3.  
  4. P5 EQU 0F8H
  5. P7 EQU 0DBH
  6.  
  7.  
  8.     LCDstatus equ 0FF2EH
  9.     LCDcontrol equ 0FF2CH
  10.     LCDdataWR equ 0FF2DH
  11.  
  12.     #define HOME 0x80
  13.     #define INITDISP 0x38
  14.     #define HOM2 0xc0
  15.     #define LCDON 0x0e
  16.     #define CLEAR 0x01
  17.  
  18.  
  19. ORG 100H
  20.  
  21.  LCDcntrlWR MACRO x
  22.              LOCAL loop
  23.       loop:
  24.              MOV    DPTR,#LCDstatus
  25.              MOVX   A,@DPTR
  26.              JB     ACC.7,loop       ; check if LCD busy
  27.    
  28.              MOV    DPTR,#LCDcontrol ; write to LCD control
  29.              MOV    A, x
  30.              MOVX   @DPTR,A
  31.             ENDM
  32.    
  33.   LCDcharWR MACRO
  34.             LOCAL loop1,loop2
  35.    
  36.             PUSH    ACC
  37.   loop1:    MOV     DPTR,#LCDstatus
  38.             MOVX    A,@DPTR
  39.             JB      ACC.7,loop1            ; check if LCD busy
  40.    
  41.   loop2:    MOV     DPTR,#LCDdataWR        ; write data to LCD
  42.             POP     ACC
  43.             MOVX    @DPTR,A
  44.             ENDM
  45.    
  46.   init_LCD  MACRO
  47.              LCDcntrlWR #INITDISP
  48.              LCDcntrlWR #CLEAR
  49.              LCDcntrlWR #LCDON  
  50.          ENDM
  51.  
  52. START:
  53.  
  54. ;ASCII DEFINITION
  55. MOV DPH, #80H
  56. MOV DPL, #77H
  57. MOV A, #31H
  58. MOVX @DPTR, A
  59. MOV DPH, #80H
  60. MOV DPL, #7BH
  61. MOV A, #32H
  62. MOVX @DPTR, A
  63. MOV DPH, #80H
  64. MOV DPL, #7DH
  65. MOV A, #33H
  66. MOVX @DPTR, A
  67. MOV DPH, #80H
  68. MOV DPL, #7EH
  69. MOV A, #41H
  70. MOVX @DPTR, A
  71. MOV DPH, #80H
  72. MOV DPL, #0B7H
  73. MOV A, #34H
  74. MOVX @DPTR, A
  75. MOV DPH, #80H
  76. MOV DPL, #0BBH
  77. MOV A, #35H
  78. MOVX @DPTR, A
  79. MOV DPH, #80H
  80. MOV DPL, #0BDH
  81. MOV A, #36H
  82. MOVX @DPTR, A
  83. MOV DPH, #80H
  84. MOV DPL, #0BEH
  85. MOV A, #42H
  86. MOVX @DPTR, A
  87. MOV DPH, #80H
  88. MOV DPL, #0D7H
  89. MOV A, #37H
  90. MOVX @DPTR, A
  91. MOV DPH, #80H
  92. MOV DPL, #0DBH
  93. MOV A, #38H
  94. MOVX @DPTR, A
  95. MOV DPH, #80H
  96. MOV DPL, #0DDH
  97. MOV A, #39H
  98. MOVX @DPTR, A
  99. MOV DPH, #80H
  100. MOV DPL, #0DEH
  101. MOV A, #43H
  102. MOVX @DPTR, A
  103. MOV DPH, #80H
  104. MOV DPL, #0E7H
  105. MOV A, #2AH
  106. MOVX @DPTR, A
  107. MOV DPH, #80H
  108. MOV DPL, #0EBH
  109. MOV A, #30H
  110. MOVX @DPTR, A
  111. MOV DPH, #80H
  112. MOV DPL, #0EDH
  113. MOV A, #23H
  114. MOVX @DPTR, A
  115. MOV DPH, #80H
  116. MOV DPL, #0EEH
  117. MOV A, #44H
  118. MOVX @DPTR, A
  119. MOV R4, #0
  120. MOV R5, #0
  121.  
  122. init_LCD
  123.  
  124.     NEXT3:
  125.     MOV R0, #7FH
  126.     MOV A, R0
  127.     MOV P5, A
  128.     MOV A, P7
  129.     ANL A, R0
  130.     MOV R1, A
  131.     CLR C
  132.     SUBB A, R0
  133.     JZ NEXT
  134.     MOV A, R1
  135.     MOV DPH, #80H
  136.     MOV DPL, A
  137.     MOVX A, @DPTR
  138.     MOV P1, A
  139.  
  140.     LCDcharWR
  141.  
  142.     NEXT:
  143.     MOV R0, #0BFH
  144.     MOV A, R0
  145.     MOV P5, A
  146.     MOV A, P7
  147.     ANL A, R0
  148.     MOV R1, A
  149.     CLR C
  150.     SUBB A, R0
  151.     JZ NEXT1
  152.     MOV A, R1
  153.     MOV DPH, #80H
  154.     MOV DPL, A
  155.     MOVX A, @DPTR
  156.     MOV P1, A
  157.  
  158.     LCDcharWR
  159.  
  160.  
  161.     NEXT1:
  162.     MOV R0, #0DFH
  163.     MOV A, R0
  164.     MOV P5, A
  165.     MOV A, P7
  166.     ANL A, R0
  167.     MOV R1, A
  168.     CLR C
  169.     SUBB A, R0
  170.     JZ NEXT2
  171.     MOV A, R1
  172.         MOV DPH, #80H
  173.     MOV DPL, A
  174.     MOVX A, @DPTR
  175.     MOV P1, A
  176.  
  177.     LCDcharWR
  178.  
  179.     NEXT2:
  180.     MOV R0, #0EFH
  181.     MOV A, R0
  182.     MOV P5, A
  183.     MOV A, P7
  184.     ANL A, R0
  185.     MOV R1, A
  186.     CLR C
  187.     SUBB A, R0
  188.     JZ NEXT3
  189.     MOV A, R1
  190.         MOV DPH, #80H
  191.     MOV DPL, A
  192.     MOVX A, @DPTR
  193.     MOV P1, A
  194.  
  195.     LCDcharWR
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.     JMP START
  204.  
  205.     NOP
  206.     NOP
  207.     NOP
  208.     NOP
  209.     END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement