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

正文內容

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

2025-06-22 12:44本頁面
  

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