找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2908|回復(fù): 1
收起左側(cè)

51單片機(jī)超聲波測距系統(tǒng)電路+程序設(shè)計(jì)

[復(fù)制鏈接]
ID:483213 發(fā)表于 2019-3-23 19:08 | 顯示全部樓層 |閱讀模式
電路原理圖如下:
Snipaste_2019-03-23_19-04-17.png
程序代碼
//超聲波測距系統(tǒng)  12M晶振
//#include "REG2051.H"
#include <REGx51.H>
#include <intrins.h>
//#include "math.h"

#define uint  unsigned int
#define uchar unsigned char

#define LED_Data P0     //定義LED顯示數(shù)據(jù)為P1口
#define OFF P3

sbit led_1H=P2^7;                //定義數(shù)碼管百位 片選
sbit led_2H=P2^6;                //定義數(shù)碼管十位 片選
sbit led_3H=P2^5;                //定義數(shù)碼管個(gè)位 片選

sbit DQ=P3^4;                        //18b20定義端口


sbit bell=P2^2;                        
sbit Sout=P3^7;                        //定義超聲波輸出引腳

sbit k1=P1^0;                        //定義按鍵
sbit k2=P1^1;
sbit k3=P1^2;

bit r=0;                                //18b20存在標(biāo)志位 0為不存在,1為存在
bit flag=0;                                //定義外部中斷1標(biāo)志位
bit TO=0;                                //定義T1中斷1標(biāo)志位
bit tu=0;                                //定義溫度正、負(fù)標(biāo)示位0為正1為負(fù)
bit show_temperature=0;        

uchar T_C;                                
uint i;
uint dis;                                //定義實(shí)形距離變量
float speed=346.50;     

uchar temp[3]={0xF7,0xF7,0xF7};//*- - -*/  定義顯示暫存區(qū)
//顯示段代碼表
uchar code LED0[]={ 0x28,0xEE,0x32,0xA2,0xE4,0xA1,0x21,0xEA,0x20,0xA0,0xF7,};//0~9 -
//第一位數(shù)碼管顯示段碼
uchar code LED1[]={0x08,0xCE,0x12,0x82,0xC4,0x81,0x01,0xCA,0x00,0x80,}; //0.~9.帶小數(shù)點(diǎn)

//
void time_11uS(uint x);                                //延時(shí)11US
void LED_T_C(uint x);                                
uint Read_Temperature(void);               
void write(char wr);                                //寫1820
uint read(void);                                        //讀1820
uchar reset(void);                                        //復(fù)位1820
//--------------------------------------------測距部分涵數(shù)聲明
void led_display(void);                                //LED顯示函數(shù)
void time(uint x);                                        //延時(shí)1mS
void Send_40K(void);                                //輸出20個(gè)40k方波函數(shù)
void LED_temp(uint x);                                //顯示轉(zhuǎn)換
void TT1(void);                                                //裝入初值
uint C_speed(void);                  //根據(jù)溫度查表取聲速值
float Dis_count();                        //距離計(jì)算函數(shù)
//--------------------------------------------

//--------------------------------------------
//延時(shí)11us
void time_11uS(uint x)
{
  for(;x>0;x--);
}
//--------------------------------------------


完整代碼請看附件
51單片機(jī)的超聲波測距.doc (3.14 MB, 下載次數(shù): 27)

評分

參與人數(shù) 2黑幣 +65 收起 理由
tieq1952 + 15 贊一個(gè)!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:253767 發(fā)表于 2019-3-24 07:34 | 顯示全部樓層
很好。謝謝分享!!!
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表