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

正文內(nèi)容

基于at89s51單片機(jī)的數(shù)字溫度計(jì)的設(shè)計(jì)-閱讀頁

2025-07-11 13:13本頁面
  

【正文】 顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為0時(shí)將符號(hào)顯示位移入下一位。 圖45 顯示數(shù)據(jù)刷新流程圖 5 調(diào)試 系統(tǒng)的調(diào)試以程序?yàn)橹?。軟件調(diào)試先編寫顯示程序并進(jìn)行硬件的正確性檢驗(yàn),然后分別進(jìn)行主程序、讀出溫度子程序、溫度子程序、顯示數(shù)據(jù)刷新子程序的編程及調(diào)試,由于DB18B20與單片機(jī)采用串行數(shù)據(jù)傳送,因此,我對(duì)DB18B20進(jìn)行讀寫程序時(shí)嚴(yán)格地保證讀寫時(shí)序,以防無法讀取測(cè)量結(jié)果。軟件調(diào)試到能顯示溫度值,而且在有溫度變化時(shí)(例如用手去接觸)現(xiàn)實(shí)溫度能改變就基本完成。 在DB18B20測(cè)溫程序設(shè)計(jì)中,向DB18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DB18B20的返回信號(hào),一旦某個(gè)DB18B20接觸不好或斷線,當(dāng)程序讀該DB18B20時(shí),將沒有返回信號(hào),程序進(jìn)入死循環(huán),所以我在進(jìn)行DB18B20硬件連接和軟件設(shè)計(jì)時(shí)給予了一定的重視。 本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對(duì)測(cè)溫比較準(zhǔn)確的場(chǎng)所,或科研實(shí)驗(yàn)室使用,該設(shè)計(jì)控制器使用單片機(jī)AT89S51,測(cè)溫傳感器使用DS18B20,用3位共陽極LED數(shù)碼管以串口傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示,能準(zhǔn)確達(dá)到以上要求。sbit lcden=P2^1。 //DS18B20接入口uchar FLAG_DIS=0。 //定義變量bit flag_Negative_number 。 //提示語/*****一毫秒定時(shí)*****/void delay_ms(uint z){ uint x,y。x0。y0。}/*延時(shí)子函數(shù)*/void delay(uint num){ while(num) 。 lcden=0。 delay_ms(1)。 delay_ms(1)。 }/*液晶寫數(shù)據(jù)*/void write_lcd_date(uchar date){ rs=1。 P0=date。 lcden=1。 lcden=0。 write_lcd_(0x0c)。 write_lcd_(0x01)。 DATA = 1。 //稍做延時(shí) DATA = 0。 //精確延時(shí) 大于 480us //450 DATA = 1。 x=DATA。}/*溫度傳感器讀一個(gè)字節(jié)*/ReadOneChar(void){ uchar i=0。 for (i=8。i) { DATA = 0。 DATA = 1。 delay(8)。}/*溫度傳感器寫一個(gè)字節(jié)*/void WriteOneChar(uchar dat){ uchar i=0。 i0。 DATA = datamp。 delay(10)。 dat=1。}/*讀取溫度傳感器溫度*/int ReadTemperature(void){ uchar a=0。 int t=0。 Init_DS18B20()。 //跳過讀序號(hào)列號(hào)的操作 WriteOneChar(0x44)。 WriteOneChar(0xCC)。 //讀取溫度寄存器等(共可讀9個(gè)寄存器)前兩個(gè)就是溫度 a=ReadOneChar()。//高位 t=b。 t=t|a。0x80) { t=~t+1。 } else { flag_Negative_number = 0。 t= tt*10+。}/*液晶顯示溫度*/void dis_D18B20(void){ int temp。//讀溫度 bai_18b20=temp%1000/100。//顯示個(gè)位 ge_18b20=temp%10。 write_lcd_date(0x2D)。 write_lcd_date(0x30+ge_18b20)。 write_lcd_date(0x43)。 write_lcd_date(0x2D)。 write_lcd_date(0x30+shi_18b20)。 write_lcd_date(0x43)。 write_lcd_date(0x30+shi_18b20)。 write_lcd_date(0x30+ge_18b20)。 write_lcd_date(0x43)。 write_lcd_date(0x30+bai_18b20)。 write_lcd_date(0x2E)。 write_lcd_date(0xDF)。 } }}void main(){ lcd_init()。 TH0=(6553650000)/256。 TR0=1。 EA=1。 for(num=0。num++) { write_lcd_date(table[num])。 } // dis_D18B20()。 dis_D18B20()。 TH0=(6553650000)/256。 count++。 coun
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1