找回密码
 立即注册

QQ登录

只需一步,快速开始

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

proteus中1602能动态显示么

[复制链接]
跳转到指定楼层
楼主
为什么仿真就下面一道杠,不动态显示                         
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]="hello everyone!";
uchar code table1[]="welcome to here!";
sbit lcden=P3^4;          //液晶端使能
sbit lcdrs=P3^5;      //液晶数据命令选择端
uchar num;
void delay(uint z)
   {
    uint x,y;
      for(x=z;x>0;x--);
           for(y=110;y>0;y--);
   }
             
void write_com(uchar com)
{
          lcdrs=0;
          P2=com;                                          
          delay(5);
          lcden=1;
          delay(5);
          lcden=0;
}
void write_data(uchar date)
{
        lcdrs=1;
        P2=date;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
}
void init()
{
        lcden=0;
        write_com(0x38);
        write_com(0x0c);
        write_com(0x06);
        write_com(0x01);
}
void main()
{
        init();
        write_com(0x80+0x10);
                for(num=0;num<15;num++)
                {
                  write_data(table[num]);
                delay(5);
        }
        write_com(0x80+0x50);
        for(num=0;num<16;num++)
                {
                write_data(table1[num]);
                delay(5);
        }       
        for(num=0;num<16;num++);
        {
        write_com(0x18);

        delay(200);
        }
         while(1);
}

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

使用道具 举报

沙发
ID:454000 发表于 2019-1-30 20:35 | 只看该作者
本帖最后由 shuisheng 于 2019-1-31 04:01 编辑

主要是你的代码没放到while(1)中,而是你一直用while(1)在空等.下面一道杠应该是你放的启始地址错位

评分

参与人数 6黑币 +145 收起 理由
shuisheng60 + 35
就你**** + 10
站着说话不腰疼 + 15
钻牛尖滴刘尖尖 + 15
areyouok + 35
jinsheng7533967 + 35 很给力!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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