




免費預覽已結束,剩余25頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
課題二: 基于AT89C51單片機的數(shù)顯溫度傳感器設計一、設計目的1、掌握51單片機最小系統(tǒng)的設計;2、掌握溫度傳感器DS18B20的使用;3、掌握C51的編程方式。二、 設計任務與要求基于AT89C51單片機的數(shù)顯溫度傳感器設計主要具有如下功能,具體要求如下:1. 溫度傳感器DS18B20檢測環(huán)境溫度。2. 用4位數(shù)碼管顯示溫度;3. 設定一個溫度,當檢測的溫度達到這個設定值時,用蜂鳴器實現(xiàn)報警。三、 設計步驟1 根據(jù)課題,查閱相關資料。2 畫出系統(tǒng)原理框圖,確定基本電路。(電路圖不能在Protuse里畫,在A4紙上或者用DXP畫電路圖)3 在Protuse里進行仿真。(仿真結果出來后,才發(fā)放元件)4 按電路原理圖在板子上焊接電路。5 調試硬件。6 撰寫電子綜合設計報告:字數(shù)約20003000字(不包括程序清單),格式見附件2)。7 最后一個下午,制作PPT進行答辯。題目二:基于AT89C51單片機的數(shù)顯溫度傳感器設計元件名稱型號數(shù)量單片機最小開發(fā)板STC89C521溫度傳感器DS18B201三極管88501蜂鳴器1LED 紅1電阻10k、3k、2k、1k、510、330各5各2位一體數(shù)碼管共陽2AC/DC(5V/1A)電源1單排插針 402雙排插針 4029X15cm萬用板(3連孔)1杜邦線15附件2:單片機原理及其應用課程設計設計報告格式成績:重慶大學城市科技學院電氣學院基于AT89C51單片機的數(shù)顯溫度傳感器設計報告一、設計目的作用本設計是一款簡單實用的小型數(shù)字溫度計,所采用的主要元件有傳感器DS18B20,單片機AT89C52,四位共陰極數(shù)碼管一個,電容電阻若干。DS18B20支持“一線總線”接口,測量溫度范圍-55 +125。在-10 +85范圍內,精度為0.5。18B20的精度較差,為 2 ?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設備或過程控制、測溫類消費電子產品等。本次數(shù)字溫度計的設計共分為五部分,主控制器,LED顯示部分,傳感器部分,復位部分,按鍵設置部分,時鐘電路。主控制器即單片機部分,用于存儲程序和控制電路;LED顯示部分是指四位共陰極數(shù)碼管,用來顯示溫度;傳感器部分,即溫度傳感器,用來采集溫度,進行溫度轉換;復位部分,即復位電路,按鍵部分用來設置上下限報警溫度。測量的總過程是,傳感器采集到外部環(huán)境的溫度,并進行轉換后傳到單片機,經(jīng)過單片機處理判斷后將溫度傳遞到數(shù)碼管顯示。二、設計要求基于AT89C51單片機的數(shù)顯溫度傳感器設計主要具有如下功能,具體要求如下:(1)溫度傳感器DS18B20檢測環(huán)境溫度。(2)用兩個2位一體共陽數(shù)碼管顯示溫度;(3)通過按鍵開關設定一個上限溫度和一個下限溫度,當檢測的溫度達到這個設定值時,用蜂鳴器實現(xiàn)報警,同時LED燈閃爍。三、設計的具體實現(xiàn)1、設計原理用溫度傳感器,在單片機電路設計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進行轉換,就可以滿足設計要求。(DS18B20數(shù)字溫度傳感器具有單總線的獨特優(yōu)點,可以使用戶輕松地組建起傳感器網(wǎng)絡,并可使多點溫度測量電路變得簡單、可靠,所以在該設計中采用DS18B20數(shù)字溫度傳感器測量溫度。)實驗名稱是“基于AT89C51單片機的數(shù)顯溫度傳感器設計”,涉及到MCS-51系列的單片機,我們首先有設計一個能使單片機工作的最小系統(tǒng),然后溫度傳感器將實時溫度值送給單片機,通過對單片機進行軟件編程實現(xiàn)數(shù)據(jù)處理,然后送給LED共陰數(shù)碼管顯示,在對單片機編程時要考慮到要使得能通過按鍵開關設置上限報警溫度及下限報警溫度,通過蜂鳴器報警,在報警的同時LED燈同步閃爍。設計任務書中已給出了元件清單,但是我們需要在軟件中對自己設計的電路進行仿真我們還需要畫出單片機的最小系統(tǒng)電路??傮w電路結構框圖所示:共陽數(shù)碼管顯示模塊AT89C51單片機單片機時鐘電路及復位電路DS18BB20溫度傳感器模塊蜂鳴器報警及LED顯示模塊按鍵控制模塊電源2、系統(tǒng)設計(詳細介紹各單元電路的選擇、設計及工作原理分析,并介紹有關參數(shù)的計算及元器件參數(shù)的選擇等,要求有原理圖。)(1)、硬件設計硬件電路設計通過單片機仿真軟件Proteus 8.0進行原理圖的編輯,根據(jù)實驗要求及所給出的元件設計出如下電路原理圖,并進行了仿真時鐘及復位模塊實驗所給的元件中直接已給出了AT89C51的最小系統(tǒng)板,但是我們在設計電路時還是你需要畫出該部分電路,時鐘復位為能使單片機工作的最簡單的電路,又稱最小系統(tǒng)。具體實驗電路如下:時鐘電路有12MHz的晶振及兩個2030PF的瓷片電容(無極性)連接在單片機的XTAL1及XTAL2連個端口;復位電路由10K的電阻,10UF電解電容(有極性)以及按鍵開關組成,接在單片機的RST口。當系統(tǒng)出現(xiàn)故障錯誤,我想讓系統(tǒng)恢復初始化狀態(tài)可以通過對按動按鍵開關實現(xiàn)對電容的充放電從而實現(xiàn)系統(tǒng)的復位。蜂鳴器報警及LED顯示模塊蜂鳴器用于當溫度傳感器的輸入的溫度數(shù)值大于認為設定的上限溫度或者小于下限溫度時,系統(tǒng)會給出相應的信號使得蜂鳴器發(fā)出聲音同時讓LED燈閃爍顯示,從聽覺和視覺上同時提出報警信號。電路圖如下:蜂鳴器由一個PNP型的三極管驅動接在單片機的P1.0口,當P1.0口輸出低電平是蜂鳴器發(fā)出聲音;LED燈正極通過1K的電阻上拉接Vcc,負極接在單片機的P1.1口,當系統(tǒng)在P1.1口輸出低電平時LED燈亮。共陽數(shù)碼管顯示顯示模塊實驗給出的數(shù)碼管為2位一體共陽的數(shù)碼管,在實驗顯示中我們需要四個數(shù)碼管去顯示相應的溫度,所以采用兩個2位一體共陽數(shù)碼管并聯(lián)當做一個4位一體的共陽數(shù)碼管。電路原理圖如下:數(shù)碼管的使用設計到了段選及位選,我們把段選接在單片機的P0口 ,位選接在數(shù)碼管的P2.4P2.7口,需要注意的是此數(shù)碼管為共陽的,所以P0口輸出的低電平完全可以驅動數(shù)碼管的段選顯示,但是位選輸出高電平不足以驅動數(shù)碼管顯示導致數(shù)碼管的亮度不夠,此時我們需要在數(shù)碼管的位選段接上相應的1K的上拉電阻,這樣數(shù)碼管的亮度就可以明顯的得到提升。DS18BB20溫度傳感器模塊DS18B20溫度傳感器是美國DALLAS半導體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)912位的數(shù)字值讀數(shù)方式。電路圖如下:接在單片機的P2.3口,DS18B20的DQ端需要接一個4.7K左右的上拉電阻。按鍵控制模塊按鍵是用來設置報警的上下限溫。K1是用來進入上下限調節(jié)模式的,當按一下K1進入上限調節(jié)模式,再按一下進入下限調節(jié)模式。在正常模式下,按一下K2進入查看上限溫度模式,顯示1s左右自動退出;按一下K3進入查看下限溫度模式,顯示1s左右自動退出;按一下K4消除按鍵音,再按一下啟動按鍵音。在調節(jié)上下限溫度模式下,K2是實現(xiàn)加1功能, K1是實現(xiàn)減1功能,K3是用來設定上下限溫度正負的。(2)、軟件設計通過單片機編程軟件Keil 4進行編程,程序部分通過一個主函數(shù)和自定義的三個#includeds18b20.h #includekeyscan.h #includedisplay.h 頭文件,分別完成溫度的采集轉化、通過鍵盤設定上下限報警溫度以及模式的切換、通過定時器0延時使數(shù)碼管動態(tài)顯示溫度系統(tǒng)的主流程圖:3、 系統(tǒng)實現(xiàn)(詳細介紹實物連接圖及運行程序時的每種結果,要求有圖為證,并對每張圖片進行簡單的說明)根據(jù)系統(tǒng)的設計框圖,查找相關資料,在Proteus 8.0中畫出原理圖,在KEIL 4軟件中編寫好程序,然后將這兩個軟件結合,將寫好的程序在Proteus 8.0中燒錄進單片機,然后開啟仿真開關,即可顯示設計效果,通過修改硬件電路的同時結合程序,實現(xiàn)實驗要求。然后開始焊接硬件電路,在多孔板上焊出相應的電路,用杜邦線將各個模塊與單片機最小系統(tǒng)板連接在一起得到最終電路,用燒錄軟件將程序燒錄進單片機,最終以實際電路的形式展現(xiàn)出成果。系統(tǒng)的調試及性能分析:硬件調試,首先檢查電感的焊接是否正確,然后可用萬用表測試或通電檢測。軟件調試可以先編寫顯示程序并進行硬件的正確性檢驗,然后分別進行主程序、讀出溫度子程序、溫度轉換命令子程序、計算溫度子程序和現(xiàn)實數(shù)據(jù)刷新子程序等的編程及調試四、總結(對整個設計工作過程進行歸納和綜合,對設計中所存在的問題和不足進行分析和總結,提出解決的方法、措施、建議和對這次設計實踐的認識、收獲和提高。)通過本次課程設計使我收獲很多,從一開始對單片機仿真軟件的使用到后來漸漸的熟悉,深深感覺到了我們在設計電路的時候為了驗證我們方案的可行性,我們必須借助一些仿真軟件,來模擬我們設計的電路,這樣既可以節(jié)省本也使得我們焊接實物時有了很好的依據(jù),要學會以這種方法為基礎再來焊接電路。通過系統(tǒng)仿真軟件Proteus和編譯軟件Keil,使我們進一步了解了單片機的設計制作過程,其中最為困難的是軟件部分,即編程部分,我們上網(wǎng)找了好多資料,雖然經(jīng)過自己的修改,但還是有很多功能不能實現(xiàn),如溫度上下限設置。由于Proteus并不是很熟練,在使用的過程中有很多原件的名稱不知道,從而花費了大量的時間查閱資料。在應用仿真的過程中,還出現(xiàn)了仿真軟件出現(xiàn)問題,不管怎樣修改程序,結果在仿真軟件上還是出現(xiàn)錯誤,后來發(fā)現(xiàn)是我們使用的軟件是盜版的所以他可能在仿真過程中出現(xiàn)錯誤,最終決定先將硬件焊接出來將程序寫進去看看結果,再對軟件進行相應的調整,最后焊接出來將程序寫進單片機經(jīng)過簡單的調整實現(xiàn)了實驗要求。最后一步的焊接硬件也遇到了不少麻煩。綜上所述我們得出這樣的結論,應該借助軟件仿真證明我們方案的可行性,設計時實際電路和我們理論上的數(shù)值是有所差別的,我們也要學會將理論知識與實際結合起來,這樣我們才能在實際中提高自我能力,我們才能真正理解并在實際中運用我們的知識。五、附錄附錄一:元件清單元件名稱型號數(shù)量單片機最小開發(fā)板STC89C521溫度傳感器DS18B201三極管88501蜂鳴器1LED 紅1電阻10k、3k、2k、1k、510、330各5各2位一體數(shù)碼管共陽2AC/DC(5V/1A)電源1單排插針 402雙排插針 4029X15cm萬用板(3連孔)1杜邦線15附錄二:實物焊接圖附錄三:程序/* 程序名; 基于51單片機的溫度計* 功能:實時測量溫度,超過上下限報警,報警溫度可手動調整。 K1是用來進入上下限調節(jié)模式的,當按一下K1進入上限調節(jié)模式,再按一下進入下限調節(jié)模式。在正常模式下,按一下K2進入查看上限溫度模式,顯示1s左右自動退出;按一下K3進入查看下限溫度模式,顯示1s左右自動退出;按一下K4消除按鍵音,再按一下啟動按鍵音。在調節(jié)上下限溫度模式下,K2是實現(xiàn)加1功能,K1是實現(xiàn)減1功能, K3是用來設定上下限溫度正負的。*/#include#include /將intrins.h頭文件包含到主程序(調用其中的_nop_()空操作函數(shù)延時)#define uint unsigned int#define uchar unsigned charuchar max=0x00,min=0x00; /max是上限報警溫度,min是下限報警溫度bit s=0;/s是調整上下限溫度時溫度閃爍的標志位,s=0不顯示200ms,s=1顯示1s左右bit s1=0;/s1標志位用于上下限查看時的顯示void display1(uint z); /聲明display1()函數(shù)(display.h頭文件中的函數(shù),ds18b20.h要用應先聲明)#includeds18b20.h#includekeyscan.h#includedisplay.h/*/*主函數(shù)/*/void main() beer=1; /關閉蜂鳴器 led=1; /關閉LED燈 timer1_init(0); /初始化定時器1(未啟動定時器1)get_temperature(1); /首次啟動DS18B20獲取溫度(DS18B20上電后自動將EEPROM中的上下限溫度復制到TH和TL寄存器)while(1) keyscan();get_temperature(0);display(temp,temp_d*0.625);alarm(); /* 程序名; ds18b20keyscan函數(shù)* 功能:通過鍵盤設定設定上下限報警溫度*/#ifndef _keyscan_H_/定義頭文件#define _keyscan_H_sbit key1=P22;sbit key2=P21;sbit key3=P20;sbit key4=P33;uchari=0;/定義全局變量i用于不同功能模式的選擇,0正常模式,1上限調節(jié)模式,2下限調節(jié)模式uchar a=0; /定義全局變量a用于不同模式下數(shù)碼管顯示的選擇bit k4=0;/K4按鍵雙功能選擇位,k4=0時K4按鍵選擇消按鍵音的功能,k4=1時K4按鍵選擇正負溫度設定功能bit v=0;/K2、K3按鍵雙功能選擇位,v=0時選擇上下限查看功能,v=1時選擇上下限溫度加減功能bit v1=0;/v1=1時定時1250ms時間到自動關閉報警上下限查看功能bit v2=0; /消按鍵音功能調整位,為0時開按鍵音,為1時關按鍵音/*/*讀鍵盤延時子函數(shù)/*/void keyscan_delay(uint z)/延時1ms左右uinti,j;for(i=z;i0;i-)for(j=120;j0;j-);/*/*溫度調節(jié)函數(shù)/*/inttemp_change(intcount,bit f)/上下限溫度調整 if(key2=0)/判斷K2是否按下 if(v2=0)beer=0;/v2=0開按鍵音,否則消按鍵音keyscan_delay(10);/延時10msif(key2=0)/再次判斷K2是否按下(實現(xiàn)按按鍵時消抖) beer=1;/K2按下關按鍵音 if(f=0)/若溫度為正 count+;/每按一下K2溫度上調1 if(a=1)if(count125) count=125;/當溫度值大于125時不上調if(a=2)if(count125) count=125; if(f!=0)/若溫度為負 count+;/每按一下K2溫度下調1 if(a=1)if(count55) count=55;/當溫度值小于-55時不再下調if(a=2)if(count55) count=55; while(key2=0);/K2松開按鍵時消抖keyscan_delay(10);if(key3=0)if(v2=0)beer=0;keyscan_delay(10);if(key3=0) /K3按按鍵時消抖beer=1;count-;/每按一下K3溫度為正時下調1,為負時上調1if(a=1)if(count0) count=0;/當溫度值達到0時不再調if(a=2)if(count2)/K1按下三次后退出調節(jié)模式 i=0;/進入正常模式 TR1=0;/關定時器1 k4=0;/在正常模式下選擇K4的消按鍵音功能 v=0;/在正常模式下選擇K2、K3的查看上下限報警溫度功能store_t();/存儲調整后的上下限報警溫度 switch(i)/顯示選擇 case 0:a=0;break;/a=0選擇顯示測得的溫度 case 1:a=1;break; /a=1選擇顯示上限溫度 case 2:a=2;break; /a=2選擇顯示下限溫度default:break; while(key1=0);/K1松按鍵時消抖keyscan_delay(10);if(a=1&v=1)/a=1選擇顯示上限溫度且v=1時選擇上下限溫度加功能led=0;max=temp_change(max,f_max);/顯示上限溫度else if(a=2&v=1)/a=2選擇顯示下限溫度且v=1時選擇上下限溫度減功能led=1;min=temp_change(min,f_min);else;if(k4=1)/k4=1時K4按鍵選擇正負溫度設定功能if(key4=0)if(v2=0)beer=0;keyscan_delay(5);if(key4=0)beer=1;if(a=1) if(max55) f_max=0;else f_max=f_max;/當溫度大于55度時,只能設定為正溫度if(a=2) if(min55) f_max=0;else f_min=f_min;/當溫度大于55度時,只能設定為正溫度while(key4=0);keyscan_delay(10);if(v=0) /v=0時選擇上下限查看功能if(key2=0)if(v2=0)beer=0;keyscan_delay(10);if(key2=0)beer=1; a=1;/選擇上限顯示 TR1=1;/開定時器1開始定時一分鐘左右 s1=1;/上限顯示不閃爍,顯示一分鐘左右自動退出while(key2=0);keyscan_delay(10);if(key3=0)if(v2=0)beer=0;keyscan_delay(10);if(key3=0)beer=1; a=2;/選擇下限顯示 TR1=1;/開定時器1開始定時1s s1=1;/下限顯示不閃爍,顯示1s自動退出while(key3=0);keyscan_delay(10);if(v1=1) /v1=1時定時1s時間到自動關閉報警上下限查看功能a=0;v1=0;TR1=0; /a=0顯示實測溫度,v1清零,關定時器1if(k4=0) /k4=0時K4按鍵選擇消按鍵音的功能if(key4=0)if(v2=0)beer=0;keyscan_delay(10);if(key4=0)beer=1; v2=v2;/為0時開按鍵音,為1時關按鍵音while(key4=0);keyscan_delay(10); #endif/* 程序名; DS18B20頭文件* 說明:用到的全局變量是:無符號字符型變量temp(測得的溫度整數(shù)部分),temp_d(測得的溫度小數(shù)部分),標志位f(測量溫度的標志位0表示“正溫度”1表示“負溫度”),標志位f_max(上限溫度的標志位0表示“正溫度”、1表示“負溫度”),標志位f_min(下限溫度的標志位0表示“正溫度”、1表示“負溫度”),標志位w(報警標志位1啟動報警0關閉報警)。*/#ifndef _ds18b20_h_ /定義頭文件#define _ds18b20_h_#define uint unsigned int#define uchar unsigned charsbit DQ= P23; /DS18B20接口sbit beer=P10; /用beer表示P1.0sbit led=P11; /用led表示P1.1uchar temp=0; /測量溫度的整數(shù)部分uchartemp_d=0; /測量溫度的小數(shù)部分bit f=0; /測量溫度的標志位0表示“正溫度”1表示“負溫度”)bit f_max=0; /上限溫度的標志位0表示“正溫度”1表示“負溫度”)bit f_min=0; /下限溫度的標志位0表示“正溫度”1表示“負溫度”)bit w=0; /報警標志位1啟動報警,0關閉報警;/*/*延時子函數(shù)/*/void ds18b20_delayus(uint t) /延時幾swhile(t-);void ds18b20_delayms(uint t) /延時1ms左右uinti,j;for(i=t;i0;i-)for(j=120;j0;j-);/*/*DS18B20初始化函數(shù)/*/void ds18b20_init() uchar c=0; DQ=1;DQ=0; /控制器向DS18B20發(fā)低電平脈沖ds18b20_delayus(80); /延時15-80sDQ=1;/控制器拉高總線,while(DQ);/等待DS18B20拉低總線,在60-240s之間ds18b20_delayus(150);/延時,等待上拉電阻拉高總線DQ=1;/拉高數(shù)據(jù)線,準備數(shù)據(jù)傳輸;/*/*DS18B20字節(jié)讀函數(shù)/*/uchar ds18b20_read()uchari;uchar d=0;DQ = 1;/準備讀;for(i=8;i0;i-) d = 1; /低位先發(fā);DQ = 0;_nop_();_nop_();DQ = 1;/必須寫1,否則讀出來的將是不預期的數(shù)據(jù);if(DQ)/在12us處讀取數(shù)據(jù);d |= 0x80;ds18b20_delayus(10);return d; /返回讀取的值/*/*DS18B20字節(jié)寫函數(shù)/*/void ds18b20_write(uchar d)uchari;for(i=8;i0;i-) DQ=0; DQ=d&0x01; ds18b20_delayus(5); DQ=1; d = 1; /*/*獲取溫度函數(shù) /*/voidget_temperature(bit flag)uchar a=0,b=0,c=0,d=0;uinti;ds18b20_init();ds18b20_write(0xcc);/向DS18B20發(fā)跳過讀ROM命令ds18b20_write(0x44);/寫啟動DS18B20進行溫度轉換命令,轉換結果存入內部RAMif(flag=1)/首次啟動DS18B20進行溫度轉換需要500ms,若轉換時間不夠就出錯,讀出的是85度的錯誤值。 display1(1);/用開機動畫耗時elseds18b20_delayms(1);ds18b20_init();ds18b20_write(0xcc); ds18b20_write(0xbe);a=ds18b20_read();/讀內部RAM (LSB)b=ds18b20_read();/讀內部RAM (MSB)if(flag=1)/局部位變量f=1時讀上下線報警溫度 max=ds18b20_read(); /讀內部RAM (TH) min=ds18b20_read(); /讀內部RAM (Tl)if(max&0x80)=0x80) /若讀取的上限溫度的最高位(符號位)為1表明是負溫度f_max=1;max=(max-0x80); /將上限溫度符號標志位置1表示負溫度,將上限溫度裝換成無符號數(shù)。 if(min&0x80)=0x80)/若讀取的下限溫度的最高位(符號位)為1表明是負溫度f_min=1;min=(min-0x80); /將下限溫度符號標志位置1表示負溫度,將下限溫度裝換成無符號數(shù)。i=b;i=4;if (i=0) f=0; /i為0,正溫度,設立正溫度標記 temp=(a4)|(b4)|(b4);/整數(shù)部分a=(a&0x0f);/小數(shù)部分temp_d=a;/*/*存儲極限溫度函數(shù)/*/voidstore_t() if(f_max=1) /若上限溫度為負,將上限溫度轉換成有符號數(shù)(最高位為1是負,為0是正)max=max+0x80;if(f_min=1) /若下限溫度為負,將上限溫度轉換成有符號數(shù)min=min+0x80; ds18b20_init();ds18b20_write(0xcc); ds18b20_write(0x4e); /向DS18B20發(fā)寫字節(jié)至暫存器2和3(TH和TL)命令ds18b20_write(max); /向暫存器TH(上限溫度暫存器)寫溫度ds18b20_write(min); /向暫存器TL(下限溫度暫存器)寫溫度ds18b20_write(0xff); /向配置寄存器寫命令,進行溫度值分辨率設置ds18b20_init();ds18b20_write(0xcc); ds18b20_write(0x48); /向DS18B20發(fā)將RAM中2、3字節(jié)的內容寫入EEPROM /DS18B20上電后會自動將EEPROM中的上下限溫度拷貝到TH、TL暫存器/*/*溫度超限報警函數(shù)/*/void alarm() /若上限值是正值if(f_max=0) if(f_min=0) /若下限值是正值 if(f=0) /若測量值是正值 if(temp=max) w=1;TR1=1; /當測量值小于最小值或大于最大值時報警if(tempmin) w=0; /當測量值大于最小值且小于最大值時不報警 if(f=1)w=1;TR1=1; /若測量值是負值時報警 if(f_min=1) /若下限值是負值 if(f=0) /若測量值是正值 if(temp=max)/當測量值大于最大值時報警 w=1;TR1=1; if(temp=min)/當測量值大于最小值時報警 w=1;TR1=1; if(tempmin)/當測量值小于最小值時不報警 w=0; if(f_max=1) /若下限值是負值 if(f_min=1) /若下限值是負值 if(f=1) /若測量值是負值 if(temp=min) w=1;TR1=1; /當測量值小于最大值或大于最小值時報警if(tempmax) w=0; /當測量值小于最小值且大于最大值時不報警 if(f=0)w=1;TR1=1; /若測量值是正值時報警 #endif/* 程序名; ds18b20數(shù)碼管動態(tài)顯示頭文件* 功能:通過定時器0延時使數(shù)碼管動態(tài)顯示*/#ifndef _ds18b20_display_H_#define _ds18b20_display_H_#define uint unsigned int /變量類型宏定義,用uint表示無符號整形(16位)#define uchar unsigned char /變量類型宏定義,用uchar表示無符號字符型(8位)sbit wei1=P24; /可位尋址變量定義,用wei1表示P2.4口sbit wei2=P25; /用wei2表示P2.5口sbit wei3=P26; /用wei3表示P2.6口sbit wei4=P27; /用wei4表示P2.7口ucharnum=0; /定義num為全局無符號字符型變量,賦初值為0uchar code temperature1= 0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90;/定義顯示碼表09uchar code temperature2= 0x40,0x79,0x24,0x30,0x19, 0x12,0x02,0x78,0x00,0x10;/帶小數(shù)點的09.uchar code temperature3= 0xff,0x7f,0xbf,0x89,0xc7;/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國驅排劑行業(yè)發(fā)展研究報告
- 2025至2030年中國雀膽丸行業(yè)發(fā)展研究報告
- 2025至2030年中國鍛鋼控制閥行業(yè)發(fā)展研究報告
- 2025至2030年中國鉆滾筒行業(yè)發(fā)展研究報告
- 2025至2030年中國重污油清洗劑行業(yè)發(fā)展研究報告
- 2025至2030年中國轉向助力缸行業(yè)發(fā)展研究報告
- 2025至2030年中國袋滴形片日字蝴蝶自動鎖行業(yè)發(fā)展研究報告
- 2025至2030年中國花崗石Ⅴ型架行業(yè)發(fā)展研究報告
- 2025至2030年中國聚碳酸酯(PC)原料行業(yè)發(fā)展研究報告
- 2025至2030年中國繞片式散熱器行業(yè)發(fā)展研究報告
- 醫(yī)院處方箋-模板
- 【渝人發(fā)〔2008〕2號】重慶市事業(yè)單位崗位設置管理實施辦法(試行)
- 物流信息技術課程
- Q∕GDW 10354-2020 智能電能表功能規(guī)范
- 公安局凍結解除凍結存款匯款通知書
- (高清正版)JJF 1908-2021 雙金屬溫度計校準規(guī)范
- 硬式內窺鏡項目計劃書_模板范本
- 最新防雷設施檢測報告范本
- 上海初中科學會考知識點匯總——七年級第一學期牛津
- 計算機辦公軟件應用培訓教學計劃
- 專業(yè)技術人員年度情況考核登記表
評論
0/150
提交評論