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

正文內(nèi)容

單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告:基于89c51單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)-預(yù)覽頁

2024-11-25 18:56 上一頁面

下一頁面
 

【正文】 //溫度單位 sbit RS=P2^0。 //忙 碌標(biāo)志位,將 BF 位定義為 引腳 void delay1ms() //延時(shí)功能函數(shù) 延時(shí) 1ms { unsigned char i,j。 for(j=0。 for(i=0。 } bit BusyTest(void) //判斷液晶屏是否忙碌的函數(shù) { bit result。 //E=1,才允許讀寫 _nop_()。 //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 result=BF。 //如果忙就等待 RS=0。 _nop_()。 _nop_()。 _nop_()。 //當(dāng) E 由高電平跳變成低電平時(shí),液晶模塊開始執(zhí)行命令 } void WriteAddress(unsigned char x) //指定字符顯示的實(shí)際地址 的函數(shù) { WriteInstruction(x|0x80)。 E=0。 _nop_()。 _nop_()。 //當(dāng) E 由高電平跳變成低電平時(shí),液晶模塊開始執(zhí)行命令 } void LcdInitiate(void) //LCD 的顯示模式進(jìn)行初始化設(shè)置 { delaynms(15)。 delaynms(5)。 //顯示模式設(shè)置:顯示開,無光標(biāo),光標(biāo)不閃爍 delaynms(5)。 //清屏幕指令,將以前的顯示內(nèi)容清除 delaynms(5)。 //儲(chǔ)存 DS18B20 存在的標(biāo)志, flag=0 存在; flag=1 不存在 DQ = 1。 DQ = 0。 //以向 DS18B20 發(fā)出一持續(xù) 480~960us 的低電平復(fù)位脈沖 DQ = 1。 //釋放總線后需等待 30us 讓 其 輸出存在脈沖 單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告 12 flag=DQ。 //延時(shí)足夠長時(shí)間,等待存在脈沖輸出完畢 return (flag)。i8。 //單片機(jī)從 DS18B20 讀數(shù)據(jù)時(shí) ,將數(shù)據(jù)線 正跳便開始讀 dat=1。time2。//如果讀到的數(shù)據(jù)是 0,則將 0 存入 dat //將單片機(jī)檢測到的電平信號(hào) DQ 存入 r[i] for(time=0。 //返回讀出的十進(jìn)制數(shù)據(jù) } WriteOneChar(unsigned char dat) //DS18B20 寫入一個(gè)字節(jié)數(shù)據(jù) { unsigned char i=0。 // 先將數(shù)據(jù)線拉高 _nop_()。 //利用與運(yùn)算取出要寫的某位二進(jìn)制數(shù)據(jù) , //并將其送到數(shù)據(jù)線上等待 DS18B20 采樣 for(time=0。 //釋放數(shù)據(jù)線 for(time=0。 //將 dat 中的各二進(jìn)制位數(shù)據(jù)右移 1 位 } for(time=0。 WriteAddress(0x00)。) //只要沒有寫到結(jié)束標(biāo)志,就繼續(xù)寫 { WriteData(Error[i])。 } void display_explain(void) //顯示說明函數(shù) { unsigned char i。\039。 } } void display_symbol(void) //顯示溫度符號(hào) { unsigned char i。\039。 //延時(shí) 50ms 給硬件一點(diǎn)反應(yīng)時(shí)間 } } void display_dot(void) //顯示溫度的小數(shù)點(diǎn) { WriteAddress(0x49)。 //將小數(shù)點(diǎn)的字符常量寫入 LCD delaynms(50)。39。 WriteAddress(0x4c)。) //只要沒有寫到結(jié)束標(biāo)志,就繼續(xù)寫 { WriteData(Cent[i])。 //j,k,l 分別儲(chǔ)存溫度的百位、十位和個(gè)位 j=x/100。 //寫顯示地址 ,將在第 2 行第 7 列開始顯示 單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告 15 WriteData(digit[j])。 //延時(shí) 50ms 給硬件 一點(diǎn)反應(yīng)時(shí)間 } void display_temp2(unsigned char x) //顯示小數(shù)部分函數(shù) { unsigned char m,n。 //寫顯示地址 ,將在第 2 行第 11 列開始顯示 WriteData(digit[m])。 //將 DS18B20 初始化 WriteOneChar(0xCC)。time++)。 //讀取溫度寄存器 ,前兩個(gè)分別是溫度低位和高位 } void main(void) { unsigned char TL。 //儲(chǔ)存溫度的小數(shù)部分 LcdInitiate()。 display_symbol()。 //讀溫度準(zhǔn)備 包括傳感器初始化和 寫入讀溫和溫度轉(zhuǎn)換命令 TL=ReadOneChar()。 //實(shí)際溫度值 為 (TH*256+TL)/16 //這樣得出的是溫度的整數(shù)部分 ,小數(shù)部分被 舍去 TD=(TL%16)*100/16。 } else //如果讀的溫度是零下溫度 { TH=~TH。 //得出零下溫度的小數(shù)值 display_temp1(TN)。} } }
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1