標(biāo)題: proteus中1602能動(dòng)態(tài)顯示么 [打印本頁]

作者: Royal丶豪    時(shí)間: 2018-3-13 21:37
標(biāo)題: proteus中1602能動(dòng)態(tài)顯示么
為什么仿真就下面一道杠,不動(dòng)態(tài)顯示                         
#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;      //液晶數(shù)據(jù)命令選擇端
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);
}


作者: shuisheng    時(shí)間: 2019-1-30 20:35
本帖最后由 shuisheng 于 2019-1-31 04:01 編輯

主要是你的代碼沒放到while(1)中,而是你一直用while(1)在空等.下面一道杠應(yīng)該是你放的啟始地址錯(cuò)位




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1