找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1799|回复: 2
打印 上一主题 下一主题
收起左侧

请教一下各位坛友:单片机驱动12864程序一直不显示有啥问题

[复制链接]
跳转到指定楼层
楼主
如题,想请各位坛友们帮我瞅瞅,我到底哪做错了,一直都没有反应,快疯了


下附单片机程序
  1. #include<reg52.h>

  2. typedef unsigned char uchar;
  3. typedef unsigned int uint;
  4. uchar code TAB1[]="啦啦啦啦德玛西亚";
  5. sbit RS=P1^0;
  6. sbit RW=P1^1;
  7. sbit EN=P2^5;
  8. //sbit BF=P0^7;

  9. void delayms(x)
  10. {
  11. uint i,j;
  12. for(i=20;i>0;i--)
  13. for(j=20;j>0;j--);
  14. }
  15. void bazy()
  16. {
  17. P0=0xff;
  18. RS=0;
  19. RW=1;
  20. EN=1;
  21. while(P0& 0x80);
  22. delayms(5);
  23. EN=0;

  24. }


  25. void w_cmd(uchar cmd)
  26. {
  27. bazy();
  28. RS=0;
  29. RW=0;
  30. EN=1;
  31. P0=cmd;
  32. delayms(1);
  33. EN=0;
  34. }
  35. void w_dat(uchar dat)
  36. {
  37. bazy();
  38. RS=1;
  39. RW=0;
  40. EN=1;
  41. P0=dat;
  42. delayms(1);
  43. EN=0;
  44. }

  45. void lcd_init()
  46. {
  47. w_cmd(0x30);
  48. delayms(5);
  49. w_cmd(0x0b);
  50. delayms(5);
  51. w_cmd(0x01);
  52. }
  53. void addr(uchar x,uchar y)
  54. {
  55. uchar ux,uxy;
  56. if(1==x)
  57. {
  58.   ux=0x80;
  59. }
  60. else if(2==x)
  61. {
  62.   ux=0x90;
  63. }
  64. else if(3==x)
  65. {
  66.   ux=0x88;
  67. }
  68. else if(4==x)
  69. {
  70.   ux=0x98;
  71. }
  72. uxy=ux +y;
  73. w_cmd(uxy);
  74. }
  75. void main(void)
  76. {
  77. uchar i=0;
  78. delayms(5);
  79. lcd_init();
  80. while(1)
  81. {
  82.     addr(1,0);
  83.     i=0;
  84.     while(TAB1[i]!='\0')
  85.     {
  86.      w_dat (TAB1[i]);
  87.    i++;
  88.    delayms(5);
  89.     }
  90.     addr(2,0);
  91.     i=0;
  92.     while(TAB1[i]!='\0')
  93.     {
  94.      w_dat (TAB1[i]);
  95.    i++;
  96.    delayms(5);
  97.     }
  98.     addr(3,0);
  99.     i=0;
  100.     while(TAB1[i]!='\0')
  101.     {
  102.      w_dat (TAB1[i]);
  103.    i++;
  104.    delayms(5);
  105.     }
  106.     addr(4,0);
  107.     i=0;
  108.     while(TAB1[i]!='\0')
  109.     {
  110.      w_dat (TAB1[i]);
  111.    i++;
  112.    delayms(5);
  113.     }

  114. // while(1);

  115. }

  116. }
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:96682 发表于 2018-1-8 22:54 | 只看该作者
这个不是开发板的嘛,端口设置好了没有?这源码是1602还是12864的?
回复

使用道具 举报

板凳
ID:47286 发表于 2018-1-8 23:14 | 只看该作者
你拧拧那个10k电位器 没准出字了对比度不对看不见 我刚弄的时候自己干过这样的傻事 呵呵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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