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

正文內(nèi)容

倒車?yán)走_(dá)畢業(yè)設(shè)計(jì)(基于51單片機(jī))-資料下載頁

2025-06-26 13:52本頁面
  

【正文】 燕, 陳愛國(guó), 高榮貴. 聲速的溫濕度修正研究[J]. 壓電與聲光 , 2022, 1.(11)盛春明. 超聲波測(cè)距儀[J]. 電子制作, 2022, 5.(12)Bradford. Ultrasonic ranging system design[J]. Sensor Review, 1993, 13.(13)Tomasz J, Licznerski, Dariusz Kosz. Ultrasonic system for accurate distance measurement in the air[J]. 2022, 12: 960965.基于單片機(jī)的倒車?yán)走_(dá)的設(shè)計(jì)35附錄程序//主程序include include include include include include include include include int FLAG=0。 //距離級(jí)別 1 表示禁止,2 表示警告,3 表示通行 ,4 表示數(shù)據(jù)過大sbit LED_R = P2^3。sbit LED_Y = P2^2。sbit LED_G = P2^1。sbit BELL = P2^0。float s_data=0。 //距離數(shù)據(jù),單位厘米float temperature=0。//溫度數(shù)據(jù),單位攝氏度float humidity=0。 //濕度數(shù)據(jù)char s_str[10]。char sp_str[20]。char t_str[8]。char h_str[8]。//報(bào)警函數(shù),根據(jù)級(jí)別發(fā)生警報(bào)void Warning() { int i。switch(FLAG){case 1: //紅色警告 LED_G=1。LED_Y=1。for(i=0。i25。i++){LED_R=0。BELL=0。DelayMs(20)。LED_R=1。BELL=1。DelayMs(20)。}break。case 2: //黃色警告LED_G=1。LED_R=1。for(i=0。i50。i++){LED_Y=0。BELL=0。DelayMs(10)。LED_Y=1。BELL=1。DelayMs(10)。}break。case 3:case 4: BELL=0。LED_G=0。LED_R=1。LED_Y=1。 DelayMs(1000)。DelayMs(1000)。DelayMs(1000)。DelayMs(1000)。DelayMs(1000)。break。default: break。 } }void main() { int i。LCD_Init()。 //初始化液晶DelayMs(5)。 //延時(shí)有助于穩(wěn)定LCD_Clear()。 //清屏SR04_init()。SYN6288_Init()。TMOD|=0x01。 //定時(shí)器 0 工作方式 1 GATE=0 軟件可啟動(dòng) 計(jì)數(shù)脈沖為機(jī)器周期基于單片機(jī)的倒車?yán)走_(dá)的設(shè)計(jì)36TH0=0。 //初始值TL0=0。ET0=1。 //允許 T0 中斷EA=1。 //開總中斷BkMusic(1)。Speech(大家好 ,歡迎使用****的倒車?yán)走_(dá))。LCD_Write_String(0,0,Reversing radar)。for(i=0。i15。i++)DelayMs(1000)。BkMusic(0)。DelayMs(1000)。while(1){//讀距離數(shù)據(jù),溫度濕度數(shù)據(jù)s_data=SR04_read_data()。 getDHT11(amp。temperature,amp。humidity)。//處理距離數(shù)據(jù) 包括校正和變成字符串形式if(s_data=1000) {s_data=999。FLAG=4。}s_data=(s_data*)*sqrt((1+temperature/)*(1+*humidity))。sprintf(s_str,s:%,s_data)。sprintf(sp_str,距離%,s_data)。sprintf(h_str,H:%%%RH,humidity)。sprintf(t_str,T:%`C,temperature)。Speech(sp_str)。LCD_Clear()。 //1602 顯示距離數(shù)據(jù)LCD_Write_String(0,0,t_str)。LCD_Write_String(7,0,h_str)。LCD_Write_String(0,1,s_str)。//防止發(fā)射信號(hào)干擾,等待發(fā)音完成DelayMs(1000)。DelayMs(1000)。DelayMs(1000)。DelayMs(1000)。DelayMs(1000)。DelayMs(1000)。//判斷數(shù)據(jù)大小 并修改 FLAG 值if(s_data) FLAG=3。else if(s_data) FLAG=2。else FLAG=1。//警報(bào)Warning()。BELL=0。} }//顯示模塊include include include sbit RS=P2^6。 //寄存器選擇位,將 RS 位定義為 引腳sbit RW=P2^5。 //讀寫選擇位,將 RW 位定義為 引腳sbit EN=P2^4。 //使能信號(hào)位,將 E 位定義為 引腳sbit BF=P0^7。 //忙碌標(biāo)志位, ,將 BF 位定義為 引腳define RS_CLR RS=0 define RS_SET RS=1define RW_CLR RW=0 define RW_SET RW=1 基于單片機(jī)的倒車?yán)走_(dá)的設(shè)計(jì)37define EN_CLR EN=0define EN_SET EN=1define DataPort P0//判忙函數(shù)bit LCD_Check_Busy() { bit result。 RS_CLR。 RW_SET。 EN_SET。 _nop_()。 result=(bit)(DataPortamp。0x80 )。 EN_CLR。 return result。}//寫入指令函數(shù)void LCD_Write_Com(unsigned char ) { while(LCD_Check_Busy())。 //忙則等待 RS_CLR。 RW_CLR。 EN_SET。 DataPort= 。 _nop_()。 EN_CLR。}//寫入數(shù)據(jù)函數(shù)void LCD_Write_Data(unsigned char Data) { while(LCD_Check_Busy())。 //忙則等待 RS_SET。 RW_CLR。 EN_SET。 DataPort= Data。 _nop_()。 EN_CLR。}//清屏函數(shù)void LCD_Clear() { LCD_Write_Com(0x01)。 DelayMs(1)。}//寫入字符串函數(shù)void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) { if(y==0) LCD_Write_Com(0x80 + x)。//表示第一行 else LCD_Write_Com(0xC0 + x)。//表示第二行while(*s) { LCD_Write_Data( *s)。 s++。 }}//初始化函數(shù)void LCD_Init() { LCD_Write_Com(0x38)。 /*顯示模式設(shè)置*/ DelayMs(5)。 LCD_Write_Com(0x38)。 DelayMs(5)。 基于單片機(jī)的倒車?yán)走_(dá)的設(shè)計(jì)38 LCD_Write_Com(0x38)。 DelayMs(5)。 LCD_Write_Com(0x38)。 LCD_Write_Com(0x08)。 /*顯示關(guān)閉*/ LCD_Write_Com(0x01)。 /*顯示清屏*/ LCD_Write_Com(0x06)。 /*顯示光標(biāo)移動(dòng)設(shè)置*/ DelayMs(5)。 LCD_Write_Com(0x0C)。 /*顯示開及光標(biāo)設(shè)置*/}//溫濕度模塊includeinclude sbit bit11=P1^2。unsigned char U8FLAG。 //數(shù)據(jù)的脈長(zhǎng)標(biāo)志unsigned char U8T_data_H。 //溫度高 8 位unsigned char U8T_data_L。 //溫度低 8 位unsigned char U8RH_data_H。 //濕度高 8 位unsigned char U8RH_data_L。 //濕度低 8 位unsigned char U8checkdata。 //校驗(yàn) 8 位float F16T,F16RH。 //用于最終讀取的溫濕度數(shù)據(jù)//獲取 8 為數(shù)據(jù) char COM(){ unsigned char i,U8temp,U8data。 for(i=0。i8。i++) {U8FLAG=2。while(!bit11amp。amp。U8FLAG++)。//讀取的高電位延時(shí)大于 20us 則讀取的是 1 否則讀取的是 0 Delay_10us()。 Delay_10us()。U8temp=0。 if(bit11) U8temp=1。U8FLAG=2。 while(bit11amp。amp。U8FLAG++)。if(U8FLAG==1) break。U8data=1。 U8data|=U8temp。 }return U8data。}//溫濕度讀取子程序void getDHT11(float * F16T,float * F16RH){GO1: bit11=0。 //主機(jī)拉低 18ms DelayMs(180)。bit11=1。 //總線由上拉電阻拉高 主機(jī)延時(shí) 20us Delay_10us()。 Delay_10us()。 Delay_10us()。 Delay_10us()。bit11=1。 //主機(jī)設(shè)為輸入 判斷從機(jī)響應(yīng)信號(hào) if(!bit11) //判斷從機(jī)是否有低電平響應(yīng)信號(hào) 如不響應(yīng)則跳出,響應(yīng)則向下運(yùn)行 { U8FLAG=2。while((!bit11)amp。amp。U8FLAG++)。//響應(yīng)中,等待拉高U8FLAG=2。while(bit11amp。amp。U8FLAG++)。//按順序接收數(shù)據(jù) U8RH_data_H=COM()。 基于單片機(jī)的倒車?yán)走_(dá)的設(shè)計(jì)39U8RH_data_L=COM()。U8T_data_H=COM()。 U8T_data_L=COM()。 U8checkdata=COM()。bit11=1。//數(shù)據(jù)校驗(yàn) if((U8T_data_H+U8T_data_L+U8RH_data_H+U8RH_data_L)!=U8checkdata) goto GO1。}//轉(zhuǎn)換數(shù)據(jù)格式*F16T=(float)U8T_data_H+(float)U8T_data_L/256。*F16RH=(float)U8RH_data_H+(float)U8RH_data_L/256。}//測(cè)距模塊include include sbit TRIG = P1^0。sbit ECHO = P1^1。//初始化void SR04_init(){ TRIG=0。ECHO=0。}//發(fā)送超聲波void StartModule(){ TRIG =1。DelayUs2x(10)。TRIG =0。}//讀取距離數(shù)據(jù)并返回float SR04_read_data(){ float time=0。float s=0。StartModule()。while(!ECHO)。 //當(dāng) RX 為零時(shí)等待TR0=1。 //開啟計(jì)數(shù)while(ECHO)。 //當(dāng) RX 為 1 計(jì)數(shù)并等待TR0=0。 //關(guān)閉計(jì)數(shù) time=TH0*256+TL0。TH0=0。TL0=0。s= time/58。return s。}//語音模塊include include unsigned char nBkm = 0x00。define HEADLEN 5 //數(shù)據(jù)包頭的長(zhǎng)度define BKM_OFFSET 4 //背景音樂命令偏移define LEN_OFFSET 2 //長(zhǎng)度字節(jié)的偏移量define BKM_MAX 15 //背景音樂數(shù)量unsigned char head[HEADLEN] = {0xfd,0x00,0x00,0x01,0x00}。//sbit BUSY =
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1