版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE44目錄1引言 31.1目的和意義 31.2研究概況及發(fā)展趨勢(shì) 31.3本系統(tǒng)主要研究?jī)?nèi)容 42.總體方案論證與設(shè)計(jì) 52.1主控模塊的選型和論證 52.2顯示模塊的選型和論證 52.3溫度檢測(cè)模塊的選型和論證 52.4系統(tǒng)整體設(shè)計(jì)概述 63.總體方案論證與設(shè)計(jì) 73.1主控模塊 73.1.1STC89C52單片機(jī)主要特性 73.1.2STC89C52單片機(jī)的中斷系統(tǒng) 103.1.3單片機(jī)最小系統(tǒng)設(shè)計(jì) 103.2LCD液晶顯示器簡(jiǎn)介 103.2.1液晶原理介紹 103.2.2液晶模塊簡(jiǎn)介 113.2.3液晶顯示部分與STC89C52的接口 123.3鍵盤模塊設(shè)計(jì) 123.4蜂鳴器模塊設(shè)計(jì) 133.5溫度檢測(cè)模塊設(shè)計(jì) 133.5.1DS18B20簡(jiǎn)介 133.5.2溫度傳感器工作原理 143.5.3DS18B20相關(guān)介紹 153.5.4DS18B20使用中的注意事項(xiàng) 163.6加熱和冷卻模塊設(shè)計(jì) 164.系統(tǒng)軟件設(shè)計(jì) 174.1主程序 174.2讀出溫度子程序 174.3溫度轉(zhuǎn)換命令子程序 184.4計(jì)算溫度子程序 194.5顯示數(shù)據(jù)刷新子程序 194.61602的液晶顯示 204.7程序設(shè)計(jì)原理 205.系統(tǒng)調(diào)試 215.1硬件調(diào)試 215.2軟件調(diào)試 215.3調(diào)試結(jié)果 216.結(jié)論 22附錄 24系統(tǒng)整體原理圖 24系統(tǒng)PCB圖 24元件清單 25系統(tǒng)源程序 25基于單片機(jī)的溫度控制系統(tǒng)摘要:本文介紹了基于STC89C52單片機(jī)溫度控制系統(tǒng)。系統(tǒng)硬件部分由單片機(jī)電路、溫度采集電路、鍵盤電路、液晶顯示電路、繼電器控制電路等組成。軟件從設(shè)計(jì)思路、軟件系統(tǒng)框圖出發(fā),逐一分析各模塊程序算法的實(shí)現(xiàn),通過(guò)C語(yǔ)言編寫出滿足任務(wù)需求的程序。本系統(tǒng)采用數(shù)字式溫度傳感器DS18B20作為溫度傳感器,簡(jiǎn)易實(shí)用,方便拓展。單片機(jī)以此對(duì)溫度進(jìn)行有效檢測(cè)與報(bào)警,并以此進(jìn)行溫度的控制。關(guān)鍵詞:STC89C52,獨(dú)立鍵盤,LCD顯示管,蜂鳴器。1引言1.1設(shè)計(jì)意義和目的溫度控制無(wú)論是在工業(yè)生產(chǎn)中,還是在日常生活中都起著非常重要的作用,過(guò)低的溫度或過(guò)高的溫度都會(huì)使資源失去應(yīng)有的作用,從而造成資源的巨大浪費(fèi)。為了保證生產(chǎn)過(guò)程正常安全地進(jìn)行,提高產(chǎn)品的質(zhì)量和數(shù)量,以及減輕工人的勞動(dòng)強(qiáng)度、節(jié)約能源,要求對(duì)溫度進(jìn)監(jiān)測(cè)、顯示、控制,使之達(dá)到工藝標(biāo)準(zhǔn),滿足需要。由于電子行業(yè)的迅猛發(fā)展,計(jì)算機(jī)技術(shù)和傳感器技術(shù)的不斷改進(jìn),而且計(jì)算機(jī)和傳感器的價(jià)格也日益降低,可靠性逐步提高,用信息技術(shù)來(lái)實(shí)現(xiàn)溫度控制并提高控制的精確度不僅是可以達(dá)到的而且是容易實(shí)現(xiàn)的。其發(fā)展必將帶來(lái)新一輪的工業(yè)化的革命和社會(huì)發(fā)展的飛躍。目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。單片機(jī)具有體積小、功耗低、編程靈活,控制簡(jiǎn)單、擴(kuò)展功能強(qiáng)、微型化和使用方便等優(yōu)點(diǎn),結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸多功能。用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。通過(guò)單片機(jī)使系統(tǒng)能簡(jiǎn)單的實(shí)現(xiàn)溫度的控制及顯示,并且通過(guò)軟件編程能實(shí)現(xiàn)各種控制算法使系統(tǒng)還具有控制精度高的特點(diǎn)。目前國(guó)內(nèi)外各大電氣公司,大的半導(dǎo)體廠商正在不斷的開發(fā)、使用單片機(jī),使其無(wú)論在控制能力,減小體積,降低成本,還是開發(fā)環(huán)境的改善等方面,都得到空前迅速的發(fā)展。本設(shè)計(jì)以STC89C52單片機(jī)系統(tǒng)進(jìn)行溫度采集與控制。溫度信號(hào)由模擬溫度傳感器DS18B20采集輸入STC89C52,利用溫度傳感器采集到當(dāng)前的溫度,通過(guò)STC89C52單片機(jī)進(jìn)行控制,最后通過(guò)液晶顯示屏以串行口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。1.2本技術(shù)發(fā)展趨勢(shì)國(guó)內(nèi)現(xiàn)狀:我國(guó)對(duì)于溫度控制技術(shù)的研究較晚,始于20世紀(jì)80年代。我國(guó)工程技術(shù)人員在吸收發(fā)達(dá)國(guó)家溫度控制技術(shù)的基礎(chǔ)上,才掌握了溫度室內(nèi)微機(jī)控制技術(shù),該技術(shù)僅限于對(duì)溫度的單項(xiàng)環(huán)境因子的控制。溫度控制設(shè)施計(jì)算機(jī)應(yīng)用,在總體上正從消化吸收、簡(jiǎn)單應(yīng)用階段向?qū)嵱没⒕C合性應(yīng)用階段過(guò)渡和發(fā)展。在技術(shù)上,以單片機(jī)控制的單參數(shù)單回路系統(tǒng)居多,尚無(wú)真正意義上的多參數(shù)綜合控制系統(tǒng),與發(fā)達(dá)國(guó)家相比,存在較大差距。我國(guó)溫度控制控制現(xiàn)狀還遠(yuǎn)遠(yuǎn)沒有達(dá)到工廠化的程度,生產(chǎn)實(shí)際中仍然有許多問(wèn)題困擾著我們,如軟硬件資源不能共享和可靠性比較差。國(guó)外現(xiàn)狀:國(guó)外對(duì)溫度控制技術(shù)研究較早,始于20世紀(jì)70年代。先是采用模擬式的組合儀表,采集現(xiàn)場(chǎng)信息并進(jìn)行指示、記錄和控制。80年代末出現(xiàn)了分布式控制系統(tǒng)。目前正開發(fā)和研制計(jì)算機(jī)數(shù)據(jù)采集控制系統(tǒng)的多因子綜合控制系統(tǒng)?,F(xiàn)在世界各國(guó)的溫度控制技術(shù)發(fā)展很快,一些國(guó)家在實(shí)現(xiàn)自動(dòng)化的基礎(chǔ)上正向著完全自動(dòng)化、無(wú)人化的方向發(fā)展。隨著科學(xué)技術(shù)的飛速發(fā)展,帶動(dòng)社會(huì)生產(chǎn)的發(fā)展,自動(dòng)控制系統(tǒng)在各個(gè)領(lǐng)域尤其是工業(yè)領(lǐng)域中有著及其廣泛的應(yīng)用,溫度控制是控制系統(tǒng)中最為常見的控制類型之一。隨著單片機(jī)技術(shù)的飛速發(fā)展,通過(guò)單片機(jī)對(duì)被控對(duì)象進(jìn)行控制日益成為今后自動(dòng)控制領(lǐng)域的一個(gè)重要發(fā)展方向,電流、電壓、溫度、壓力、流量、流速和開關(guān)量都是常用的主要被控參數(shù)1.3本系統(tǒng)功能介紹本系統(tǒng)設(shè)計(jì)制作一個(gè)基于單片機(jī)的溫度控制系統(tǒng)。能實(shí)現(xiàn)以下幾種功能:(1)鍵盤掃描,通過(guò)單片機(jī)檢測(cè)用戶按下的是哪個(gè)按鍵并執(zhí)行相應(yīng)的功能。(2)通過(guò)液晶顯示模塊實(shí)時(shí)顯示當(dāng)前的溫度。(3)用戶可以設(shè)置上限和下限溫度,當(dāng)高于上限溫度時(shí)單片機(jī)通過(guò)控制繼電器使冷卻模塊工作,當(dāng)?shù)陀谙孪逌囟葧r(shí)單片機(jī)通過(guò)繼電器使加熱模塊工作。2.總體方案論證與設(shè)計(jì) 根據(jù)所要實(shí)現(xiàn)的功能劃分,系統(tǒng)一共需要以下幾個(gè)模塊:主控模塊、顯示模塊、溫度檢測(cè)模塊,以下就針對(duì)這幾個(gè)模塊的選型和論證進(jìn)行討論。2.1主控模塊的選型和論證方案一: 采用MSP430系列單片機(jī),該單片機(jī)是TI公司1996年開始推向市場(chǎng)的一種16位超低功耗的混合信號(hào)處理器。其內(nèi)部集成了很多模擬電路、數(shù)字電路和微處理器,提供強(qiáng)大的功能。不過(guò)該芯片昂貴不適合一般的設(shè)計(jì)開發(fā)。方案二 采用51系列的單片機(jī),該單片機(jī)是一個(gè)高可靠性,超低價(jià),無(wú)法解密,高性能的8位單片機(jī),32個(gè)IO口,且STC系列的單片機(jī)可以在線編程、調(diào)試,方便地實(shí)現(xiàn)程序的下載與整機(jī)的調(diào)試。因此選用方案二中的51系列單片機(jī)作為主控芯片。2.2顯示模塊的選型和論證方案一: 采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較合適,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對(duì)較高,所以不用此種作為顯示。方案二: 采用LED數(shù)碼管動(dòng)態(tài)掃描,LED數(shù)碼管價(jià)格雖適中,對(duì)于顯示數(shù)字也最合適,而且采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),占用單片機(jī)口線少。但是由于數(shù)碼管動(dòng)態(tài)掃描需要借助74LS164移位寄存器進(jìn)行移位,該芯片在電路調(diào)試時(shí)往往有很多障礙,所以不采用LED數(shù)碼管作為顯示。方案三: 采用LCD液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見,對(duì)于本設(shè)計(jì)而言一個(gè)LCD1602的液晶屏即可,價(jià)格也還能接受,需要的借口線較多,但會(huì)給調(diào)試帶來(lái)諸多方便。所以本設(shè)計(jì)中方案三中的LCD1602液顯示屏作為顯示模塊。2.3溫度檢測(cè)模塊的選型和論證方案一:AD590是美國(guó)ANALOGDEVICES公司的單片集成兩端感溫電流源,其輸出電流與絕對(duì)溫度成比例。在4V至30V電源電壓范圍內(nèi),該器件可充當(dāng)一個(gè)高阻抗、恒流調(diào)節(jié)器,調(diào)節(jié)系數(shù)為1μA/K。片內(nèi)薄膜電阻經(jīng)過(guò)激光調(diào)整,可用于校準(zhǔn)器件,使該器件在298.2K(25°C)時(shí)輸出298.2μA電流。由于該芯片輸出為模擬量還同時(shí)需要AD轉(zhuǎn)換器對(duì)其進(jìn)行采集。因此不適用于本設(shè)計(jì)方案二: DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場(chǎng)合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號(hào)多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應(yīng)用場(chǎng)合的不同而改變其外觀。封裝后的DS18B20可用于電纜溝測(cè)溫,高爐水循環(huán)測(cè)溫,鍋爐測(cè)溫,機(jī)房測(cè)溫,農(nóng)業(yè)大棚測(cè)溫,潔凈室測(cè)溫,彈藥庫(kù)測(cè)溫等各種非極限溫度場(chǎng)合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。因此本設(shè)計(jì)采用方案二中的DS18B20芯片進(jìn)行溫度采集。2.4系統(tǒng)整體設(shè)計(jì)概述根據(jù)以上設(shè)計(jì)需要,系統(tǒng)擬采用以下技術(shù)方案,系統(tǒng)的結(jié)構(gòu)框圖如下圖所示。圖2-1系統(tǒng)結(jié)構(gòu)框圖系統(tǒng)由單片機(jī)STC89C52、液晶顯示模塊LCD1602、溫度檢測(cè)模塊、按鍵模塊、報(bào)警模塊、加熱模塊、冷卻模塊所組成。系統(tǒng)能完成以下功能,系統(tǒng)采用DS18B20對(duì)溫度進(jìn)行檢測(cè),并且能在LCD1602上實(shí)時(shí)顯示溫度。用戶可以通過(guò)按鍵設(shè)置上限和下限溫度,當(dāng)溫度超過(guò)上限溫度時(shí),系統(tǒng)通過(guò)繼電器使冷卻器件導(dǎo)通工作,當(dāng)溫度低于下限溫度時(shí),系統(tǒng)通過(guò)繼電器使加熱器件工作。當(dāng)溫度在上限和下限之間時(shí)維持原狀態(tài)。
3.總體方案論證與設(shè)計(jì)3.1主控模塊主控模塊模塊在整個(gè)系統(tǒng)中起著統(tǒng)籌的作用,需要檢測(cè)鍵盤,溫度傳感器等各種參數(shù),同時(shí)驅(qū)動(dòng)液晶顯示相關(guān)參數(shù),在這里我們選用了51系列單片機(jī)中的STC89C52單片機(jī)作為系統(tǒng)的主控芯片。51系列單片機(jī)最初是由Intel公司開發(fā)設(shè)計(jì)的,但后來(lái)Intel公司把51核的設(shè)計(jì)方案賣給了幾家大的電子設(shè)計(jì)生產(chǎn)商,譬如SST、Philip、Atmel等大公司。因此市面上出現(xiàn)了各式各樣的均以51為內(nèi)核的單片機(jī)。這些各大電子生產(chǎn)商推出的單片機(jī)都兼容51指令、并在51的基礎(chǔ)上擴(kuò)展一些功能而內(nèi)部結(jié)構(gòu)是與51一致的。STC89C52有40個(gè)引腳,4個(gè)8位并行I/O口,1個(gè)全雙工異步串行口,同時(shí)內(nèi)含5個(gè)中斷源,2個(gè)優(yōu)先級(jí),2個(gè)16位定時(shí)/計(jì)數(shù)器。STC89C52的存儲(chǔ)器系統(tǒng)由4K的程序存儲(chǔ)器(掩膜ROM),和128B的數(shù)據(jù)存儲(chǔ)器(RAM)組成。STC89C52單片機(jī)的基本組成框圖見圖3-1。圖3-1STC89C52單片機(jī)結(jié)構(gòu)圖3.1.1STC89C52單片機(jī)主要特性1.一個(gè)8位的微處理器(CPU)。2.片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM(128B),用以存放可以讀/寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù)等,SST89系列單片機(jī)最多提供1K的RAM。3.片內(nèi)程序存儲(chǔ)器ROM(4KB),用以存放程序、一些原始數(shù)據(jù)和表格。但也有一些單片機(jī)內(nèi)部不帶ROM/EPROM,如8031,8032,80C31等。目前單片機(jī)的發(fā)展趨勢(shì)是將RAM和ROM都集成在單片機(jī)里面,這樣既方便了用戶進(jìn)行設(shè)計(jì)又提高了系統(tǒng)的抗干擾性。SST公司推出的89系列單片機(jī)分別集成了16K、32K、64KFlash存儲(chǔ)器,可供用戶根據(jù)需要選用。4.四個(gè)8位并行I/O接口P0~P3,每個(gè)口既可以用作輸入,也可以用作輸出。5.兩個(gè)定時(shí)器/計(jì)數(shù)器,每個(gè)定時(shí)器/計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方式,用以對(duì)外部事件進(jìn)行計(jì)數(shù),也可以設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果實(shí)現(xiàn)計(jì)算機(jī)控制。為方便設(shè)計(jì)串行通信,目前的52系列單片機(jī)都會(huì)提供3個(gè)16位定時(shí)器/計(jì)數(shù)器。6.五個(gè)中斷源的中斷控制系統(tǒng)?,F(xiàn)在新推出的單片機(jī)都不只5個(gè)中斷源,例如SST89E58RD就有9個(gè)中斷源。7.一個(gè)全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或單機(jī)與微機(jī)之間的串行通信。8.片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接。最高允許振蕩頻率為12MHz。SST89V58RD最高允許振蕩頻率達(dá)40MHz,因而大大的提高了指令的執(zhí)行速度。圖3-2STC89C52單片機(jī)管腳圖部分引腳說(shuō)明:1.時(shí)鐘電路引腳XTAL1和XTAL2:XTAL2(18腳):接外部晶體和微調(diào)電容的一端;片內(nèi)它是振蕩電路反相放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時(shí)鐘電路時(shí),該引腳輸入外部時(shí)鐘脈沖。要檢查振蕩電路是否正常工作,可用示波器查看XTAL2端是否有脈沖信號(hào)輸出。XTAL1(19腳):接外部晶體和微調(diào)電容的另一端;在片內(nèi)它是振蕩電路反相放大器的輸入端。在采用外部時(shí)鐘時(shí),該引腳必須接地。2.控制信號(hào)引腳RST,ALE,PSEN和EA:RST/VPD(9腳):RST是復(fù)位信號(hào)輸入端,高電平有效。當(dāng)此輸入端保持備用電源的輸入端。當(dāng)主電源Vcc發(fā)生故障,降低到低電平規(guī)定值時(shí),將+5V電源自動(dòng)兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘振蕩周期)的高電平時(shí),就可以完成復(fù)位操作。RST引腳的第二功能是VPD,即接入RST端,為RAM提供備用電源,以保證存儲(chǔ)在RAM中的信息不丟失,從而合復(fù)位后能繼續(xù)正常運(yùn)行。ALE/PROG(30腳):地址鎖存允許信號(hào)端。當(dāng)8051上電正常工作后,ALE引腳不斷向外輸出正脈沖信號(hào),此頻率為振蕩器頻率fOSC的1/6。CPU訪問(wèn)片外存儲(chǔ)器時(shí),ALE輸出信號(hào)作為鎖存低8位地址的控制信號(hào)。平時(shí)不訪問(wèn)片外存儲(chǔ)器時(shí),ALE端也以振蕩頻率的1/6固定輸出正脈沖,因而ALE信號(hào)可以用作對(duì)外輸出時(shí)鐘或定時(shí)信號(hào)。如果想確定8051/8031芯片的好壞,可用示波器查看ALE端是否有脈沖信號(hào)輸出。如有脈沖信號(hào)輸出,則8051/8031基本上是好的。ALE端的負(fù)載驅(qū)動(dòng)能力為8個(gè)LS型TTL(低功耗甚高速TTL)負(fù)載。此引腳的第二功能PROG在對(duì)片內(nèi)帶有4KBEPROM的8751編程寫入(固化程序)時(shí),作為編程脈沖輸入端。PSEN(29腳):程序存儲(chǔ)允許輸出信號(hào)端。在訪問(wèn)片外程序存儲(chǔ)器時(shí),此端定時(shí)輸出負(fù)脈沖作為讀片外存儲(chǔ)器的選通信號(hào)。此引肢接EPROM的OE端(見后面幾章任何一個(gè)小系統(tǒng)硬件圖)。PSEN端有效,即允許讀出EPROM/ROM中的指令碼。PSEN端同樣可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。要檢查一個(gè)8051/8031小系統(tǒng)上電后CPU能否正常到EPROM/ROM中讀取指令碼,也可用示波器看PSEN端有無(wú)脈沖輸出。如有則說(shuō)明基本上工作正常。EA/Vpp(31腳):外部程序存儲(chǔ)器地址允許輸入端/固化編程電壓輸入端。當(dāng)EA引腳接高電平時(shí),CPU只訪問(wèn)片內(nèi)EPROM/ROM并執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令,但當(dāng)PC(程序計(jì)數(shù)器)的值超過(guò)0FFFH(對(duì)8751/8051為4K)時(shí),將自動(dòng)轉(zhuǎn)去執(zhí)行片外程序存儲(chǔ)器內(nèi)的程序。當(dāng)輸入信號(hào)EA引腳接低電平(接地)時(shí),CPU只訪問(wèn)外部EPROM/ROM并執(zhí)行外部程序存儲(chǔ)器中的指令,而不管是否有片內(nèi)程序存儲(chǔ)器。對(duì)于無(wú)片內(nèi)ROM的8031或8032,需外擴(kuò)EPROM,此時(shí)必須將EA引腳接地。此引腳的第二功能是Vpp是對(duì)8751片內(nèi)EPROM固化編程時(shí),作為施加較高編程電壓(一般12V~21V)的輸入端。3.輸入/輸出端口P0/P1/P2/P3:P0口(P0.0~P0.7,39~32腳):P0口是一個(gè)漏極開路的8位準(zhǔn)雙向I/O口。作為漏極開路的輸出端口,每位能驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。當(dāng)P0口作為輸入口使用時(shí),應(yīng)先向口鎖存器(地址80H)寫入全1,此時(shí)P0口的全部引腳浮空,可作為高阻抗輸入。作輸入口使用時(shí)要先寫1,這就是準(zhǔn)雙向口的含義。在CPU訪問(wèn)片外存儲(chǔ)器時(shí),P0口分時(shí)提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。在此期間,P0口內(nèi)部上拉電阻有效。P1口(P1.0~P1.7,1~8腳):P1口是一個(gè)帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口。P1口每位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。在P1口作為輸入口使用時(shí),應(yīng)先向P1口鎖存地址(90H)寫入全1,此時(shí)P1口引腳由內(nèi)部上拉電阻拉成高電平。P2口(P2.0~P2.7,21~28腳):P2口是一個(gè)帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口。P口每位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。在訪問(wèn)片外EPROM/RAM時(shí),它輸出高8位地址。P3口(P3.0~P3.7,10~17腳):P3口是一個(gè)帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口。P3口每位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。P3口與其它I/O端口有很大的區(qū)別,它的每個(gè)引腳都有第二功能,如下:P3.0:(RXD)串行數(shù)據(jù)接收。P3.1:(RXD)串行數(shù)據(jù)發(fā)送。P3.2:(INT0#)外部中斷0輸入。P3.3:(INT1#)外部中斷1輸入。P3.4:(T0)定時(shí)/計(jì)數(shù)器0的外部計(jì)數(shù)輸入。P3.5:(T1)定時(shí)/計(jì)數(shù)器1的外部計(jì)數(shù)輸入。P3.6:(WR#)外部數(shù)據(jù)存儲(chǔ)器寫選通。P3.7:(RD#)外部數(shù)據(jù)存儲(chǔ)器讀選通。3.1.2STC89C52單片機(jī)的中斷系統(tǒng)STC89C52系列單片機(jī)的中斷系統(tǒng)有5個(gè)中斷源,2個(gè)優(yōu)先級(jí),可以實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套。由片內(nèi)特殊功能寄存器中的中斷允許寄存器IE控制CPU是否響應(yīng)中斷請(qǐng)求;由中斷優(yōu)先級(jí)寄存器IP安排各中斷源的優(yōu)先級(jí);同一優(yōu)先級(jí)內(nèi)各中斷同時(shí)提出中斷請(qǐng)求時(shí),由內(nèi)部的查詢邏輯確定其響應(yīng)次序。在單片機(jī)應(yīng)用系統(tǒng)中,常常會(huì)有定時(shí)控制需求,如定時(shí)輸出、定時(shí)檢測(cè)、定時(shí)掃描等;也經(jīng)常要對(duì)外部事件進(jìn)行計(jì)數(shù)。STC89C52單片機(jī)內(nèi)集成有兩個(gè)可編程的定時(shí)/計(jì)數(shù)器:T0和T1,它們既可以工作于定時(shí)模式,也可以工作于外部事件計(jì)數(shù)模式,此外,T1還可以作為串行口的波特率發(fā)生器。3.1.3單片機(jī)最小系統(tǒng)設(shè)計(jì)圖3-3單片機(jī)最小系統(tǒng)電路圖 圖3-3為單片機(jī)最小系統(tǒng)電路圖,單片機(jī)最小系統(tǒng)有單片機(jī)、時(shí)鐘電路、復(fù)位電路組成,時(shí)鐘電路選用了12MHZ的晶振提供時(shí)鐘,作用為給單片機(jī)提供一個(gè)時(shí)間基準(zhǔn),其中執(zhí)行一條基本指令需要的時(shí)間為一個(gè)機(jī)器周期,單片機(jī)的復(fù)位電路,按下復(fù)位按鍵之后可以使單片機(jī)進(jìn)入剛上電的起始狀態(tài)。圖中10K排阻為P0口的上拉電阻,由于P0口跟其他IO結(jié)構(gòu)不一樣為漏極開路的結(jié)構(gòu),因此要加上拉電阻才能正常使用。3.2LCD液晶顯示器簡(jiǎn)介由于本設(shè)計(jì)中要求顯示界面顯示一些參數(shù),因此這里選用了LCD1602作為界面顯示,可以把一些相關(guān)的參數(shù)進(jìn)行顯示。3.2.1液晶原理介紹液晶顯示器(LCD)英文全稱為L(zhǎng)iquidCrystalDisplay,它一種是采用了液晶控制透光度技術(shù)來(lái)實(shí)現(xiàn)色彩的顯示器。和CRT顯示器相比,LCD的優(yōu)點(diǎn)是很明顯的。由于通過(guò)控制是否透光來(lái)控制亮和暗,當(dāng)色彩不變時(shí),液晶也保持不變,這樣就無(wú)須考慮刷新率的問(wèn)題。顯示接口用來(lái)顯示系統(tǒng)的狀態(tài),命令或采集的電壓數(shù)據(jù)。本系統(tǒng)顯示部分用的是LCD液晶模塊,采用一個(gè)16×2的字符型液晶顯示模塊。點(diǎn)陣圖形式液晶由M行×N列個(gè)顯示單元組成,假設(shè)LCD顯示屏有64行,每行有128列,每8列對(duì)應(yīng)1個(gè)字節(jié)的8個(gè)位,即每行由16字節(jié),共16×8=128個(gè)點(diǎn)組成,屏上64×16個(gè)顯示單元和顯示RAM區(qū)1024個(gè)字節(jié)相對(duì)應(yīng),每一字節(jié)的內(nèi)容和屏上相應(yīng)位置的亮暗對(duì)應(yīng)。一個(gè)字符由6×8或8×8點(diǎn)陣組成,即要找到和屏上某幾個(gè)位置對(duì)應(yīng)的顯示RAM區(qū)的8個(gè)字節(jié),并且要使每個(gè)字節(jié)的不同的位為‘1’,其它的為‘0’,為‘1’的點(diǎn)亮,為‘0’的點(diǎn)暗,這樣一來(lái)就組成某個(gè)字符。但對(duì)于內(nèi)帶字符發(fā)生器的控制器來(lái)說(shuō),顯示字符就比較簡(jiǎn)單了,可讓控制器工作在文本方式,根據(jù)在LCD上開始顯示的行列號(hào)及每行的列數(shù)找出顯示RAM對(duì)應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對(duì)應(yīng)的代碼即可。3.2.2液晶模塊簡(jiǎn)介L(zhǎng)CD1602液晶模塊采用HD44780控制器,hd44780具有簡(jiǎn)單而功能較強(qiáng)的指令集,可以實(shí)現(xiàn)字符移動(dòng),閃爍等功能,LM016L與單片機(jī)MCU通訊可采用8位或4位并行傳輸兩種方式,hd44780控制器由兩個(gè)8位寄存器,指令寄存器(IR)和數(shù)據(jù)寄存器(DR)忙標(biāo)志(BF),顯示數(shù)RAM(DDRAM),字符發(fā)生器ROMA(CGOROM)字符發(fā)生器RAM(CGRAM),地址計(jì)數(shù)器RAM(AC)。IR用于寄存指令碼,只能寫入不能讀出,DR用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動(dòng)寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù),BF為1時(shí),液晶模塊處于內(nèi)部模式,不響應(yīng)外部操作指令和接受數(shù)據(jù),DDTAM用來(lái)存儲(chǔ)顯示的字符,能存儲(chǔ)80個(gè)字符碼,CGROM由8位字符碼生成5*7點(diǎn)陣字符160中和5*10點(diǎn)陣字符32種.8位字符編碼和字符的對(duì)應(yīng)關(guān)系,CGRAM是為用戶編寫特殊字符留用的,它的容量?jī)H64字節(jié),可以自定義8個(gè)5*7點(diǎn)陣字符或者4個(gè)5*10點(diǎn)陣字符,AC可以存儲(chǔ)DDRAM和CGRAM的地址,如果地址碼隨指令寫入IR,則IR自動(dòng)把地址碼裝入AC,同時(shí)選擇DDRAM或CGRAM,LCD1602液晶模塊的引腳圖如圖3-4所示。圖3-4LCD1602引腳圖液晶寄存器選擇控制如表3-1。表3-1寄存器選擇控制RSR/W操作說(shuō)明00寫入指令寄存器(清除屏等)01讀busyflag(DB7),以及讀取位址計(jì)數(shù)器(DB0~DB6)值10寫入數(shù)據(jù)寄存器(顯示各字型等)11從數(shù)據(jù)寄存器讀取數(shù)據(jù)3.2.3液晶顯示部分與STC89C52的接口如圖3-5所示。用STC89C52的P0口作為數(shù)據(jù)線,用P1.2、P1.1、P1.0分別作為L(zhǎng)CD的EN、R/W、RS。其中EN是下降沿觸發(fā)的片選信號(hào),R/W是讀寫信號(hào),RS是寄存器選擇信號(hào)本模塊設(shè)計(jì)要點(diǎn)如下:顯示模塊初始化:首先清屏,再設(shè)置接口數(shù)據(jù)位為8位,顯示行數(shù)為1行,字型為5×7點(diǎn)陣,然后設(shè)置為整體顯示,取消光標(biāo)和字體閃爍,最后設(shè)置為正向增量方式且不移位。向LCD的顯示緩沖區(qū)中送字符,程序中采用2個(gè)字符數(shù)組,一個(gè)顯示字符,另一個(gè)顯示電壓數(shù)據(jù),要顯示的字符或數(shù)據(jù)被送到相應(yīng)的數(shù)組中,完成后再統(tǒng)一顯示.首先取一個(gè)要顯示的字符或數(shù)據(jù)送到LCD的顯示緩沖區(qū),程序延時(shí)2.5ms,判斷是否夠顯示的個(gè)數(shù),不夠則地址加一取下一個(gè)要顯示的字符或數(shù)據(jù)。圖3-5LCD1602與STC89C52的接口3.3鍵盤模塊設(shè)計(jì)本按鍵模塊使用的是多位獨(dú)立按鍵,按鍵一端接IO口,一端接地,由于單片機(jī)的IO口都有內(nèi)部上拉,因此當(dāng)按鍵沒有按下的時(shí)候,IO檢測(cè)到的時(shí)候高電平,當(dāng)按鍵按下的時(shí)候,相當(dāng)于IO短接地,因此這時(shí)候單片機(jī)檢測(cè)到的電平為低電平,通過(guò)檢測(cè)不同時(shí)刻的IO口狀態(tài)就可以判斷按下的是那個(gè)按鍵。3個(gè)按鍵分別代表以下功能,第一為功能按鍵,可以切換不同參數(shù)設(shè)置界面,可以切換上限或下限溫度的設(shè)置,第二個(gè)為增加按鍵,第三個(gè)為減少按鍵。鍵盤模塊電路圖如圖3-6所示。圖3-6鍵盤模塊電路圖3.4蜂鳴器模塊設(shè)計(jì)本設(shè)計(jì)還帶有一些參數(shù)設(shè)置的功能,用戶可以通過(guò)按鍵設(shè)定上限溫度和下限溫度,當(dāng)超過(guò)上下限溫度的時(shí)候,單片機(jī)會(huì)驅(qū)動(dòng)蜂鳴器發(fā)聲.由于蜂鳴器的工作電流一般比較大,以致于單片機(jī)的I/O口是無(wú)法直接驅(qū)動(dòng)的,所以要利用三極管開關(guān)電路來(lái)驅(qū)動(dòng)。本處選用的是8550三極管,它是一個(gè)PNP型的三極管,當(dāng)基極給低電平的時(shí)候三極管導(dǎo)通,這時(shí)候蜂鳴器發(fā)聲,當(dāng)給高電平的時(shí)候,三極管關(guān)閉,蜂鳴器不發(fā)聲。蜂鳴器模塊的電路圖如圖3-7所示。圖3-7蜂鳴器驅(qū)動(dòng)電路圖3.5溫度檢測(cè)模塊設(shè)計(jì)3.5.1DS18B20簡(jiǎn)介DALLAS最新單線數(shù)字溫度傳感器DS18B20是一種新型的“一線器件”,其體積更小、更適用于多種場(chǎng)合、且適用電壓更寬、更經(jīng)濟(jì)。DALLAS半導(dǎo)體公司的數(shù)字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器。溫度測(cè)量范圍為-55~+125攝氏度,可編程為9位~12位轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625攝氏度,分辨率設(shè)定參數(shù)以及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM中,掉電后依然保存。被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出;其工作電源既可以在遠(yuǎn)端引入,也可以采用寄生電源方式產(chǎn)生;多個(gè)DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。因此用它來(lái)組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。DS18B20引腳如圖2-13所示。圖3-8DS18B20引腳圖3.5.2溫度傳感器工作原理DS18B20的讀寫時(shí)序和測(cè)溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s減為750ms。DS18B20測(cè)溫原理:低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。DS18B201)采用單總線技術(shù),與單片機(jī)通信只需要一根I/O線,在一根線上可以掛接多個(gè)DS18B20。2)每只DS18B20具有一個(gè)獨(dú)有的,不可修改的64位序列號(hào),根據(jù)序列號(hào)訪問(wèn)地應(yīng)的器件。3)低壓供電,電源范圍從3~5V,可以本地供電,也可以直接從數(shù)據(jù)線上竊取電源(寄生電源方式)。4)測(cè)溫范圍為-55℃~+125℃,在-10℃~85℃范圍內(nèi)誤差為±05)可編輯數(shù)據(jù)為9~12位,轉(zhuǎn)換12位溫度時(shí)間為750ms(最大)。6)用戶可自設(shè)定報(bào)警上下限溫度。7)報(bào)警搜索命令可識(shí)別和尋址哪個(gè)器件的溫度超出預(yù)定值。8)DS18B20的分辯率由用戶通過(guò)EEPROM設(shè)置為9~12位。9)DS18B20可將檢測(cè)到溫度值直接轉(zhuǎn)化為數(shù)字量,并通過(guò)串行通信的方式與主控制器進(jìn)行數(shù)據(jù)通信。DS18B20有4個(gè)主要的數(shù)據(jù)部件:a.光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。b.DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號(hào)位。c.DS18B20溫度傳感器的存儲(chǔ)器DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。d.配置寄存器。DS18B20內(nèi)部結(jié)構(gòu)及功能:DS18B20的內(nèi)部結(jié)構(gòu)如圖2-14所示。主要包括:寄生電源,溫度傳感器,64位ROM和單總線接口,存放中間數(shù)據(jù)的高速暫存器RAM,用于存儲(chǔ)用戶設(shè)定溫度上下限值的TH和TL觸發(fā)器,存儲(chǔ)與控制邏輯,8位循環(huán)冗余校驗(yàn)碼(CRC)發(fā)生器等7部分圖2-9DS18B20內(nèi)部結(jié)構(gòu)3.5.3DS18B20相關(guān)介紹溫度的讀?。篋S18B20在出廠時(shí)以配置為12位,讀取溫度時(shí)共讀取16位,所以把后11位的2進(jìn)制轉(zhuǎn)化為10進(jìn)制后在乘以0.0625便為所測(cè)的溫度,還需要判斷正負(fù)。前5個(gè)數(shù)字為符號(hào)位,當(dāng)前5位為1時(shí),讀取的溫度為負(fù)數(shù);當(dāng)前5位為0時(shí),讀取的溫度為正數(shù)。DS18B20的初始化:1)先將數(shù)據(jù)線置高電平“1”。2)延時(shí)(該時(shí)間要求的不是很嚴(yán)格,但是盡可能的短一點(diǎn))。3)數(shù)據(jù)線拉到低電平“0”。4)延時(shí)750微秒(該時(shí)間的時(shí)間范圍可以從480到960微秒)。5)數(shù)據(jù)線拉到高電平“1”。6)延時(shí)等待(如果初始化成功則在15到60毫秒時(shí)間之內(nèi)產(chǎn)生一個(gè)由DS18B20所返回的低電平“0”。據(jù)該狀態(tài)可以來(lái)確定它的存在,但是應(yīng)注意不能無(wú)限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)控制7)若CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算起(第(5)步的時(shí)間算起)最少要480微秒。8)將數(shù)據(jù)線再次拉高到高電平“1”后結(jié)束。DS18B20的寫操作:1)數(shù)據(jù)線先置低電平“0”。2)延時(shí)確定的時(shí)間為15微秒。3)按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。4)延時(shí)時(shí)間為45微秒。5)將數(shù)據(jù)線拉到高電平。6)重復(fù)上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止。7)最后將數(shù)據(jù)線拉高。DS18B20的讀操作:1)將數(shù)據(jù)線拉高“1”。2)延時(shí)2微秒。3)將數(shù)據(jù)線拉低“0”。4)延時(shí)15微秒。5)將數(shù)據(jù)線拉高“1”。6)延時(shí)15微秒。7)讀數(shù)據(jù)線的狀態(tài)得到1個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。8)延時(shí)30微秒。3.5.4DS18B20使用中的注意事項(xiàng)DS18B20雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問(wèn)題:1)DS18B20從測(cè)溫結(jié)束到將溫度值轉(zhuǎn)換成數(shù)字量需要一定的轉(zhuǎn)換時(shí)間,這是必須保證的,不然會(huì)出現(xiàn)轉(zhuǎn)換錯(cuò)誤的現(xiàn)象,使溫度輸出總是顯示85。2)在實(shí)際使用中發(fā)現(xiàn),應(yīng)使電源電壓保持在5V左右,若電源電壓過(guò)低,會(huì)使所測(cè)得的溫度精度降低。3)較小的硬件開銷需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì)DS1820進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保證讀寫時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。在使用PL/M、C等高級(jí)語(yǔ)言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對(duì)DS1820操作部分最好采用匯編語(yǔ)言實(shí)現(xiàn)。4)在DS18B20的有關(guān)資料中均未提及單總線上所掛DS18B20數(shù)量問(wèn)題,容易使人誤認(rèn)為可以掛任意多個(gè)DS18B20,在實(shí)際應(yīng)用中并非如此,當(dāng)單總線上所掛DS18B20超過(guò)8個(gè)時(shí),就需要解決微處理器的總線驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。5)在DS18B20測(cè)溫程序設(shè)計(jì)中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號(hào),一旦某個(gè)DS18B20接觸不好或斷線,當(dāng)程序讀該DS18B20時(shí),將沒有返回信號(hào),程序進(jìn)入死循環(huán),這一點(diǎn)在進(jìn)行DS18B20硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。3.6加熱和冷卻模塊設(shè)計(jì) 加熱和冷卻模塊利用繼電器控制外部電器來(lái)進(jìn)行加熱和冷卻操作。繼電器通過(guò)三極管開關(guān)電路來(lái)控制,開關(guān)電路的控制端連接三極管開關(guān)電路的通斷。當(dāng)單片機(jī)給低電平的時(shí)候,繼電器導(dǎo)通(即用電器工作).用戶只需要根據(jù)自己的要求在外面接上對(duì)應(yīng)的加熱裝置和冷卻裝置便可實(shí)現(xiàn)溫度控制的功能。圖10加熱和冷卻模塊設(shè)計(jì)4.系統(tǒng)軟件設(shè)計(jì)4.1主程序主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量的當(dāng)前溫度值,溫度測(cè)量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度,其程序流程見圖3-1所示。圖3-1主程序流程圖4.2讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖示圖3-2讀溫度流程圖4.3溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。圖3-3溫度轉(zhuǎn)換流程圖4.4計(jì)算溫度子程序計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖所示。圖3-4計(jì)算溫度流程圖4.5顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為0時(shí)將符號(hào)顯示位移入下一位。圖3-5顯示數(shù)據(jù)刷新流程圖4.61602的液晶顯示1602液晶顯示流程圖4.7程序設(shè)計(jì)原理 軟件任務(wù)分析和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來(lái)了。軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做一個(gè)總體規(guī)劃。從軟件的功能來(lái)看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測(cè)量,計(jì)算,顯示,打印,輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。這兩類軟件的設(shè)計(jì)方法各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。軟件任務(wù)分析時(shí),應(yīng)將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進(jìn)行定義時(shí),將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問(wèn)題也一并規(guī)劃好。各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤設(shè)置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。相對(duì)來(lái)講,執(zhí)行模塊任務(wù)明確單純,比較容易編程,而監(jiān)控程序較易出問(wèn)題。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個(gè)廠長(zhǎng)就比較難了。軟件任務(wù)分析的另一個(gè)內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個(gè)系統(tǒng)軟件可分為后臺(tái)程序(背景程序)和前臺(tái)程序。后臺(tái)程序指主程序及其調(diào)用的子程序,這類程序?qū)?shí)時(shí)性要求不是太高,延誤幾十ms甚至幾百ms也沒關(guān)系,故通常將監(jiān)控程序(鍵盤解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺(tái)程序中執(zhí)行;而前臺(tái)程序安排一些實(shí)時(shí)性要求較高的內(nèi)容,如定時(shí)系統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺(tái),后臺(tái)程序?yàn)椤笆瓜到y(tǒng)進(jìn)入睡眠狀態(tài)”,以利于系統(tǒng)節(jié)電和抗干擾。5.系統(tǒng)調(diào)試5.1硬件調(diào)試基于單片機(jī)的溫度控制系統(tǒng)的電路較大,對(duì)于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出于一處的錯(cuò)誤,則會(huì)對(duì)檢測(cè)造成很大的不便,而且電路的交線較多,對(duì)于各種鋒利的引腳要注意處理,否則會(huì)刺破帶有包皮的導(dǎo)線,則會(huì)對(duì)電路造成短路現(xiàn)象。在本搶答器的設(shè)計(jì)調(diào)試中遇到了很多的問(wèn)題?;叵脒@些問(wèn)題只要認(rèn)真多思考都是可以避免的,以下為主要的問(wèn)題:最開始的時(shí)候以為單片機(jī)IO口直接可以驅(qū)動(dòng)蜂鳴器發(fā)聲,后來(lái)調(diào)試的時(shí)候久久不能出聲音。解決:經(jīng)過(guò)查找相關(guān)資料,知道揚(yáng)聲器需要三極管來(lái)驅(qū)動(dòng),后來(lái)把三極管放大器加上系統(tǒng)便可以正常工作。5.2軟件調(diào)試溫度控制系統(tǒng)是多功能的數(shù)字型,,所以對(duì)于它的程序也較為復(fù)雜,所以在編寫程序和調(diào)試時(shí)出現(xiàn)了相對(duì)較多的問(wèn)題。最后經(jīng)過(guò)多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。在軟件的調(diào)試過(guò)程中主要遇到的問(wèn)題如下:1.燒入程序后,LCD液晶顯示閃動(dòng),而且亮度不均勻。解決:首先對(duì)調(diào)用的延時(shí)進(jìn)行逐漸修改,可以解決顯示閃動(dòng)問(wèn)題。其次,由于本作品使作動(dòng)態(tài)掃描方式顯示的數(shù)字,動(dòng)態(tài)掃描很快,人的肉眼是無(wú)法看出,但是調(diào)用的顯示程序時(shí),如果不在反回時(shí)屏蔽掉最后的附值,則會(huì)出現(xiàn)很亮的現(xiàn)象,所以在顯示的后面加了屏蔽子令,最后解決了此問(wèn)題。2.當(dāng)用戶按下按鍵的時(shí)候,單片機(jī)讀取的數(shù)值跟設(shè)定的數(shù)值不對(duì)。解決:重新檢查矩陣鍵盤電路的連接,重新建立一個(gè)新的對(duì)應(yīng)關(guān)系。5.3調(diào)試結(jié)果(1)在測(cè)試中遇到LCD液晶為不顯示時(shí),首先使用試測(cè)儀對(duì)電路進(jìn)行測(cè)試,觀察是否存在漏焊,虛焊,或者元件損壞.經(jīng)過(guò)一系列的問(wèn)題查找后系統(tǒng)最終能正常工作,并完成所有的功能。6.結(jié)論通過(guò)這次畢業(yè)設(shè)計(jì),我學(xué)到了不少課本上沒有的知識(shí),也鍛煉了自己的動(dòng)手能力,將以前學(xué)過(guò)的零散的知識(shí)串到一起。經(jīng)過(guò)我長(zhǎng)時(shí)間的設(shè)計(jì)及調(diào)試,本系統(tǒng)基本能實(shí)現(xiàn)溫度控制系統(tǒng)的所有功能。不足之處有:1.硬件的穩(wěn)定性有待進(jìn)一步提高2.系統(tǒng)人性化還不足。我的綜合設(shè)計(jì)主要涉及硬件和軟件兩方面的內(nèi)容,通過(guò)這些我的硬件和軟件開發(fā)能力都獲得了提高。首先硬件方面,基本了解了電子產(chǎn)品的開發(fā)流程和所要做的工作?;菊莆樟薖rotel99SE原理圖的方法,并設(shè)計(jì)了一個(gè)單片機(jī)最小系統(tǒng)。通過(guò)開發(fā)板的設(shè)計(jì)和硬件搭建的過(guò)程,使我對(duì)51系單片機(jī)的接口有了更深層次的理解,熟悉了一些單片機(jī)常用的外圍電路引腳和連接方法,如LCD液晶,鍵盤等。并且我學(xué)會(huì)了分析問(wèn)題解決問(wèn)題的能力,加深了對(duì)所學(xué)理論知識(shí)的理解和運(yùn)用。我的動(dòng)手能力得到了很大的提高,創(chuàng)新意識(shí)得到了鍛煉。
參考文獻(xiàn)[1]彭偉.單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例.電子工業(yè)出版社.2009年[2]吳運(yùn)昌.模擬電子線路基礎(chǔ).廣州:華南理工大學(xué)出版社,2004年[3]閻石.?dāng)?shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社,1997年[4]張曉麗等.?dāng)?shù)據(jù)結(jié)構(gòu)與算法.北京:機(jī)械工業(yè)出版社,2002年[5]馬忠梅等.ARM&Linux嵌入式系統(tǒng)教程.北京:北京航空航天大學(xué)出版社,2004年[6]李建忠.單片機(jī)原理及應(yīng)用.西安:西安電子科技大學(xué),2002年[7]韓志軍等.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].機(jī)械工業(yè)出版社,2004[8]周潤(rùn)景等.Proteus在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例[M].電子工業(yè)出版社,2006[9]馬忠梅等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京航空航天大學(xué)出版社,2006[10]劉樹中,孫書膺,王春平.單片機(jī)和液晶顯示驅(qū)動(dòng)器串行接口的實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007附錄系統(tǒng)整體原理圖系統(tǒng)PCB圖
元件清單元件名稱數(shù)量STC89C52130PF電容212M晶振1輕觸按鍵410K排阻110K電位器110K電阻1LCD16021DS18B2012P端子2繼電器2紅色LED1綠色LED18550三極管3USB插座11000UF電容1蜂鳴器11K電阻5萬(wàn)用板1銅柱+螺帽4系統(tǒng)源程序////功能說(shuō)明:使用DS18B20測(cè)量室內(nèi)溫度,并將它顯示在1602液晶上。核心:AT89S52//連接框圖:___________________#include<reg52.h>//端口及函數(shù)聲明sbitLCD_RS=P1^0; //片選信號(hào)sbitLCD_RW=P1^1; //讀寫信號(hào)sbitLCD_E=P1^2; //使能信號(hào)sbitDQ=P2^7;sbitBEEP=P1^3;//高電平亮燈,超過(guò)設(shè)定值sbitRED=P1^6;sbitGREEN=P3^7;sbitKey_2=P2^4;//按一次出現(xiàn)H30,可以進(jìn)行上限溫度設(shè)置按兩次出現(xiàn)L20,可以進(jìn)行下限溫度設(shè)置按第三次恢復(fù)溫度顯示sbitKey_3=P2^5;//增加鍵,可以對(duì)上限溫度或下限溫度進(jìn)行增大調(diào)整sbitKey_4=P2^6;//減小鍵,可以對(duì)下限溫度或下限溫度進(jìn)行減小調(diào)整#defineLCD_DBP0 //LCD1602數(shù)據(jù)信號(hào)#defineLocationX0 //橫排的位置,即X得坐標(biāo)值取值范圍0~15#defineLocationY1 //豎排的位置,即Y得坐標(biāo)值取值范圍為2,1unsignedcharcodedis_char[]={"Temperatureis"};unsignedcharcodedis_char1[]={"Htemp=C"};unsignedcharcodedis_char2[]={"Ltemp=C"};//LCD1602函數(shù)定義voidLCD_init(void);//LCD1602初始化函數(shù)voidLCD_write_command(unsignedcharcommand);//LCD1602寫指令函數(shù) voidLCD_write_data(unsignedchardat);//LCD1602寫數(shù)據(jù)函數(shù) voidLCD_disp_char(unsignedcharx,unsignedchary,unsignedchardat);//在某個(gè)屏幕位置上顯示一個(gè)字符,X(0-15),y(1-2)voiddelay_n40us(unsignedintn);//延時(shí)函數(shù) //DS18B20函數(shù)定義voiddelayms(unsignedintz); //延時(shí)(z)毫秒voidSetReset(void);//產(chǎn)生復(fù)位信號(hào)voidCheckReply(void);//檢測(cè)器件應(yīng)答信號(hào)bitMainReadBit(void);//從總線讀一個(gè)bitunsignedcharMainReadByte(void);//從總線讀一個(gè)字節(jié)voidMainWriteByte(unsignedchardat);//向總線寫一個(gè)字節(jié)voidStartConvertTemperature(void);//啟動(dòng)一次溫度轉(zhuǎn)換unsignedlongintReadTemperature(void);//讀取溫度數(shù)據(jù)unsignedcharH_temp=50,L_temp=20;unsignedcharflag_h=0,flag_l=0,count_key2=0;unsignedcharTempBuffer[5];unsignedchartemp_value;//***//子函數(shù)////LCD1602延時(shí)函數(shù)voiddelay_n40us(unsignedintn) { unsignedinti; unsignedcharj; for(i=n;i>0;i--) for(j=0;j<2;j++);}////LCD1602液晶初始化函數(shù)voidLCD_init(void) { LCD_write_command(0x38);//設(shè)置8位格式,2行,5x7 LCD_write_command(0x38);//設(shè)置8位格式,2行,5x7 LCD_write_command(0x38);//設(shè)置8位格式,2行,5x7 切記要寫三遍?。。?! LCD_write_command(0x0c);//整體顯示,關(guān)光標(biāo),不閃爍 LCD_write_command(0x06);//設(shè)定輸入方式,增量不移位 LCD_write_command(0x01);//清除屏幕顯示 delay_n40us(100);//清屏延時(shí)}////LCD1602寫命令函數(shù)voidLCD_write_command(unsignedchardat){ LCD_DB=dat; LCD_RS=0;//指令 LCD_RW=0;//寫入 LCD_E=1;//使能 LCD_E=0; delay_n40us(1);//寫命令延時(shí)} ////LCD1602寫數(shù)據(jù)函數(shù)voidLCD_write_data(unsignedchardat) { LCD_DB=dat; LCD_RS=1;//數(shù)據(jù) LCD_RW=0;//寫入 LCD_E=1;//使能 LCD_E=0; delay_n40us(1); //寫數(shù)據(jù)延時(shí)}////LCD1602顯示一個(gè)字符voidLCD_disp_char(unsignedcharx,unsignedchary,unsignedchardat){ unsignedcharaddress; if(y==1) address=0x80+x; //顯示在第一排的時(shí)候的x的地址 else address=0xc0+x; //顯示在第二排的時(shí)候的x的地址 LCD_write_command(address); //輸入地址 LCD_write_data(dat); //輸入數(shù)據(jù)}//*****************************************////毫秒延時(shí)函數(shù)voiddelayms(unsignedintz){ unsignedintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}/***********ds18b20子程序*************************//***********ds18b20延遲子函數(shù)(晶振12MHz)*******/voiddelay_18B20(unsignedinti){ while(i--);}/**********ds18b20初始化函數(shù)**********************/voidInit_DS18B20(void){ unsignedcharx=0; DQ=1;//DQ復(fù)位 delay_18B20(8);//稍做延時(shí) DQ=0;//單片機(jī)將DQ拉低 delay_18B20(80);//精確延時(shí)大于480us DQ=1;//拉高總線 delay_18B20(14); x=DQ;//稍做延時(shí)后如果x=0則初始化成功x=1則初始化失敗 delay_18B20(20);}/***********ds18b20讀一個(gè)字節(jié)**************/unsignedcharReadOneChar(void){ unsignedchari=0; unsignedchardat=0; for(i=8;i>0;i--) { DQ=0;//給脈沖信號(hào) dat>>=1; DQ=1;//給脈沖信號(hào) if(DQ) dat|=0x80; delay_18B20(4); } return(dat);}/*************ds18b20寫一個(gè)字節(jié)****************/voidWriteOneChar(unsignedchardat){ unsignedchari=0; for(i=8;i>0;i--) { DQ=0; DQ=dat&0x01; delay_18B20(5); DQ=1; dat>>=1;}}/**************讀取ds18b20當(dāng)前溫度************/voidReadTemp(void){ unsignedchara=0; unsignedcharb=0; unsignedchart=0; Init_DS18B20(); WriteOneChar(0xCC); //跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0x44); //啟動(dòng)溫度轉(zhuǎn)換 delay_18B20(100);//thismessageisweryimportant Init_DS18B20(); WriteOneChar(0xCC); //跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個(gè)寄存器)前兩個(gè)就是溫度 delay_18B20(100); a=ReadOneChar(); //讀取溫度值低位 b=ReadOneChar(); //讀取溫度值高位 temp_value=b<<4; temp_value+=(a&0xf0)>>4;}voidtemp_to_str()//溫度數(shù)據(jù)轉(zhuǎn)換成液晶字符顯示{TempBuffer[0]=temp_value/10+'0';//十位TempBuffer[1]=temp_value%10+'0';//個(gè)位TempBuffer[2]=0xdf;//溫度符號(hào)TempBuffer[3]='C';TempBuffer[4]='\0';}voiddisplay_1(void){ unsignedcharj=0,ge=0,shi=0,bai=0; unsignedlongintlast=0; inttemp=0; for(j=0;j<14;j++) { LCD_disp_char(j,1,dis_char[j]); } ReadTemp();//開啟溫度采集程序temp_to_str();//溫度數(shù)據(jù)轉(zhuǎn)換成液晶字符//LCDDispString(0,1,TempBuffer); temp=(TempBuffer[0]-'0')*10+(TempBuffer[1]-'0'); LCD_disp_char(5,2,(temp/10+48)); LCD_disp_char(6,2,(temp%10+48)); LCD_disp_char(8,2,0xdf); LCD_disp_char(9,2,'C'); if(temp>H_temp) { BEEP=0; RED=1; GREEN=0; } elseif (temp<L_temp) { BEEP=0; GREEN=1; RED=0; } else { BEEP=1;RED=1; GREEN=1; }}voiddisplay_2(void){ unsignedcharj=0;unsignedcharge=0,shi=0; for(j=0;j<16;j++) { LCD_disp_char(j,1,dis_char1[j]); LCD_disp_char(j,2,dis_char2[j]); } LCD_disp_char(11,1,0xdf);LCD_disp_char(11,2,0xdf); ge=H_temp%10; shi=H_temp/10;LCD_disp_char(7,1,(shi+48));LCD_disp_char(8,1,(ge+48)); ge=L_temp%10; shi=L_temp/10;LCD_disp_char(7,2,(shi+48));LCD_disp_char(8,2,(ge+48));}voidkey_scan(void){ unsignedcharge=0,shi=0; P1|=0x80; //每次掃描前,先將接鍵盤的引腳口拉高 if(Key_2==0) //同上,判斷第二個(gè)按鍵情況 { delayms(10); if(Key_2==0) { // display_2(); count_key2++; if(count_key2==1) { display_2(); flag_h=1; flag_l=0; LCD_disp_char(15,1,35); } elseif(count_key2==2) { display_2(); flag_l=1; flag_h=0; LCD_disp_char(15,2,35); } elseif(count_key2==3) { flag_l=0; flag_h=0; LCD_init(); display_1(); count_key2=0; } while(!Key_2); } } if(Key_3==0) //增加鍵 { delayms(10); if(Key_3==0) { if(flag_h==1) { H_temp++; ge=H_temp%10; shi=H_temp/10; LCD_disp_char(7,1,(shi+48)); LCD_disp_char(8,1,(ge+48)); } elseif(flag_l==1) { L_temp++; ge=L_temp%10; shi=L_temp/10; LCD_disp_char(7,2,(shi+48)); LCD_disp_char(8,2,(ge+48)); } while(!Key_3); } } if(Key_4==0) //減少鍵 { delayms(10); if(Key_4==0) { if(flag_h==1) { H_temp--; ge=H_temp%10; shi=H_temp/10; LCD_disp_char(7,1,(shi+48)); LCD_disp_char(8,1,(ge+48)); } elseif(flag_l==1) { L_temp--; ge=L_temp%10; shi=L_temp/10; LCD_disp_char(7,2,(shi+48)); LCD_disp_char(8,2,(ge+48)); } while(!Key_4); } } }//***//主函數(shù)voidmain(void){ unsignedintge=0,shi=0,bai=0; LCD_init(); display_1(); while(1) { if(count_key2==0) display_1(); key_scan(); } }//*基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測(cè)系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營(yíng)養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測(cè)試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測(cè)儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測(cè)儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測(cè)儀的研制HYPERLINK"/detail.htm?2587
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童營(yíng)養(yǎng)包培訓(xùn)知識(shí)課件
- 貴州電力職業(yè)技術(shù)學(xué)院《Office高級(jí)應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴州財(cái)經(jīng)職業(yè)學(xué)院《路基路面B》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽(yáng)幼兒師范高等專科學(xué)?!墩彰髟O(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025湖北建筑安全員B證考試題庫(kù)附答案
- 2025廣東省安全員知識(shí)題庫(kù)及答案
- 貴陽(yáng)康養(yǎng)職業(yè)大學(xué)《計(jì)量經(jīng)濟(jì)學(xué)基礎(chǔ)與應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州中醫(yī)藥大學(xué)《播音與主持基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025江西省安全員考試題庫(kù)及答案
- 2025安徽省安全員-C證考試(專職安全員)題庫(kù)附答案
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 生物 含解析
- 《新媒體營(yíng)銷與策劃》考試復(fù)習(xí)題庫(kù)(含答案)
- 數(shù)詞、介詞、形容詞(副詞)與語(yǔ)法填空(分層訓(xùn)練)(解析版)-【高頻考點(diǎn)】2022年高考英語(yǔ)二輪復(fù)習(xí)講義+分層訓(xùn)練(浙江專用)
- 保險(xiǎn)公司優(yōu)秀員工個(gè)人先進(jìn)事跡材料【九篇】
- 浙江寧波廣播電視集團(tuán)發(fā)射中心招考聘用筆試參考題庫(kù)答案解析
- 急性心衰搶救流程
- 新湘教版地理必修第一冊(cè)知識(shí)點(diǎn)總結(jié)
- 四年級(jí)上冊(cè)科學(xué)全冊(cè)知識(shí)點(diǎn)(2022年新教科版)
- 施工機(jī)械施工方案
- 哈爾濱市城市規(guī)劃管理技術(shù)規(guī)定
- 加拿大——文化ppt
評(píng)論
0/150
提交評(píng)論