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

正文內(nèi)容

基于at89c52單片機的倒車雷達系統(tǒng)-閱讀頁

2025-07-11 18:43本頁面
  

【正文】 液晶顯示模塊 LCD1602[J].無線電,2022,03(634):3637.[6] 趙小強,趙連玉.超聲波測距系統(tǒng)中的溫度補償[J].控制與檢測,2022,12:6264.[7] 蘇偉,鞏壁建.超聲波測距誤差分析[J].傳感器技術(shù),2022 ,23(6):811 .[8] 祝敏.超聲波測距誤差分析及修正方法[J].計量與測試技術(shù),2022,36(2):2124.[9] 曾祥進,王敏,黃心漢.自動增益電路在超聲波測距系統(tǒng)中的應(yīng)用研究[J].測控技術(shù),2022,24(7):6971.附錄Proteus 中畫得的系統(tǒng)總體電路圖程序:include include include define uchar unsigned char define uint unsigned int uchar code dispBUF[33]={Temperature: Distance: mm }。039。139。239。339。439。539。639。739。839。939。 uint num[29]={0}。 //計數(shù)器的高低位 uchar count=0。 //距離 uint temp。 //DS18B20 存在標(biāo)準(zhǔn) sbit RS=P2^0。 //LCD RW sbit E =P2^2。 //DS18B20 數(shù)字端口 sbit Busy = P0^7。 void delay1ms(uint ms)。 void delay15(uchar us)。 void B20_WDAT(uchar dat)。 void Init_18B20(void)。 //寫入 LCD 命令 void Write_Data(uchar)。 sbit sta_flag =flag^0。 //溫度的符號位 sbit START =P1^0。 //發(fā)射超聲波 sbit CSBIN =P2^6。 /******************定時器 1 溢出***************************/ void timer1(void)interrupt 2 using 1{TR1=0。 TL0=0xA0。 TL1=0。 count++。 _nop_()。 _nop_()。 //先延時,后開始發(fā)送 40KHz 的超聲波 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 //40KHZ 的倒數(shù)就是 25us,12 個_nop_()。 //保持一段時間高電平 _nop_()。 _nop_()。 TR1=1。 //延時避開直達信號} /***************系統(tǒng)初始化 *************************/ void SYS_INIT(){ uchar i。i29。} TMOD=0x11。 TL0 =0xA0。 CNT=0。 //P2^6 口,接收信號 EA =1。 uint t。 else //溫度為負 c=*temp*。 //計算計數(shù)值 d=(c*t*)/2。 s=。 //修正后的值,數(shù)據(jù)通過全局變量 distance 傳輸 } /****************轉(zhuǎn)換成 2 進制***************/ void HEXtoBCD(){ float tp。 fuhao=0。 else //溫度為負,則求補碼得到原碼 { BUMA()。 fuhao=1。 tmp=tp。 //數(shù)據(jù)轉(zhuǎn)換后放到顯示數(shù)組里面 if(fuhao) num[12]=num[12]|0x80。 tmp=distance。 tmp%=1000。 tmp%=100。 tmp%=10。 } /**************溫度轉(zhuǎn)換函數(shù) ***************************/ void TESTTEMP() { Init_18B20()。 // 跳過讀序號列號的操作,忽略 ROM 匹配 B20_WDAT(0x44)。Init_18B20()。 //跳過讀序號列號的操作B20_WDAT(0xBE)。 b = B20_RDAT()。t = 8。 //字節(jié)合并 return (t)。 //DQ 復(fù)位 Delay(10)。 //單片機將 DQ 拉低 Delay(80)。 //拉高總線 Delay(10)。 else flag=1。 } /*******************讀數(shù)據(jù) ******************************/ uchar B20_RDAT(void) //讀取一個字節(jié) { uchar i = 0。 for (i = 8。 i) { DQ = 0。 DQ = 1。 //拼裝處理 Delay(15)。 //注意讀取的為補碼 } /*********************寫數(shù)據(jù) ****************************/ void B20_WDAT(uchar dat) { uchar i = 0。 i 0。 //拉低數(shù)據(jù)線至少 15us 以作為起始信號 DQ = datamp。 //取出低位的一位數(shù)據(jù) Delay(5)。 //將數(shù)據(jù)線拉高以作為停止信號 dat=1。 //按位取反 temp+=1。 Init_LCD()。 //清顯示 Write_Comm(0x80)。a16。 if((a11)amp。(a14)) //如果是結(jié)果位到 num[]里面讀取 { d=numcode[num[a]]。} Write_Data(d)。 //換行,換到第二行 for(b=16。b++) { d=dispBUF[b]。amp。 } Write_Data(d)。lcdbusy 為 0 時,閑,可寫指令與數(shù)據(jù){ bit BS。 RS = 0。 delay1ms(1)。0x80)。 return BS。RS = 0。E = 1。P0= lcdm。E = 0。RS = 1。E = 1。 P0= lcddata。 //判斷是否忙狀態(tài)E = 0。 //稍微延時,等待 LCD 進入工作狀態(tài) Write_Comm(0x01)。Write_Comm(0x38)。Write_Comm(0x06)。Write_Comm(0x0c)。 } /*************************延時 n*15US 函數(shù)*************************/ void delay15(uchar us) { do { _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 } while(us)。 } /****************************延時 1MS*************************/ void delay1ms(uint ms) { uint i,j。ims。j100。} /***************************顯示延時函數(shù)*********************/ void delay(){ uchar y。y0xff。 }/*********************導(dǎo)通即可驅(qū)動蜂鳴器 *********************/ void beep(uint bp){ uchar i, j。i //BEEP 取反 for (j = 0 。 j++) //需要產(chǎn)生方波 _nop_()。 //關(guān)閉蜂鳴器} /*******************系統(tǒng)主函數(shù) ******************/ void main(void) { uchar i,j。i255。j255。 //延時 SYS_INIT()。 //調(diào)用 beep()函數(shù),使喇叭發(fā)聲 delay1ms(500)。 //顯示 sta_flag=0。 //開定時器 0 中斷TR0=1。 //啟動溫度轉(zhuǎn)換 while(1) {if(sta_flag) //10MS 到了(sta_flag=1) { while(0==CSBIN)。 //關(guān)閉計數(shù)器 1jsh=TH1。 //讀取計數(shù)器高低位的數(shù)值HEXtoBCD()。 //計算距離if(15==count) //900MS 到,檢測溫度 { temp=GET_WD()。 TESTTEMP()。 //刷新顯示 }sta_flag=0。} } }
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1