久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2963|回復: 6
收起左側

為什么該程序運行一點都沒反應求大佬詳細解答,感覺自己寫的是超簡簡化版求大佬指....

[復制鏈接]
ID:301339 發表于 2018-4-16 15:13 | 顯示全部樓層 |閱讀模式
5黑幣
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int

#define Lcd1602_DB  P0          
sbit Lcd1602_RS = P2^6;
sbit Lcd1602_RW = P2^5;
sbit Lcd1602_EN = P2^7;
       
sbit Trig = P2^1;
sbit Echo = P2^0;
static unsigned char DisNum = 0;                                  
unsigned int  time=0;
unsigned long S=0;
bit      flag =0;
unsigned char disdat[4] ={ 0,0,0,0,};

void delayms(unsigned int ms)
{
        unsigned char i=100,j;
        for(;ms;ms--)
        {
                while(--i)
                {
                        j=10;
                        while(--j);
                }
        }
}


void Lcd1602_Write_com(unsigned char cmd)
{
        Lcd1602_RS=0;
        P0=cmd;
        delayms(1);
        Lcd1602_EN =1;
    delayms(1);
        Lcd1602_EN =0;
    delayms(1);
}

void Lcd1602_Write_Data(unsigned char shu)
{
        Lcd1602_RS=1;
        P0=shu;
        delayms(1);
        Lcd1602_EN =1;
    delayms(1);
        Lcd1602_EN =0;
        delayms(1);
}

void write_1602(uchar add,uchar sj)
{
        Lcd1602_Write_com(0*80+0*40+add);
        Lcd1602_Write_Data(sj) ;
}               

void zifuchuan(uchar *ch)         
{
    while(*ch!=0)   
    Lcd1602_Write_Data(*ch++);
        delayms(1);
}                                                                                                                                                                                                                    //仔細看一下那個程序

void LcdInit()                                               
{
         Lcd1602_Write_Data(0x38);  
         Lcd1602_Write_Data(0x0c);  
         Lcd1602_Write_Data(0x06);  
         Lcd1602_Write_Data(0x01);  
         Lcd1602_Write_Data(0x80);  
         zifuchuan("TFB") ;
}
  void Conut(void)
{
         time=TH0*256+TL0;
         TH0=0;
         TL0=0;
         S=time/58;
         disdat[0]=S%1000/100;                          
         disdat[1]=S%1000%100/10;                  
         disdat[2]=S%1000%10 %10;                  
         write_1602(1,disdat[1]+0*30);                                         
         write_1602(2,disdat[2]+0*30);               
         write_1602(3,disdat[3]+0*30);
         write_1602(5,'c');
     write_1602(6,'m');
         
         

         }                                  


void zd0() interrupt 1                  
  {
    flag=1;                                                       
  }

void  StartModule()                         
  {
          Trig=1;                                            
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          Trig=0;
  }




void main(void)
{
         delayms(1);
     LcdInit();
         TMOD=0x01;                  
         TH0=0;
         TL0=0;         
         ET0=1;            
         EA=1;                          



        while(1)
{
         StartModule();
     while(!Echo);               
         TR0=1;                            
     while(Echo);                       
         TR0=0;                       
     Conut();               
     delayms(1);
        }
                       
}

最佳答案

查看完整內容

LCD初始化程序寫錯了!改這樣試試 void LcdInit() { Lcd1602_Write_com(0x38); Lcd1602_Write_com(0x0c); Lcd1602_Write_com(0x06); Lcd1602_Write_com(0x01); Lcd1602_Write_com(0x80); zifuchuan("TFB") ; }
回復

使用道具 舉報

ID:213173 發表于 2018-4-16 15:13 | 顯示全部樓層
523633035 發表于 2018-4-16 21:14
求指點謝謝,謝謝 謝謝。

LCD初始化程序寫錯了!改這樣試試
void LcdInit()                                                
{
        Lcd1602_Write_com(0x38);  
        Lcd1602_Write_com(0x0c);  
        Lcd1602_Write_com(0x06);  
        Lcd1602_Write_com(0x01);  
        Lcd1602_Write_com(0x80);  
        zifuchuan("TFB") ;
}
回復

使用道具 舉報

ID:301339 發表于 2018-4-16 21:09 | 顯示全部樓層
大佬們這是單片機超聲波測距的程序
回復

使用道具 舉報

ID:301339 發表于 2018-4-16 21:14 | 顯示全部樓層

RE: 為什么該單片機超聲波測距程序運行沒反應求大佬詳細解答求指點急

求指點謝謝,謝謝 謝謝。
回復

使用道具 舉報

ID:301339 發表于 2018-4-17 14:52 | 顯示全部樓層
wulin 發表于 2018-4-17 10:40
LCD初始化程序寫錯了!改這樣試試
void LcdInit()                                                
{ ...

對確實是這樣COM設置的是地址這個地方粘貼時出錯了,謝謝。可是還是顯示不出來求大佬于百忙中再指點一下謝謝
回復

使用道具 舉報

ID:213173 發表于 2018-4-17 16:24 | 顯示全部樓層
523633035 發表于 2018-4-17 14:52
對確實是這樣COM設置的是地址這個地方粘貼時出錯了,謝謝。可是還是顯示不出來求大佬于百忙中再指點一下 ...

我沒有超聲波傳感器用來測試,只是把LCD1602驅動程序修改后驗證了一下,可以正常顯示字符。你如果還有問題可以按模塊逐一調試,分別調通了再統一調試,否則你搞不清問題在哪里。
無標題.jpg

回復

使用道具 舉報

ID:213173 發表于 2018-4-17 17:50 | 顯示全部樓層
523633035 發表于 2018-4-17 14:52
對確實是這樣COM設置的是地址這個地方粘貼時出錯了,謝謝。可是還是顯示不出來求大佬于百忙中再指點一下 ...

下面兩個函數都寫錯了,改后的效果是不是你想要的?
void write_1602(uchar add,uchar sj)
{
        Lcd1602_Write_com(0x80+0x40+add);
        Lcd1602_Write_Data(sj);
}

void Conut(void)
{
        time=TH0*256+TL0;
        TH0=0;
        TL0=0;
//        S=time/58;
        S=125;//這是隨便寫的數,用以驗證此程序
        disdat[0]=S%1000/100;
        disdat[1]=S%1000%100/10;
        disdat[2]=S%1000%10 %10;
        write_1602(1,disdat[0]+0x30);
        write_1602(2,disdat[1]+0x30);
        write_1602(3,disdat[2]+0x30);
        write_1602(5,'c');
        write_1602(6,'m');
}

無標題1.jpg

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美久久久久久久久中文字幕 | 欧美精品 在线观看 | 国产中文字幕在线观看 | 狠狠操狠狠干 | 激情自拍偷拍 | 国产一级片在线观看视频 | 狠狠的干狠狠的操 | 天堂亚洲| 91 在线| 999久久久久久久久6666 | 男女网站视频 | 精品一区av | 性国产xxxx乳高跟 | 国产精品国产成人国产三级 | 一区二区三区观看视频 | 精久久| 亚洲精品区 | 日韩av在线免费 | 一区二区免费 | 亚洲高清av| 国产精品久久久久久妇女 | 亚洲v日韩v综合v精品v | 91中文字幕在线观看 | 免费的黄色片子 | 手机看黄av免费网址 | 国产一在线观看 | 色婷婷综合成人av | 久久精品在线免费视频 | 欧美激情国产精品 | 欧美成人手机在线 | 欧美日韩电影免费观看 | 狠狠爱免费视频 | 2018天天干天天操 | 亚洲免费网址 | 亚洲欧美日韩中文在线 | 久久久免费观看视频 | 中文字幕亚洲精品 | 亚洲成人免费视频在线观看 | 久久久久久久久99 | 亚洲国产一 | 久久99精品久久久久 |