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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1341|回復(fù): 0
收起左側(cè)

求幫助:用HC-SR04測距讓后用LCD1602顯示,為什么顯示錯誤

[復(fù)制鏈接]
ID:761375 發(fā)表于 2020-9-22 16:26 | 顯示全部樓層 |閱讀模式
#include <reg52.h>
#include <intrins.h>

#define LCD_DATA P0

sbit LCD_E=P2^7;
sbit LCD_RW=P2^5;
sbit LCD_RS=P2^6;

sbit led = P2^0;
sbit led1 = P2^1;
sbit led2 = P2^2;

sbit key = P3^1;

sbit trg = P1^2;           //超聲波模塊控制端
sbit ech = P1^3;           //超聲波模塊接收端

unsigned char i;
unsigned char flag = 0;

unsigned int count = 0;           //超聲波模塊時間變量
unsigned long dis;   //超聲波測量的距離
unsigned char num[10] = "0123456789";

unsigned char thousend,hundred,ten,unit;

/*
延時函數(shù)delay延時 1ms入口參數(shù)  c                   
*/
void delay(unsigned int c)  
{
    unsigned char a,b;
        for (c; c>0; c--)
        {
                 for (b=199;b>0;b--)
                 {
                          for(a=1;a>0;a--);
                 }      
        }          
}

/****10us延時****/
void Delay10us()                //@12.000MHz
{
        unsigned char i;

        _nop_();
        _nop_();
        i = 27;
        while (--i);
}                         

void Lcd_Write_Cmd(unsigned int cmd)
{
        LCD_RS = 0;
        LCD_RW = 0;

        LCD_DATA = cmd;
        delay(5);

        LCD_E = 1;
        LCD_E = 0;
}

void Lcd_Write_Dat(unsigned char dat)
{
        LCD_RS = 1;
        LCD_RW = 0;

        LCD_DATA = dat;
        delay(5);

        LCD_E = 1;
        LCD_E = 0;
}                                         

void Lcd_Init()
{
        Lcd_Write_Cmd(0x38);
        Lcd_Write_Cmd(0x0f);
        Lcd_Write_Cmd(0x06);
        Lcd_Write_Cmd(0x01);               
}

/****定時器初始化****/
void T0_T1_Int0_Init()
{
        TMOD = 0x11;     //配置定時器工作模式及方式寄存器(TCON為定時器控制寄存器)
       
        TH0 = (65535 - 5000) / 256;
        TL0 = (65535 - 5000) % 256;

        TH1 = 0;                 //為定時器1設(shè)初值
        TL1 = 0;                 //高八位與低八位均為0

        EA = 1;                         //開放總中斷
        ET1 = 1;                 //開放定時器1中斷
        ET0 = 1;
}

void T0_ser() interrupt 1
{
        unsigned char n;       

        TH0 = (65535 - 5000) / 256;
        TL0 = (65535 - 5000) % 256;

        n++;

        if(n >= 16)
        {
                n = 0;
                trg = 1;                                   //向控制端
                Delay10us();                           //提供
                Delay10us();                          //20us
                trg = 0;
       
                led = ~led;
        }
}

void T1_ser() interrupt 3
{
        TH1 = 0;
        TL1 = 0;
}

void Distance()
{
        while(!ech);
        TR1 = 1;
        while(ech);
        TR1 = 0;
}

void Dis_Count()
{
        count = TH1 * 256 + TL1;
        dis = (long)(count * 0.017); //計算小車到障礙物的距離(cm)

        thousend = dis / 1000;
        hundred = dis % 1000 / 100;                  
        ten = dis % 100 / 10;                               
        unit = dis % 10;
}

void main()
{                          
        Lcd_Init();

        T0_T1_Int0_Init();

        Lcd_Write_Cmd(0x80);

        TR0 = 1;
         
        while(1)
        {         
                Distance();
                Dis_Count();
                                                               
                Lcd_Write_Dat(num[thousend]);
                delay(1);
                Lcd_Write_Dat(num[hundred]);
                delay(1);
                Lcd_Write_Dat(num[ten]);
                delay(1);
                Lcd_Write_Dat(num[unit]);
                delay(100);
       
                Lcd_Write_Cmd(0x01);

                if(dis < 50)
                {
                        led2 = 0;       
                }
                if(dis > 50)
                {
                        led2 = 1;       
                }       
        }
}

LCD1602顯示的數(shù)字一直再增加
不知道哪里出了問題

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美在线观看一区 | 久久99国产精品 | 久久99久久 | 亚洲国产成人精品女人久久久 | 日本久久精 | 欧美黑人国产人伦爽爽爽 | 99精品免费久久久久久久久日本 | 国产一区二区在线观看视频 | 人人干人人草 | 99久久久久久 | 天天操天天摸天天爽 | 欧美精品一区在线发布 | 亚洲国产精品久久久 | 亚洲美女在线一区 | 亚洲一区二区三区在线免费 | 欧美日韩在线成人 | 国产极品粉嫩美女呻吟在线看人 | 色噜噜色综合 | 成人在线网 | 在线播放精品视频 | 午夜精品一区二区三区三上悠亚 | 久久一| 免费观看av | 天天爽天天操 | 日韩av三区 | 一级片免费观看 | 美女黄色在线观看 | 日韩在线不卡视频 | 毛片a级 | 午夜精品一区 | 91精品久久 | 青青草视频免费观看 | 欧美视频二区 | 午夜网 | 日韩毛片在线免费观看 | 欧美成人在线影院 | 国产自产21区 | 欧美综合一区二区三区 | 亚洲电影一区 | 99tv成人影院| 青娱乐国产|