|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我的lcd程序在keil下调时的时候看p0口的输出是正确的
但是用proteus方针的时候看p0口状态就是全1、全0两个状态来回切换。
小弟刚学单片机
哪位大哥能帮忙看一下。
先谢谢啦!
程序 如下:
en equ p3.0
rw equ p3.1
rs equ p3.2
lcd equ p0
;=====================================================
org 0
initialize:
mov a,#00111000b ;设定为8bit,2行,5X7字型
call wr_inst
mov a,#00001000b ;关闭显示屏
call wr_inst
mov a,#00000001b ;清除显示屏
call wr_inst
mov a,#00001111b ;开启显示屏
call wr_inst
mov a,#00000110b ;设定ac+1
call wr_inst
;==================================================
loop: mov a,#10000000b ;设定第一行起始地址
call wr_inst
mov dptr,#line1 ;指向第一行显示数据
mov r0,#16
call wr_string ;显示第一行
call delay2 ;延迟2s
;==================================================
mov a,#11000000b ;设定第二行显示地址
call wr_inst
mov dptr,#line2
mov r0,#16
call wr_string
call delay2
;=================================================
mov a,#10000000b ;设定第一行显示地址
call wr_inst
mov dptr,#line3
mov r0,#16
call wr_string
call delay2
;=================================================
mov a,#11000000b ;设定第二行显示地址
call wr_inst
mov dptr,#line4
mov r0,#16
call wr_string
call delay2
;=================================================
wr_inst:
call check_bf
clr rs
clr rw
setb en
mov lcd,a
clr en
ret
;===============================================
check_bf: push acc
busy:
clr rs
setb rw
setb en
mov a,lcd
clr en
jb acc.7,busy
call delay
pop acc
ret
;=============================================
wr_string: mov r1,#0
next: mov a,r1
movc a,@a+dptr
call wr_data
inc r1
djnz r0,next
ret
;==============================================
wr_data: call check_bf
setb rs
clr rw
setb en
mov lcd,a
clr en
ret
;=================================================
delay: mov r6,#15
d1: mov r7,#200
djnz r7,$
djnz r6,d1
ret
;=================================================
delay2: mov r5,#20
d3: mov r6,#200
d2: mov r7,#250
djnz r7,$
djnz r6,d2
djnz r5,d3
ret
;================================================
line1: db 'my_first_lcd'
line2: db 'lcd_test program'
line3: db 'TAIPEI,TAIWAN'
line4: db 'www.taantech.com'
;==============================================
end |
|