![基于51單片機(jī)課程設(shè)計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/2097452f-bbc5-420e-91b1-83c48047e7a0/2097452f-bbc5-420e-91b1-83c48047e7a01.gif)
![基于51單片機(jī)課程設(shè)計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/2097452f-bbc5-420e-91b1-83c48047e7a0/2097452f-bbc5-420e-91b1-83c48047e7a02.gif)
![基于51單片機(jī)課程設(shè)計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/2097452f-bbc5-420e-91b1-83c48047e7a0/2097452f-bbc5-420e-91b1-83c48047e7a03.gif)
![基于51單片機(jī)課程設(shè)計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/2097452f-bbc5-420e-91b1-83c48047e7a0/2097452f-bbc5-420e-91b1-83c48047e7a04.gif)
![基于51單片機(jī)課程設(shè)計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/2097452f-bbc5-420e-91b1-83c48047e7a0/2097452f-bbc5-420e-91b1-83c48047e7a05.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于51單片機(jī)課程設(shè)計報告院 系: 電子通信工程 團(tuán) 組: 電子設(shè)計大賽1組姓 名: 指導(dǎo)老師: 2012/8/15 目錄一、摘要 3二、系統(tǒng)方案的設(shè)計 3三、硬件資源 5四、 硬件總體電路搭建 13五、程序流程圖14六、設(shè)計感想 14七、參考文獻(xiàn) 16附錄17附錄 1 程序代碼17一、摘要 本設(shè)計以STC89C51單片機(jī)為核心的溫度控制系統(tǒng)的工作原理和設(shè)計方法。溫度信號由溫度芯片DS18B20采集,并以數(shù)字信號的方式傳送給單片機(jī)。文中介紹了該控制系統(tǒng)的硬件部分,包括:溫度檢測電路、溫度控制電路。單片機(jī)通過對信號進(jìn)行相應(yīng)處理,從而實(shí)現(xiàn)溫度控制的目的。文中還著重介紹了軟件設(shè)計部分,在這里采用模塊
2、化結(jié)構(gòu),主要模塊有:數(shù)碼管顯示程序、鍵盤掃描及按鍵處理程序、溫度信號處理程序、led控制程序、超溫報警程序。 關(guān)鍵詞:STC89C51單片機(jī) DS18B20溫度芯片 溫度控制 ,LED報警提示.二、系統(tǒng)方案的設(shè)計1、設(shè)計要求基本功能: 不加熱時實(shí)時顯示時間,并可手動設(shè)置時間;設(shè)定加熱水溫功能。人工設(shè)定熱水器燒水的溫度,范圍在2070度之間,打開開關(guān)后,根據(jù)設(shè)定溫度與水溫確定是否加熱,及何時停止加熱,可實(shí)時顯示溫度;設(shè)定加熱時間功能。限定燒水時間,加熱時間內(nèi)超過溫度上限或低于溫度下限報警,并可實(shí)時顯示溫度。2、系統(tǒng)設(shè)計的框架本課題設(shè)計的是一種以STC89C51單片機(jī)為主控制單元,以DS18B20
3、為溫度傳感器的溫度控制系統(tǒng)。該控制系統(tǒng)可以實(shí)時存儲相關(guān)的溫度數(shù)據(jù)并記錄當(dāng)前的時間。其主要包括:電源模塊、溫度測量及調(diào)理電路、鍵盤、數(shù)碼管顯示、指示燈、報警、繼電器及單片機(jī)最小系統(tǒng)。圖1 系統(tǒng)設(shè)計框架3 工作原理溫度傳感器 DS18B20 從設(shè)備環(huán)境的不同位置采集溫度,單片機(jī)STC8951 獲取采集的溫度值,經(jīng)處理后得到當(dāng)前環(huán)境中一個比較穩(wěn)定的溫度值,再根據(jù)當(dāng)前設(shè)定的溫度上下限值,通過加熱和降溫對當(dāng)前溫度進(jìn)行調(diào)整。當(dāng)采集的溫度經(jīng)處理后超過設(shè)定溫度的上限時,單片機(jī)通過三極管驅(qū)動繼電器開啟降溫設(shè)備 (壓縮制冷器) ,當(dāng)采集的溫度經(jīng)處理后低于設(shè)定溫度的下時 , 單片機(jī)通過三極管驅(qū)動繼電器開啟升溫設(shè)備
4、(加熱器) ,這里采用通過LED1和LED2取代!當(dāng)由于環(huán)境溫度變化太劇烈或由于加熱或降溫設(shè)備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導(dǎo)致在一段時間內(nèi)不能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時候,單片機(jī)通過三極管驅(qū)動揚(yáng)聲器發(fā)出警笛聲,這里采用HLLED提示。加熱器繼電器2三、硬件資源1、器件選擇: 1.51單片機(jī)一塊STC89c51STC8951 是一個低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及STC8
5、951引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大的微型計算機(jī)的STC8951可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。STC8951具有如下特點(diǎn):40個引腳,8k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信,片內(nèi)時鐘振蕩器。此外,STC8951設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩
6、器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。由于系統(tǒng)控制方案簡單 ,數(shù)據(jù)量也不大 ,考慮到電路的簡單和成本等因素 ,因此在本設(shè)計中選用 STC8951單片機(jī)作為主控芯片。主控模塊采用單片機(jī)最小系統(tǒng)是由于STC8951芯片內(nèi)含有8 kB的 E2PROM ,無需外擴(kuò)存儲器 ,電路簡單可靠 ,其時鐘頻率為 024 MHz ,并且價格低廉 ,批量價在 10元以內(nèi)。其單片機(jī)的外圍引腳有40個,分別是:第20腳和40腳分別是電源,即GND和Vcc;第9腳是復(fù)位腳RST;第18腳是時鐘XTAL2腳,片內(nèi)振蕩
7、電路的輸出端;第19腳是時鐘XTAL1腳,片內(nèi)振蕩電路的輸入端;第29腳:PSEN腳,當(dāng)訪問外部程序存儲器時,此引腳輸出負(fù)脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上;第30腳:ALE/PROG,當(dāng)訪問外部數(shù)據(jù)存儲器時,ALE(地址鎖存)的輸出用于鎖存地址的低字節(jié);第31腳:EA/Vpp為程序存儲器內(nèi)外部選通信號;P00-P07.P10-P17.P20-P27.P30-P37.這32個引腳為數(shù)據(jù)的輸出及輸入引腳,即I/0口;單片機(jī)圖如下: 2、8位7段共陰數(shù)碼管一個 7段數(shù)碼管一般由8個發(fā)光二極管組成,其中由7個細(xì)長的發(fā)光二極管組成數(shù)字顯示,另外一個圓形的發(fā)光二極管顯示小數(shù)點(diǎn)。當(dāng)發(fā)
8、光二極管導(dǎo)通時,相應(yīng)的一個點(diǎn)或一個筆畫發(fā)光??刂葡鄳?yīng)的二極管導(dǎo)通,就能顯示出各種字符,盡管顯示的字符形狀有些失真,能顯示的數(shù)符數(shù)量也有限,但其控制簡單,使有也方便。發(fā)光二極管的陽極連在一起的稱為共陽極數(shù)碼管,陰極連在一起的稱為共陰極數(shù)碼管,如圖4.9所示。共陰數(shù)碼管共陰數(shù)碼管的編碼為:0x3F,0x0C,0x76,0x5E,0x4D,0x5B,0x7B,0x0E,0x7F,0x5F,0x6F,0x79,0x33,0x7C,0x73,0x630 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,A , B, C, D, E, F 3、溫度顯示DS18B20一個 DS18B
9、20采用3腳TO-92封裝或8腳的SOIC封裝,如圖1所示。各引腳的功能:GND為電壓地;DQ為單數(shù)據(jù)總線;V為電源電壓;NC為空引腳。圖1DS18B20引腳圖 DS18B20的DQ單數(shù)據(jù)總線與單片機(jī)P3.7連接,GND電壓地、V電源電壓分別和電壓地和5伏直流電源連接。本文設(shè)計的系統(tǒng)主機(jī)只對一個DS18B20進(jìn)行操作,因此不需要讀取ROM編碼以及匹配ROM編碼,只要跳過ROM命令,就可以進(jìn)行如下溫度轉(zhuǎn)換和讀取操作。(1)CCH跳過ROM,直接向DS18B20發(fā)送溫度變換命令。(2)44H讀暫存器。讀內(nèi)部RAM中9字節(jié)的溫度數(shù)據(jù)。(3)BEH寫暫存器。發(fā)出向內(nèi)部RAM的第2、3字節(jié)寫上、下限溫度
10、數(shù)據(jù)命令,緊跟該命令之后,再傳送兩字節(jié)數(shù)據(jù)。 DS18B20在出廠時默認(rèn)配置為12位,其中最高位為符號位,即溫度值共11位,單片機(jī)在讀取數(shù)據(jù)時,一次會讀兩字節(jié)共16位,讀完后將低11位的二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制后再乘以0.0625變?yōu)樗鶞y的溫度值。另外,還需要判斷溫度的正負(fù)。前5個數(shù)字為符號位,這5位同時變化,我們只需判斷11位就可以了。前5位為1時,讀取的溫度為負(fù)值,且測到的數(shù)值需要取反再加一再乘以0.0625才可以得到實(shí)際的溫度值。前5位為0時,讀取的溫度為正值,只要將測得的數(shù)值乘以0.0625即可得到實(shí)際溫度值。 由于提前給DS18B20賦了上限、下限值,所以當(dāng)溫度超過上限或者不足下限時,會
11、伴有LED燈閃爍和蜂鳴器響作為警報。 4、按鍵在按下鍵時,實(shí)際情況下,都會出現(xiàn)抖動。其直觀圖如下: 按鍵消抖一般采用硬件和軟件消抖兩種方法。硬件消抖是利用電路濾波的原理實(shí)現(xiàn),軟件消抖是通過按鍵延時來實(shí)現(xiàn)。在微機(jī)系統(tǒng)中一般都采用軟件延時的消抖方法,本文用的是軟件延時的消抖方法。5、74HC573鎖存器 高性能硅門 CMOS 器件SL74HC573 跟 LS/AL573 的管腳一樣。器件的輸入是和標(biāo)準(zhǔn) CMOS 輸出兼容的;加上拉電阻,他們能和 LS/ALSTTL 輸出兼容。當(dāng)鎖存使能端LE為高時,這些器件的鎖存對于數(shù)據(jù)是透明的(也就是說輸出同步)相當(dāng)于圖上的Dx-Qx相通,I/0口可以進(jìn)行數(shù)據(jù)交
12、換。當(dāng)鎖存使能變低時,符合建立時間和保持時間的數(shù)據(jù)會被鎖存。在這里我們是將LE接高電平,把鎖存器當(dāng)作驅(qū)動器,驅(qū)動數(shù)碼管的顯示;6、晶振 其晶振的運(yùn)用,在這地方我們用的是12MHz,主要用在單片機(jī)的最小系統(tǒng)中,參照單片機(jī)最小系統(tǒng)圖示;7. 電阻.電容.導(dǎo)線等(一)單片機(jī)最小系統(tǒng)電路在課題設(shè)計的溫度控制系統(tǒng)設(shè)計中,控制核心是STC89C52單片機(jī),該單片機(jī)為51系列增強(qiáng)型8位單片機(jī),它有32個I/O口,片內(nèi)含4K FLASH工藝的程序存儲器,便于用電的方式瞬間擦除和改寫,而且價格便宜,其外部晶振為12MHz,一個指令周期為1S。使用該單片機(jī)完全可以完成設(shè)計任務(wù),其最小系統(tǒng)主要包括:復(fù)位電路、震蕩電
13、路以及存儲器選擇模式(EA腳的高低電平選擇),電路如下圖2所示:圖2 單片機(jī)最小系統(tǒng)(二)溫度傳感器電路采用一線制數(shù)字溫度傳感器DS18B20來作為本課題的溫度傳感器。傳感器輸出信號進(jìn)4.7K的上拉電阻直接接到單片機(jī)的P1.0引腳上。DS18B20溫度傳感器是美國達(dá)拉斯(DALLAS)半導(dǎo)體公司推出的應(yīng)用單總線技術(shù)的數(shù)字溫度傳感器。該器件將半導(dǎo)體溫敏器件、A/D轉(zhuǎn)換器、存儲器等做在一個很小的集成電路芯片上。本設(shè)計中溫度傳感器之所以選擇單線數(shù)字器件DS18B20,是在經(jīng)過多方面比較和考慮后決定的,主要有以下幾方面的原因:(1)系統(tǒng)的特性:測溫范圍為2070 ,測溫精度為士0.5;溫度轉(zhuǎn)換精度91
14、2位可變,能夠直接將溫度轉(zhuǎn)換值以16位二進(jìn)制數(shù)碼的方式串行輸出;12位精度轉(zhuǎn)換的最大時間為750ms;可以通過數(shù)據(jù)線供電,具有超低功耗工作方式。(2)系統(tǒng)成本:由于計算機(jī)技術(shù)和微電子技術(shù)的發(fā)展,新型大規(guī)模集成電路功能越來越強(qiáng)大,體積越來越小,而價格也越來越低。一支DS18B20的體積與普通三極管相差無幾,價格只有十元人民幣左右。(3)系統(tǒng)復(fù)雜度:由于DS18B20是單總線器件,微處理器與其接口時僅需占用1個I/O端口且一條總線上可以掛接幾十個DS18B20,測溫時無需任何外部元件,因此,與模擬傳感器相比,可以大大減少接線的數(shù)量,降低系統(tǒng)的復(fù)雜度,減少工程的施工量。(4)系統(tǒng)的調(diào)試和維護(hù):由于引
15、線的減少,使得系統(tǒng)接口大為簡化,給系統(tǒng)的調(diào)試帶來方便。同時因為DS18B20是全數(shù)字元器件,故障率很低,抗干擾性強(qiáng),因此,減少了系統(tǒng)的日常維護(hù)工作。DS18B20溫度傳感器只有三根外引線:單線數(shù)據(jù)傳輸總線端口DQ ,外供電源線VDD,共用地線GND。DS18B20有兩種供電方式:一種為數(shù)據(jù)線供電方式,此時VDD接地,它是通過內(nèi)部電容在空閑時從數(shù)據(jù)線獲取能量,來完成溫度轉(zhuǎn)換,相應(yīng)的完成溫度轉(zhuǎn)換的時間較長。這種情況下,用單片機(jī)的一個I/O口來完成對DS18B20總線的上拉。另一種是外部供電方式(VDD接+5V),相應(yīng)的完成溫度測量的時間較短。在本設(shè)計中采用外部供電方式實(shí)現(xiàn)DS18B20傳感器與單片
16、機(jī)的連接,其接口電路如圖4所示。圖4 溫度傳感器接口(三)按鍵接口電路本課題設(shè)計采用的鍵盤模塊,其接口原理圖如下圖8所示:圖8 鍵盤模塊電路四、 硬件總體電路搭建五、程序流程圖六、設(shè)計感想 首先通過此次課程設(shè)計,讓我們對所學(xué)的計算機(jī)控制技術(shù)理論知識更加熟悉了解,對理論學(xué)習(xí)時沒有掌握牢固的一些知識以及一些在學(xué)習(xí)中存在的漏洞進(jìn)行學(xué)習(xí)并加以彌補(bǔ),也讓我們明白學(xué)習(xí)一門課程就要認(rèn)真地對待,掌握牢固,并要在實(shí)踐中加以運(yùn)用。只有能運(yùn)用自如的知識才是屬于自己的東西。 比較熟練,在學(xué)習(xí)此軟件過程中其次,此次課程設(shè)計我們嘗試用proteus軟件進(jìn)行仿真設(shè)計。對于proteus,我們之前對它的一些應(yīng)用比較熟悉,所以
17、此次運(yùn)用起來通過查找圖書館的資料以及在網(wǎng)上的學(xué)習(xí)讓我們意外收獲了一些其他的知識,拓展了知識面,也豐富了自己的閱歷。 第三,通過這次課程設(shè)計,我們學(xué)會了單片機(jī)完成某一項功能,需要從兩個方面入手:一是軟件的實(shí)現(xiàn)即匯編語言程序的編寫,二是硬件電路的實(shí)現(xiàn)。兩方面比較,程序編寫時相對較難的一部分。我們團(tuán)組認(rèn)為這是一個建模的過程,即將實(shí)際的控制問題轉(zhuǎn)換成我們所熟悉的數(shù)學(xué)模型,這是一個很抽象的問題,有時真的是難以想象。所以我們覺得這種困難最好的解決辦法就是通過平時的積累,多多學(xué)習(xí)。 此次設(shè)計培養(yǎng)了我們對于計算機(jī)控制設(shè)計的一些興趣,當(dāng)看著自己設(shè)計的東西,通過仿真可以出現(xiàn)自己期望的結(jié)果時,那種愉悅的心情是前所未
18、有的,同時當(dāng)出現(xiàn)問題,通過自己查找資料檢查電路之后排除問題的過程也鍛煉了我們對于學(xué)習(xí)的一種深入和堅持,鍛煉了我們獨(dú)立思考的能力和最初的創(chuàng)新意識,讓我們真正體會到學(xué)習(xí)的樂趣。 第五,我們再次鞏固了一些以前的東西,仿真軟件的運(yùn)用,課程設(shè)計的書寫,計算機(jī)的一些應(yīng)用軟件的應(yīng)用,以及對word的了解也更深入了。 最后一點(diǎn),也使最深刻的體會,就是在設(shè)計過程中,基本上用到的都是我們學(xué)過的一些原理,所以學(xué)以致用在這次設(shè)計中可謂體現(xiàn)的淋漓盡致,要把所學(xué)的知識聯(lián)系起來綜合運(yùn)用。這些都將成為我們以后的工作學(xué)習(xí)的鋪路石,使我們在大學(xué)里收獲的最實(shí)用的東西,而不是僅僅只是紙上談兵,而是通過我們親自動手來完成的經(jīng)驗對每個人
19、來說都是一筆財富,所以這次單片機(jī)控制技術(shù)課程設(shè)計對我們來說絕對是一次難得的鍛煉的機(jī)會。七、參考文獻(xiàn)1 馬彪 單片機(jī)應(yīng)用技術(shù) 同濟(jì)大學(xué)出版社 2 郭天祥 51單片機(jī)C語言教程 電子工業(yè)出版社 3 陳海宴 51單片機(jī)原理及應(yīng)用 北京航空航天大學(xué)出版社 附錄附錄 1 程序代碼1:main主函數(shù) #include"ds18b.h"#include<reg52.h>sbit add=P30;/加sbit cut=P31;/減sbit set=P32;/設(shè)置 sbit p00=P00; sbit p01=P01; sbit p02=P02; sbit p03=P03; /
20、/位選控制 聲明sbit p04=P04; sbit p05=P05; sbit p06=P06; sbit p07=P07;sbit Lled=P20;/低于溫度下限值 此燈點(diǎn)亮sbit Hled=P21; /高于溫度上限值 此燈點(diǎn)亮sbit LHled=P22; / 達(dá)到加熱預(yù)設(shè)時間此燈點(diǎn)亮unsigned char tab44=0; / 定義一個tab4號數(shù)組用來存放溫度的上限值與下限值unsigned char tab89=0; /unsigned char tab96=0; / 定義一個tab9號數(shù)組用來存放用戶的給定的加熱時間 unsigned char code tab7=0xf
21、e,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F; /位選控制 查表的方法控制unsigned char code tab=0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6;/共陽數(shù)碼管數(shù)字碼uchar tab1=0,0,0,0,0,0,0,0,0,0,0,0,0,0; /定義一個tab1號數(shù)組用來存放溫度轉(zhuǎn)換值unsigned char shi=10,fen=35,miao,L; /你懂得 不用多講unsigned char LED; /定義一個char變量用來控制數(shù)碼管上的秒的閃爍unsigned char tt,i
22、,flag=0;unsigned int wen; /定義一個無符號整形變量用來存放溫度返回值unsigned char TH,TL; /存放用戶的設(shè)定的溫度上下限值 void delay (unsigned int Z)/ 延時函數(shù) unsigned int x,y; for(x=Z;x>0;x-) for(y=110;y>0;y-); void init ()/初始化 P2=0xff; P3=0xff; TMOD=0x11; /開啟定時器 0,1 TH1=(65536-5000)/256;/5Ms TL1=(65536-5000)%256; EA=1; ET1=1;/你懂得不用
23、多講 TR1=1; TH0=(65536-50000)/256;/50Ms TL0=(65536-50000)%256; ET0=1; /你懂得不用多講 TR0=1; void main () init (); /初始化I/O端口即定時器0.1;while(1) if(flag=0)|(flag=1) /當(dāng)?shù)谝淮伟聪略O(shè)置鍵 進(jìn)入手動設(shè)置當(dāng)前時間 tab84=fen/10; tab85=fen%10; tab86=shi/10;tab87=shi%10; wen=dispaly(); tab12=wen/100;tab11=wen%100/10; /你懂得不用多講tab10=wen%10; ta
24、b88=tab12*10+tab11; for(L=0;L<50;L+)for(i=0;i<8;i+) P1=0;P1=tabtab11;p00=0;p01=1;p02=1;p03=1;p04=1;p05=1;p06=1;p07=1;delay_ms(2);P1=tabtab12; p00=1;p01=0;p02=1;p03=1;p04=1;p05=1;p06=1;p07=1; delay_ms(2); if(LED>=20) P1=0x02; p00=1;p01=1;p02=1;p03=1;p04=1;p05=0;p06=1;p07=1; delay_ms(2); if(L
25、ED>=40) LED=0; P1=0x02; p00=1;p01=1;p02=1;p03=1;p04=1;p05=1;p06=1;p07=1; delay_ms(2); if(flag=1) P1=0x02; p00=1;p01=1;p02=1;p03=1;p04=1;p05=0;p06=1;p07=1; delay_ms(2); P1=tabtab86;p00=1;p01=1;p02=1;p03=1;p04=1;p05=1;p06=1;p07=0; delay_ms(2); P1=tabtab87;p00=1;p01=1;p02=1;p03=1;p04=1;p05=1;p06=0;p
26、07=1; delay_ms(2); P1=0x9c; p00=1;p01=1;p02=0;p03=1;p04=1;p05=1;p06=1;p07=1; delay_ms(2); P1=tabtab84;p00=1;p01=1;p02=1;p03=1;p04=0;p05=1;p06=1;p07=1; delay_ms(2); P1=tabtab85;p00=1;p01=1;p02=1;p03=0;p04=1;p05=1;p06=1;p07=1; delay_ms(2); if(flag=2)|(flag=3)/當(dāng)?shù)诙蛘叩谌伟聪略O(shè)置鍵 進(jìn)入溫度上下限門檻設(shè)置 tab42=tab82/100;
27、 tab41=tab82%100/10; tab40=tab82%10; /Htab2 tab46=tab83/100; tab45=tab83%100/10; tab44=tab83%10;/L tab3 for(i=0;i<8;i+) /動態(tài)掃描P1=tabtab4i; if(i=3) P1=0x6e ; if(i=7) P1=0x1c ;P0=tab7i;delay(5); if(flag=4)/當(dāng)?shù)谒拇伟聪略O(shè)置鍵 進(jìn)入用戶給定加熱時間設(shè)置 tab91=TL%10;tab92=TL/10;tab94=TH%10;tab95=TH/10; for(i=0;i<8;i+)P1=t
28、abtab9i; if(i=3)|(i=0) P1=0x02; if(i=7)|(i=6) P1=0x02;P0=tab7i;delay(5); void timer1() interrupt 3 TH0=(65536-5000)/256;/5Ms TL0=(65536-5000)%256; /開辟一個每隔5Ms掃描按鍵 檢測是否郵件按下if(add=0) delay(10); if(add=0) while(!add) ; if(flag=4)TL+;if(flag=1) fen+; if(fen=60) fen=0;if (flag=2)tab82+;if(flag=3)tab83+; /
29、你懂得不用多講if(cut=0) delay(10); if(cut=0) while(!cut) ; if(flag=4)TH+;if(flag=1) shi+; if(shi=24) shi=0;if (flag=2)tab82-; if(flag=3)tab83-; /你懂得不用多講if(set=0) delay(10); if(set=0) while(!set) ;flag+;if(flag=5)flag=0; if(flag=1) TR0=0; if(flag=3) TR0=1; /當(dāng)?shù)谝淮伟聪略O(shè)置鍵關(guān)閉定時器0, if(tab88<=tab83) Lled=0; else
30、Lled =1; /判斷當(dāng)前溫度是否低于預(yù)設(shè)溫度 若是開啟LED提示 if(tab88>=tab82)Hled=0; else Hled =1; /你懂得不用多講 if(TL>=60) TL=0; if(TH>=24) TH=0; if(fen>=TL)&&(shi>=TH) LHled=0; else LHled=1; /判斷用戶預(yù)設(shè)加熱時間是否達(dá)到 若是 開啟LED void timer0() interrupt 1 TH1=(65536-50000)/256; TL1=(65536-50000)%256;/你懂得不用多講 tt+; LED+; if(tt>=18) tt=0;miao+; if(miao=60) fen+; miao=0; if(fen=60)shi+; fen=0; if(shi=24) shi=0; 2:ds18B20.h庫文件 #include"ds18b.h" #include<reg52.h>#include<intrins.h>#define uchar unsigned cha
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人抵押借款合同模板大全
- 中國石油大學(xué)合同管理與合規(guī)體系建設(shè)
- 個體戶勞動合同標(biāo)準(zhǔn)合同模板
- 臨時工合同范本正式版
- 二手房購買合同定金法律文件
- 個人與公司戰(zhàn)略合作合同模板
- 個人房產(chǎn)轉(zhuǎn)讓合同范本詳解
- 業(yè)務(wù)合作意向合同書
- 臨時工勞動合同規(guī)范樣本
- 汽車修理廠租賃合同書
- 2024年廣東省事業(yè)單位考試真題及答案5
- 禪密功筑基功法
- SHT+3413-2019+石油化工石油氣管道阻火器選用檢驗及驗收標(biāo)準(zhǔn)
- 2024年云南省中考數(shù)學(xué)真題試卷及答案解析
- 新疆烏魯木齊市2024年中考英語模擬試題(含答案)
- (正式版)JBT 14932-2024 機(jī)械式停車設(shè)備 停放客車通-用技術(shù)規(guī)范
- 2024年度-脛腓骨骨折
- 應(yīng)用密碼學(xué)課件
- 礦井通風(fēng)安全培訓(xùn)課件
- 2024年中國國際投資促進(jìn)中心限責(zé)任公司招聘高頻考題難、易錯點(diǎn)模擬試題(共500題)附帶答案詳解
- 苯胺合成靛紅工藝
評論
0/150
提交評論