RCALL DELAY ;
SBI PORTA, CS ;CS: 0-->1
RCALL WAIT ;
RET ;
;**********************************************
; WRITE 2 BYTES(4 NIBBLES) TO LCD
; INPUT: X, A8101-A7A6A5A4-A3A2A1A0-D3D2D1D0
; USED REGISTER: XL,XH,YL
;**********************************************
LCDDATA: CBI PORTA, CS ;
MOV YL, XH ;WRITE HIGHEST NIBBLE(b15b14b13b12)
ANDI YL, 0XF0 ;
ORI YL, 1<<RD ;
OUT PORTA, YL ;CS=0, RW=0,PA7--PA4=b15b14b13b12
RCALL WAIT ;
SBI PORTA, WR ;WR: 0-->1
RCALL WAIT ;
ANDI XH, 0X0F ;WRITE b11b10b9b8
SWAP XH ;
ORI XH, 1<<RD ;
OUT PORTA, XH ;WR=0, PA7--PA4=b11b10b9b8
RCALL WAIT ;
SBI PORTA, WR ;WR: 0-->1
RCALL WAIT ;
MOV YL, XL ;WRITE b7b6b5b4
ANDI YL, 0XF0 ;
ORI YL, 1<<RD ;
OUT PORTA, YL ;WR=0,PA7--PA4=b7b6b5b4
RCALL WAIT ;
SBI PORTA, WR ;WR: 0-->1
RCALL WAIT ;
LDI YL, 4 ;SET LOOP TIMES=4
ANDI XL, 0X0F ;WRITE b3b2b1b0=D3D2D1D0
SWAP XL ;
ORI XL, 1<<RD ;
LCDDATA1: OUT PORTA, XL ;WR=0, PA7--PA4=b3b2b1b0
RCALL WAIT ;
SBI PORTA, WR ;WR: 0-->1
RCALL WAIT ;
DEC YL ;
BRNE LCDDATA1 ;
LDI R24, 4 ;DELAY 0.25ms*4=1ms
RCALL DELAY ;
SBI PORTA, CS ;CS: 0-->1
RCALL WAIT ;
RET ;
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页
本文关键字:单片机 程序 AVR单片机,单片机-工控设备 - AVR单片机