??? 08/30/07 16:14 Read: times |
#143761 - LCD and Serial Port Initialization Responding to: ???'s previous message |
This routine will properly initialize your LCD, providing your delay loops are correct. It works in the above mentioned simulator.
INIT_LCD: ; initialize LCD MOV A,#56 ;38H FIRST ACALL LCDCMD MOV A,#56 ;38 ACALL LCDCMD MOV A,#56 ;38 ACALL LCDCMD MOV A,#56 ;38 ;FOURTH ACALL LCDCMD MOV A,#15 ;0F ACALL LCDCMD ;DISPLAY ON MOV A,#01 ACALL LCDCMD ;CLEAR AND ON MOV A,#06 ACALL LCDCMD MOV A,#15 ;0FH ACALL LCDCMD ;DISPLAY ENABLE RET Also after correcting the two delay loops, missing '#' the simulator only shows one occurance of the display 'TANKTRACKS' then goes to show 'MODE' Your serial initialization does not initialize to 9600 baud unless you are using 11.059 MHz crystal and remove the double baud rate stuff. SETSRL: MOV TMOD,#20H ; TIMER 1 , AUTO RELOAD MODE MOV SCON,#50H ; 8N1 MOV TH1,#0FDH ; 9600 BAUDS ; MOV A,PCON ; DOUBLE THE BAUD RATE ; SETB ACC.7 ; MOV PCON,A SETB TR1 ; START TIMER T1 RET Jon |
Topic | Author | Date |
help me in debugging asm code | 01/01/70 00:00 | |
too tough to read | 01/01/70 00:00 | |
Formatted and some comments | 01/01/70 00:00 | |
LCD and Serial Port Initialization | 01/01/70 00:00 | |
it\\\'s still very badly written![]() | 01/01/70 00:00 |