<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > HC-SR04超聲波測距模塊電路設計

HC-SR04超聲波測距模塊電路設計

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò ) 收藏
超聲波測距模塊參數









超聲波測距模塊內部電路圖

本文引用地址:http://dyxdggzs.com/article/201611/322501.htm



超聲波測距模塊與51單片機連接電路圖


51單片機C語(yǔ)言參考程序

#include //調用單片機頭文件
#define uchar unsigned char//無(wú)符號字符型宏定義變量范圍0~255
#define uintunsigned int//無(wú)符號整型 宏定義變量范圍0~65535
#include
#include "eeprom52.h"


sbit c_send= P3^3;//超聲波發(fā)射
sbit c_recive = P3^2;//超聲波接收

//這三個(gè)引腳參考資料
sbit rs=P1^0;//1602數據/命令選擇引腳 H:數據L:命令
sbit rw=P1^1;//1602讀寫(xiě)引腳H:數據寄存器L:指令寄存器
sbit e =P1^2;//1602使能引腳下降沿觸發(fā)
uchar code table_num[]="0123456789abcdefg";

sbit beep = P1^4;//蜂鳴器IO口定義
bit flag_300ms ;

long distance;//距離
uint set_d;//距離
bit flag_csb_juli;//超聲波超出量程
uintflag_time0;//用來(lái)保存定時(shí)器0的時(shí)候的

uchar menu_1;//菜單設計的變量



void delay_1ms(uint q)
{
uint i,j;
for(i=0;i
for(j=0;j<120;j++);
}


void write_eeprom()//保存數據
{
SectorErase(0x2000);
byte_write(0x2000, set_d % 256);
byte_write(0x2001, set_d / 256);
byte_write(0x2058, a_a);
}


void read_eeprom()//讀出保存數據
{
set_d= byte_read(0x2001);
set_d <<= 8;
set_d|= byte_read(0x2000);
a_a= byte_read(0x2058);
}

//
void init_eeprom()////開(kāi)始初始化保存的數據
{
read_eeprom();//讀出保存數據
if(a_a != 2)//新的單片機初始單片機內問(wèn)EEPOM
{
set_d = 50;
a_a = 2;
write_eeprom();//保存數據
}
}


void delay_uint(uint q)
{
while(q--);
}


void write_com(uchar com)
{
e=0;
rs=0;
rw=0;
P0=com;
delay_uint(25);
e=1;
delay_uint(100);
e=0;
}


void write_data(uchar dat)
{
e=0;
rs=1;
rw=0;
P0=dat;
delay_uint(25);
e=1;
delay_uint(100);
e=0;
}


void write_string(uchar hang,uchar add,uchar *p)
{
if(hang==1)
write_com(0x80+add);
else
write_com(0x80+0x40+add);
while(1)
{
if(*p == 国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放

<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>