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

正文內(nèi)容

基于at89s51單片機(jī)的數(shù)字溫度計的設(shè)計-資料下載頁

2025-08-20 10:24本頁面

【導(dǎo)讀】域,已經(jīng)成為一種比較成熟的技術(shù),本文將介紹一種基于AT89S51單片機(jī)控制的數(shù)字溫度計,本溫度計屬于多功能溫度計,可以設(shè)置上下報警溫度,當(dāng)溫度不在設(shè)置范圍內(nèi)時,可以報警。該溫度計采用DS18B20作為溫度信號的采集和初步處理,設(shè)計方案簡單。需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。本設(shè)計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,位共陽極LED數(shù)碼管以串口傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示,能準(zhǔn)確達(dá)到以上要求。溫度計電路設(shè)計總體設(shè)計方框圖如圖2-1所示,控制器采用單片機(jī)AT89S51,復(fù)位電路為按鍵低電。另外是EA端一定要接上電源,使單片機(jī)能夠工。AT89S51是一個低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4kBytesISP(In-system. 型計算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機(jī)。因此在8031及8032中,EA引腳必須接低電平,因為其內(nèi)部無。ALE是英文"AddressLatchEnable"的縮寫,表示地址鎖存器啟用信號。

  

【正文】 DATA = 1。 // 給脈沖信號 if(DATA) dat|=0x80。 delay(8)。 } return(dat)。 第 21 頁 (共 24 頁) } /*溫度傳感器寫一個字節(jié) */ void WriteOneChar(uchar dat) { uchar i=0。 for (i=8。 i0。 i) { DATA = 0。 DATA = datamp。0x01。 delay(10)。 DATA = 1。 dat=1。 } delay(8)。 } /*讀取溫度傳感器溫度 */ int ReadTemperature(void) { uchar a=0。 uchar b=0。 int t=0。 float tt=0。 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0x44)。 //啟動溫度轉(zhuǎn)換 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器等(共可讀 9個寄存器)前兩個就是溫度 a=ReadOneChar()。//低位 b=ReadOneChar()。//高位 t=b。 t=8。 t=t|a。 if(bamp。0x80) { t=~t+1。 flag_Negative_number = 1。 } else { flag_Negative_number = 0。 } 第 22 頁 (共 24 頁) tt=t*。 t= tt*10+。 return(t)。 } /*液晶顯示溫度 */ void dis_D18B20(void) { int temp。 temp=ReadTemperature()。//讀溫度 bai_18b20=temp%1000/100。//顯示十位 shi_18b20=temp%100/10。//顯示個位 ge_18b20=temp%10。//顯示十分位 if(flag_Negative_number) //負(fù)數(shù) { if(bai_18b20==0) //十位為 0, 則不顯示十位 { write_lcd_(0x80+0x40)。 write_lcd_date(0x2D)。 write_lcd_date(0x30+shi_18b20)。 write_lcd_date(0x30+ge_18b20)。 write_lcd_date(0xDF)。 write_lcd_date(0x43)。 } else { write_lcd_(0x80+0x40)。 write_lcd_date(0x2D)。 write_lcd_date(0x30+bai_18b20)。 write_lcd_date(0x30+shi_18b20)。 write_lcd_date(0xDF)。 write_lcd_date(0x43)。 } } else //正數(shù) { if(bai_18b20==0) //十位為 0,則不顯示十位 { write_lcd_(0x80+0x40)。 write_lcd_date(0x30+shi_18b20)。 write_lcd_date(0x2E)。 write_lcd_date(0x30+ge_18b20)。 write_lcd_date(0xDF)。 write_lcd_date(0x43)。 } 第 23 頁 (共 24 頁) else { write_lcd_(0x80+0x40)。 write_lcd_date(0x30+bai_18b20)。 write_lcd_date(0x30+shi_18b20)。 write_lcd_date(0x2E)。 write_lcd_date(0x30+ge_18b20)。 write_lcd_date(0xDF)。 write_lcd_date(0x43)。 } } } void main() { lcd_init()。 TMOD=0x01。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 TR0=1。 ET0=1。 EA=1。 //開總中斷 write_lcd_(0x80)。 for(num=0。num11。num++) { write_lcd_date(table[num])。 // delay_ms(10)。 } // dis_D18B20()。 while(1) { if(FLAG_DIS==1) { FLAG_DIS=0。 dis_D18B20()。 //讀溫度并顯示 } } } timer0() interrupt 1 // { uchar count。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 第 24 頁 (共 24 頁) count++。 if(count==60)//每三秒鐘讀一次溫度傳感器溫度 { FLAG_DIS=1。 count=0。 } }
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1