找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2916|回復: 2
打印 上一主題 下一主題
收起左側

用超聲波測距l(xiāng)cd1602顯示,大神幫忙看看哪有問題,屏幕不顯示呢

[復制鏈接]
跳轉到指定樓層
樓主
ID:64575 發(fā)表于 2014-8-2 15:22 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  #include<intrins.h>
   #define uint unsigned int
   #define uchar unsigned char
   sbit trig=P3^3;
    //發(fā)射
   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;
   
    }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:51090 發(fā)表于 2014-8-4 00:20 來自手機 | 只看該作者
程序看起來沒有問題,是不是io口接錯了,
回復

使用道具 舉報

板凳
ID:153199 發(fā)表于 2017-2-17 15:20 | 只看該作者
程序看不出來問題,解決了嗎,分享下經驗
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表