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

正文內(nèi)容

基于at89s51單片機(jī)的溫度控制系統(tǒng)的設(shè)計-在線瀏覽

2025-02-08 02:29本頁面
  

【正文】 ....... 10 結(jié)論 ...................................................................................................................................... 15 參考文獻(xiàn) .............................................................................................................................. 16 許昌學(xué)院單片機(jī)課程設(shè)計 4 1 設(shè)計要求 設(shè)計要求 ( 1)用單片機(jī)控制一個由 1kw 電爐加熱的電烤箱,最高溫度不超過 120℃。 2℃。 ( 4)溫度超出設(shè)置溫度177。 主要功能模塊 溫度控制系統(tǒng)的主要功能模塊包括溫度測量(溫度傳感器、放大器、 ADC 轉(zhuǎn)換器)、溫度控制(光電隔離、驅(qū)動電路、可控硅電路、電爐)、溫度給定(按鍵)、溫度顯示和報警等幾部分。 2 工作原理 溫度傳感器 DS18B20 從設(shè)備環(huán)境的不同位置采集溫度,單片機(jī) AT89S51 獲取采集的溫度值,經(jīng)處理后得到當(dāng)前環(huán)境中一個比較穩(wěn)定的溫度值,再根據(jù)當(dāng)前設(shè)定的溫度上下限值,通過加熱和降溫對當(dāng)前溫度進(jìn)行調(diào)整。 當(dāng)由于環(huán)境溫度變化太劇烈或由于加熱或降溫 設(shè)備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導(dǎo)致在一段時間內(nèi)不能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時候,單片機(jī)通過三極管驅(qū)動揚聲器發(fā)出警笛聲。 原理圖如下 許昌學(xué)院單片機(jī)課程設(shè)計 5 圖 21 工作原理圖 3 方案設(shè)計 溫度測量部分方案 DS18B20 是 DALLAS 公司生產(chǎn)的一線式數(shù)字溫度傳感器,它具有微型化、低功耗、高性能抗 干擾能力、強(qiáng)易配處理器等優(yōu)點,特別適合用于構(gòu)成多點溫度測控系統(tǒng),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(按 9 位二進(jìn)制數(shù)字)給單片機(jī)處理,且在同一總線上可以掛接多個傳感器芯片,它具有三引腳 TO92 小體積封裝形式,溫度測量范圍-55~+ 125℃,可編程為 9~ 12 位 A/D 轉(zhuǎn)換精度,測溫分辨率可達(dá) ℃,被測溫度用符號擴(kuò)展的 16 位數(shù)字量方式串行輸出,其工作電源既可在遠(yuǎn)端引入,業(yè)可采用寄生電源方式產(chǎn)生,多個 DS18B20 可以并聯(lián)到三根或者兩根線上, CPU 只需一根端口線就能與多個 DS18B20 通信,占用微處理器的端口 較少,可節(jié)省大量的引線和邏輯電路。 AT89S51 8BIT CPU 鍵盤電路 DS18B20 溫度芯 片數(shù)據(jù)傳輸 數(shù)據(jù)顯示 繼電器 2 壓縮制冷器 繼電器 1 加熱器 Max232電平轉(zhuǎn)換芯片 超溫報警 Pc 機(jī) 輸入電源 許昌學(xué)院單片機(jī)課程設(shè)計 6 綜上,在本系統(tǒng)中我采用溫度芯片 DS18B20 測量溫度。在 0— 100 攝氏度時,最大線形偏差小于 1 攝氏度。 圖 31 溫度傳感器引腳圖 DS18B20 的工作過程 a.初始化: DS18B20 所有的數(shù)據(jù)交換都由一個初始化序列開始。當(dāng) DS18B20 發(fā)出響應(yīng)主機(jī)的應(yīng)答脈沖時,即向主機(jī)表明它已處在總線上并且準(zhǔn)備工作。 DS18B20 的 ROM 如表 36 所示,每個 ROM 命令都是 8 bit長。 DS18B20 的信號方式 DS18B20 采用嚴(yán)格的單總線通信協(xié)議,以保證數(shù)據(jù)的完整性。除了應(yīng)答脈沖所有這些信號都由主機(jī)發(fā)出同步信號。 :復(fù)位脈沖和應(yīng)答脈沖 在寫時序期間,主機(jī)向 DS18B20 寫入指令;而在讀時序期間,主機(jī)讀入來自 DS18B20的指令。讀 /寫時序如圖 34 所示。主機(jī)在寫 1 時序向 DS18B20 寫入邏輯 1,而在許昌學(xué)院單片機(jī)課程設(shè)計 7 寫 0 時序向 DS18B20 寫入邏輯 0。s,且在兩次寫時序之間至少 需要 1181。兩種寫時序均以主機(jī)拉低總線開始。所以主機(jī)在發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時序,以便 DS18B20 能夠傳送數(shù)據(jù)。s,且在兩次獨立的讀時序之間至少需要 1181。 主控制部分方案 AT89S51 是一個低功耗,高性能 CMOS 8 位單片機(jī),片內(nèi)含 8k Bytes ISP(Insystem programmable)的可反復(fù)擦寫 1000 次的 Flash 只讀程序存儲器,器件采用 ATMEL 公司的 高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn) MCS51 指令系統(tǒng)及80C51 引腳結(jié)構(gòu),芯片內(nèi)集成了通用 8 位中央處理器和 ISP Flash 存儲單元,功能強(qiáng)大的微型計算機(jī)的 AT89S51 可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。 此外, AT89S51 設(shè)計和配置了振蕩頻率可為 0Hz 并可通過軟件設(shè)置省電模式。同時該芯片還具有 PDIP、 TQFP 和 PLCC 等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。同時 , AT89S51 可降至 0Hz 的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。掉電方式何在 RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直接到一個硬件復(fù)位。 當(dāng)溫度超過預(yù)設(shè)的最高溫度或最低溫度時,蜂鳴器發(fā)出響聲。 HD44780 具有簡單而功能較強(qiáng)的指令集,可以實現(xiàn)字符移動、閃爍等功能。 HD44780具有簡單而功能較強(qiáng)的指令集,可以實現(xiàn)字符移動、閃爍等功能。 uchar string1[]=Now_Temp: 39。 uchar string2[]=Set_Temp: 39。 sbit key1=P3^2。 sbit DQ=P2^6。 sbit RW=P2^1。 sbit rled=P2^3。 //sbit buzzer=P2^5。 void delayus(uchar xus)。 void init_1602LCD()。 uchar read_DS18B20()。 void get_temp()。 void dangerous()。 void init_inter()。 void main() { init_inter()。 { while(1) { get_temp()。 showset_temp()。 display(string1)。 display(string2)。//10000101 IT0=1。 } void delayms(uint xms) { uint i,j。i0。j0。 } void write_1602LCD(uchar datas,bit x) { delayms(20)。 RW=0。 P0=datas。 E=1。 E=0。 write_1602LCD(0X0c,0)。 許昌學(xué)院單片機(jī)課程設(shè)計 12 write_1602LCD(0X01,0)。 } bit init_DS18B20() { bit status_DS18B20。 DQ=0。 DQ=1。 if(DQ) status_DS18B20=1。 delayus(250)。 return(status_DS18B20)。 for(i=0。i++) { DQ=1。 datas=1。 if(DQ) datas|=0x80。 delayus(25)。 } void write_DS18B20(uchar datas) { uchar i=0。i8。 datas=1。 DQ=CY。 DQ=1。 init_DS18B20()。 write_DS18B20(0x44)。 許昌學(xué)院單片機(jī)課程設(shè)計 13 write_DS18B20(0xcc)。 a=read_DS18B20()。 temp=b。 temp|=a。 temp_flag=1。 } void showtemp() { if(temp100) string1[9]=39。 else string1[9]=temp/100+0x30。 39。 string1[11]=temp%10+0x30。 } } void showset_temp() { if(settemp100) string2[9]=39。 else string2[9]=settemp/100+0x30。 39。 string2[11]=settemp%10+0x30。 delayms(500)
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1