??? 11/21/06 17:44 Read: times |
#128371 - posting the code here Responding to: ???'s previous message |
DB0 EQU P1.0 DB1 EQU P1.1 DB2 EQU P1.2 DB3 EQU P1.3 DB4 EQU P1.4 DB5 EQU P1.5 DB6 EQU P1.6 DB7 EQU P1.7 EN EQU P0.2 RS EQU P0.0 RW EQU P0.1 DATA1 EQU P1 org 0000h LCALL DELAY_LCD LCALL INIT_LCD ; LCD INTIALIZATION LCALL CLEAR_LCD ; CLEARING LCD DISPLAY MOV A,#'H' LCALL WRITE_TEXT MOV A,#'E' LCALL WRITE_TEXT MOV A,#'L' LCALL WRITE_TEXT MOV A,#'L' LCALL WRITE_TEXT MOV A,#'O' LCALL WRITE_TEXT MOV A,#' ' LCALL WRITE_TEXT CLR RS MOV DATA1,#0C1H SETB EN NOP NOP NOP CLR EN LCALL WAIT_LCD MOV A,#'W' LCALL WRITE_TEXT MOV A,#'O' LCALL WRITE_TEXT MOV A,#'R' LCALL WRITE_TEXT MOV A,#'L' LCALL WRITE_TEXT MOV A,#'D' LCALL WRITE_TEXT CLR P0.7 ;to isplay successful execution HERE: SJMP HERE WAIT_LCD: CLR EN CLR RS ;It's a command SETB RW ;It's a read command MOV DATA1,#0FFh ;Set all pins to FF initially SETB EN ;Clock out command to LCD MOV A,DATA1 ;Read the return value JB ACC.7,WAIT_LCD ;If bit 7 high, LCD still busy CLR EN ;Finish the command CLR RW ;Turn off RW for future commands RET INIT_LCD: CLR RS ;CLEARING RS SINCE COMMAND MOV DATA1,#3Ch ;CONTOL WORD TO SAY 2X8 LCD SETB EN NOP ;DELAY FOR ENABLE NOP NOP CLR EN LCALL WAIT_LCD ;WAITING FOR THE END OF COMMAND CLR RS ; SECOND CONTROL WORD MOV DATA1,#0Ch ; TO TURN ON LCD AND CURSOR SETB EN ; CLOCK FOR LCD NOP NOP NOP CLR EN LCALL WAIT_LCD ; WAITING FOR THE EXECUTION OF COMMAND LCALL CLEAR_LCD CLR RS MOV DATA1,#06h ; TO MOVE THE CURSOR TO THE RIGHT SETB EN NOP NOP NOP CLR EN LCALL WAIT_LCD RET CLEAR_LCD: CLR RS MOV DATA1,#01h ; COMMAND TO CLEAR LCD SETB EN NOP NOP NOP CLR EN LCALL WAIT_LCD RET WRITE_TEXT: SETB RS MOV DATA1,A ; DATA IN A MOVED TO THE PORT SETB EN NOP NOP NOP CLR EN LCALL WAIT_LCD RET DELAY_LCD: NOP NOP NOP NOP NOP NOP RET END i have posted the code here .i dont understand what is the mistake i make .please suggest me the modifications i should make |
Topic | Author | Date |
problem with second row of lcd | 01/01/70 00:00 | |
How does the LCD interface? | 01/01/70 00:00 | |
the port connections | 01/01/70 00:00 | |
berth strip? | 01/01/70 00:00 | |
Address | 01/01/70 00:00 | |
to Himanshu Thakkar | 01/01/70 00:00 | |
What display? | 01/01/70 00:00 | |
Maybe forget to pullup P0! | 01/01/70 00:00 | |
problem with addressing for sure | 01/01/70 00:00 | |
to Gagandeep Singh | 01/01/70 00:00 | |
initialisation string ? | 01/01/70 00:00 | |
posting the code here | 01/01/70 00:00 | |
Initialization | 01/01/70 00:00 | |
Busy Flag![]() | 01/01/70 00:00 | |
If you can't see the blocks on the 2nd line | 01/01/70 00:00 |