全部評論(2條)
-
- XIAOKEAI123ABC 2012-04-14 00:00:00
- haha
-
贊(1)
回復(0)
-
- 新天地1596 2016-05-24 00:00:00
- 圖片為溫度控制電路圖。溫度到達上限時led燈亮,并停止對RT的加熱,溫度達到下限時led燈滅并開始對RT進行加熱。A1和A2為uA741運算放大器。引腳號在圖上已經(jīng)標出。再給你一個單片機采集DS18B20溫度的程序,用四位數(shù)碼管顯示的。你把DS18B20接在RT附近就可以測試出RT的溫度,調(diào)節(jié)圖中的滑動變阻器可改變溫度的上下限。這樣就能做到溫度控制了。//安裝目錄下的EXE文件打開后可在電腦上顯示當前溫度值#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit DS=P1^0; //define interfaceuint temp; // variable of temperatureuchar flag1; // sign of the result positive or negative//sbit dula=P2^6;//sbit wela=P2^7;//unsigned char code table2[]={0x3f,0x30,0x5b,0x4f,0x66,0x6d,0x7d,
// 0x07,0x7f,0x67/*,0x77,0x7c,0x39,0x5e,0x79,0x71*/};//unsigned char code table1[]={0xbf,0xb0,0xdb,0xcf,0xe6,0xed,0xfd,
// 0x87,0xff,0xe7}; //unsigned char code table2[]={0x40,0x5e,0x24,0x21,0x13,0x09,0x08,
// 0x63,0x00,0x03/*,0x77,0x7c,0x39,0x5e,0x79,0x71*/};//unsigned char code table1[]={0xc0,0xde,0xa4,0xa1,0x93,0x89,0x88,
// 0xe7,0x8f,0x87};unsigned char code table5[]={0x77,0x22,0x6d,0x5d,0x1e,0x5b,0x7b,
0x15,0x7f,0x1f}; unsigned char code table6[]={0xf7,0xa2,0xed,0xdd,0x9e,0xdb,0xfb,
0x95,0xff,0x9f}; void delay(uint count) //delay{ uint i; while(count) { i=200; while(i>0) i--; count--; }}///////功能:串口初始化,波特率9600,方式1///////void Init_Com(void){ TMOD = 0x20; PCON = 0x00; SCON = 0x50; TH1 = 0xFd; TL1 = 0xFd; TR1 = 1;}void dsreset(void) //send reset and initialization command 18B20復位,初始化函數(shù){ uint i; DS=0; i=103; while(i>0)i--; DS=1; i=4; while(i>0)i--;}bit tmpreadbit(void) //read a bit 讀1位數(shù)據(jù)函數(shù){ uint i; bit dat; DS=0;i++; //i++ for delay DS=1;i++;i++; dat=DS; i=8;while(i>0)i--; return (dat);}uchar tmpread(void) //read a byte date 讀1字節(jié)函數(shù){ uchar i,j,dat; dat=0; for(i=1;i<=8;i++) { j=tmpreadbit(); dat=(j<<7)|(dat>>1); //讀出的數(shù)據(jù)Z低位在Z前面,這樣剛好一個字節(jié)在DAT里 } return(dat);}void tmpwritebyte(uchar dat) //write a byte to ds18b20 向1820寫一個字節(jié)數(shù)據(jù)函數(shù){ uint i; uchar j; bit testb; for(j=1;j<=8;j++) { testb=dat&0x01; dat=dat>>1; if(testb) //write 1 { DS=0; i++;i++; DS=1; i=8;while(i>0)i--; } else { DS=0; //write 0 i=8;while(i>0)i--; DS=1; i++;i++; } }}void tmpchange(void) //DS18B20 begin change 開始獲取數(shù)據(jù)并轉(zhuǎn)換{ dsreset(); delay(1); tmpwritebyte(0xcc); // address all drivers on bus 寫跳過讀ROM指令 tmpwritebyte(0x44); // initiates a single temperature conversion 寫溫度轉(zhuǎn)換指令} uint tmp() //get the temperature 讀取寄存器中存儲的溫度數(shù)據(jù){ float tt; uchar a,b; dsreset(); delay(1); tmpwritebyte(0xcc); tmpwritebyte(0xbe); a=tmpread(); //讀低8位 b=tmpread(); //讀高8位 temp=b; temp<<=8; //two byte compose a int variable 兩個字節(jié)組合為1個字 temp=temp|a; tt=temp*0.0625; //溫度在寄存器中是12位,分辨率是0.0625 temp=tt*10+0.5; //乘10表示小數(shù)點后只取1位,加0.5是四折五入 return temp;}void readrom() //read the serial{ uchar sn1,sn2; dsreset(); delay(1); tmpwritebyte(0x33); sn1=tmpread(); sn2=tmpread();}void delay10ms() //delay { uchar a,b; for(a=10;a>0;a--) for(b=60;b>0;b--); }void display(uint temp) //顯示程序{ uchar A1,A2,A2t,A3,ser; ser=temp/10; SBUF=ser; A1=temp/100; A2t=temp%100; A2=A2t/10; A3=A2t%10; //dula=0; d4=0; P0=table5[A1]; delay(1); d4=1; //顯示百位 //dula=1; // dula=0; /*wela=0; P0=0x7e; wela=1; wela=0; */ //dula=0; d3=0; P0=table6[A2]; delay(1); d3=1; //顯示十位 //dula=1; //dula=0; /*wela=0; P0=0x7d; wela=1; wela=0; */ d2=0; P0=table5[A3]; delay(1); d2=1; //顯示個位 //dula=1; //dula=0; /*P0=0x7b; wela=1; wela=0; */ }void main(){ uchar a; Init_Com(); do { tmpchange(); // delay(200);for(a=1;a>0;a--) { display(tmp()); } } while(1);}
-
贊(8)
回復(0)
熱門問答
- 基于51單片機的溫度控制器
- 求助,基于51單片機,激光測距
- :基于51單片機的脈沖信號發(fā)生器
- [1]輸出信號約每秒1組脈沖,脈沖組間隔0.5-2秒可設置;[2]每組脈沖個數(shù)1-50可以設置,雙極性脈沖和雙極性方波;[3]脈沖頻率5K-100K可以設置;[4]脈沖寬度可以1-100uS可以設置;我的92... [1] 輸出信號約每秒1組脈沖,脈沖組間隔0.5-2秒可設置;[2] 每組脈沖個數(shù)1-50可以設置,雙極性脈沖和雙極性方波; [3] 脈沖頻率5K-100K可以設置;[4] 脈沖寬度可以1-100uS可以設置; 我的 921313685@qq.com謝啦 展開
- 基于單片機的溫度控制器的畢業(yè)論文
- 基于AT89C2051單片機的水溫控制電路的設計,希望有相關資料的好心人能幫幫忙,郵箱:henryjason@126.com感激不盡... 基于AT89C2051單片機的水溫控制電路的設計,希望有相關資料的好心人能幫幫忙,郵箱:henryjason@126.com 感激不盡 展開
- 基于51單片機的數(shù)字頻率計(0—10MHZ)
- 百度上有0—10KHZ的,我能找到,求大神教我怎么依葫蘆畫瓢測10MHZ的吧,據(jù)說可以在51單片機擴展一個8253芯片用來定時計數(shù)?反正怎么好弄怎么來吧,不好貼的話,直接發(fā)我郵箱也行:xddpzc2010@126.com
- 基于51單片機的光電傳感器的計數(shù)器設計
- 基于 VB6.0 和 51單片機 的 超聲波 液位計
- 我想做一個基于VB6.0和51單片機的超聲波液位計,單片機通過超聲波測距模塊測距,并通過URAT串口和上位機通訊,VB編寫上位機程序,將液位值和曲線顯示在上位機程序界面中。 因為本人VB初學,之前也沒有上下位機通訊編程的經(jīng)驗,在CSDN和pudn上面下載的類似... 我想做一個基于VB6.0和51單片機的超聲波液位計,單片機通過超聲波測距模塊測距,并通過URAT串口和上位機通訊,VB編寫上位機程序,將液位值和曲線顯示在上位機程序界面中。 因為本人VB初學,之前也沒有上下位機通訊編程的經(jīng)驗,在CSDN和pudn上面下載的類似上下位機程序貌似都有些問題,煩請各位分享分享,有相關例程Z好,沒有的話,Z簡單的上下位機通訊測試程序也行,如果問題解決了,除了這30分外,我再多給幾十分百來分也沒問題,我的編程環(huán)境是VB6.0中文版和keil uvision3。單片機用STC89C52。。 文件比較大的話,Z好是工程文件包,可以發(fā)我郵箱里,thomas287@126.com和QQ:287153136。如果問題解決一定重謝,期待大蝦的回復! 展開
- 基于51單片機的數(shù)字頻率計設計(proteus仿真)
- 要求:實現(xiàn)外部方波,三角波,正弦波,鋸齒波等常用波形的頻率測量 (硬件設計,軟件設計)
- 溫度控制器w1209 與51單片機 如何連接?
- 溫度控制器w1209與51單片機如何連接?實現(xiàn)程序更新?... 溫度控制器w1209 與51單片機 如何連接?實現(xiàn)程序更新? 展開
- 基于51單片機8通道數(shù)據(jù)采集系統(tǒng)設計
- 設計要求:1、使用89C51和ADC0809構成8通道數(shù)據(jù)采集系統(tǒng);2、要求有復位電路(包括上電復位和按鍵復位);3、要求上電以后,按下啟動鍵后順序采集各個通道的信號;4、先利用A/D轉(zhuǎn)化器... 設計要求: 1、使用89C51和ADC0809構成8通道數(shù)據(jù)采集系統(tǒng); 2、要求有復位電路(包括上電復位和按鍵復位); 3、要求上電以后,按下啟動鍵后順序采集各個通道的信號; 4、先利用A/D轉(zhuǎn)化器對各路電壓進行采樣,得到相應的數(shù)字量,再經(jīng)過數(shù)字量與模擬量的關系得到模擬電壓值,然后在LED數(shù)碼管上顯示,采集信號的范圍為:0-5V; 5、設置有停止按鈕,按下后停止采集數(shù)據(jù)。 6、共用4個數(shù)碼管,Z高位顯示通道號,剩下3位,1位為整數(shù)位,兩位為小數(shù)位。 展開
- 基于51單片機,ADC0804,光敏電阻,濕度傳感器,求程序!?。?!
- 我用的51單片機,采集光強度和空氣濕度,利用了兩個ADC0804進行轉(zhuǎn)換(光敏電阻和電阻式濕度傳感器),但是沒有相應程序,哪位大哥能幫忙弄一個程序???如果是可行的程序,我賬號里剩下... 我用的51單片機,采集光強度和空氣濕度,利用了兩個ADC0804進行轉(zhuǎn)換(光敏電阻和電阻式濕度傳感器),但是沒有相應程序,哪位大哥能幫忙弄一個程序啊?如果是可行的程序,我賬號里剩下的分全給你,雖然不多... 展開
- 基于51單片機用LCD1602液晶顯示的頻率計程序
- 求程序——————
- 基于51單片機的數(shù)字頻率計電路原理圖怎么畫
- 用溫度傳感器做基于51單片機的電子體溫計
- 用溫度傳感器做基于51單片機的電子體溫計兼容的溫度傳感器,基于51... 用溫度傳感器做基于51單片機的電子體溫計兼容的溫度傳感器,基于51 展開
- 基于單片機的溫度控制器答辯時會提問什么問題?
- 我畢業(yè)設計做的這個題目,主要器件有DS18B20,AT89S51,LED顯示,按鍵電路和控制報警電路,答辯的時候老師大概會問什么?... 我畢業(yè)設計做的這個題目,主要器件有DS18B20,AT89S51,LED顯示,按鍵電路和控制報警電路,答辯的時候老師大概會問什么? 展開
- 基于51單片機函數(shù)信號發(fā)生器怎么樣實現(xiàn)小功率
- 基于51單片機的lm393振動傳感器的程序怎么加蜂鳴器
- 你有沒有 基于51單片機用LCD1602液晶顯示的頻率計程序
- 51單片機---------基于簡單IO口的LCD顯示頻率計設計
- 求報告?。?!
- 基于51單片機的數(shù)字頻率計如何識別高頻信號與低頻信號
4月突出貢獻榜
推薦主頁
最新話題





參與評論
登錄后參與評論