搜索
bottom↓
回复: 10

问个12864液晶显示的问题。。

[复制链接]

出0入0汤圆

发表于 2013-3-28 11:23:42 | 显示全部楼层 |阅读模式
目前的问题是。 可以随意修改光标的位置并能在12864上显示。。但是对应希望显示的数据汉字字母都没有反应。。找不到问题所在。请高手帮忙看看。还有以前学过51.很多在51上面简单的问题用AVR做就老是解决不了。。都被打击的一点信心都没有了。。

  1. #include<iom16v.h>
  2. #include<macros.h>


  3. unsigned char table[]={"caonimei!"};

  4. #define lcd_12864_rs_set PORTB|=BIT(0)
  5. #define lcd_12864_rs_clr PORTB&=~BIT(0)
  6. #define lcd_12864_rs_out DDRB|=BIT(0)

  7. #define lcd_12864_rw_set PORTB|=BIT(1)
  8. #define lcd_12864_rw_clr PORTB&=~BIT(1)
  9. #define lcd_12864_rw_out DDRB|=BIT(1)

  10. #define lcd_12864_e_set PORTB|=BIT(2)
  11. #define lcd_12864_e_clr PORTB&=~BIT(2)
  12. #define lcd_12864_e_out DDRB|=BIT(2)

  13. #define led_wela_clr PORTB&=~BIT(3)//数码管的锁存器
  14. #define led_wela_out DDRB|=BIT(3)
  15. #define lcd_wela_set PORTB|=BIT(4)液晶的锁存器
  16. #define lcd_wela_out DDRB|=BIT(4)

  17. void delay_nus(unsigned int z)
  18. {
  19. unsigned int x;
  20. z=z*5/4;
  21. for(x=0;x<z;x++);
  22. }

  23. void delay_nms(unsigned int z)
  24. {
  25. unsigned int x,y;
  26. for(x=0;x<z;x++)
  27.   for(y=0;y<1141;y++);
  28. }

  29. void lcd_12864_command(unsigned char com)
  30. {
  31. lcd_12864_rw_clr;
  32. lcd_12864_rs_clr;
  33. delay_nus(50);
  34. PORTD=com;
  35. delay_nus(10);
  36. lcd_12864_e_set;
  37. delay_nus(10);
  38. lcd_12864_e_clr;
  39. delay_nus(50);
  40. }

  41. void lcd_12864_data(unsigned char dat)
  42. {
  43. lcd_12864_rw_clr;
  44. lcd_12864_rs_set;
  45. delay_nus(50);
  46. PORTD=dat;
  47. delay_nus(50);
  48. lcd_12864_e_set;
  49. delay_nus(50);
  50. lcd_12864_e_clr;
  51. delay_nus(50);
  52. }

  53. void lcd_12864_init()
  54. {
  55. lcd_12864_rw_out;
  56. lcd_12864_rs_out;
  57. lcd_12864_e_out;
  58. lcd_wela_out;
  59. led_wela_out;
  60. led_wela_clr;
  61. lcd_wela_set;
  62. delay_nms(50);
  63. lcd_12864_command(0x30);
  64. lcd_12864_command(0x0f);
  65. lcd_12864_command(0x06);
  66. lcd_12864_command(0x01);
  67. lcd_12864_command(0x02);
  68. delay_nms(10);
  69. }

  70. void display()
  71. {
  72. unsigned char i;
  73. lcd_12864_command(0x80);
  74. lcd_12864_data(0xc0);
  75. lcd_12864_data(0xee);
  76. for(i=0;i<8;i++)
  77. {
  78.   lcd_12864_data(table[i]);
  79.   delay_nus(50);
  80. }
  81. }

  82. void main()
  83. {
  84. DDRD=0xff;
  85. PORTB=0x00;

  86. lcd_12864_init();
  87. display();
  88. while(1);
  89. }
复制代码

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出50入0汤圆

发表于 2013-3-28 13:35:30 | 显示全部楼层
能够修改光标,说明你屏的读写时序及对比度没有问题。
先全部显黑,看看成不成功。

出0入0汤圆

 楼主| 发表于 2013-3-28 18:44:39 | 显示全部楼层
god-father 发表于 2013-3-28 13:35
能够修改光标,说明你屏的读写时序及对比度没有问题。
先全部显黑,看看成不成功。 ...

全部是啥意思啊?

出0入0汤圆

 楼主| 发表于 2013-3-28 18:45:02 | 显示全部楼层
god-father 发表于 2013-3-28 13:35
能够修改光标,说明你屏的读写时序及对比度没有问题。
先全部显黑,看看成不成功。 ...

全部显黑

出0入264汤圆

发表于 2013-3-28 18:46:18 | 显示全部楼层
没明白要表达的意思

出50入0汤圆

发表于 2013-3-28 19:01:34 | 显示全部楼层
kele26 发表于 2013-3-28 18:45
全部显黑

把屏幕上的黑点全部显示出来

出0入0汤圆

 楼主| 发表于 2013-3-28 19:33:45 | 显示全部楼层
god-father 发表于 2013-3-28 19:01
把屏幕上的黑点全部显示出来

。。我还不会打点呢。。

出0入0汤圆

 楼主| 发表于 2013-3-28 19:35:06 | 显示全部楼层
mcu_lover 发表于 2013-3-28 18:46
没明白要表达的意思

就是我的液晶能通过修改程序操作光标的位置,但是无论我怎么都不能显示一个字或者字母。。就是感觉像是写命令没问题  写数据就不行

出0入0汤圆

发表于 2013-3-28 20:35:01 | 显示全部楼层
w 你应该把你的液晶显示效果发一张图上来的。

出0入0汤圆

 楼主| 发表于 2013-3-28 21:12:58 | 显示全部楼层
gracialee 发表于 2013-3-28 20:35
w 你应该把你的液晶显示效果发一张图上来的。

效果图。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出50入0汤圆

发表于 2013-3-28 21:46:19 | 显示全部楼层
kele26 发表于 2013-3-28 21:12
效果图。。

论坛有程序,看一下别人的程序。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 03:29

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表