51單片機(jī)接超聲波傳感器控制LED燈的暗滅主程序
#include "reg51.h"#include #define uchar unsigned char//無(wú)符號(hào)字符8位#define uint unsigned int //無(wú)符號(hào)整數(shù)16位uint time=0;uint timer=0;uint stoptime=0;uint ringtimes=0;unsigned long S=0;bit flag =0;sbit LED=P3^7;unsigned char l_disbuff[4]={ 0xff,0,0,0,};//顯示緩沖unsigned char l_posit=1; //位選擇sbit RX = P1^1; //模塊引腳sbit TX = P1^0;/********************************************************//**************1ms延時(shí)程序******************/delay1msuint t{uint i,j;fori=0;iforj=0;j<120;j++;}/********************************************************/void Conutvoid{ time=TH0*256+TL0;TH0=0;TL0=0;S=time*1.7/100; //算出來(lái)是CMifS>=40||flag==1 //超出測(cè)量范圍顯示“-”{flag=0;LED=1; }else{LED=0; }}/********************************************************/void zd0 interrupt 1 //T0中斷用來(lái)計(jì)數(shù)器溢出,超過(guò)測(cè)距范圍{flag=1; //中斷溢出標(biāo)志}/********************************************************/void zd3 interrupt 3 //T1中斷用來(lái)掃描數(shù)碼管和計(jì)1S啟動(dòng)模塊{TH1=0xf8;TL1=0x30;timer++;iftimer>=500{timer=0;TX=1; //1S 啟動(dòng)一次模塊_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;_nop_;TX=0;}}/*********************************************************/void main void { TMOD=0x11; //設(shè)T0,T1為方式1TH0=0;TL0=0; TH1=0xf8; //2MS定時(shí)TL1=0x30;ET0=1; //允許T0中斷ET1=1; //允許T1中斷TR1=1; //開(kāi)啟定時(shí)器EA=1; //開(kāi)啟總中斷while1{while!RX; //當(dāng)RX為零時(shí)等待TR0=1; //開(kāi)啟計(jì)數(shù)whileRX; //當(dāng)RX為1計(jì)數(shù)并等待TR0=0; //關(guān)閉計(jì)數(shù)Conut; //計(jì)算}}用的是常見(jiàn)HC-SR04模塊
熱門(mén)搜索
- 2018-07-318月8號(hào)成都出發(fā)去色達(dá),自駕游,有2個(gè)位置可以結(jié)伴
- 2018-07-31這地方熱嗎?莫干山不錯(cuò)的,下渚湖怎樣熱不熱
- 2018-07-31兒童超過(guò)120m要買(mǎi)票嗎
- 2018-07-31準(zhǔn)備去大理旅游三天,從昆明出發(fā) 求大神推薦路線
- 2018-07-31從廈大學(xué)生公寓到南普陀寺怎么走,要多長(zhǎng)時(shí)間到?
- 2018-07-31問(wèn)一哈從宜賓到濟(jì)南,怎么走最劃算