欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
單片機(jī)超聲波測(cè)距仿真程序有問題,讀出來的距離不正確
[打印本頁]
作者:
水月sy
時(shí)間:
2021-3-9 15:05
標(biāo)題:
單片機(jī)超聲波測(cè)距仿真程序有問題,讀出來的距離不正確
讀出來的距離不正確,是怎么回事
程序:
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit TRIG=P1^6;
sbit ECHO=P1^7;
uint sonicMeasure();
void t0Init();
void display(uchar v,uchar w,uchar x,uchar y);
void delay20us();
void delay2ms();
void delay60ms();
uchar code tab[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XBF,0XFF};
void main(){
uchar yi,er,san,si;
uint distance;
t0Init();
while(1){
distance=sonicMeasure();
delay60ms();
yi=distance/1000;
er=distance%1000/100;
san=distance%100/10;
si=distance%10;
display(yi,er,san,si);
}
}
uint sonicMeasure(){
uint s;
TRIG=1;
delay20us();
TRIG=0;
while(!ECHO);
TR0=1;
while(ECHO);
TR0=0;
s=(TH0*256+TL0)*0.017;//cm
TH0=TL0=0x00;
return s;
}
void t0Init(){
TMOD=0x00;
TH0=TL0=0x00;
EA=1;
ET0=1;
}
void display(uchar i,uchar j,uchar x,uchar y){
P2=0x01;P3=tab[i];delay2ms();
P2=0x02;P3=tab[j];delay2ms();
P2=0x04;P3=tab[x];delay2ms();
P2=0x08;P3=tab[y];delay2ms();
P3=0xff;
}
void delay20us() //@12.000MHz
{
unsigned char i;
_nop_();
i = 7;
while (--i);
}
void delay2ms() //@12.000MHz
{
unsigned char i, j;
i = 4;
j = 225;
do
{
while (--j);
} while (--i);
}
void delay60ms() //@12.000MHz
{
unsigned char i, j;
i = 117;
j = 184;
do
{
while (--j);
} while (--i);
}
復(fù)制代碼
51hei.png
(82.68 KB, 下載次數(shù): 16)
下載附件
2021-3-9 16:10 上傳
作者:
人人學(xué)會(huì)單片機(jī)
時(shí)間:
2021-3-9 19:26
以1mm 為基本單位計(jì)算出單位時(shí)間值,直接 配置好定時(shí)器參數(shù),直接讀定時(shí)器中斷次數(shù)就表示多少毫米,這有可以避免乘法除法運(yùn)算。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1