在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > HC-SR04超聲波測(cè)距模塊電路設(shè)計(jì)

            HC-SR04超聲波測(cè)距模塊電路設(shè)計(jì)

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









            超聲波測(cè)距模塊內(nèi)部電路圖

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



            超聲波測(cè)距模塊與51單片機(jī)連接電路圖


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

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


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

            //這三個(gè)引腳參考資料
            sbit rs=P1^0;//1602數(shù)據(jù)/命令選擇引腳 H:數(shù)據(jù)L:命令
            sbit rw=P1^1;//1602讀寫(xiě)引腳H:數(shù)據(jù)寄存器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;//菜單設(shè)計(jì)的變量



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


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


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

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


            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 ==