新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 超聲波測(cè)距模塊+AVR單片機(jī)控制程序

        超聲波測(cè)距模塊+AVR單片機(jī)控制程序

        作者: 時(shí)間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
        超聲波測(cè)距模塊】-【機(jī)器人的耳朵】
        #include<avr/io.h>#include#includeint main(void){DDRA=0x00;PORTA=0x00;    //PA口初始化DDRD=0xff;PORTD=0xff;    //PD口初始化char j,i;int h,u,l;while(1){j=1;     //激活while(j)循環(huán)i=1;     //激活while(i)循環(huán)u=6000;     //還原檢測(cè)循環(huán)     PORTA&=(1<<0);   //PA0腳高電平_delay_us(20);   //延時(shí)20USPORTA&=~(1<<0);   //PA0腳低電平。發(fā)送20US的高電平脈沖while(j){if(PINA&(1<<1))  //判斷PA1有無返回高電平{while(i){h=0;    //初始計(jì)數(shù)變量_delay_us(10);  //延時(shí)及計(jì)數(shù)h=h+10;    //計(jì)數(shù)累加10usif(!(PINA&(1<<1))) //判斷PA1口是否跳轉(zhuǎn)到低電平{i=0;   //至while值為零j=0;   //檢測(cè)完成,跳出while(j)l=h*3;   //計(jì)算出mmif(250>=l){PORTD=0b00000001;}else if(500>=l&&l>=250){PORTD=0b00000010;}else if(750>=l&&l>=500){PORTD=0b00000100;}else if(1000>=l&&l>=750){PORTD=0b00001000;}else if(1250>=l&&l>=1000){PORTD=0b00010000;}else if(1500>=l&&l>=1250){PORTD=0b00100000;}else if(1750>=l&&l>=1500){PORTD=0b01000000;}else if(2000>=l&&l>=1750){PORTD=0b10000000;}else{PORTD=0b00000000;}_delay_ms(600);   //檢測(cè)完成,延遲顯示}}}_delay_us(10);  //當(dāng)PA1未返回高電平開始循環(huán)檢測(cè),間隔10usu=u-1;    //循環(huán)程序固定循環(huán)U次if(u&0)    //當(dāng)循環(huán)U次后,判斷U是否為0,跳出while(j){j=0;}}   }}


        關(guān)鍵詞: 超聲波測(cè)距AVR單片

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 格尔木市| 神池县| 微山县| 常熟市| 承德县| 车险| 虹口区| 河池市| 文登市| 虞城县| 阿合奇县| 宜阳县| 门头沟区| 铁力市| 福贡县| 阿坝| 突泉县| 额尔古纳市| 大港区| 礼泉县| 隆昌县| 平乐县| 玉山县| 泰和县| 昌乐县| 饶河县| 额济纳旗| 敖汉旗| 梁河县| 沁阳市| 桂林市| 莱州市| 会泽县| 清水河县| 望谟县| 高淳县| 卢氏县| 改则县| 奉贤区| 乳山市| 丹凤县|