ASM 板


LINE

看板 ASM  RSS
超音波測距,正常需求,如果距離為0~5cm,則亮紅燈。5~50cm,亮黃燈。50~150cm,則亮綠燈。 而現在程式出現的問題是,距離算的不夠精準,而且距離近的時候,紅燈亮起,而稍微拉遠時, 黃燈亮起一下之後,及轉成紅燈。無法確切得知距離遠近,程式上面不知道是哪裡出錯,還請各 位前輩不吝指教,謝謝。 以下為我們的程式: #include <REG51F.H> sbit P10=P1^0; sbit P11=P1^1; sbit P12=P1^2; sbit P36=P3^6; sbit P37=P3^7; void AddTime(void); void CountDistance(void); void delay_250US(void); void delay_10US(void); void delay_500MS(unsigned int count1); unsigned int Time=250,Distance=0,Count=0; main() { MAIN_L: P10=1; //紅燈 P11=1; //黃燈 P12=1; //綠燈 P37=1; //SINGLE_IN=H P36=0; delay_250US(); P36=1; while(1) { while(P37==1) { MAIN_H: TMOD=0x11; AddTime(); Time++; } while(P37==0) { delay_10US(); if(P37==1) { goto MAIN_H; } else { Distance=Time/58; goto MAIN_N; } MAIN_N: while(Distance>=0&&Distance<1&&Count<10) { P10=0; delay_500MS(10); P11=1; P12=1; Count++; } while(Distance>=5&&Distance<30&&Count<10) { P10=1; P11=0; delay_500MS(10); P12=1; Count++; } while(Distance>=30&&Distance<300&&Count<10) { P10=1; P11=1; P12=0; delay_500MS(10); Count++; } Count=0; Time=0; goto MAIN_L; } } } void delay_250US(void) { TL1=65536-250; TH1=(65536-250)>>8; TR1=1; while(TF1==0); TR1=0; TF1=0; } void AddTime(void) { TL0=65536-1; TH0=(65536-1)>>8; TR0=1; while(TF0==0); TR0=0; TF0=0; } void delay_10US(void) { TL0=65536-10; TH0=(65536-10)>>8; TR0=1; while(TF0==0); TR0=0; TF0=0; } void delay_500MS(unsigned int count1) { TL0=65536-50000; TH0=(65536-50000)>>8; TR0=1; while(TF0==0); TR0=0; TF0=0; count1--; } 不知道 算不算作業文捏 因為不知道錯誤在哪邊 希望高手~幫幫忙~說大概哪邊有錯誤~ 好讓我繼續改進 多謝~ --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.23.39.253
1F:→ ast9869:能不能盡量不要用goto 呢? 08/14 16:39
2F:推 ruemann:用平均啦,不要收到一次就做判斷 08/14 18:41







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP