e có cái code nay nhưng sao nó chạy co một lần là nó đứng yên trên màn hình luôn?? các anh giúp em sửa cho nó chay liên tục không dừng và khi bấm nút công tắc ở chân p3.4/TO thì nó chạy sang phải. còn bấm công tắc ở chan p3.2/INTO thì nó chạy sang bên trái. hoặc giúp em cho e cái code mới thỏa mãn dk trên dc k ạ?? e chân thành cám ơn!! và mong được giúp đỡ sớm nhất.. đây là code e viết ạ??
EN BIT P3.7
RS BIT P3.5
RW BIT P3.6
hienthi: jb p3.4,hienthi
LCD_DATA EQU P1
ORG 000
MAIN:
SETB EN
CLR RS
CLR RW
MOV LCD_DATA,#38H ; Dat che do 2 dong
CLR EN
CALL DELAY
SETB EN
CLR RS
CLR RW
MOV LCD_DATA,#0EH ; Bat hien thi
CLR EN
CALL DELAY
LINE1:
MOV DPTR,#ON_LINE1
SETB EN
CLR RS
CLR RW
MOV LCD_DATA,#80H
CLR EN
CALL DELAY
CALL EXPORT
LINE2:
MOV DPTR,#ON_LINE2
SETB EN
CLR RS
CLR RW
MOV LCD_DATA,#0C0H
CLR EN
CALL DELAY
CALL EXPORT
EXPORT:
SETB EN
CLR RS
CLR RW
CLR EN
MOV R1,#O
LOOP1:
MOV A, R1
MOVC A,@A+DPTR
SETB EN
SETB RS
CLR RW
MOV LCD_DATA,A
CLR EN
CALL DELAY
INC R1
CJNE R1,#20, LOOP1
RET
DELAY:
MOV R7,#20
LOOP2:
MOV TH0,#HIGH(-30000)
MOV TL0,#LOW(-30000)
SETB TR0
LOOP3:
JNB TF0,LOOP3
CLR TF0
CLR TR0
DJNZ R7,LOOP2
RET
ON_LINE1: DB ' NHOM 3 LOP KT 19 '
ORG 100H
ON_LINE2: DB ' XIN CHAO CAC BAN '
ORG 400H
END
EN BIT P3.7
RS BIT P3.5
RW BIT P3.6
hienthi: jb p3.4,hienthi
LCD_DATA EQU P1
ORG 000
MAIN:
SETB EN
CLR RS
CLR RW
MOV LCD_DATA,#38H ; Dat che do 2 dong
CLR EN
CALL DELAY
SETB EN
CLR RS
CLR RW
MOV LCD_DATA,#0EH ; Bat hien thi
CLR EN
CALL DELAY
LINE1:
MOV DPTR,#ON_LINE1
SETB EN
CLR RS
CLR RW
MOV LCD_DATA,#80H
CLR EN
CALL DELAY
CALL EXPORT
LINE2:
MOV DPTR,#ON_LINE2
SETB EN
CLR RS
CLR RW
MOV LCD_DATA,#0C0H
CLR EN
CALL DELAY
CALL EXPORT
EXPORT:
SETB EN
CLR RS
CLR RW
CLR EN
MOV R1,#O
LOOP1:
MOV A, R1
MOVC A,@A+DPTR
SETB EN
SETB RS
CLR RW
MOV LCD_DATA,A
CLR EN
CALL DELAY
INC R1
CJNE R1,#20, LOOP1
RET
DELAY:
MOV R7,#20
LOOP2:
MOV TH0,#HIGH(-30000)
MOV TL0,#LOW(-30000)
SETB TR0
LOOP3:
JNB TF0,LOOP3
CLR TF0
CLR TR0
DJNZ R7,LOOP2
RET
ON_LINE1: DB ' NHOM 3 LOP KT 19 '
ORG 100H
ON_LINE2: DB ' XIN CHAO CAC BAN '
ORG 400H
END
Comment