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

正文內(nèi)容

基于單片機的滅火機器人畢業(yè)設計論文-資料下載頁

2025-06-27 19:45本頁面
  

【正文】 單片機設計實例[M],北京航空航天大學出版社,2005,.[7] 陳黎敏,傳感器技術及其應用,機械工業(yè)出版社[M],2010.[8] 姜志海,黃玉青等,單片機原理及應用. 電子工業(yè)出版社,2005.[9] 羅杰,電子線路設計實驗,北京:電子工業(yè)出版社,2008.[10] 童詩白,[M],第五版,北京:高等教育出版社 ,2006.[11]鄧岳,周輝,譚英姿,基于MC9S12DG128單片機智能車設計與實現(xiàn),實驗室研究與探索2008.[12] . Theelen a,*, . Verschueren b, . Reyes Su_arez c, . Stevens a, A. Nunez. A scalable singlechip multiprocessor architecture with onchip RTOS kernel. [J]. 2003[13] Jayanta Mukherjee a,*, Manfred K. Lang b, . Mitra. Demosaicing of images obtained from singlechip imaging sensors in YUV color space. [J]. 2005[14]. Honeywell Magnetic Sensor Products User’s Manual.Honeywell Application Note,2001[15].W.Denne.Magnetic.Compass Deviation and Correction.Brown.Son amp。 Ferguson.Ltd,1998附件一:總體原理圖附件二:部分程序源代碼include //其中定義了兩個延時函數(shù),includeinclude //超聲波模塊的引腳定義define TrigF P2_3define EchoF P2_4define Key P1_2 //火焰?zhèn)鞲衅鞯腄O連接到該引腳,通過該引腳的輸出電平的高低來判斷前方是否有火源define DisSet 200 //液晶顯示的引腳定義及其頭文件include define LCM_RW P2_1 //定義引腳define LCM_RS P2_2define LCM_E P2_0define LCM_Data P0define Busy 0x80 //用于檢測LCM狀態(tài)字中的Busy標識define LCD_CLEAR 0x01 // 清屏 /*聲明顯示函數(shù)*/void Write_Data_LCM(unsigned char WDLCM)。void Write_Command_LCM(unsigned char WCLCM,BuysC)。void Read_Status_LCM(void)。void LCM_Init(void)。void Set_xy_LCM(unsigned char x, unsigned char y)。void Display_List_Char(unsigned char x, unsigned char y, unsigned char *s)。void delay_us(unsigned int i)。void delay_ms(unsigned int n)。/*運動函數(shù)定義*/void Forward(void){ //定義小車向前行駛int i。for(i = 1。i = 150。i++){ P1_1 = 1。 //定義該端口來控制左邊的伺服電機,并使其為高電平 delay_nus(1570)。 P1_1 = 0。 P1_0 = 1。//定義該端口來控制右邊的伺服電機,并使其為高電平 delay_nus(1450)。 P1_0 = 0。 delay_nms(20)。 }}void Backward(void){ int i。 for(i = 1。i = 45。i++){ P1_1 = 1。 delay_nus(1300)。 P1_1 = 0。 P1_0 = 1。 delay_nus(1700)。 P1_0 = 0。 delay_nms(20)。 } }void Left_Turn(void){ //定義向左轉的函數(shù) int i。 for(i = 1。i = 26。i++){ P1_1 = 1。 delay_nus(1300)。 P1_1 = 0。 P1_0 = 1。 delay_nus(1300)。 P1_0 = 0。 delay_nms(20)。 }}void stop(){ P1_0=1。 delay_nus(1510)。 P1_0=0。 P1_1=1。 delay_nus(1510)。 P1_1=0。 delay_nms(20)。 }//定義一個函數(shù)使得小車原地右轉void StayHere(void){int i。for(i = 1。i = 105。i++){ P1_1 = 1。 //定義該端口來控制左邊的伺服電機,并使其為高電平 delay_nus(1300)。 P1_1 = 0。 P1_0 = 1。//定義該端口來控制右邊的伺服電機,并使其為高電平 delay_nus(1300)。 P1_0 = 0。 delay_nms(20)。 }}/*超聲波測距函數(shù)定義*/void Time0_Init(void)//計數(shù)器0選擇工作模式1{ TMOD = 0x01。//計數(shù)器0選擇工作模式 1 TL0 = 0。//計數(shù)器低8位置零 TH0 = 0。//計數(shù)器高8位置零 TR0 = 0。//先停止計數(shù)}//超聲波測距函數(shù)unsigned int Get_Sonar(char sonar){ unsigned int count,distance。//定義變量為16位數(shù) int m,n。 Time0_Init()。//計數(shù)器0初始化 switch( sonar ){//檢測前方超聲波與物體的距離 case39。F39。: EchoF = 0。 //接收端置0 TrigF = 0。 //置超聲波發(fā)射端為0 TrigF = 1。 //置超聲波發(fā)射端為1 delay_nus(25)。// 延時25us,發(fā)射端輸出25us的高電平 TrigF = 0。//置超聲波發(fā)射端為0 while(EchoF == 0)。//等待接收端高電平,表示測量開始 TR0 = 1。//計數(shù)器0計數(shù)開始 while(EchoF == 1)。 //等待超聲波測量脈沖下降沿 TR0 =0。 //計數(shù)器0計數(shù)停止,測量結束 break。//檢測左邊超聲波與物體的距離 } m = TH0。//高8位為計數(shù)器數(shù)據(jù)獲取 n = TL0。//低8位為計數(shù)器數(shù)據(jù) count = m*256 + n。//根據(jù)兩個計數(shù)值來計算count的值 distance = count/。//轉換為距離, return distance。 //返回前方距離}/*判斷小車所在的位置函數(shù)*/unsigned int PositionStatus(unsigned int DisFront,unsigned int DisLeftt,unsigned int DisRight){ unsigned int positionStatus。 if(DisFront DisSet){ if(DisLeftt DisSet){ if(DisRight DisSet){ positionStatus = 1。//機器人在十字路口 }else{ positionStatus = 2。//機器人可以左轉或直行的路口 } }else{ if(DisRight DisSet){ positionStatus = 3。//機器人可右轉或直行的路口 }else{ positionStatus = 4。//機器人在只能直行的路口 } } }else{ if(DisLeftt DisSet){ if(DisRight DisSet){ positionStatus = 5。//機器人在丁字路口 }else{ positionStatus = 6。//機器人只能左轉的路口 } }else{ if(DisRight DisSet){ positionStatus = 7。//機器人只能右轉的路口 }else{ positionStatus = 8。//機器人在只能后退的路口,即處于死胡同 } } } return positionStatus。 //返回機器人所處的位置}/*液晶顯示函數(shù)定義*///延時函數(shù) void delay_us(unsigned int i) //延時:i=12 ,i的最小延時單12 us{ i=i/10。 while(i)。} void delay_ms(unsigned int n) //延時n ms{ n=n+1。 while(n) delay_nus(900)。 //延時 1ms,同時進行補償} //函數(shù)名:Read_Status_LCM() //功 能: 忙檢測函數(shù) void Read_Status_LCM(void){ unsigned char read=0。 LCM_RW = 1。 LCM_RS = 0。 LCM_E = 1。 LCM_Data = 0xff。 do { read = LCM_Data。 } while(read amp。 Busy)。 LCM_E = 0。} //函數(shù)名:Write_Data_LCM ( ) //功 能: 對LCD 1602寫數(shù)據(jù) void Write_Data_LCM(unsigned char WDLCM){ Read_Status_LCM()。 //檢測忙 LCM_RS = 1。 LCM_RW = 0。 LCM_Data amp。= 0x0f。 LCM_Data |= WDLCMamp。0xf0。 LCM_E = 1。 //若晶振速度太高可以在這后加小的延時 LCM_E = 1。 //延時 LCM_E = 0。 WDLCM = WDLCM4。 LCM_Data amp。= 0x0f。 LCM_Data |= WDLCMamp。0xf0。 LCM_E = 1。 LCM_E = 1。 //延時 LCM_E = 0。}//函數(shù)名:Write_Command_ LCM ( ) //功 能: 對LCD 1602寫指令 void Write_Command_LCM(unsigned char WCLCM,BuysC) //BuysC為0時忽略忙檢測{ if (BuysC)
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1