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

正文內(nèi)容

基于51單片機(jī)智能小車的設(shè)計(jì)-閱讀頁

2024-11-30 04:02本頁面
  

【正文】 t CY = PSW^7。 sbit F0 = PSW^5。 sbit RS0 = PSW^3。 sbit P = PSW^0。 sbit TR1 = TCON^6。 sbit TR0 = TCON^4。 sbit IT1 = TCON^2。 sbit IT0 = TCON^0。 sbit ET2 = IE^5。 sbit ET1 = IE^3。 sbit ET0 = IE^1。 /* IP */ sbit PT2 = IP^5。 sbit PT1 = IP^3。 sbit PT0 = IP^1。 /* P3 */ sbit RD = P3^7。 sbit T1 = P3^5。 sbit INT1 = P3^3。 sbit TXD = P3^1。 /* SCON */ sbit SM0 = SCON^7。 sbit SM2 = SCON^5。 sbit TB8 = SCON^3。 sbit TI = SCON^1。 /* P1 */ sbit T2EX = P1^1。 // 8052 only 智能小車的設(shè)計(jì) 20 / 29 /* T2CON */ sbit TF2 = T2CON^7。 sbit RCLK = T2CON^5。 sbit EXEN2 = T2CON^3。 sbit C_T2 = T2CON^1。 endif ( 2) DS18B20 ifndef _DS18B20_H define _DS18B20_H define uint unsigned int define uchar unsigned char sbit DQ = P0^3。 //溫度值 uchar TempBuffer[2]。 } /**********ds18b20 初始化函數(shù) **********************/ void Init_DS18B20(void) { uchar x=0。 //DQ 復(fù)位 delay_18B20(8)。 //單片機(jī)將 DQ 拉低 delay_18B20(80)。 //拉高總線 delay_18B20(14)。 //稍做延時(shí)后 如果 x=0 則初始化成功 x=1 則初始化失敗 delay_18B20(20)。 uchar dat = 0。i0。 // 給脈沖信號(hào) dat=1。 // 給脈沖信號(hào) if(DQ) dat|=0x80。 } return(dat)。 for (i=8。 i) { DQ = 0。0x01。 DQ = 1。 } } /**************讀取 ds18b20 當(dāng)前溫度 ************/ void ReadTemp(void) { uchar a=0。 uchar t=0。 WriteOneChar(0xCC)。 // 啟動(dòng)溫度轉(zhuǎn)換 delay_18B20(100)。 WriteOneChar(0xCC)。 //讀取溫 度寄存器等(共可讀 9 個(gè)寄存器) 前兩個(gè)就是溫度 delay_18B20(100)。 //讀取溫度值低位 b=ReadOneChar()。 temp_value+=(aamp。 } void temp_to_str() //溫度數(shù)據(jù)轉(zhuǎn)換成液晶字符顯示 { TempBuffer[0]=temp_value/10+39。 //十位 TempBuffer[1]=temp_value%10+39。 //個(gè)位 //TempBuffer[2]=0xdf。C39。\039。 //define LCD_DataIn P1 //數(shù)據(jù)口方向設(shè)置為輸入 //define LCD_DataOut P1 //數(shù)據(jù)口方向設(shè)置為輸出 define LCD2MCU_Data P2 define MCU2LCD_Data P2 //define LCD_CMDOut P2 //P3 口的低三位設(shè)置為輸出 sbit LCD_RS=P0^0 。 // //define LCD_RW_L P2^1 // sbit LCD_EN=P0^2 。 for(i = 150。i) _nop_()。 for(i = n。i) Delay_1ms()。 LCD_RS=0。 // LCD_DataIn。 _nop_()。 LCD_EN=0。 0x80)。 // LCD_DataOut。 MCU2LCD_Data = cmd。 _nop_()。 } 智能小車的設(shè)計(jì) 24 / 29 /******************************************* 函數(shù)名稱: Write_Data 功 能:向液晶中寫顯示數(shù)據(jù) 參 數(shù): dat顯示數(shù)據(jù) 返回值 :無 ********************************************/ void Write_Data(uchar dat) { checkbusy()。 LCD_RS=1。 MCU2LCD_Data = dat。 _nop_()。 } /*************************************** 函數(shù)名稱: clear() 功能:清屏 ****************************************/ void clear(void) { Write_Com(0x01)。 } /*************************************** 函數(shù)名稱: LCDstatus 功能:寫指令 ****************************************/ void LCDstatus(uchar a) { checkbusy()。 } /******************************* 函數(shù)名稱: Read_RAM 功 能:讀液晶數(shù)據(jù) **********************************/ uchar Read_RAM(void)//讀數(shù)據(jù) { uchar i。 智能小車的設(shè)計(jì) 25 / 29 LCD_RS=0。 // LCD_DataIn。 _nop_()。 LCD_EN=0。 0x80)。 MCU2LCD_Data=0xff。 LCD_RW=1。 Delay_Nms(1)。 Delay_Nms(1)。 LCD_RS=0。 return(i)。 //液晶控制端口設(shè)置為輸出 Delay_Nms(500)。 //基本指令集 Delay_1ms()。 // 地址歸位 Delay_1ms()。 //整體顯示打開 ,游標(biāo)關(guān)閉 Delay_1ms()。 //清除顯示 Delay_1ms()。 //游標(biāo)右移 Delay_1ms()。 //設(shè)定顯示的起始地址 } /******************************************* 函數(shù)名稱 :Clear_GDRAM 功 能 :清除液晶 GDRAM 中的隨機(jī)數(shù)據(jù) 參 數(shù) :無 返回值 :無 ********************************************/ void Clear_GDRAM(void) { uchar i,j,k。 //打開擴(kuò)展指令集 i = 0x80。j 32。 Write_Com(0x80)。k 16。 } } i = 0x80。j 32。 Write_Com(0x88)。k 16。 } } Write_Com(0x30)。 Write_Com(0x36)。 智能小車的設(shè)計(jì) 27 / 29 for(j = 0。j++) { Write_Com(i++)。 for(k = 0。k++) { Write_Data(0x00)。 for(j = 0。j++) { Write_Com(i++)。 for(k = 0。k++) { Write_Data(0x00)。 //回到基本指令集 } /******************************************* 函數(shù)名稱 :Draw_PM 功 能 :在整個(gè)液晶屏幕上畫圖 參 數(shù) :無 返回值 :無 ********************************************/ void Draw_PM(const uchar *ptr) { uchar i,j,k。 //打開擴(kuò)展指令集 i = 0x80。j 32。 Write_Com(0x80)。k 16。 } } i = 0x80。j 32。//頁地址里面的縱坐標(biāo) Write_Com(0x88)。k 16。 } } Write_Com(0x36)。 //回到基本指令集 } /*********************************** * 名稱: dis_hanzi * 函數(shù)功能 :指定位置顯示漢字 *參數(shù)名: addr 顯示地址 pt 漢字地址 num 漢字個(gè)數(shù) *****************************************/ void dis_hanzi(uchar addr,const uchar *pt,uchar num) { uchar i。//寫地址 for(i=0。i++) Write_Data(*(pt++))。 Write_Com(addr)。inum。 } /******************************************************* 上移 ******************************************************/ void shangyi(uchar x_addr,uchar y_addr,uchar wideth,uchar longth) { uchar MEH,MEL,i,j。jlongth+y_addr。iwideth+x_addr。 Write_Com(0x80+j)。 Write_Com(0x30)。 MEH=Read_RAM()。 Write_Com(0x36)。 Write_Com(0x80+i)。 Write_Data(MEH)。 } } //顯示文本 void chinesedis(uchar code *s) { while(*s0) { Write_Data(*s)。 Delay_Nms(2)。\039。 str++。 } }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1