freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)超聲波測距系統(tǒng)的設(shè)計(編輯修改稿)

2025-07-19 05:23 本頁面
 

【文章內(nèi)容簡介】 ay = 0。 //顯示標(biāo)志//定義全局變量U16 DisplayCount=0。U16 time=0。U32 distance=0。//函數(shù)聲明void delay_20us()。void Start_Module()。void INT0_Init(void)。void Data_Init()。void Timer0_Init()。void Timer1_Init()。 (3) 各子程序//20us延時程序,不一定很準(zhǔn)void delay_20us(){ U16 bt 。 for(bt=0。bt100。bt++)。 //8M晶振是100} //數(shù)據(jù)初始化void Data_Init(){ Trig = 0。 distance = 0。 DisplayCount = 0。}//外部中斷初始化函數(shù)void INT0_Init(void){ IT0 = 0。 //負(fù)邊沿觸發(fā)中斷 EX0=0。 //關(guān)閉外部中斷}//外部中斷處理用做判斷回波電平void INT0_ISR (void) interrupt 0{ time =TH1*256+TL1。 //取出定時器的值 FlagSucceed = 1。 //置成功測量的標(biāo)志 EX0=0。 //關(guān)閉外部中斷}//定時器0初始化,16位定時模式,初始化為1ms中斷一次。void Timer0_Init(){ TMOD = 0x11。 //定時器0和1工作在16位方式 TH0 = TIMER0H。 TL0 = TIMER0L。 TR0 = 1。 //啟動定時器 ET0 = 1。 //允許定時器0中斷}//定時器0中斷,用做顯示計時void Timer0_ISR(void) interrupt 1 // 定時器0中斷是1號{ TH0 = TIMER0H。 TL0 = TIMER0L。 DisplayCount ++。 if (DisplayCount = 1000) //1秒鐘顯示一次 { FlagDisplay = 1。 DisplayCount = 0。 }}//定時器1初始化,16位計數(shù)模式,時鐘為11059200/12=921600Hz//60ms計數(shù)為55296,即0xD800void Timer1_Init(){ TMOD = 0x11。 //定時器0和1工作在16位方式 TH1 =0。 TL1= 0。 ET1 = 1。}//啟動模塊,Trig管腳20us正脈沖void Start_Module() //啟動模塊{ Trig=1。 //啟動一次模塊 delay_20us()。 Trig=0。}/********************************************************************* 名稱 : Main()* 功能 : 主函數(shù)***********************************************************************/void main(){ U16 i, j。 EA = 0。 INT0_Init()。 Timer0_Init()。 //定時器0初始化 Timer1_Init()。 //定時器1初始化 Data_Init()。 EA = 1。 L1602_init()。 L1602_string(1,1,Wele to my )。 L1602_string(2,1,distance meter! )。 //延時 for (i=0。i1000。i++) for (j=0。j1000。j++) {。} while(1) { EA= 0。 //以下為一次檢測過程:先發(fā)出Trig電平,打開外部中斷,清零T1, //最后在外部中斷下降沿觸發(fā)時取出T1當(dāng)前值,計算出Trig脈沖寬度。 Start_Module()。 while(Echo==0)。 //等待Echo回波引腳變高電平 FlagSucceed = 0。 EX0=1。 TH1= 0。 TL1= 0。 TF1= 0。 TR1=1。 //啟動定時器1開始計數(shù) EA = 1。 while (TH180) 。 //盲區(qū) TR1 = 0 。 //關(guān)閉定時器1 EX0 = 0。 //關(guān)閉外部中斷 if(FlagSucceed==1) //一次測試成功,則計算距離,單位為厘米 { distance = time * 。 //計算得到脈沖時間(以微秒為單位) //將微秒時間轉(zhuǎn)變成厘米距離的算法: Y米=(X秒*344)/2 // X秒=( 2*Y米)/344 ==》X秒=*Y米 ==》厘米=微秒/58 distance /=58。 //如果距離小于20cm,則聲光報警 if ((FlagSucceed == 1) amp。amp。 (distance 20)) { LedAlarm = 0。 Beep = 0。 } else {
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1