本帖最后由 小硕硕 于 2015-3-7 10:52 编辑
本人不才,笨死了。
这是从旧设备上拆下来的显示屏,觉得新鲜所以想玩玩,通过网络的搜索,也找到了官方网站,也下载到了资料,通过阅读,对这液晶有了了解。
可是我不太会看时序图。
先上几张照片
屏幕有一个test引脚,接低电平就能显示测试内容
这是接test引脚显示的内容,可以说明屏幕是好的
问题来了:
说明书上所给的电压标准
我觉得电源应该没错,可是为什么接上屏幕的电源正极就会出问题呢,而且单片机也不能下载数据,下载数据必须把VFD屏幕断开。
这是我根据时序图写的程序
时序图
指令写程序
数据写
数据写程序
整体程序
- 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
- 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_COM
- 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,#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
- WRITE_COM:
- CLR CSS
- SETB CD
- MOV DB0_DB7,A
- CLR WR1
- NOP
- SETB CSS
- SETB WR1
- CLR WR1
- RET
- WRITE_DATA:
- CLR CSS
- CLR CD
- MOV DB0_DB7,A
- CLR WR1
- NOP
- SETB WR1
- SETB CSS
- SETB CD
- CLR WR1
- RET
- END
复制代码
程序很简单,我只需要用程序来设置层的反白显示就可以了,还不敢想能显示任意字符。
可是现在怎么都不显示啊。
后来我有单独给屏幕接了个电源
上电后
另外上传说明书,希望有时间的朋友能帮忙给写一个写指令和写数据的程序。
我觉得我按照时序图写的程序应该没问题的!
希望朋友能给个参考程序。
此帖出自
小平头技术问答
问题已经解决了:
故障一:电源的问题
之所以会出现这样的现象是因为电源电压不够造成的,更换12V1A的电源单片机和VFD屏幕工作正常。
问题二:程序问题(小问题)
先贴上程序
- 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
-
-
-
-
-
-
复制代码只是在原有的程序里面加了几条延时而已。
程序很简单。
这个程序是自己学单片机以来第一个参照说明书来写的程序,所以很高兴。
这块屏幕叫做VFD显示屏,真空荧光显示屏,是我从旧的电子秤上面拆下来的,
TESET测试有问题,个人觉得应该是屏幕长时间显示造成了个别点的老化,这个电子秤在公司车间使用,24小时作业的,所以会出现有数字的阴影
小程序 改变屏幕亮度的程序
一周热门 更多>