标题: 用超声波测距lcd1602显示,大神帮忙看看哪有问题,屏幕不显示呢 [打印本页]

作者: zycheng    时间: 2014-8-2 15:22
标题: 用超声波测距lcd1602显示,大神帮忙看看哪有问题,屏幕不显示呢
  #include<intrins.h>
   #define uint unsigned int
   #define uchar unsigned char
   sbit trig=P3^3;
    //发射
   sbit echo=P3^2; //接收
   sbit lcde=P2^7; //e
   sbit wr=P2^5;   
   sbit rd=P2^6;
   void delay(uint z);
   void com(uchar com);
   void writedata(uchar date);
    void display(uchar temp);
   uchar num,i;
   uchar table1[3];      
   int time,distance,succeedflag;  
   void lcdinit();
      void main()
   {
       EA=1;
      TMOD=0X01;
      ET0=1;
     
              while(1)
     {   
          succeedflag=0;
          trig=1;
          delay(10);
       trig=0;
       while(!echo);
       TR0=1;
       TH0=0;
       TL0=0;
       while(echo);
       TR0=0;
       succeedflag=1;
         delay(40);
       }
     if(succeedflag==1)
      {
        time=TH0*256+TL0;
      distance=time*0.0172;    //cm
        display(distance);
      
      }
     if(succeedflag==0)
       {
          distance=0;
             }
        
      
   }
      void delay(uint z)         //延时函数
   {
     uint x,y;
     for(x=z;x>0;x--)
        for(y=110;y>0;y--);
   }
    void  com(uchar com)         //lcd命令
    {
        
      rd=0;
      wr=0;
      P0=com;
      delay(5);
      lcde=1;
      delay(5);
      lcde=0;
    }
    void writedata(uchar date)        //lcd数据
    {
      rd=1;
    wr=0;
    P0=date;
    delay(5);
    lcde=1;
    delay(5);
    lcde=0;
    }
    void lcdinit()       //lcd命令
    {     
         com(0x38);
    com(0x0c);
    com(0x06);
    com(0x01);
    com(0x80);
   
    }
      void display(uchar temp)                 //记数
    {   
        uchar bai,shi,ge,i,j;
      bai=temp/100;
      shi=temp%100/10;
      ge=temp%10;
      table1[0]=bai+'0';
      table1[1]=shi+'0';
      table1[2]=ge+'0';
      lcdinit();           
        for(i=0;i<3;i++)
        {
          writedata(table1[i]);
      
         }
   
      
   
     }
        void timer0() interrupt 1        //定时器0中断
    {
        TH0=0;
      TH0=0;
   
    }

作者: xiaojuan    时间: 2014-8-4 00:20
程序看起来没有问题,是不是io口接错了,
作者: liuzhaoxin1020    时间: 2017-2-17 15:20
程序看不出来问题,解决了吗,分享下经验




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1