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

正文內(nèi)容

單片機技術(shù)課程設(shè)計-數(shù)字溫度計設(shè)計-資料下載頁

2025-07-18 00:39本頁面

【導讀】更快的開發(fā),本課程設(shè)計設(shè)計了一種基于AT89S52的數(shù)字溫度計。便的實現(xiàn)溫度采集和顯示。系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成,硬件系統(tǒng)由單片機。程序和顯示程序組成。它使用起來相當方便,具有精度高、量程寬、靈敏度高、可以當作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴展。域的溫度檢測中有廣泛的應用前景。

  

【正文】 play(void)。//聲明顯示函數(shù) void read_wendu(void)。//聲明讀取溫度數(shù)據(jù)函數(shù) /*****************************主函數(shù) ********************************/ void main(void) {uchar i,j=1。 BZ=0xff。//初始化標志位 while(1) {i=key()。 switch(i) {case 0:read_wendu()。display()。break。 23 case 2:BZ=~BZ。read_wendu()。display()。break。 default:break。 } } } /****************************延時 1ms 函數(shù) ***************************/ void delay_1ms(void) { uchar j,t。 for(t=100。t0。t)//利用兩個 for 語句循環(huán)延時 1ms { for(j=19。j0。j)。 } } /*****************************延時 函數(shù) ******************************/ void delay(uint t) { while(t)。//利用 while 語句空操作延時 } /**************************18B20 初始化 函數(shù) *************************/ void init_ds18b20(void) { uchar n。 DQ=1。 delay(8)。//穩(wěn)定數(shù)據(jù) DQ=0。// 拉低數(shù)據(jù)總線 delay(80)。//延時 600us DQ=1。//釋放數(shù)據(jù)線 delay(8)。 n=DQ。//采樣 delay(4)。 } /*****************************寫字節(jié) 函數(shù) ****************************/ 24 void write_byte(uchar dat) { uchar i。 for(i=0。i8。i++) { DQ=0。// 拉低數(shù)據(jù)總線 DQ=datamp。0x01。//讀低位數(shù)據(jù)(延時大于 1us) delay(4)。//延時 40us 等待采樣 DQ=1。//釋放數(shù)據(jù)總線 dat=1。//移位準備寫下一位數(shù)據(jù) } delay(4)。//延時等待寫下一位數(shù)據(jù) } /*****************************讀字節(jié) 函數(shù) ****************************/ uchar read_byte(void) { uchar i,d。 for(i=0。i8。i++) { DQ=0。// 拉低數(shù)據(jù)總線 d=1。//移位準備讀下一位數(shù)據(jù)(延時大于 1us) DQ=1。//釋放數(shù)據(jù)總線 if(DQ)//采樣數(shù)據(jù) d|=0x80。 delay(8)。//延時等待讀下一位數(shù)據(jù) } return d。//返回數(shù)據(jù)值 } /******************************讀溫度 函數(shù) ***************************/ void read_wendu(void) { uchar a,b,c。 25 init_ds18b20()。//初始化 18B20 write_byte(0xcc)。//跳過 ROM write_byte(0x44)。//啟動溫度測量 delay(300)。//延時等待溫度轉(zhuǎn)換 init_ds18b20()。//初始化 18B20 write_byte(0xcc)。//跳過 ROM write_byte(0xbe)。//讀取溫度 a=read_byte()。//讀低 8位 b=read_byte()。//讀高 8位 c=(aamp。0xf0)/16+b*16。//去掉小數(shù)位 zs=camp。0x7f。//取整數(shù)位 xs=((aamp。0x0f)*)/1。//取小數(shù)位 } /*****************************取鍵值涵數(shù) ****************************/ uchar key_data(void) { uchar i。 i=P1。//取鍵值 i=~i。 i=iamp。0x02。 return (i)。//返回鍵值 } /******************************判鍵 函數(shù) *****************************/ uchar key(void) { uchar i,d。 i=key_data()。//取鍵值 if(i!=0)//鍵是否有動作 {display()。 display()。 display()。//調(diào)顯示程序延時,消抖 i=key_data()。//取鍵值 26 if(i!=0)//判鍵是否按下 {i=key_data()。 d=i。 while(i!=0) {display()。 i=key_data()。//取鍵值 } display()。 display()。 display()。//調(diào)顯示程序延時,消抖 i=key_data()。//取鍵值 while(i!=0)//判鍵是 否松開 {display()。 i=key_data()。//取鍵值 } i=d。 } } return (i)。//返回鍵值 } /******************************顯示 函數(shù) *****************************/ void display(void) { smg0=1。 smg1=1。 smg2=1。 smg3=1。//初始化:熄滅所有數(shù)碼管 if(BZ!=0)//溫度值為負 {P0=0x0c。//送 smg0=0。 smg1=1。 smg2=1。 smg3=1。//點亮數(shù)碼管 LED0 27 delay_1ms()。 } else {if(0=zsamp。amp。zs10)//只有個位和小數(shù)位三位數(shù)碼管顯示 {P0=smg_we[xs%10]。//送小數(shù)百分位代碼 smg0=0。 smg1=1。 smg2=1。 smg3=1。//點亮小數(shù)位數(shù)碼管 LED0 delay_1ms()。 P0=smg_we[xs/10]。//送小數(shù)十分位代碼 smg0=1。 smg1=0。 smg2=1。 smg3=1。//點亮小數(shù)位數(shù)碼管 LED1 delay_1ms()。 P0=smg_we[zs%10]amp。0x7f。//送個位加小數(shù)點代碼 smg0=1。 smg1=1。 smg2=0。 smg3=1。//點亮個位數(shù)碼管 LED2 delay_1ms()。 smg0=1。 smg1=1。 smg2=1。 smg3=1。//熄滅高位數(shù)碼管 LED3 delay_1ms()。 } if(10=zsamp。amp。zs100)//只有十位、個位和小數(shù)位四位數(shù)碼管顯示 {P0=smg_we[xs%10]。//送小數(shù)百分位代碼 smg0=0。 smg1=1。 smg2=1。 smg3=1。//點亮小數(shù)位數(shù)碼管 LED0 28 delay_1ms()。 P0=smg_we[xs/10]。//送小數(shù)十分位代碼 smg0=1。 smg1=0。 smg2=1。 smg3=1。//點亮小數(shù)位數(shù)碼管 LED1 delay_1ms()。 P0=smg_we[zs%10]amp。0x7f。//送個位加小數(shù)點代碼 smg0=1。 smg1=1。 smg2=0。 smg3=1。//點亮個位數(shù)碼管 LED2 delay_1ms()。 P0=smg_we[zs/10]。//送十位代碼 smg0=1。 smg1=1。 smg2=1。 smg3=0。//點亮十位數(shù)碼管 LED3 delay_1ms()。 } if(100=zs)//當溫度值大于 100 是顯示 P. {P0=0x11。//送 smg0=0。 smg1=1。 smg2=1。 smg3=1。//點亮數(shù)碼管 LED0 delay_1ms()。 } } }
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1