问题二:程序问题(小问题) 
先贴上程序 
[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小时作业的,所以会出现有数字的阴影 
  
 
 
 
 
小程序 改变屏幕亮度的程序 
  
 
 
  
 
 |