找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机代码正确,仿真无法显示,求解决

查看数: 1429 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-11-18 21:20

正文摘要:

#include <reg51.h> sbit RS = P2^3; sbit RW = P2^2; sbit E = P2^1; #define DATAPORT P0 unsigned char code string1[]={"MCU - QQ: 173885525"}; unsigned char code string2[]={"Glad to see you!" ...

回复

ID:213173 发表于 2019-11-19 08:45
楼主凭什么断定单片机代码正确?


  1. #include <reg51.h>
  2. sbit RS = P2^3;
  3. sbit RW = P2^2;
  4. sbit E = P2^1;
  5. #define DATAPORT P0
  6. unsigned char code string1[]={"MCU-QQ:173885525"};
  7. unsigned char code string2[]={"Glad to see you!"};

  8. void delayMS(unsigned int b)
  9. {
  10.         unsigned char a =200;
  11.         for(;b>0;b--)
  12.         {
  13.                 while(--a);
  14.                 a=200;
  15.         }
  16. }

  17. void LCDSTA()
  18. {
  19.         unsigned char flag;
  20.         while(1)
  21.         {
  22.                 RS = 0;
  23.                 RW = 1;
  24.                 delayMS(5);
  25.                 E = 1;
  26.                 delayMS(10);
  27.                 flag=DATAPORT;
  28.                 E = 0;
  29.                 flag=flag&0x80;
  30.                 if(flag ==0x00)
  31.                 {
  32.                         break;
  33.                 }
  34.         }
  35. }
  36. void WRDcomm(unsigned char com)
  37. {
  38.         LCDSTA();
  39.         DATAPORT = com;
  40.         RS = 0;
  41.         RW = 0;
  42.         E = 1;
  43.         E = 0;
  44.         delayMS(10);
  45. }

  46. void WRData(unsigned char date)
  47. {
  48.         LCDSTA();
  49.         DATAPORT = date;
  50.         RS = 1;
  51.         RW = 0;
  52.         E = 1;
  53.         E = 0;
  54.         delayMS(10);
  55. }
  56. void lcd_initial()
  57. {
  58.         WRDcomm(0X01);
  59.         WRDcomm(0X38);
  60.         WRDcomm(0X0F);
  61.         WRDcomm(0X06);
  62. }

  63. void main()
  64. {
  65.         unsigned char i;
  66.         lcd_initial();

  67.         WRDcomm(0x80);
  68.         for(i=0;i<16;i++)
  69.         {
  70.                 WRData(string1[i]);
  71.         }
  72.         WRDcomm(0xc0);
  73.         for(i=0;i<16;i++)
  74.         {
  75.                 WRData(string2[i]);
  76.         }
  77.         while(1);
  78. }
复制代码





ID:96682 发表于 2019-11-19 04:10
数据口连接的标签不一致怎能正常

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

Powered by 单片机教程网

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