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

正文內(nèi)容

基于單片機的數(shù)字溫度控制系統(tǒng)設(shè)計-預(yù)覽頁

2025-07-13 16:54 上一頁面

下一頁面
 

【正文】 字化,便于單片機處理及控制,在0—100 攝氏度時,其最大線形偏差小于1 攝氏度。低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。其內(nèi)部結(jié)構(gòu)圖如圖34所示。二是執(zhí)行軟件(子程序),它是用來完成各種實質(zhì)性的功能如測量、計算、顯示、通訊等。開始AT89S52初始化DS18B20初始化LCD1602初始化 溫度是否到達設(shè)定限度Y啟動控制以及報警N溫度在顯示范圍內(nèi)Y溫度顯示N結(jié)束圖 41 主程序流程圖主程序如下:void main(void){ unsigned char i=0。 LCD_Initial()。 //延時1S writestring(0,0,Current T= )。 // //讀取溫度值 Display_Temperature()。圖42 DS18B20初始化流程圖初始化子程序:void ds1820rst(void)/*ds1820復(fù)位*/{ unsigned char x=0。 //DQ拉低 delay_18B20(100)。傳感器與單片機接口如圖43所示:圖43 DS18B20與單片機的接口電路uchar ds1820rd(void)/*讀數(shù)據(jù)*/{ unsigned char i=0。i) { DQ = 0。 delay_18B20(10)。 i0。 delay_18B20(10)。 ds1820rst()。 ds1820wr(0xcc)。 tvalue=b。 else {tvalue=~tvalue+1。 return(tvalue)。圖44 LCD1602顯示屏與AT89S52對接LCD1602顯示程序:void Display_Temperature() //顯示溫度{ uchar flagdat。//個位數(shù) disdata[3]=tvalue%10+0x30。//負溫度顯示負號: if(tflag==1) { writeChar(10,0,flagdat)。//wr_(0x8b)。wr_dat(disdata[1])。//顯示個位 writeChar(14,0,0X2E)。//wr_(0x8f)。//wr_(0x8a)。wr_dat(disdata[1])。//顯示個位 writeChar(13,0,0X2e)。//wr_(0x8e)。圖46 仿真圖2。sbit RW=P2^6。uchar data disdata[5]。sbit UpKey = P2^1。void delayms(uint ms) //延時xx毫秒{ uchar i。 }}void mand(uint ) //LCD寫指令{ RS=0。 //LCD使能 delayms(5)。 //裝載數(shù)據(jù) delayms(5)。 //LCD不使能}void writestring(uchar x,uchar y,uchar *s) //LCD 寫字符串{ if (y == 0) mand(0x80 + x)。 //字符串地址加1 }}void writeChar(uchar x,uchar y,uchar s) //LCD 寫字符串{ if (y == 0) mand(0x80 + x)。 //LCD不使能 RW=0。 //發(fā)送初始化指令 mand(0x01)。 DQ = 1。 //精確延時大于480us DQ = 1。 for (i=8。 DQ = 1。}void ds1820wr(uchar wdata)/*寫數(shù)據(jù)*/{ unsigned char i=0。 DQ = wdataamp。 wdata=1。//*跳過讀序列號*/ ds1820wr(0x44)。//*讀取溫度*/ a=ds1820rd()。 tvalue=tvalue|a。} tvalue=tvalue*()。 disdata[0]=tvalue/1000+0x30。//小數(shù)位 disdata[4]=tvalue%1+0x30。//wr_(0x8a)。wr_dat(disdata[0])。//顯示十位 writeChar(13,0,disdata[2])。//wr_(0x8e)。 wr_dat(disdata[3])。wr_dat(disdata[0])。//顯示十位 writeChar(12,0,disdata[2])。//wr_(0x8d)。wr_dat(disdata[3])。 if(SetKey==0) { if(Set2) Set++。break。 case 2: writestring(0,1, )。 } if((UpKey==0)amp。else AlarmTempLow=99。 break。 //獲得溫度值的個位 i4 = AlarmTempTop/100。 writestring(13,1, )。 if((i1==0)amp。)。 if((i1==0)amp。)。039。)。 if((i4==0)amp。)。 if((i4==0)amp。)。039。)。(Set!=0)) { delayms(20)。 case 2: if(AlarmTempTop0) AlarmTempTop。 //獲得溫度值的百位 i2 = AlarmTempLow%100/10。 //獲得溫度值的十位 i6 = AlarmTempTop%10。039。(i2!=0)) writeChar(5,1,i2+39。039。(i2==0)) writeChar(5,1,i3+39。amp。 if((i1!=0)) writeChar(7,1,i3+39。039。(i5!=0)) writeChar(13,1,i5+39。039。(i5==0)) writeChar(13,1,i6+39。amp。 if((i4!=0)) writeChar(15,1,i6+39。 } }}void Alarm(void){ if((CurrentT(AlarmTempTop*10))||(CurrentT(AlarmTempLow*10))||(tflag==1)) { BEEP=0。 LED2=0。 //P3=0xef。 LCD_Initial()。 //延時1S writestring(0,0,Current T= )。 // //讀取溫度值 Display_Temperature()。本文介紹了基于AT89S52單片機的數(shù)字溫度計控制系統(tǒng)的設(shè)計,對整個硬件電路和軟件程序設(shè)計做
點擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1