版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
湖南冶金職業(yè)技術(shù)學(xué)院電氣工程系畢業(yè)設(shè)計(jì)PAGE第38頁共44頁摘要單片機(jī)具有體積小、功能強(qiáng)、成本低、應(yīng)用面廣等優(yōu)點(diǎn),可以說,智能控制與自動(dòng)控制的核心就是單片機(jī)。目前,一個(gè)學(xué)習(xí)與應(yīng)用單片機(jī)的高潮在全社會(huì)大規(guī)模地興起。學(xué)習(xí)單片機(jī)的最有效方法就是理論與實(shí)踐并重,本文用80C51單片機(jī)自制了一個(gè)溫度控制系統(tǒng),重點(diǎn)介紹了該系統(tǒng)的硬件結(jié)構(gòu)及編程方法。關(guān)鍵詞:單片機(jī)、溫度傳感器、模/數(shù)轉(zhuǎn)換器
ABSTRACTSingle-chipmicrocomputerwithasmall,powerful,lowcost,wideapplication,etc.,itcanbesaid,intelligentcontrolandautomationisthecoreofsinglechip.Atpresent,asingle-chiplearningandapplicationoftheclimaxofthewholesocietyintheemergenceofalargescale.Single-chiplearningisthemosteffectivewayofboththeoryandpractice,89S51Inthispaper,aself-madesingle-chiptemperaturecontrolsystem,focusesonthestructureofthesystemhardwareandprogramming.Keywords:Single-chip,temperaturesensor,analog/digitalconverter前言隨著當(dāng)代生活節(jié)奏的緊奏化,人們無規(guī)律的生活使自身感到疲勞讓身體處于卸放狀態(tài),為此緩解人日夜的疲勞,于是汗蒸房的出現(xiàn)使人調(diào)整過來,汗蒸房在通電后,安裝在其中的加熱板所含的鍺碳元素和電氣石元素受電能轉(zhuǎn)換激發(fā)到一定溫度時(shí),產(chǎn)生一種具有不同波長的能源,其波長范圍和強(qiáng)度范圍恰好與人體自身釋放的電磁波相吻合,并由人體縱深器官選擇性吸收!從而促進(jìn)人體死亡細(xì)胞病變二聚體等的解體,增強(qiáng)人體的自身調(diào)節(jié)機(jī)制及免疫能力,通過加溫和保溫,使電氣石的能量可以快速、強(qiáng)烈地以遠(yuǎn)紅外線、負(fù)離子及微電流的形式釋放出來,它們共同構(gòu)成的能量場可間接地通過空氣向人體提供能量,使人體細(xì)胞由休眠狀態(tài)轉(zhuǎn)化為運(yùn)動(dòng)狀態(tài),加快人體的血液循環(huán)及新陳代謝,排出體內(nèi)毒素,平衡人體酸堿度,補(bǔ)充新的營養(yǎng)物質(zhì),從而起到保健和治療的作用。此次畢業(yè)設(shè)計(jì)主要設(shè)計(jì)汗蒸房的溫度和濕度控制系統(tǒng),實(shí)現(xiàn)課題的要求。目錄第一章緒論11.1單片機(jī)概況51.2設(shè)計(jì)可行性分析5第二章總體設(shè)計(jì)方案72.1工作原理82.2工作框圖82.3產(chǎn)品使用說明書9第三章硬件設(shè)計(jì)103.1電路接線圖103.2模塊介紹及應(yīng)用113.2.1溫度、濕度探測113.3主要原器件的介紹133.3.1AT89S51133.3.2DS1302213.3.3SHT11273.3.4827933第四章軟件設(shè)計(jì)384.1流程圖384.2內(nèi)存分布圖39第五章總結(jié)與展望40第六章致謝42第七章參考文獻(xiàn)43第一章緒論1.1單片機(jī)概況單片機(jī)(SingleChipMicrocomputer),國際上又稱為微控制器,它是一種集成電路芯片。它采用超大規(guī)模技術(shù)將具有數(shù)據(jù)處理能力的微處理器(CPU)、存儲器(含程序存儲器ROM和數(shù)據(jù)存儲器RAM)、輸入、輸出接口電路(I/O接口)集成在同一塊芯片上,構(gòu)成一個(gè)即小巧又很完善的計(jì)算機(jī)硬件系統(tǒng),在單片機(jī)程序的控制下能準(zhǔn)確、迅速、高效地完成程序設(shè)計(jì)者事先規(guī)定的任務(wù)。所以說,一片單片機(jī)芯片就具有了組成計(jì)算機(jī)的全部功能。隨著SCM在技術(shù)上、體系上的不斷進(jìn)步,使其控制功能不斷擴(kuò)展,它的主要作用已經(jīng)不是計(jì)算,而是控制了。正是由于單片機(jī)的這種結(jié)構(gòu)及它所采取的半導(dǎo)體工藝,使其具有很多顯著的優(yōu)點(diǎn)和特點(diǎn),其主要特點(diǎn)如下工:(1)控制功能強(qiáng)。為了滿足工業(yè)控制的要求,一般單片機(jī)的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。(2)集中度高、體積小、有很高有可靠性。單片機(jī)把各功能部件集中在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了芯片內(nèi)部之間的;連線,大大提高了單片機(jī)的可靠性與抗干擾能力。另外,其體積小,對于強(qiáng)磁環(huán)境晚于采取屏蔽措施,適合于在惡劣與此環(huán)境下工作。(3)有優(yōu)異的性能價(jià)格比。(4)低功耗、低電壓、,便于生產(chǎn)便攜式產(chǎn)品。(5)增加了I2C(6)單片機(jī)的系統(tǒng)擴(kuò)展、系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。1.2設(shè)計(jì)可行性分析社會(huì)加步的前進(jìn),與之給人們帶來的壓力也隨之增大,長時(shí)間的疲累會(huì)使人的細(xì)胞從運(yùn)動(dòng)狀態(tài)沉溺于安眠狀態(tài),使人無法集中精力工作,甚至能使人的免疫也與之下降,而汗蒸房的出現(xiàn),可以調(diào)解使人的細(xì)胞從安眠狀態(tài)活躍到運(yùn)動(dòng)狀態(tài),它能使加快人體的血液循環(huán)及新陳代謝,排出體內(nèi)毒素,平衡人體酸堿度,補(bǔ)充新的營養(yǎng)物質(zhì),從而起到保健和治療作用。使人高度集中精神,而汗蒸時(shí)間的長短會(huì)影響汗蒸的效果,如何使效果更加,為此,此次單片機(jī)設(shè)計(jì),能自能化顯示汗蒸時(shí)間及房內(nèi)溫度與濕度的控制,所以,這種設(shè)計(jì)是完善汗蒸房的不足,此設(shè)計(jì)非常有必要,以達(dá)到汗蒸效果更加的目的!第二章總體設(shè)計(jì)方案2.1工作原理工作原理分為信號采集和LED顯示部分,由SHT11、DS1302、AT89S51、8279及LED組成,用SHT11芯片探測汗蒸房內(nèi)的溫度和濕度,通過數(shù)據(jù)線端將其傳送到AT89S51,AT98S51接收到傳來的溫度和濕度后,并將其處理轉(zhuǎn)換,然后在LED上分別顯示出來,用DS1302來供給時(shí)間頻率,并將年月日時(shí)間也在LED上顯示出來,且年月日時(shí)間可以通過芯片按鍵8279調(diào)整,汗蒸房內(nèi)的人數(shù)及每人汗蒸的時(shí)間和房內(nèi)的溫度與濕度都可以再LED上顯示出來。2.2框圖SKIPIF1<0硬件的總體設(shè)計(jì)
本系統(tǒng)由溫度采集電路、時(shí)間電路、單片機(jī)、按鍵、顯示、數(shù)據(jù)存儲等部分組成,成對溫度信號的采集、處理、存儲,控制系統(tǒng)的工作的功能。原理框圖如圖1所示。SKIPIF1<0圖1系統(tǒng)硬件原理框圖2.3產(chǎn)品使用說明書當(dāng)芯片復(fù)電后,SHT11、AT89S51、8279復(fù)位,而DS1302一直提給一個(gè)時(shí)鐘頻率,按鍵一共又5個(gè)!其中,p0.0為修改按鍵,p0.1為確認(rèn)按鍵,p0.2為修改鍵加按鍵,p0.3為修改鍵減按鍵,p0.4為房內(nèi)人數(shù)的按鍵!第三章硬件設(shè)計(jì)3.1電路接線圖3.2模塊介紹及應(yīng)用3.2.1溫度、濕度探測溫度與濕度的測量由SHT11芯片完成,它有四個(gè)觸頭,高度集成,將溫度感測、濕度感測、信號變換、A/D轉(zhuǎn)換等功能。集成到一個(gè)芯片上,提供二線數(shù)字串行接口SCK和DATA接口簡單,支持CRC傳輸校驗(yàn),傳輸可靠性高,測量精確度高,由于同時(shí)集成溫濕度傳感器,可以提供溫度補(bǔ)償和濕度測量和高質(zhì)量的露點(diǎn)計(jì)算,可靠性高,精確性高,能更好的測量汗蒸房內(nèi)的溫度和濕度并快速傳出來!3.2.2時(shí)鐘電路 DS1302是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對后背電源進(jìn)行涓細(xì)電流充電的能力。能提供一個(gè)穩(wěn)定的時(shí)鐘并在LED上顯示出來!3.2.3信號處理 中央處理器是單片機(jī)的最核心的部分,主要完成運(yùn)算和中指功能,這一點(diǎn)與通用微處理器基本相同,只是它的控制功能更強(qiáng)。它是一個(gè)字長為8位的中央處理單元,對詩句的處理是按字節(jié)為單位進(jìn)行的。數(shù)據(jù)存儲器用于存放變化的數(shù)據(jù),89s51中數(shù)據(jù)存儲器的地址空間為256個(gè)RAM單元,但其中能作為數(shù)據(jù)存儲器供用戶使用的僅有前面128個(gè),后128個(gè)被專用寄存器占用。4個(gè)8位的I/O口,并行I/O口主要是用于實(shí)現(xiàn)與外部設(shè)備中數(shù)據(jù)的并行輸入/輸出,有些I/O口還具有其他多重功能。
3.3主要元器件的介紹3.3.1AT98S51AT89S51是一個(gè)低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4kBytesISP(In-systemprogrammable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。
AT89S51具有如下特點(diǎn):40個(gè)引腳,4kBytesFlash片內(nèi)程序存儲器,128bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。
此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。
1.主要特性:
?8031CPU與MCS-51兼容
?4K字節(jié)可編程FLASH存儲器(壽命:1000寫/擦循環(huán))
?全靜態(tài)工作:0Hz-24KHz
?三級程序存儲器保密鎖定
?128*8位內(nèi)部RAM
?32條可編程I/O線
?兩個(gè)16位定時(shí)器/計(jì)數(shù)器
?6個(gè)中斷源
?可編程串行通道
?低功耗的閑置和掉電模式
?片內(nèi)振蕩器和時(shí)鐘電路
2.管腳說明:
VCC:供電電壓。
GND:接地。
P0口:P0口為一個(gè)8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。
P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。
P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。
P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。
P3.0RXD(串行輸入口)
P3.1TXD(串行輸出口)
P3.2/INT0(外部中斷0)
P3.3/INT1(外部中斷1)
P3.4T0(記時(shí)器0外部輸入)
P3.5T1(記時(shí)器1外部輸入)
P3.6/WR(外部數(shù)據(jù)存儲器寫選通)
P3.7/RD(外部數(shù)據(jù)存儲器讀選通)
P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。
I/O口作為輸入口時(shí)有兩種工作方式即所謂的讀端口與讀引腳讀端口時(shí)實(shí)際上并不從外部讀入數(shù)據(jù)而是把端口鎖存器的內(nèi)容讀入到內(nèi)部總線經(jīng)過某種運(yùn)算或變換后再寫回到端口鎖存器只有讀端口時(shí)才真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線上面圖中的兩個(gè)三角形表示的就是輸入緩沖器CPU將根據(jù)不同的指令分別發(fā)出讀端口或讀引腳信號以完成不同的操作這是由硬件自動(dòng)完成的不需要我們操心1然后再實(shí)行讀引腳操作否則就可能讀入出錯(cuò)為什么看上面的圖如果不對端口置1端口鎖存器原來的狀態(tài)有可能為0Q端為0Q^為1加到場效應(yīng)管柵極的信號為1該場效應(yīng)管就導(dǎo)通對地呈現(xiàn)低阻抗,此時(shí)即使引腳上輸入的信號為1也會(huì)因端口的低阻抗而使信號變低使得外加的1信號讀入后不一定是1若先執(zhí)行置1操作則可以使場效應(yīng)管截止引腳信號直接加到三態(tài)緩沖器中實(shí)現(xiàn)正確的讀入由于在輸入操作時(shí)還必須附加一個(gè)準(zhǔn)備動(dòng)作所以這類I/O口被稱為準(zhǔn)雙向口89C51的P0/P1/P2/P3口作為輸入時(shí)都是準(zhǔn)雙向口接下來讓我們再看另一個(gè)問題從圖中可以看出這四個(gè)端口還有一個(gè)差別除了P1口外P0P2P3口都還有其他的功能
RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。
ALE/PROG:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。
/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。
XTAL2:來自反向振蕩器的輸出。
第二節(jié)DS13022.2.1DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對后背電源進(jìn)行涓細(xì)電流充電的能力。DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說明。SCLK始終是輸入端。下圖為DS1302的引腳功能圖SKIPIF1<0
圖2-9DS1302引腳功能圖2.2.DS1302的控制字如圖2所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。1.2.在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。
2.2.4DS1302的寄存器
DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式DS1302實(shí)時(shí)顯示時(shí)間的軟硬件DS1302與CPU的連接需要三條線,即SCLK(7)、I/O(6)、RST(5)。圖2示出DS1302與89C2051的連接圖,其中,時(shí)鐘的顯示用LCD。圖2-10DS1302與AT89S51的連接圖
2.2.DS1302調(diào)試中問題說明
DS1302與微處理器進(jìn)行數(shù)據(jù)交換時(shí),首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位MSB(D7)必須為邏輯1,如果D7=0,則禁止寫DS1302,即寫保護(hù);D6=0,指定時(shí)鐘數(shù)據(jù),D6=1,指定RAM數(shù)據(jù);D5~D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定寫操作(輸入),D0=1,指定讀操作(輸出)。
在DS1302的時(shí)鐘日歷或RAM進(jìn)行數(shù)據(jù)傳送時(shí),DS1302必須首先發(fā)送命令字節(jié)。若進(jìn)行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,在下2個(gè)SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個(gè)SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。
DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM寄存器,在此方式下可一次性讀、寫所有的RAM的31個(gè)字節(jié)。
要特別說明的是備用電源B1,可以用電池或者超級電容器(0.1F以上)。雖然DS1302在主電源掉電后的耗電很小,但是,如果要長時(shí)間保證時(shí)鐘正常,最好選用小型充電電池??梢杂美鲜诫娔X主板上的3.6V充電電池。如果斷電時(shí)間較短(幾小時(shí)或幾天)時(shí),就可以用漏電較小的普通電解電容器代替。100μF就可以保證1小時(shí)的正常走時(shí)。DS1302在第一次加電后,必須進(jìn)行初始化操作。初始化后就可以按正常方法調(diào)整時(shí)間。
DS1302的寄存器DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及其控制字見表1。
此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個(gè)字節(jié),。實(shí)際上,在調(diào)試程序時(shí)可以不加電容器,只加一個(gè)32.768kHz的晶振即可。只是選擇晶振時(shí),不同的晶振,誤差也較大。另外,還可以在上面的電路中加入DS18B20,同時(shí)顯示實(shí)時(shí)溫度。只要占用CPU一個(gè)口線即可。LCD還可以換成LED,還可以使用北京衛(wèi)信杰科技發(fā)展有限公司生產(chǎn)的10位多功能8段液晶顯示模塊LCM101,內(nèi)含看門狗(WDT)/時(shí)鐘發(fā)生器及兩種頻率的蜂鳴器驅(qū)動(dòng)電路,并有內(nèi)置顯示RAM,可顯示任意字段筆劃,具有3-4線串行接口,可與任何單片機(jī)、IC接口。功耗低,顯示狀態(tài)時(shí)電流為2μA(典型值),省電模式時(shí)小于1μA,工作電壓為2.4V~3.3V,顯示清晰。
DS1302實(shí)時(shí)時(shí)間流程DS1302與微處理器進(jìn)行數(shù)據(jù)交換時(shí),首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位MSB(D7)必須為邏輯1,如果D7=0,則禁止寫DS1302,即寫保護(hù);D6=0,指定時(shí)鐘數(shù)據(jù),D6=1,指定RAM數(shù)據(jù);D5~D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定寫操作(輸入),D0=1,指定讀操作(輸出)。
在DS1302的時(shí)鐘日歷或RAM進(jìn)行數(shù)據(jù)傳送時(shí),DS1302必須首先發(fā)送命令字節(jié)。若進(jìn)行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,在下2個(gè)SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個(gè)SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。
第三節(jié)SHT112.3.1SHT11簡介SHT11是瑞士Scnsirion公司推出的一款數(shù)字溫濕度傳感器芯片。該芯片廣泛應(yīng)用于暖通空調(diào)、汽車、消費(fèi)電子、自動(dòng)控制等領(lǐng)域。共主要特點(diǎn)如下:
◆高度集成,將溫度感測、濕度感測、信號變換、A/D轉(zhuǎn)換和加熱器等功能成到一個(gè)芯片上;
◆提供二線數(shù)字串行接口SCK和DATA,接口簡單,支持CRC傳輸校驗(yàn),傳輸可靠性高;
◆測量精度可編程調(diào)節(jié),內(nèi)置A/D轉(zhuǎn)換器(分辨率為8~12位,能通過對芯片內(nèi)部寄存器編程米選擇);
◆測量精確度高,由于同時(shí)集成溫濕度傳感器,能提供溫度補(bǔ)償?shù)臐穸葴y量值和高質(zhì)量的露點(diǎn)計(jì)算功能;
◆封裝尺寸超小(7.62mm×5.08mm×2.5mm),測量和通信結(jié)束后,自動(dòng)轉(zhuǎn)入低功耗模式;
◆高可靠性,采用CMOSens工藝,測量時(shí)可將感測頭完全浸于水中。
SHT11的引腳功能
SHT11溫濕度傳感器采用SMD(LCC)表面貼片封裝形式,接口非常簡單,引腳名稱及排列順序如圖1所示。
SKIPIF1<0圖2-11SHT11引腳功能圖各引腳的功能如下:
腳1和4--信號地和電源,其工作電壓范圍是2.4~5.5V;
腳2和腳3--二線串行數(shù)字接口,其中DA-TA為數(shù)據(jù)線,SCK為時(shí)鐘線;
腳5~8--未連接。
2.3.3SHT11的內(nèi)部結(jié)構(gòu)和工作原理
溫濕度傳感器SHT11將溫度感測、濕度感測、信號變換、A/D轉(zhuǎn)換和加熱器等功能集成到一個(gè)芯片上,其內(nèi)部結(jié)構(gòu)如圖1-12所示。該芯片包括一個(gè)電容性聚合體濕度敏感元件和一個(gè)用能隙材料制成的溫度敏感元件。這兩個(gè)敏感元件分別將濕度和溫度轉(zhuǎn)換成電信號,該電信號首先進(jìn)入微弱信號放大器進(jìn)行放大;然后進(jìn)入一個(gè)14位的A/D轉(zhuǎn)換器;最后經(jīng)過二線串行數(shù)字接口輸出數(shù)字信號。SHT11在出廠前,都會(huì)在恒濕或恒溫環(huán)境巾進(jìn)行校準(zhǔn),校準(zhǔn)系數(shù)存儲在校準(zhǔn)寄存器中;在測量過程中,校準(zhǔn)系數(shù)會(huì)自動(dòng)校準(zhǔn)來自傳感器的信號。此外,SHT11內(nèi)部還集成一個(gè)加熱元件,加熱元件接通后能將SHT11的溫度升高5℃左右,同時(shí)功耗也會(huì)有所增加。此功能主要為了比較加熱前后的溫度和濕度值,能綜合驗(yàn)證兩個(gè)傳感器元件的性能。在高濕(>95%RH)環(huán)境中,加熱傳感器可預(yù)防傳感器結(jié)露,同時(shí)縮短響應(yīng)時(shí)間,提高精度。加熱后SHT11溫度升高、相對濕度降低,較加熱前,測量值會(huì)略有差異。圖2-12SHT11內(nèi)部結(jié)構(gòu)圖
微處理器是通過二線串行數(shù)字接口和SHT11進(jìn)行通信的。通信協(xié)議和通用的I2C總線協(xié)議是不兼容的,因此需要用通用微處理器I/O口模擬該通信時(shí)序。微處理器對SHT11的控制是通過5個(gè)5位命令代碼來實(shí)現(xiàn)的,命令代碼的含義如表1所列。SHT11應(yīng)用設(shè)計(jì)
微處理器采用二線串行數(shù)字接口和溫濕度傳感器芯片SHT11進(jìn)行通信,所以硬件接門設(shè)計(jì)非常簡單;然而,通信協(xié)議是芯片廠家自己定義的,所以在軟件設(shè)計(jì)中,需要用微處理器通用I/O口模擬通信協(xié)議。2.3.5硬件設(shè)計(jì)
SHT11通過二線數(shù)字串行接口來訪問,所以硬件接口電路非常簡單。需要注意的地方是:DATA數(shù)據(jù)線需要外接上拉電阻,時(shí)鐘線SCK用于微處理器和SHT11之間通信同步,由于接口包含了完全靜態(tài)邏輯,所以對SCK最低頻率沒有需求;當(dāng)工作電壓高于4.5V時(shí),SCK頻率最高為10MHz,而當(dāng)工作電壓低于4.5V時(shí),SCK最高頻率則為1MHz。硬件連接如圖3所示。
軟件設(shè)計(jì)
微處理器和溫濕度傳感器通信采用串行二線接口SCK和DATA,其中SCK為時(shí)鐘線,DATA為數(shù)據(jù)線。該二線串行通信協(xié)議和I2C協(xié)議是不兼容的。在程式開始,微處理器需要用一組"啟動(dòng)傳輸"時(shí)序表示數(shù)據(jù)傳輸?shù)膯?dòng),如圖4所示。當(dāng)SCK時(shí)鐘為高電平時(shí),DATA翻轉(zhuǎn)為低電平;緊接著SCK變?yōu)榈碗娖?,隨后又變?yōu)楦唠娖剑辉赟CK時(shí)鐘為高電平時(shí),DATA再次翻轉(zhuǎn)為高電平。
SHT11濕度測試時(shí)序如圖5所示。其中,陰影部分為SHT11控制總線。主機(jī)發(fā)出啟動(dòng)命令,隨后發(fā)出一個(gè)后續(xù)8位命令碼,該命令碼包含3個(gè)地址位(芯片設(shè)定地址為000)和5個(gè)命令位;發(fā)送完該命令碼,將DATA總線設(shè)為輸入狀態(tài)等待SHT11的響應(yīng);SHT11接收到上述地址和命令碼后,在第8個(gè)時(shí)鐘下降沿,將DATA下拉為低電平作為從機(jī)的ACK;在第9個(gè)時(shí)鐘下降沿之后,從機(jī)釋放DATA(恢復(fù)高電平)總線;釋放總線后,從機(jī)開始測量當(dāng)前濕度,測量結(jié)束后,再次將DATA總線拉為低電平;主機(jī)檢測到DATA總線被拉低后,得知濕度測量已結(jié)束,給出SCK時(shí)鐘信號;從機(jī)在第8個(gè)時(shí)鐘下降沿,先輸出高字節(jié)數(shù)據(jù);在第9個(gè)時(shí)鐘下降沿,主機(jī)將DATA總線拉低作為ACK信號。然后釋放總線DATA;在隨后8個(gè)SCK周期下降沿,從機(jī)發(fā)出低字節(jié)數(shù)據(jù);接下來的SCK下降沿,主機(jī)再次將DATA總線拉低作為接收數(shù)據(jù)的ACK信號;最后8個(gè)SCK下降沿從機(jī)發(fā)出CRC校驗(yàn)數(shù)據(jù),主機(jī)不予應(yīng)答(NACK)則表示測量結(jié)束。2.3.7溫度和濕度值的計(jì)算1、濕度線性補(bǔ)償和溫度補(bǔ)償
SHT11可通過DATA數(shù)據(jù)總線直接輸出數(shù)字量濕度值。該濕度值稱為"相對濕度",需要進(jìn)行線性補(bǔ)償和溫度補(bǔ)償后才能得到較為準(zhǔn)確的濕度值。由于相對濕度數(shù)字輸出特性呈一定的非線性,因此為了補(bǔ)償濕度傳感器的非線性,可按下式修正濕度值:(1-1)
式中:RHlinear為經(jīng)過線性補(bǔ)償后的濕度值,SORH為相對濕度測量值,C1、C2、C3為線性補(bǔ)償系數(shù),取值如表2所列。
由于溫度對濕度的影響十分明顯,而實(shí)際溫度和測試參考溫度25℃有所不同,所以對線性補(bǔ)償后的濕度值進(jìn)行溫度補(bǔ)償非常有必要。補(bǔ)償公式如下:(1-2)
式中:RHtrue為經(jīng)過線性補(bǔ)償和溫度補(bǔ)償后的濕度值,T為測試濕度值時(shí)的溫度(℃),t1和t2為溫度補(bǔ)償系數(shù),取值如表3所列。
2、溫度值輸出
由于SHT11是采用PTAT能隙材料制成的溫度敏感元件,因而具有非常好的線性輸出。實(shí)際溫度值可由下式算得Temperature=d1+d2×SOT式中:d1和d2為特定系數(shù),d1的取值和SHT11工作電壓有關(guān),d2的取值則和SHT11內(nèi)部A/D轉(zhuǎn)換器采用的分辨率有關(guān),其對應(yīng)關(guān)系分別如表4和表5所列。溫度值輸出
由于SHT11是采用PTAT能隙材料制成的溫度敏感元件,因而具有很好的線性輸出。實(shí)際溫度值可由下式算得:Temperature=d1+d2×SOT
式中:d1和d2為特定系數(shù),d1的取值與SHT11工作電壓有關(guān),d2的取值則與SHT11內(nèi)部A/D轉(zhuǎn)換器采用的分辨率有關(guān),其對應(yīng)關(guān)系分別如表4和表5所列。露點(diǎn)計(jì)算
露點(diǎn)是一個(gè)特殊的溫度值,是空氣保持某一定濕度必須達(dá)到的最低溫度。當(dāng)空氣的溫度低于露點(diǎn)時(shí),空氣容納不了過多的水分,這些水分會(huì)變成霧、露水或霜。露點(diǎn)可以根據(jù)當(dāng)前相對濕度值和溫度值計(jì)算得出,具體的計(jì)算公式如下:LogEW=0.66077+7.5×T/(237.3+T)+log10(SORH)-2Dp=((0.66077-logEW)×237.3)/(logEW-8.16077)式中:T為當(dāng)前溫度值,SORH為相對濕度值,Dp為露點(diǎn)。3.3.4鍵盤ZLG8279源程序BUFM
EQU7FFFH
BUFS
EQU3FFFH
ORG0000H
AJMPMAIN
ORG0013H
AJMPPINT1
MAIN:MOVSP,#60H
;設(shè)置堆棧
CLRP3.4
;8279復(fù)位
SETBP3.4
CLRP3.4
MOVDPTR,#BUFM
;指向命令/狀態(tài)口
MOVA,#0D1H
;送清除命令
MOVX@DPTR,A
WAIT:MOVXA,@DPTR
;讀入8279狀態(tài)字
JBACC.7,WAIT
;等待清除命令完成
MOVA,#01H
;送方式字
MOVX@DPTR,A
MOVA,#34H
;設(shè)置分頻命令字12MHz
MOVX@DPTR,A
SETBEA
SETBEX1
;允許響應(yīng)8279中斷
SJMP$
;讀取鍵盤子程序:
PINT1:
MOVDPTR,#BUFM
MOVA,#40H
;讀8279、每次讀一個(gè)單元的內(nèi)容
MOVX@DPTR,A
MOVDPTR,#BUFS
MOVXA,@DPTR
;
MOVR2,A
ANLA,#38H
;計(jì)算鍵號
RRA
RRA
RRA
MOVB,#4
MULAB
XCHA,R2
ANLA,#7
ADDA,R2
MOV78H,A
DISLED:MOVDPTR,#BUFM
;寫顯示RAM命令送8279
MOVA,#80H
MOVX@DPTR,A
MOVR0,#78H
;顯示數(shù)據(jù)的首地址送R0
MOVA,@R0
;取顯示數(shù)據(jù)
MOVDPTR,#LEDSEG
;加偏移量
MOVCA,@A+DPTR
;查表將顯示數(shù)據(jù)轉(zhuǎn)換為段碼
MOVDPTR,#BUFS
MOVX@DPTR,A
;寫入顯示RAM
RETI
LEDSEG:DB0C0H,0F9H,0A4H,0B0H;
DB99H,92H,82H,0F8H;
DB80H,90H,88H,83H;
DB0C6H,0A1H,86H,8EH
END8279應(yīng)用程序鍵盤和LED顯示程序
;*8279初始化*
;*KEYCOM為8279命令口KEYDAT為8279數(shù)據(jù)口*
KEYCOMXDATA0E601H
KEYDATXDATA0E600H
KEYCAMEQU30H;定義存放按鍵值RAM起始地址
ORG0000H
AJMPSTART
ORG0003H
LJMPAAA
ORG0060H
START:MOVR0,#10
MOVDPTR,#KEYCOM;命令口地址
MOVA,#10H;鍵盤/顯示方式命令字8字符顯示左入口,編碼鍵盤,雙鍵鎖定
MOVX@DPTR,A
MOVA,#34H;程序時(shí)鐘命令26分頻對外部輸入時(shí)鐘
MOVX@DPTR,A
MOVA,#0DFH;清除顯示緩沖區(qū)命令
MOVX@DPTR,A
BUSY1:MOVXA,@DPTR
JBACC.7,BUSY1
MOVIE,#81H
MOVDPTR,#KEYDAT
MOVA,#0C8H
MOVX@DPTR,A;字型送入8279
INCDPTR
MOVA,#90H
MOVX@DPTR,A;字位送入8279(顯示P)
HA7S2:MOV30H,#80H
MOV31H,#40H
HA7S3:MOVDPTR,#KEYCOM
MOVXA,@DPTR
ANLA,#07H
CJNEA,#00H,HA7S4;
AJMPHA7S3
HA7S4:MOVDPTR,#KEYDAT
MOVXA,@DPTR
MOVB,A;取鍵值
MOVR1,#00H
MOVDPTR,#KEYTAB;數(shù)字鍵鍵值表
HA7S5:MOVA,#00H
MOVCA,@A+DPTR
CJNEA,B,HA7S6;查鍵值表是否相同
AJMPHA7SA;轉(zhuǎn)數(shù)字鍵處理程序
HA7S6:INCDPTR;鍵值表地址加1
INCR1;查找次數(shù)加1
MOVA,R1
JBACC.4,HA7S7;是功能鍵嗎?
AJMPHA7S5;繼續(xù)查找
HA7S7:MOVR1,#00H
MOVDPTR,#KEYTAB1;功能鍵表地址
HA7S8:MOVA,#00H
MOVCA,@A+DPTR;取出功能鍵鍵值
CJNEA,B,HA7S9;鍵值相同嗎?
AJMPHA7SC;轉(zhuǎn)功能鍵處理子程序
HA7S9:INCDPTR
INCR1
MOVA,R1
JNBACC.2,HA7S8;繼續(xù)查找
LJMPSTART
;;;AJMPHA7SD;無按鍵返回
HA7SD:LJMPSTART
HA7SA:MOVA,30H
MOVDPTR,#0FE01H
MOVX@DPTR,A;字位送入8279
MOVA,R1
MOVR0,31H
MOV@R0,A
INC31H
MOVDPTR,#CDATA
MOVCA,@A+DPTR;取字型代碼
MOVDPTR,#KEYDAT
MOVX@DPTR,A;送8279顯示
INC30H
MOVA,30H;字位加1
CJNEA,#88H,HA7SB;
LJMPHA7S2
HA7SB:AJMPHA7S3
HA7SC:MOVDPTR,#KJPADDR
MOVA,R1
RLA
;;ADDA,R1
ADDA,#00H
JMP@A+DPTR;
KJPADDR:LJMPLOOP0
LJMPLOOP1
LJMPLOOP2
KEYTAB:DB0C1H,0C8H,0C9H,0D0H,0D8H,0E0H,0C2H,0CAH,0D1H,0D9H
DB0DAH,0C3H,0CBH,0D2H,0D3H,0DBH
KEYTAB1:DB0E3H,0E2H,0E1H
CDATA:DB0CH,9FH,4AH,0BH,99H,29H,28H,8FH,08H,09H,88H,38H,6CH,1AH,68H,0E8H
LOOP0:MOVR5,#0CH;0
LJMPDISPC
LOOP1:MOVR5,#9FH;1
LJMPDISPC
LOOP2:MOVR5,#4aH;2
DISPC:MOVR6,#80H
DISPC1:MOVDPTR,#KEYCOM
MOVX@DPTR,A;字位送8279
MOVA,R5
MOVDPTR,#KEYDAT;字形送8279
MOVX@DPTR,A
LCALLDELAY1
;MOVA,#0FFH
;MOVX@DPTR,A;關(guān)顯示
;INCR6;
;CJNER6,#88H,DISPC1
;AJMPDISPC;
LJMPHA7S2
AAA:NOP
NOP
RETI
DELAY1:MOVR1,#0FAH
DELAY2:NOP
NOP
DJNZR1,DELAY2
DJNZR0,DELAY1
RET
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度倉儲搬遷及物流配送服務(wù)協(xié)議3篇
- 河北省邯鄲市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版階段練習(xí)(下學(xué)期)試卷及答案
- 提升旅游消費(fèi)活力的戰(zhàn)略與實(shí)施路徑
- 廣西梧州市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版質(zhì)量測試((上下)學(xué)期)試卷及答案
- 廣西梧州市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版小升初真題((上下)學(xué)期)試卷及答案
- 機(jī)場改造項(xiàng)目建議書
- 信息技術(shù)市場需求分析
- 四人合伙投資協(xié)議書范本
- 反射療法師3級考試題庫(含答案)
- 成都市農(nóng)貿(mào)市場建設(shè)技術(shù)要求(2019年版)(完整版)
- 2024-2030年版中國IPVPN服務(wù)行業(yè)發(fā)展現(xiàn)狀及投資商業(yè)模式分析報(bào)告
- 【7歷期末】安徽省蕪湖市弋江區(qū)2023~2024學(xué)年七年級上學(xué)期期末考試歷史試卷(含解析)
- 北京市海淀區(qū)2021-2022學(xué)年第一學(xué)期四年級期末考試語文試卷(含答案)
- 2024-2030年中國企業(yè)大學(xué)行業(yè)運(yùn)作模式發(fā)展規(guī)劃分析報(bào)告
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 生物 含解析
- 通用電子嘉賓禮薄
- GB/T 3280-2015不銹鋼冷軋鋼板和鋼帶
- 模塊一:外貿(mào)業(yè)務(wù)操作技能試題
評論
0/150
提交評論