VFD12864驱动显示程序求助

2019-03-24 18:05发布

本帖最后由 小硕硕 于 2015-3-7 10:52 编辑

本人不才,笨死了。
这是从旧设备上拆下来的显示屏,觉得新鲜所以想玩玩,通过网络的搜索,也找到了官方网站,也下载到了资料,通过阅读,对这液晶有了了解。
可是我不太会看时序图。
先上几张照片
屏幕有一个test引脚,接低电平就能显示测试内容
这是接test引脚显示的内容,可以说明屏幕是好的

问题来了:


说明书上所给的电压标准


我觉得电源应该没错,可是为什么接上屏幕的电源正极就会出问题呢,而且单片机也不能下载数据,下载数据必须把VFD屏幕断开。
这是我根据时序图写的程序
时序图

指令写程序

数据写

数据写程序

整体程序
  1. DB0_DB7 EQU P1
  2. WR1 BIT P2.0
  3. CD BIT P2.1
  4. RD1 BIT P2.2
  5. CSS BIT P2.3
  6. RES BIT P2.4
  7. ORG 0000H
  8. AJMP MAIN
  9. ORG 0030H
  10. MAIN:
  11. CLR P2.4
  12. NOP
  13. SETB P2.4

  14. MOV A,#5FH
  15. LCALL WRITE_COM
  16. NOP

  17. MOV R0,#0
  18. LOOP: MOV A,#62H
  19. LCALL WRITE_COM
  20. MOV A,R0
  21. LCALL WRITE_COM
  22. MOV A,#0FFH
  23. LCALL WRITE_COM
  24. INC R0
  25. CJNE R0,#8,LOOP

  26. MOV A,#62H
  27. LCALL WRITE_COM
  28. MOV A,#07H
  29. LCALL WRITE_COM
  30. MOV A,#0FFH
  31. LCALL WRITE_DATA

  32. MOV A,#24H
  33. LCALL WRITE_COM
  34. MOV A,#50H
  35. LCALL WRITE_COM

  36. MOV A,#64H
  37. LCALL WRITE_COM
  38. MOV A,#7FH
  39. LCALL WRITE_COM

  40. MOV A,#60H
  41. LCALL WRITE_COM
  42. MOV A,#0FH
  43. LCALL WRITE_COM



  44. WRITE_COM:
  45. CLR CSS
  46. SETB CD
  47. MOV DB0_DB7,A
  48. CLR WR1
  49. NOP
  50. SETB CSS
  51. SETB WR1
  52. CLR WR1
  53. RET
  54. WRITE_DATA:
  55. CLR CSS
  56. CLR CD
  57. MOV DB0_DB7,A
  58. CLR WR1
  59. NOP
  60. SETB WR1
  61. SETB CSS
  62. SETB CD
  63. CLR WR1
  64. RET
  65. END





复制代码

程序很简单,我只需要用程序来设置层的反白显示就可以了,还不敢想能显示任意字符。
可是现在怎么都不显示啊。
后来我有单独给屏幕接了个电源

上电后

另外上传说明书,希望有时间的朋友能帮忙给写一个写指令和写数据的程序。
我觉得我按照时序图写的程序应该没问题的!
希望朋友能给个参考程序。
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
小硕硕
1楼-- · 2019-03-25 03:24
本帖最后由 小硕硕 于 2015-3-8 09:47 编辑

问题已经解决了:
故障一:电源的问题

之所以会出现这样的现象是因为电源电压不够造成的,更换12V1A的电源单片机和VFD屏幕工作正常。

问题二:程序问题(小问题)
先贴上程序
  
  1. DB0_DB7        EQU        P1
  2.         WR1        BIT        P2.0
  3.         CD        BIT        P2.1
  4.         RD1        BIT        P2.2
  5.         CSS        BIT        P2.3
  6.         RES        BIT        P2.4

  7.         ORG        0000H
  8.         AJMP        MAIN
  9.         ORG        0030H
  10. MAIN:
  11.         ;上电先复位 看时序图能看出由电平变为高电平
  12.         CLR        P2.4
  13.         NOP
  14.         NOP       
  15.         SETB        P2.4
  16.         ;初始化屏幕
  17.         MOV        A,#5FH
  18.         LCALL        WRITE_COM
  19.         NOP
  20.         MOV        R0,#0
  21. LOOP:        MOV        A,#62H
  22.         LCALL        WRITE_COM
  23.         MOV         A,R0
  24.         LCALL        WRITE_COM
  25.         MOV        A,#0FFH
  26.         LCALL        WRITE_DATA
  27.         INC        R0
  28.         CJNE        R0,#8,LOOP
  29.         ;设置显示区域
  30.         MOV        A,#62H
  31.         LCALL        WRITE_COM
  32.         MOV        A,#07H
  33.         LCALL        WRITE_COM
  34.         MOV        A,#0FFH
  35.         LCALL        WRITE_DATA
  36.         ;开关显示和设置反白显示
  37.         MOV        A,#24H
  38.         LCALL        WRITE_COM
  39.         ;正常显示
  40. ;        MOV        A,#40H
  41. ;        LCALL        WRITE_COM
  42.         ;反白显示
  43.         MOV        A,#50H;两个层同时显示
  44.         LCALL        WRITE_COM
  45.         ;清屏设置
  46.         MOV        A,#64H
  47.         LCALL        WRITE_COM

  48.         MOV        A,#7FH
  49.         LCALL        WRITE_COM
  50.        
  51.         MOV        A,#60H
  52.         LCALL        WRITE_COM
  53.         MOV        A,#0FH
  54.         LCALL        WRITE_COM

  55.         MOV         A,#41H;设置亮度
  56.         LCALL        WRITE_COM
  57.        
  58.         MOV        A,#0EAH
  59.         LCALL        WRITE_DATA
  60.         SJMP        $
  61.        
  62.        
  63. WRITE_COM:
  64.         CLR        CSS
  65.         SETB        CD
  66.         MOV DB0_DB7,A
  67.         CLR        WR1
  68.         NOP       
  69.         NOP
  70.         SETB        WR1
  71.         SETB        CSS
  72.         RET
  73. WRITE_DATA:
  74.         CLR        CSS
  75.         CLR        CD
  76.         MOV        DB0_DB7,A
  77.         CLR        WR1
  78.         NOP
  79.         NOP       
  80.         SETB        WR1
  81.         SETB        CSS
  82.         SETB        CD
  83.         CLR        WR1
  84.         RET
  85.         END
  86.        
  87.        
  88.        
  89.        
  90.        
  91.        
复制代码
                                            
只是在原有的程序里面加了几条延时而已。
程序很简单。
这个程序是自己学单片机以来第一个参照说明书来写的程序,所以很高兴。

这块屏幕叫做VFD显示屏,真空荧光显示屏,是我从旧的电子秤上面拆下来的,


TESET测试有问题,个人觉得应该是屏幕长时间显示造成了个别点的老化,这个电子秤在公司车间使用,24小时作业的,所以会出现有数字的阴影



小程序 改变屏幕亮度的程序


ahshmj
2楼-- · 2019-03-25 08:27
有什么问题?
jishuaihu
3楼-- · 2019-03-25 08:28
 精彩回答 2  元偷偷看……

一周热门 更多>