问题二:程序问题(小问题)
先贴上程序
[mw_shl_code=c,true] DB0_DB7 EQU P1
WR1 BIT P2.0
CD BIT P2.1
RD1 BIT P2.2
CSS BIT P2.3
RES BIT P2.4
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
;上电先复位 看时序图能看出由电平变为高电平
CLR P2.4
NOP
NOP
SETB P2.4
;初始化屏幕
MOV A,#5FH
LCALL WRITE_COM
NOP
MOV R0,#0
LOOP: MOV A,#62H
LCALL WRITE_COM
MOV A,R0
LCALL WRITE_COM
MOV A,#0FFH
LCALL WRITE_DATA
INC R0
CJNE R0,#8,LOOP
;设置显示区域
MOV A,#62H
LCALL WRITE_COM
MOV A,#07H
LCALL WRITE_COM
MOV A,#0FFH
LCALL WRITE_DATA
;开关显示和设置反白显示
MOV A,#24H
LCALL WRITE_COM
;正常显示
; MOV A,#40H
; LCALL WRITE_COM
;反白显示
MOV A,#50H;两个层同时显示
LCALL WRITE_COM
;清屏设置
MOV A,#64H
LCALL WRITE_COM
MOV A,#7FH
LCALL WRITE_COM
MOV A,#60H
LCALL WRITE_COM
MOV A,#0FH
LCALL WRITE_COM
MOV A,#41H;设置亮度
LCALL WRITE_COM
MOV A,#0EAH
LCALL WRITE_DATA
SJMP $
WRITE_COM:
CLR CSS
SETB CD
MOV DB0_DB7,A
CLR WR1
NOP
NOP
SETB WR1
SETB CSS
RET
WRITE_DATA:
CLR CSS
CLR CD
MOV DB0_DB7,A
CLR WR1
NOP
NOP
SETB WR1
SETB CSS
SETB CD
CLR WR1
RET
END
[/mw_shl_code]
只是在原有的程序里面加了几条延时而已。
程序很简单。
这个程序是自己学单片机以来第一个参照说明书来写的程序,所以很高兴。
这块屏幕叫做VFD显示屏,真空荧光显示屏,是我从旧的电子秤上面拆下来的,
TESET测试有问题,个人觉得应该是屏幕长时间显示造成了个别点的老化,这个电子秤在公司车间使用,24小时作业的,所以会出现有数字的阴影
小程序 改变屏幕亮度的程序
|