找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

请各位大佬帮我看看为啥我的单片机LCD1602仿真显示不出来?

查看数: 2116 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-3-25 22:26

正文摘要:

代码如下: #include<reg52.h> #define uint unsigned int #define uchar unsigned char sbit RS=P3^5; sbit RW=P3^6; sbit E=P3^4; uint i,j; uchar num; uchar code table1[]="YL51&nbs ...

回复

ID:1026584 发表于 2023-3-27 15:27
wulin 发表于 2023-3-26 17:05
就是在你的程序基础上改的,你逐句对比不就知道哪里有问题?

ok感谢
ID:213173 发表于 2023-3-26 17:05
qzusergod 发表于 2023-3-26 09:07
非常感谢,已经可以了。
麻烦能说明一下我代码的问题吗?我实在看不出来哪里有问题

就是在你的程序基础上改的,你逐句对比不就知道哪里有问题?
ID:1026584 发表于 2023-3-26 09:07

非常感谢,已经可以了。
麻烦能说明一下我代码的问题吗?我实在看不出来哪里有问题
ID:213173 发表于 2023-3-26 06:55
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char

  4. sbit RS=P3^5;
  5. sbit RW=P3^6;
  6. sbit E=P3^4;
  7. uint i,j;
  8. uchar num;
  9. uchar code table1[]="YL51   MCU";
  10. uchar code table2[]="000000000000";

  11. void delay(uint x)
  12. {
  13.         for(i=x;i>0;i--)
  14.         {
  15.                 for(j=120;j>0;j--);
  16.         }
  17. }
  18. void write_com(uchar com)
  19. {
  20.         RS=0;
  21.         P2=com;
  22.         E=1;
  23.         delay(1);
  24.         E=0;
  25. }
  26. void write_data(uchar dat)
  27. {
  28.         RS=1;  
  29.         P2=dat;  
  30.         E=1;
  31.         delay(1);  
  32.         E=0;  
  33. }
  34. void init()
  35. {
  36.         E=0;
  37.         RW=0;
  38.         write_com(0x38);
  39.         write_com(0x0c);
  40.         write_com(0x01);
  41.         write_com(0x06);
  42. }
  43. void main()
  44. {
  45.         init();
  46.         write_com(0x80);
  47.         for(num=0;num<10;num++)
  48.         {
  49.                 write_data(table1[num]);
  50.                 delay(100);
  51.         }
  52.         write_com(0x80+0x40);
  53.         for(num=0;num<12;num++)
  54.         {
  55.                 write_data(table2[num]);
  56.                 delay(100);
  57.         }
  58.         while(1);
  59. }
复制代码
ID:94031 发表于 2023-3-26 06:51

初始化改一下:
void init()
{
        RW=0;
        write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口
        write_com(0x01);//显示清零,数据指针清零
        write_com(0x0c);//设置开显示,不显光标
        write_com(0x06);//设置写一个字符后地址指针加1
        write_com(0x80);//数据指
}
ID:1026584 发表于 2023-3-25 23:13
ID:161164 发表于 2023-3-25 23:00
  1. void init()
  2. {
  3.          write_com(0x38);
  4.          write_com(0x0C);
  5.          write_com(0x01);
  6.          write_com(0x06);
  7. }
复制代码


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

Powered by 单片机教程网

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