日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]網(wǎng)絡(luò)上集的STC89C52RC單片機(jī)超聲波測(cè)距程序及電子制作實(shí)物,使用單片機(jī)最小系統(tǒng)進(jìn)行試驗(yàn),超聲波部分使用HC-SR04模塊,測(cè)量范圍:4-300cm,實(shí)際測(cè)量上最長(zhǎng)可達(dá)到5.70m。下面是實(shí)物圖,文章后面附源程序。4-300cn,實(shí)

網(wǎng)絡(luò)上集的STC89C52RC單片機(jī)超聲波測(cè)距程序及電子制作實(shí)物,使用單片機(jī)最小系統(tǒng)進(jìn)行試驗(yàn),超聲波部分使用HC-SR04模塊,測(cè)量范圍:4-300cm,實(shí)際測(cè)量上最長(zhǎng)可達(dá)到5.70m。下面是實(shí)物圖,文章后面附源程序。

4-300cn,實(shí)際測(cè)量上最長(zhǎng)可達(dá)到5.7m

#include 'AT89X51.H' //頭文件

unsigned char code fseg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

unsigned char code segbit[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};

unsigned char disbuf[8]={0,0,0,0,0,0,0,0};

//-----------------------------------------------------------------------------

// 函數(shù)原形定義

#define uchar unsigned char

#define uint unsigned int

void main (void); // 主函數(shù)

void LED4_Display (void); // LED顯示

void LED_OUT(uchar X); // LED單字節(jié)串行移位函數(shù)

void delayms(uint); //延時(shí)子函數(shù) ms

void jisuan(void);

unsigned char code LED_0F[]; // LED字模表

sbit DIO=P1^0; //串行數(shù)據(jù)輸入

sbit RCLK=P1^1; //時(shí)鐘脈沖信號(hào)——上升沿有效

sbit SCLK=P1^2; //打入信號(hào)————上升沿有效

sbit echo=P3^2; //echo

sbit trig=P3^3; //trig

//-----------------------------------------------------------------------------

// 全局變量

uchar LED[8]; //用于LED的8位顯示緩存

uint temp;

uint temp1;

uint a,b; //定義一個(gè)變量a,b 后者用于判斷是否收到信號(hào)

//

// 主程序

//

void main(void) //主函數(shù)開始

{

uint f;

echo=0; //先拉低echo,trig引腳

trig=0;

f=500;

while(f>0); //啟動(dòng)延時(shí) 消除第一次上電產(chǎn)生的波動(dòng)

{

LED[3]=16;

LED[2]=15;

LED[1]=15;

LED[0]=16;

f--;

}

EA=1; //開總中斷

TMOD=0x11; //設(shè)置定時(shí)器為方式1

ET0=1; //允許定時(shí)器中斷 這里主要是防止超聲波模塊未發(fā)送信號(hào)

ET1=1;

while(1)

{

echo=0;//a賦值

a=0;

b=1;

TH0=0; //定時(shí)器裝初值

TL0=0;

TH1=(65536-25000)/256; //定時(shí)器裝初值

TL1=(65536-25000)%6;

trig=1; //trig送高

LED4_Display (); // 延時(shí)3ms

LED4_Display ();

LED4_Display ();

LED4_Display ();

LED4_Display ();

LED4_Display ();

LED4_Display ();

trig=0; //trig送低

TR1=1;

while(echo==0); //等待echo變?yōu)楦唠娖?/p>

if(b==1) 判斷是否收到信號(hào)

{

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉