Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
06/21/10 12:51
Read: times


 
#176801 - please help
Responding to: ???'s previous message
i tried this code
but it is not work



lcdcd bit p2.5;
lcdrd bit p2.6;
lcdwr bit p2.7;
lcdreset bit p2.0;
lcdce bit p2.1;
lcdfs bit p2.2 ; 1= 6x8 ,0=8x8
LCD_PORT data 080H ;p0

ORG 0000H
JMP RESET

RESET:
CPL WD_RESET
setb lcdcd ;
setb lcdrd ;
setb lcdwr ;
setb lcdreset ;
setb lcdce ;
setb lcdfs ;

mov LCD_PORT,#0ffh ;input

clr lcdreset ; reset
LCALL WRITE_DELAY ; 20 microsec
setb lcdreset
LCALL WRITE_DELAY
clr lcdfs
LCALL WRITE_DELAY
// ;==================================================================
call read_status
MOV PA_BUFFER,#00h ; text home set
call DATA_WRITE
; LCALL WRITE_DELAY
call read_status
MOV PA_BUFFER,#00h ;050h
call DATA_WRITE
; LCALL WRITE_DELAY
call read_status
MOV PA_BUFFER,#40h
call CNTRL_WRITE
; LCALL WRITE_DELAY


call read_status
MOV PA_BUFFER,#1eh ; text area set 30 charecter for 1 row
call DATA_WRITE
; LCALL WRITE_DELAY
call read_status
MOV PA_BUFFER,#00h
call DATA_WRITE
; LCALL WRITE_DELAY
call read_status
MOV PA_BUFFER,#41h
call CNTRL_WRITE
; LCALL WRITE_DELAY
// ;==================================================================
call read_status
MOV PA_BUFFER,#080h ;or ,internal cg rom mode
call CNTRL_WRITE
; LCALL WRITE_DELAY
;==================================================================
call read_status
MOV PA_BUFFER,#094h ;mode set text on ,graphic off ,curser off and blink off
call CNTRL_WRITE
; LCALL WRITE_DELAY
;==================================================================
; LCALL WRITE_DELAY
call read_status
MOV PA_BUFFER,#0a0h ; cursor 1 line
call CNTRL_WRITE
; LCALL WRITE_DELAY
// ;==================================================================
// ;==================================================================
call read_status
MOV PA_BUFFER,#00h ;address pointer set to text area address 00
call DATA_WRITE
; LCALL WRITE_DELAY
call read_status
MOV PA_BUFFER,#00h
call DATA_WRITE
; LCALL WRITE_DELAY
call read_status
MOV PA_BUFFER,#24h
call CNTRL_WRITE
; LCALL WRITE_DELAY

;==================================================================
;==================================================================
call read_status
MOV PA_BUFFER,#00h ;set cursor pos at 0,0
call DATA_WRITE
; LCALL WRITE_DELAY
call read_status
MOV PA_BUFFER,#00h
call DATA_WRITE
; LCALL WRITE_DELAY
call read_status
MOV PA_BUFFER,#21h
call CNTRL_WRITE
; LCALL WRITE_DELAY
//// ;==================================================================
////// ;==================================================================

MAIN:


CPL WD_RESET

push 00 ;1 screen
push 01
mov r1,#04h
wrire0ag:
mov r0,#078h
wrireag:


call read_status
MOV PA_BUFFER,#021h ;write 21h A charecter
call DATA_WRITE
; LCALL WRITE_DELAY
call read_status
MOV PA_BUFFER,#0c0h
call CNTRL_WRITE
; LCALL WRITE_DELAY
djnz r0,wrireag
djnz r1,wrire0ag
pop 01
pop 00
main1:

CPL WD_RESET

jmp main1


;==================================================================


;==================================================================
CNTRL_WRITE:
setb LCDce
setb LCDcd
setb lcdrd
setb LCDwr
MOV LCD_PORT,PA_BUFFER
nop
clr LCDce
clr LCDwr
LCALL WRITE_DELAY
setb LCDwr
setb LCDce
RET

;==================================================================
DATA_WRITE:
setb LCDce
setb LCDcd
setb lcdrd
setb LCDwr
MOV LCD_PORT,PA_BUFFER
nop
clr LCDcd
clr LCDce
clr LCDwr
LCALL WRITE_DELAY
setb LCDwr
setb LCDce
setb lcdcd
RET
;==================================================================
DATA_read:
clr LCDcd
NOP
setb LCDwr
nop
clr lcdrd
nop
clr LCDce
NOP
NOP
NOP
MOV LCD_PORT,PA_BUFFER
nop
nop
setb LCDce
LCALL WRITE_DELAY
RET
;==================================================================
read_status:
push acc
mov LCD_PORT,#0ffh ; input
setb LCDce
setb LCDcd
setb lcdrd
setb LCDwr
nop
redstag:
clr LCDce
clr lcdrd
LCALL WRITE_DELAY
MOV a,LCD_PORT
;LCALL WRITE_DELAY
setb lcdrd
setb LCDce
anl a,#03h
cjne a,#03h,redstag
pop acc
RET
;==================================================================
error_status:
push acc
mov LCD_PORT,#0ffh ; input
setb LCDce
setb LCDcd
setb lcdrd
setb LCDwr
nop
rederstag:
clr LCDce
clr lcdrd
LCALL WRITE_DELAY
MOV a,LCD_PORT
;LCALL WRITE_DELAY
setb lcdrd
setb LCDce
anl a,#040h
cjne a,#00h,rederstag
pop acc
RET
;==================================================================
lcd_chick:
push acc
anl LCD_PORT,#0ffh ; input
setb LCDcd
setb LCDwr
clr lcdrd
lcdstag:
LCALL WRITE_DELAY
MOV a,LCD_PORT
jnb acc.7,lcdstag
setb lcdrd
pop acc
RET


;==================================================================
WRITE_DELAY: PUSH 02
MOV R2,#28H ;28H=40 MICROSEC,46H=70
DJNZ R2,$
POP 02
CPL WD_RESET
RET
;==================================================================

end

i tried this code
but it is not work

List of 7 messages in thread
TopicAuthorDate
128240A 1/128 duty - graphic still dark            01/01/70 00:00      
   contrast?            01/01/70 00:00      
   lcd black            01/01/70 00:00      
      please help me            01/01/70 00:00      
   please help            01/01/70 00:00      
   why nobody answer            01/01/70 00:00      
      Please provide the missing info            01/01/70 00:00      

Back to Subject List