Advertisement
Guest User

Untitled

a guest
Nov 1st, 2018
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. E equ p1.0
  2. cseg at 8000h
  3.  
  4. jmp SHOW
  5.  
  6. ;???????????? ?????? ??????? ? ?????????? ???
  7.  
  8. WRITE_COMMAND:
  9.     call    WAIT_BF     ; ???????? ???? ?????????
  10.     push    acc
  11.     push    b
  12.    
  13.     mov b,a     ; ????????? ???????? ??? ???????
  14.         anl a,#11110000b    ; ???????? ??????? ??????? ? ????????????? C/D=0,R/W=0,E=0
  15.     mov p1,a            ; ????? ??????(??.???????)
  16.    
  17.     setb    E       ; ????????? E=1
  18.     nop
  19.     clr E       ; ????????? E=0
  20.  
  21.     mov a, b        ; ??????????????? ???????? ??? ???????
  22.     swap    a       ; ?????? ??????? ???????(?????.->?????.)                                   
  23.     anl a, #11110000b   ; ???????? ??????? ??????? ? ????????????? C/D=0,R/W=0,E=0
  24.     mov p1,a            ; ????? ??????(??.???????)
  25.    
  26.     setb    E       ; ????????? E=1
  27.     nop
  28.     clr E       ; ????????? E=0
  29.  
  30.     mov p1, #11110000b
  31.     pop     b
  32.     pop     acc
  33. ret
  34.  
  35. ;???????????? ?????? ????? ?????? ? ?????????? ???
  36.  
  37. WRITE_DATA:
  38.     push    acc
  39.     push    b
  40.     call    WAIT_BF     ; ???????? ???? ?????????
  41.    
  42.     mov b, a        ; ????????? ???????? ??????        
  43.     anl a, #11110000b   ; ???????? ??????? ???????
  44.     orl     a, #00000010b   ; ? ????????????? C/D=1, R/W=0,E=0
  45.     mov p1, a           ; ????? ??????(??.???????)
  46.  
  47.     setb    E       ; ????????? E=1
  48.     nop
  49.     clr E       ; ????????? E=0
  50.    
  51.     mov a, b            ; ??????????????? ???????? ??? ???????
  52.     swap    a               ; ?????? ??????? ???????(?????.->?????.)
  53.     anl a, #11110000b   ; ??????? ??????? ???????
  54.     orl     a, #00000010b  
  55.     mov p1, a           ; ????? ??????(??.???????)
  56.  
  57.     setb    E       ; ????????? E=1
  58.     nop
  59.     clr E       ; ????????? E=0
  60.  
  61.     mov p1, #11110000b
  62.     pop  b
  63.     pop acc
  64. ret
  65.  
  66. ;???????????? ????????????? ???
  67.  
  68. LCD_INIT:
  69.     clr E
  70.  
  71.     mov a, #28h         ; ??????? ??? ? 4-? ?????????, 2???????? ????? 00101000
  72.     call    WRITE_COMMAND
  73.  
  74.     mov a, #03h         ; ?????? ?????? ????????????? ?????? DRAM, AC=0  00000011
  75.     call    WRITE_COMMAND
  76.  
  77.     mov a, #0Dh     ; ??????????? ???????? ???????? ? ????????
  78.                 ; ??????????? ??????? ? ???? ?????????? ??????????
  79.     call    WRITE_COMMAND
  80.  
  81.     mov a, #06h     ; ????? ??????????????? ??????????? ??????? ?????
  82.                 ; ??????? ????? ?????? ??????? ???????
  83.     call    WRITE_COMMAND  
  84.  
  85.     mov     a, #01h         ; ??????? ??????
  86.     call    WRITE_COMMAND
  87.  
  88.         mov p1, #11110000b
  89.  
  90. ret
  91.  
  92. ;------------------------------------------------------------------------------------------------
  93.  
  94. ;???????????? ???????? ???? ?????????
  95.  
  96. WAIT_BF:
  97.     push    acc
  98. WAIT_LL:      
  99.     mov p1,#11110100b   ; ????????? C/D=0, R/W=1,E=0
  100.     setb    E           ; ????????? E=1
  101.     mov a, p1       ; ?????? ??????? ??????? ???????? IR
  102.     clr E           ; ????????? E=0
  103.     mov b, a        ; ????????? ???????? ??????? ???????
  104.     setb    E           ; ????????? E=1
  105.     mov a, p1           ; ?????? ??????? ???????
  106.     clr E
  107.     mov a, b
  108.     jb  acc.7, wait_ll  ; ???????? ???? ????????? BF
  109.     pop acc
  110. ret
  111. ;------------------------------------------------------------------------------------------------
  112.  
  113. ;???????????? ?????? ???
  114.  
  115. SHOW:
  116.  
  117.     call    LCD_INIT
  118.  
  119.     push    acc        
  120.     push    b
  121.                 ; ??? ??????? ????????? ?? ??????? ? ???????? ????
  122.     mov a,#44h          ; ?
  123.     call write_data
  124.     mov a,#04Ah         ; ?
  125.     call write_data
  126.     mov a,#20h          ; ?
  127.     call write_data
  128.     mov a,#04Dh         ; ?
  129.     call write_data
  130.     mov a,#49h          ; ?
  131.     call write_data
  132.     mov a,#54h          ; ?
  133.     call write_data
  134.     mov a,#43h          ; ?
  135.     call write_data
  136.     mov a, #48h
  137.     call write_data
  138.    
  139.     mov a,#11000000b    ; ??????? ?? 2?? ??????
  140.     call write_command
  141.    
  142.     mov a,#59h          ; ?
  143.     call write_data
  144.     mov a,#75h          ; -
  145.     call write_data
  146.     mov a,#6Eh          ; 0
  147.     call write_data
  148.     mov a,#67h          ; 7
  149.     call write_data
  150.     mov a,#20h          ; -
  151.     call write_data
  152.     mov a,#4Eh          ; 1
  153.     call write_data
  154.     mov a,#49h          ; 5
  155.     call write_data
  156.     mov a,#67h          ; 1
  157.     call write_data
  158.     mov a,#6Fh          ; 5
  159.     call write_data
  160.     mov a,#72h          ; 5
  161.     call write_data
  162.     pop b
  163.     pop acc
  164.     m1: jmp m1 ; --------------
  165. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement