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

正文內(nèi)容

畢業(yè)論文沼氣壓力水洗提純控制系統(tǒng)的研究-資料下載頁(yè)

2025-06-22 12:44本頁(yè)面
  

【正文】 Vin = (float)Vin/256*1000。 // str[0] = (Vin/10%10) + 39。039。//十?dāng)?shù)位字符// str[1] = 39。.39。 //小數(shù)點(diǎn)// str[2] = (Vin%10) + 39。039。 //小數(shù)位字符 // str[3] = 39。%39。 // str[4] = 39。\039。 //結(jié)束符 str[0] = Vin/100+39。039。 str[1] = (Vin/10%10) + 39。039。//十?dāng)?shù)位字符 str[2] = 39。.39。 //小數(shù)點(diǎn) str[3] = (Vin%10) + 39。039。 //小數(shù)位字符 str[4] = 39。%39。 str[5] = 39。\039。 //結(jié)束符}/* 配置并啟動(dòng)T0,msT0定時(shí)時(shí)間 */void ConfigTimer0(unsigned int ms){ unsigned long tmp。 //臨時(shí)變量 tmp = 11059200 / 12。 //定時(shí)器計(jì)數(shù)頻率 tmp = (tmp * ms) / 1000。 //計(jì)算所需的計(jì)數(shù)值 tmp = 65536 tmp。 //計(jì)算定時(shí)器重載值 tmp = tmp + 12。 //補(bǔ)償中斷響應(yīng)延時(shí)造成的誤差 T0RH = (unsigned char)(tmp8)。 //定時(shí)器重載值拆分為高低字節(jié) T0RL = (unsigned char)tmp。 TMOD amp。= 0xF0。 //清零T0的控制位 TMOD |= 0x01。 //配置T0為模式1 TH0 = T0RH。 //加載T0重載值 TL0 = T0RL。 ET0 = 1。 //使能T0中斷 TR0 = 1。 //啟動(dòng)T0}/* T0中斷服務(wù)函數(shù),執(zhí)行300ms定時(shí) */void InterruptTimer0() interrupt 1{ static unsigned char tmr300ms = 0。 TH0 = T0RH。 //重新加載重載值 TL0 = T0RL。 tmr300ms++。 if (tmr300ms = 30) //定時(shí)300ms { tmr300ms = 0。 flag300ms = 1。 }} include include define I2CDelay() {_nop_()。_nop_()。_nop_()。_nop_()。}sbit I2C_SCL = P2^1。 ////sbit I2C_SDA = P2^0。 ////* 產(chǎn)生總線起始信號(hào) */void I2CStart(){ I2C_SDA = 1。 //首先確保SDA、SCL都是高電平 I2C_SCL = 1。 I2CDelay()。 I2C_SDA = 0。 //先拉低SDA I2CDelay()。 I2C_SCL = 0。 //再拉低SCL}/* 產(chǎn)生總線停止信號(hào) */void I2CStop(){ I2C_SCL = 0。 //首先確保SDA、SCL都是低電平 I2C_SDA = 0。 I2CDelay()。 I2C_SCL = 1。 //先拉高SCL I2CDelay()。 I2C_SDA = 1。 //再拉高SDA I2CDelay()。}/* I2C總線寫操作,dat待寫入字節(jié),返回值從機(jī)應(yīng)答位的值 */bit I2CWrite(unsigned char dat){ bit ack。 //用于暫存應(yīng)答位的值 unsigned char mask。 //用于探測(cè)字節(jié)內(nèi)某一位值的掩碼變量 for (mask=0x80。 mask!=0。 mask=1) //從高位到低位依次進(jìn)行 { if ((maskamp。dat) == 0) //該位的值輸出到SDA上 I2C_SDA = 0。 else I2C_SDA = 1。 I2CDelay()。 I2C_SCL = 1。 //拉高SCL I2CDelay()。 I2C_SCL = 0。 //再拉低SCL,完成一個(gè)位周期 } I2C_SDA = 1。 //8位數(shù)據(jù)發(fā)送完后,主機(jī)釋放SDA,以檢測(cè)從機(jī)應(yīng)答 I2CDelay()。 I2C_SCL = 1。 //拉高SCL ack = I2C_SDA。 //讀取此時(shí)的SDA值,即為從機(jī)的應(yīng)答值 I2CDelay()。 I2C_SCL = 0。 //再拉低SCL完成應(yīng)答位,并保持住總線 return (~ack)。 //應(yīng)答值取反以符合通常的邏輯: //0=不存在或忙或?qū)懭胧。?=存在且空閑或?qū)懭氤晒/* I2C總線讀操作,并發(fā)送非應(yīng)答信號(hào),返回值讀到的字節(jié) */unsigned char I2CReadNAK(){ unsigned char mask。 unsigned char dat。 I2C_SDA = 1。 //首先確保主機(jī)釋放SDA for (mask=0x80。 mask!=0。 mask=1) //從高位到低位依次進(jìn)行 { I2CDelay()。 I2C_SCL = 1。 //拉高SCL if(I2C_SDA == 0) //讀取SDA的值 dat amp。= ~mask。 //為0時(shí),dat中對(duì)應(yīng)位清零 else dat |= mask。 //為1時(shí),dat中對(duì)應(yīng)位置1 I2CDelay()。 I2C_SCL = 0。 //再拉低SCL,以使從機(jī)發(fā)送出下一位 } I2C_SDA = 1。 //8位數(shù)據(jù)發(fā)送完后,拉高SDA,發(fā)送非應(yīng)答信號(hào) I2CDelay()。 I2C_SCL = 1。 //拉高SCL I2CDelay()。 I2C_SCL = 0。 //再拉低SCL完成非應(yīng)答位,并保持住總線 return dat。}/* I2C總線讀操作,并發(fā)送應(yīng)答信號(hào),返回值讀到的字節(jié) */unsigned char I2CReadACK(){ unsigned char mask。 unsigned char dat。 I2C_SDA = 1。 //首先確保主機(jī)釋放SDA for (mask=0x80。 mask!=0。 mask=1) //從高位到低位依次進(jìn)行 { I2CDelay()。 I2C_SCL = 1。 //拉高SCL if(I2C_SDA == 0) //讀取SDA的值 dat amp。= ~mask。 //為0時(shí),dat中對(duì)應(yīng)位清零 else dat |= mask。 //為1時(shí),dat中對(duì)應(yīng)位置1 I2CDelay()。 I2C_SCL = 0。 //再拉低SCL,以使從機(jī)發(fā)送出下一位 } I2C_SDA = 0。 //8位數(shù)據(jù)發(fā)送完后,拉低SDA,發(fā)送應(yīng)答信號(hào) I2CDelay()。 I2C_SCL = 1。 //拉高SCL I2CDelay()。 I2C_SCL = 0。 //再拉低SCL完成應(yīng)答位,并保持住總線 return dat。}include define LCD1602_DB P0sbit LCD1602_RS = P3^5。sbit LCD1602_RW = P3^6。sbit LCD1602_E = P3^4。/* 等待液晶準(zhǔn)備好 */void LcdWaitReady(){ unsigned char sta。 LCD1602_DB = 0xFF。 LCD1602_RS = 0。 LCD1602_RW = 1。 do { LCD1602_E = 1。 sta = LCD1602_DB。 //讀取狀態(tài)字 LCD1602_E = 0。 } while (sta amp。 0x80)。 //bit7等于1表示液晶正忙,重復(fù)檢測(cè)直到其等于0為止}/* 向LCD1602液晶寫入一字節(jié)命令,cmd待寫入命令值 */void LcdWriteCmd(unsigned char cmd){ LcdWaitReady()。 LCD1602_RS = 0。 LCD1602_RW = 0。 LCD1602_DB = cmd。 LCD1602_E = 1。 LCD1602_E = 0。}/* 向LCD1602液晶寫入一字節(jié)數(shù)據(jù),dat待寫入數(shù)據(jù)值 */void LcdWriteDat(unsigned char dat){ LcdWaitReady()。 LCD1602_RS = 1。 LCD1602_RW = 0。 LCD1602_DB = dat。 LCD1602_E = 1。 LCD1602_E = 0。}/* 設(shè)置顯示RAM起始地址,亦即光標(biāo)位置,(x,y)對(duì)應(yīng)屏幕上的字符坐標(biāo) */void LcdSetCursor(unsigned char x, unsigned char y){ unsigned char addr。 if (y == 0) //由輸入的屏幕坐標(biāo)計(jì)算顯示RAM的地址 addr = 0x00 + x。 //第一行字符地址從0x00起始 else addr = 0x40 + x。 //第二行字符地址從0x40起始 LcdWriteCmd(addr | 0x80)。 //設(shè)置RAM地址}/* 在液晶上顯示字符串,(x,y)對(duì)應(yīng)屏幕上的起始坐標(biāo),str字符串指針 */void LcdShowStr(unsigned char x, unsigned char y, unsigned char *str){ LcdSetCursor(x, y)。 //設(shè)置起始地址 while (*str != 39。\039。) //連續(xù)寫入字符串?dāng)?shù)據(jù),直到檢測(cè)到結(jié)束符 { LcdWriteDat(*str++)。 }}/* 初始化1602液晶 */void InitLcd1602(){ LcdWriteCmd(0x38)。 //16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口 LcdWriteCmd(0x0C)。 //顯示器開(kāi),光標(biāo)關(guān)閉 LcdWriteCmd(0x06)。 //文字不動(dòng),地址自動(dòng)+1 LcdWriteCmd(0x01)。 //清屏}附錄2 模塊實(shí)物圖電流轉(zhuǎn)電壓模塊
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1