太陽能熱水器畢業(yè)論文論文_第1頁
太陽能熱水器畢業(yè)論文論文_第2頁
太陽能熱水器畢業(yè)論文論文_第3頁
太陽能熱水器畢業(yè)論文論文_第4頁
太陽能熱水器畢業(yè)論文論文_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、xxx科技大學(xué)本科生畢業(yè)設(shè)計(jì)說明書(畢業(yè)論文)題 目:基于單片機(jī)太陽能熱水器控制系統(tǒng)的設(shè)計(jì)學(xué)生姓名:學(xué) 號(hào):專 業(yè):自動(dòng)化班 級(jí):指導(dǎo)教師:基于單片機(jī)太陽能熱水器控制系統(tǒng)的設(shè)計(jì)摘要今天,環(huán)境問題、能源問題日益突出,給我們的生活帶來了極大的壓力。盡管這些年新興能源已經(jīng)得到了很好的發(fā)展,但是依舊還是無法解決日趨嚴(yán)峻的能源壓力。由于不可再生資源的逐漸減少我們很自然會(huì)把目光對(duì)準(zhǔn)一些可再生資源,這里就不得不提到太陽能,太陽能對(duì)我們目前而言可謂是一種取之不盡用之不竭的寶藏,然而由于我們目前的科學(xué)技術(shù)手段還不能充分的利用太陽能。在本設(shè)計(jì)中我會(huì)給大家介紹一種目前已經(jīng)算是比較成熟的太陽能應(yīng)用技術(shù),他就是太陽能熱

2、水器。太陽能熱水器以其諸多的優(yōu)點(diǎn)受到人們的歡迎。 本文結(jié)合實(shí)際太陽能熱水器的具體應(yīng)用,通過軟硬件設(shè)計(jì),實(shí)現(xiàn)以51系列單片機(jī)為核心器件,擴(kuò)展外圍接口電路,如鍵盤與顯示等。實(shí)現(xiàn)按設(shè)定時(shí)間自動(dòng)上水、手動(dòng)上水以及上水期間有音量提示;陰冷天按照設(shè)定溫度要求可自動(dòng)加熱等功能。關(guān)鍵詞:?jiǎn)纹瑱C(jī);太陽能;熱水器solar energy water heater based on mcu controller designabstractabstract: today, environmental issues, energy issues have become increasingly prominent,

3、to give our lives has brought great pressure. although these years emerging energy already obtained the very good development, but still can not solve the increasingly serious energy pressure. as a result of non-renewable resources are gradually reduced naturally we will focus on some renewable reso

4、urce, it will have to solar energy, solar energy to our current character it may be said is an inexhaustible inexhaustible treasure, however due to our current scientific and technical hand paragraph was not very good use of its ten one or two. in this design i will give you a present is already rel

5、atively mature solar energy application technology, he is the solar water heater.the solar energy water heater with its many advantages is welcome of people.through the software and hardware design, realization to 51 series microcontroller as the core device, peripheral expansion interface circuit,

6、such as the keyboard and display. according to the set time realize automatic sheung shui, manual sheung shui and sheung shui during the volume tip; cold day temperature can be set according to requirements heating etc. function. keywords: scm, solar energy water heater .目錄第一章 前言11.1 太陽能熱水器的發(fā)展概況及市場(chǎng)競(jìng)

7、爭(zhēng)分析11.2 太陽能熱水器的應(yīng)用及意義2第二章 設(shè)計(jì)思路及仿真軟件32.1 方案設(shè)計(jì)32.2 關(guān)于proteus3第三章 太陽能熱水器控制系統(tǒng)硬件設(shè)計(jì)93.1 各單元模塊功能及設(shè)計(jì)93.2 基于at89c51單片機(jī)及其外圍電路單元93.3 水位檢測(cè)和溫度檢測(cè)接口電路113.3.1 上水及排空控制電路和輔助加熱電路133.3.2 4x4矩陣鍵盤設(shè)計(jì)143.3.3 顯示接口電路的設(shè)計(jì)173.4 特殊元件介紹193.4.1 at89c51芯片193.4.2 溫度傳感器ds18b20263.4.3 74ls164簡(jiǎn)介29第四章 控制系統(tǒng)的軟件設(shè)計(jì)314.1 主程序設(shè)計(jì)314.2 led顯示子程序31

8、4.3 鍵盤中斷子程序32參考文獻(xiàn).34附錄1.36第一章 前言1.1 太陽能熱水器的發(fā)展概況及市場(chǎng)競(jìng)爭(zhēng)分析目前,我國已經(jīng)成為全球最大的太陽能熱水器生產(chǎn)銷售國家之一,年產(chǎn)量幾乎是全世界所有的國家生產(chǎn)量之和,已經(jīng)有100多家生產(chǎn)太陽能熱水器的廠家遍布全國各地。 但是最為核心的控制系統(tǒng)我們目前卻還是一直處在研究與開發(fā)的初級(jí)階段,這是個(gè)很尷尬的事情。我們的控制系統(tǒng)只是簡(jiǎn)單有一些顯示溫度和顯示液位的功能,而并沒有很強(qiáng)的溫度控制功能,不能滿足需要,因?yàn)楫?dāng)遇到各種由光照條件不足的情況下,我們的用戶使用起來就非常的不方便;即便是一些有輔助加熱功能的熱水器,也由于不能很好的控制加熱溫度加熱時(shí)間等而產(chǎn)生各種問題

9、,由此大大的浪費(fèi)了能源。 本設(shè)計(jì)將重點(diǎn)解決這一問題,這款控制系統(tǒng)我們以at89c51 這一十分常用的單片機(jī)作為我們檢測(cè)控制的核心元件, 不但可以很好的實(shí)現(xiàn)對(duì)時(shí)間、 溫度和水位所有系統(tǒng)參數(shù)實(shí)時(shí)顯示和控制,還可以根據(jù)用戶需要自行實(shí)現(xiàn)時(shí)間、溫度的設(shè)定以及控制等強(qiáng)大功能。對(duì)于大滯后參數(shù)溫度我們采用采用模糊控制,這樣控制系統(tǒng)就可以根據(jù)當(dāng)?shù)靥鞖鉅顩r的實(shí)時(shí)條件應(yīng)用系統(tǒng)的輔助加熱裝置實(shí)現(xiàn)在預(yù)定時(shí)間加熱蓄水箱內(nèi)水的水達(dá)到用戶預(yù)先設(shè)定的溫度,這樣就實(shí)現(xiàn)了24小時(shí)內(nèi)都有熱水供應(yīng)的用戶需求。目前,太陽能熱水器是我們已知的最為常見,最為成熟的一種成熟型產(chǎn)品,他有著十分廣闊的市場(chǎng)前景和巨大的經(jīng)濟(jì)效益, 現(xiàn)在已經(jīng)得到了十分

10、迅的推廣以及應(yīng)用,太陽能熱水器所必須的熱能,為我們使用,方便快捷。當(dāng)今社會(huì)發(fā)展日新月異, 人們衣食住行生活水平也在不斷的提高。 現(xiàn)在市場(chǎng)上用的電熱型熱水器雖然也應(yīng)用很廣但是應(yīng)為費(fèi)用比較昂貴以及他在安全性的局限性遠(yuǎn)無法和我們綠色低碳的太陽能熱水器比。這樣的市場(chǎng)背景就極大的方便了陽能熱水器壯大和發(fā)展。因?yàn)樘柲軣崴鞑]有上述缺點(diǎn),他是綠色低碳環(huán)保型產(chǎn)品。這一款熱水器他包括主、 從兩部分系統(tǒng): 主系統(tǒng)的最大特點(diǎn)是在光照條件足夠的情況下利用陽光能加熱;而從系統(tǒng)就是相當(dāng)于現(xiàn)有的電熱水器。在由于光照條件不足的情況下用電加熱它在無光照的情況下利用電輔助加熱。 它充分利用太陽能的豐富的免費(fèi)的資源的優(yōu)勢(shì), 同

11、時(shí)考慮到在陰天及夜間無法利用太陽能的來滿足用戶需求。這就很好的解決了現(xiàn)有市場(chǎng)熱水器的一些尷尬問題,方便了人們的日常生活。1.2 太陽能熱水器的應(yīng)用及意義我們都知道,可再生資源,太陽能是一種非常環(huán)保且儲(chǔ)量及其龐大的新型能源。 隨著我們現(xiàn)在經(jīng)濟(jì)以及科技的發(fā)張能源問題已經(jīng)日益嚴(yán)重,目前我們擁有的傳統(tǒng)能源的儲(chǔ)量在迅速的減少,而且這一趨勢(shì)還將日益嚴(yán)重,這就迫使我們盡量開發(fā)新能源,而太陽能毫無疑問是一個(gè)絕佳的選擇,太陽能以其種種優(yōu)勢(shì)今后必將成為我們的主要能源。當(dāng)然太陽能也有其局限性和其自身的劣勢(shì),不過隨著我們科學(xué)技術(shù)的進(jìn)步這些問題都將得到很好的解決目前的一些技術(shù)難題終將被攻克。相比較而言,在現(xiàn)有的太陽能技

12、術(shù)的利用中,太陽能熱水器已經(jīng)是最為成熟并且已經(jīng)得到普遍推廣使用的成熟型技術(shù)。這一技術(shù)已經(jīng)被人們普遍的接受并廣泛應(yīng)用,已經(jīng)給我們的能源問題緩解了壓力,也已經(jīng)改善了我們?nèi)找鎳?yán)重的環(huán)境問題,有理由相信在不久的將來他必將得到更好,更長遠(yuǎn)的發(fā)展。我們國家很早就已經(jīng)開始發(fā)展與推廣太陽能熱水器了,而且也取得了很好的成績,現(xiàn)在我國已經(jīng)是全球從推廣、應(yīng)用等最為成熟的國家。這些年涌現(xiàn)出了許多許多有自己特色的而且規(guī)模宏大的, 屬于我們自己的太陽能企業(yè)。我們擁有自己的學(xué)術(shù)中心,有我們自己的發(fā)展技術(shù)中心,可以說我們已經(jīng)形成了一個(gè)體系,一個(gè)逐步完善與壯大的太陽能發(fā)展利用的體系。當(dāng)然并不是只用我們能看到太陽能的這一巨大優(yōu)勢(shì)

13、,全世界各國都在積極的發(fā)展這這一新興能源,并且也取得了一定的成果。我們并不能放松,還需要繼續(xù)加大力度。第二章 設(shè)計(jì)思路及仿真軟件2.1 方案設(shè)計(jì)本設(shè)計(jì)中的太陽能熱水器控制系統(tǒng)at89c51單片機(jī)為檢測(cè)控制中心單元, 不僅可以同時(shí)實(shí)現(xiàn)對(duì)溫度以及水位這兩種系統(tǒng)參數(shù)的實(shí)時(shí)性的顯示功能,而且還可以根據(jù)用戶需求對(duì)時(shí)間、溫度以及其水位狀況實(shí)現(xiàn)與設(shè)定。該控制系統(tǒng)還能夠根據(jù)當(dāng)?shù)貙?shí)際的太陽光照條件利用輔助加熱器即我們通常的電加熱器來使蓄水箱里面的水可以達(dá)到用戶預(yù)先設(shè)定好的設(shè)定溫度,這樣就可以實(shí)現(xiàn)全天候不間斷的24小時(shí)熱水供應(yīng)??傮w設(shè)計(jì)框圖如圖2-1 所示。mcs51單片機(jī)水箱電源鍵盤輸入輔助加熱led顯示報(bào)警提

14、示溫度傳感器電磁閥液位傳感器手動(dòng)排水手動(dòng)上水圖2-1 系統(tǒng)硬件結(jié)構(gòu)框圖2.2 關(guān)于proteusproteus這款軟件是由英國labcenter electronics公司出版的一款eda工具軟件(該軟件中國總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不但用有很多其他的eda工具軟件所擁有的仿真功能,而且這款軟件還可以仿真單片機(jī)及外圍器件,這是其他一些eda軟件所不具有的。它可以說是目前在單片機(jī)及其外圍器件的仿真工具中是最為方便快捷,而且功能強(qiáng)大的仿真軟件。雖然在我國國內(nèi)的推廣起步比較晚,但是這并不影響其深深地被廣大的單片機(jī)愛好者以及那些長期以來一直在從事單片機(jī)這一相關(guān)行業(yè)的人士,還有那些長期以來一

15、直致力于單片機(jī)系統(tǒng)的開發(fā)應(yīng)用的那些科技工作者們他們的青睞與喜愛。他之所以如此廣受好評(píng)與歡迎與其自身的強(qiáng)大功能密不可分。不論是原理布圖亦或者是單片機(jī)其他外圍電路的一些協(xié)同仿真以及必不可少的代碼調(diào)試,proteus是十分的完整與快捷,它還可以非常方便的一鍵切換到pcb的設(shè)計(jì)當(dāng)中,從真正意義上實(shí)現(xiàn)了把電路仿真軟件、pcb設(shè)計(jì)軟件和模擬模型仿真軟件這三款軟件三合為一的強(qiáng)大的設(shè)計(jì)平臺(tái)。它的處理器模型可以說是支持目前市場(chǎng)上幾乎所有常見的那些單片機(jī)。更為優(yōu)越的是他在編譯方面,也同樣強(qiáng)大支持了常見的多種編譯器。 proteus軟件具有原理布圖、pcb自動(dòng)或人工布線及spice仿真這些其它eda工具軟件(例:m

16、ultisim)的功能。并且有自身的突出特點(diǎn):用戶完全能夠?qū)崟r(shí)的使用像ram,rom,鍵盤,馬達(dá)等等這些器件,實(shí)現(xiàn)我們?cè)O(shè)計(jì)的電路的互動(dòng)仿真;可以仿真市場(chǎng)常見的主流51單片機(jī) 甚至可以在根據(jù)我們自己的原理圖實(shí)現(xiàn)原理圖的虛擬原型上編程,然后再配合適當(dāng)?shù)娘@示器進(jìn)行輸出,這樣我們就完全可以看到在其必須要運(yùn)行以后才能看到的輸入輸出的效果。在配合系統(tǒng)自身配置的虛擬邏輯分析儀、示波器等,proteus就建立了一個(gè)十分完善的功能強(qiáng)大的電子產(chǎn)品的設(shè)計(jì)與開發(fā)的環(huán)境。 (1)智能原理圖設(shè)計(jì)(isis)豐富的器件庫:超過27000種元器件,可方便地創(chuàng)建新元件; 支持智能器件搜索:通過模糊搜索可以方便快捷的找到我們要找

17、的器件;支持智能連線;支持總線結(jié)構(gòu):非常方便清晰的簡(jiǎn)化我們的設(shè)計(jì)中的復(fù)雜的線路;支持高質(zhì)量圖紙的輸出。 (2)完善的電路仿真功能(prospice)prospice混合仿真;超過27000個(gè)仿真器件還可以自行設(shè)計(jì)我們需要的仿真器件,labcenter也在不斷地發(fā)布這各種新的仿真器件,他還可以導(dǎo)入第三方發(fā)布的仿真器件以供我們的方便使用; 多樣的激勵(lì)源;各種虛擬儀器:有13種虛擬儀器,操作效果十分清晰逼真;仿真顯示:它的引腳的數(shù)字電平是用不同顏色的色點(diǎn)來顯示,而且導(dǎo)線以不同顏色還可以表示其對(duì)地電壓大小,結(jié)合各種我們所需的動(dòng)態(tài)器件(如電機(jī)、顯示器件、按鈕)的使用那就使得我們的仿真效果更加清晰直觀;高

18、級(jí)圖形仿真功能(asf);(3)獨(dú)特的單片機(jī)協(xié)同仿真功能(vsm)支持主流的cpu類型,而且cpu類型將會(huì)隨著版的本升級(jí)繼續(xù)不斷的增加,如即將支持cortex、dsp處理器; 支持通用外設(shè)模型,其compim(com口物理接口模型)還可以使仿真電路通過pc機(jī)串口和外部電路實(shí)現(xiàn)雙向異步串行通訊; 實(shí)時(shí)仿真:支持幾乎所有的主流仿真; 編譯及其調(diào)試:支持單片機(jī)中最為原始普遍的匯編語言仿真,其內(nèi)部本身就帶有8051等的匯編編譯器,還可以與我們熟悉的iar,keil其他第三方集成編譯環(huán)境(如iar、keil和hitech)相互結(jié)合,進(jìn)行高級(jí)語言像c語言,c+等的源碼級(jí)仿真以及調(diào)試的工作; (4)實(shí)用的p

19、cb設(shè)計(jì)平臺(tái)原理圖到pcb的快速通道: 當(dāng)我們把自己的原理圖設(shè)計(jì)好后,我們非常方便的就可以一鍵可進(jìn)入ares的pcb設(shè)計(jì)環(huán)境,這樣我們就能夠完美的實(shí)現(xiàn)各個(gè)產(chǎn)品的概念及實(shí)際產(chǎn)品的設(shè)計(jì); 強(qiáng)大的布線功能:無需我們自己動(dòng)手不僅支持自動(dòng)布局還支持器件自動(dòng)布線;支持各個(gè)不同引腳之間的交換或者不同門之間的交換,這樣就使的pcb的設(shè)計(jì)更加的合理更清晰; pcb設(shè)計(jì)功能:最多可設(shè)計(jì)16個(gè)銅箔層,2個(gè)絲印層,4個(gè)機(jī)械層(含板邊),靈活的布線策略供用戶設(shè)置,自動(dòng)設(shè)計(jì)規(guī)則檢查,3d 可視化預(yù)覽; proteus有著豐富的資源:1proteus給我們提供了的元器件資源十分豐富,有超過三十個(gè)可供我們選擇的元件庫,除此之

20、外更有遠(yuǎn)超過幾千種的豐富元件來支持我們?cè)O(shè)計(jì)中的不同選擇數(shù)字模擬,交流直流可謂是應(yīng)有盡有,給我們的設(shè)計(jì)帶來了極大的方便。 2proteus可提供的各種仿真儀表資源 :他不僅給我們提供了豐富的元器件資源同時(shí)也提供了各種儀表等仿真元件像十分常見的示波器、邏輯分析儀等等亦或者是像spi調(diào)試器、i2c調(diào)試器這些高端的調(diào)試器或者各種主流信號(hào)發(fā)生器,模式發(fā)生器;還有所有交直流電壓電流等儀表。我們實(shí)現(xiàn)了同一儀器可以方便的在同一電路中隨便的移動(dòng)調(diào)換使用。 3proteus還超越我們想像的給我們提供了一個(gè)十分強(qiáng)大的功能那就是圖形顯示功能,我們這樣就可以隨意的將線路上各種不斷變化著的信號(hào),以清晰直觀的圖形的方式非常

21、直觀動(dòng)感的呈現(xiàn)在我們面前,這一功能咋看和示波器有些相似但是卻遠(yuǎn)遠(yuǎn)的超過示波器,它的功能更加完善。所有這些虛擬儀器儀表都很完美的具有了我們理想的參數(shù)指標(biāo),例如極高的輸入阻抗、極低的輸出阻抗。這些都盡可能減少了儀器對(duì)測(cè)量結(jié)果的影響。 4proteus可提供的調(diào)試手段 proteus在電路的信號(hào)測(cè)試中擁有這非常豐富的測(cè)試信號(hào)。所有這些測(cè)試信號(hào)不但包括了包括模擬信號(hào)而且還有數(shù)字信號(hào)。 電路仿真在proteus繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.hex,我們可以在proteus的原理圖中非常直觀的看到我們所模擬出的那些實(shí)際物體的運(yùn)行狀態(tài)和過程。 proteus 是單片機(jī)課堂教學(xué)的先進(jìn)助手。

22、proteus不但把一些非常枯燥無聊的單片機(jī)實(shí)例改變的非常形象,而且還把許多實(shí)力運(yùn)行的過程更加直觀的呈現(xiàn)在我們面前,是我們更加容易接受。雖然前者我們可以理解為在一定程度上的實(shí)現(xiàn)實(shí)物演示所帶來的直觀實(shí)驗(yàn)的效果,可是后者卻是我們一般的實(shí)物演示實(shí)驗(yàn)所非常不容易達(dá)到的那種效果效果。 他雖然提供很多新的東西但是它的元器件包括它的連接線路等卻和我們以前常見的傳統(tǒng)意義的單片機(jī)實(shí)驗(yàn)硬件還能狗非常好的一一對(duì)應(yīng)。這就是說在某些程度上已經(jīng)替代了我們傳統(tǒng)意義上的那些的單片機(jī)實(shí)驗(yàn)所能狗帶來的教學(xué)功能。我們現(xiàn)在的學(xué)生為了在將來很好的走向就業(yè),我們就要提高我們的實(shí)際動(dòng)手能力,課程設(shè)計(jì)或者是畢業(yè)設(shè)計(jì)這就是我們提高我們實(shí)際能力

23、的一個(gè)十分重要平臺(tái)或者是環(huán)節(jié)。在我們?cè)盒5膶?shí)際實(shí)驗(yàn)室中資源或許并不能滿足我們的需求這時(shí)proteus就成為我們最好的選擇。 現(xiàn)今科學(xué)技術(shù)發(fā)展十分迅猛,我們改變很多與以往不同的想法,以便能更好的利用科技進(jìn)步所帶來的便捷,“計(jì)算機(jī)仿真技術(shù)”或許以前我們并不熟悉,但是在今天他或許已經(jīng)是我們必不可少的做產(chǎn)品開發(fā)設(shè)計(jì)的一個(gè)強(qiáng)大工具。毫無疑問我們它選擇他是因?yàn)槲覀兛粗仄湓O(shè)計(jì)靈活,過程趣味化,以及結(jié)果更加直觀的諸多優(yōu)點(diǎn)。這樣就最大限度的縮短了我們的設(shè)計(jì)時(shí)間,提高了效率,同時(shí)也降低了過程中的損耗,甚至很大程度的降低了我們?cè)O(shè)計(jì)中或制造中的風(fēng)險(xiǎn)。我們有理由相信在單片機(jī)的外來的開發(fā)與應(yīng)用的過程中proteus也勢(shì)必

24、將得到更好的推廣與發(fā)展。 基本操作1、選擇元件:p按鈕2、選擇要使用的元件在pick device窗口雙擊相應(yīng)元件名稱,即可將元件添加到主界面左側(cè)的列表中3、放置元件到繪圖區(qū)單擊列表中的元件,然后在右側(cè)的繪圖區(qū)單擊,即可將元件放置到繪圖區(qū)。(每單擊一次鼠標(biāo)就繪制一個(gè)元件,在繪圖區(qū)空白處單擊右鍵結(jié)束這種狀態(tài))4、刪除元件右擊元件一次表示選中(被選中的元件呈紅色),選中后再一次右擊則是刪除。5、移動(dòng)元件右擊選中,然后用左鍵拖動(dòng)。6、旋轉(zhuǎn)元件左下角旋轉(zhuǎn)工具欄7、元件連線在引腳上鼠標(biāo)指針變成x狀,單擊,移動(dòng)到目的引腳,再次單擊。8、刪除連線同刪除元件9、繪制電源和地單擊工具欄上的左起第8個(gè)工具(int

25、er-sheet terminal),左側(cè)工具欄顯示terminals,可在其中選擇power或ground,像放置元件一樣放置到繪圖區(qū)。目前proteus的最新版為7.10,arm cortex處理器被增加,在7.9中已經(jīng)增加dsp系列(tms320)。第三章 太陽能熱水器控制系統(tǒng)硬件設(shè)計(jì)在本章節(jié)中主要解決太陽能熱水器硬件各單元模塊的功能以及要用到的元件。3.1 各單元模塊功能及設(shè)計(jì)硬件部分主要分為at89c51 外圍電路單元、 水位檢測(cè)及溫度檢測(cè)電路、 輔助加熱電路、鍵盤輸入電路和led 顯示電路。3.2 基于at89c51單片機(jī)及其外圍電路單元單片機(jī)系統(tǒng)由at89c51 和一定功能的外圍

26、電路組成,包括為單片機(jī)提供復(fù)位的復(fù)位電路,提供單片機(jī)工作時(shí)所必須的時(shí)鐘信號(hào)的時(shí)鐘電路,如圖3-1所示。在單片機(jī)中, rst 引腳時(shí)復(fù)位信號(hào)輸入端, 復(fù)位信號(hào)為高電平時(shí)有效, 其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩周期以上才能完成復(fù)位操作。 復(fù)位電路極性電容c3 的大小直接影響復(fù)位時(shí)間, 一般采用10至30uf, 容值越大需要的復(fù)位時(shí)間越短, 在本設(shè)計(jì)中, 使用的是約為12mh z的石英晶體振蕩器,這時(shí)電容c3 的大小選取10uf,r1和 r2的大小分別是200 和 和 1k,這樣就能進(jìn)行可靠的上電復(fù)位和手動(dòng)復(fù)位操作,時(shí)鐘是單片機(jī)運(yùn)行的基礎(chǔ),因此,時(shí)鐘的速度和穩(wěn)定性都直接影響單片機(jī)的工作。單片機(jī)的時(shí)鐘信號(hào)一

27、般來說有常見的兩種電路方式:內(nèi)部振蕩方式和外部振蕩方式。本設(shè)計(jì)我們采用其更為常見的內(nèi)部振蕩方式,在其引腳xtal1 和引腳xtal2 之間外接一個(gè)晶振和微調(diào)電c1、c2, 這樣與at89c51單片機(jī)本身自帶一個(gè)高增益的反相放大器就可以順利的一起來構(gòu)成常見且很有用的自激振蕩器 , 以此來產(chǎn)生振蕩時(shí)鐘脈沖。 c1和c2 的作用主要是用來快速起振以及能夠很好的穩(wěn)定振蕩頻率,本設(shè)計(jì)中選取的是電容值大小0.01uf 的兩個(gè)電容。晶振頻率的典型值為6mhz、 12mhz 和 24mhz,,高可達(dá)到40mhz 。晶振的頻率越高, 系統(tǒng)時(shí)鐘頻率也越高, 單片機(jī)的運(yùn)行速度就越快, 本設(shè)計(jì)選取的是12mhz。單片

28、機(jī)是按照一定的時(shí)序?yàn)榛鶞?zhǔn)來工作的,其基準(zhǔn)就是時(shí)鐘的振蕩的頻率,所有操作都是以時(shí)鐘頻率的倍數(shù)為最小單位來進(jìn)行的。時(shí)鐘周期是單片機(jī)的基本時(shí)間單位,晶振的振蕩的頻率為12mhz 時(shí),時(shí)鐘周期 時(shí),為1/12us=0.0833us。機(jī)器周期是cpu 完成一個(gè)基本操作所需要的時(shí)間。單片機(jī)中常把執(zhí)行一條指令的過程分為幾個(gè)機(jī)器周期,每個(gè)機(jī)器周期內(nèi)完成一個(gè)基本操作。單片機(jī)以每12振蕩周期為一個(gè)機(jī)器周期,晶振頻率為12mhz 時(shí),機(jī)器周期為12/12us=1us。圖3-1 at89c51 單片機(jī)外圍電路這部分單元在proteus 軟件里的仿真圖如圖3-2 所示。圖 3-2 at89c51單片機(jī)外圍電路仿真圖3.

29、3 水位檢測(cè)和溫度檢測(cè)接口電路熱水器都有一個(gè)蓄水箱,而我們要對(duì)其水位和溫度這兩個(gè)重要參數(shù)進(jìn)行相關(guān)檢測(cè)和控制,這是這一設(shè)計(jì)的重點(diǎn),我們只有能夠準(zhǔn)確的檢測(cè)出這兩個(gè)參數(shù)才能對(duì)其進(jìn)行相關(guān)控制,才能通過單片機(jī)的軟件部分計(jì)算什么時(shí)候需要進(jìn)行輔助加熱。然而要真確檢測(cè)出這些數(shù)據(jù)我們有很多傳感器可以選擇,綜合考慮系統(tǒng)成本等其他相關(guān)因素, 在本設(shè)計(jì)中我們采用分段式的這種液位傳感器,在水位顯示上我們也是采用分這種傳感器。水位檢測(cè)部分的硬件連接如圖3-3 所示。圖 3-3 水位監(jiān)測(cè)及顯示接口電路檢測(cè)原理如下: 當(dāng)水箱中無水, 4個(gè)非門輸入端全部由一個(gè)大小為1m 歐姆的上拉電阻我們把他上啦成高電平, 所以圖中各非門輸出

30、就都是低電平,這樣發(fā)光二極管 led1led4 就都不會(huì)點(diǎn)亮。向水箱注水當(dāng)水位高出非門1那個(gè)時(shí)候由于水的導(dǎo)電作用使得非門1 的輸入探針導(dǎo)電這就使得,使其輸入端很容易的變?yōu)榱说碗娖剑宰匀欢黄漭敵龆司妥優(yōu)榱烁唠娖剑?led 就點(diǎn)亮了,其他的都是一個(gè)道理就不一一舉例。 隨著水位的上升, 各非門輸出相繼為高電平, led依次點(diǎn)亮。 因?yàn)樗怯须娮璧倪@就提醒我們所選的上拉電阻不可以太小,要足夠大,以保證在水位升高的過程中能把非門的輸入端絕對(duì)的上啦成為低電平。更具經(jīng)驗(yàn), 這個(gè)上拉電阻我們一般選擇在500k1m 歐姆左右就足以解決上訴問題且能很好地滿足電路的工作要求。這部分電路單元在proteus 里

31、的仿真圖如3-4所示。由于proteus 里做不出水箱所以本設(shè)計(jì)里將水位到達(dá)的那一位置用開關(guān)來表示,即水位到了那一位置, 開關(guān)閉合。 如圖所示, 假設(shè)水位到達(dá)第一個(gè)水位段, 則開關(guān)1 閉合, led 1亮,依此類推。為了使at89c51 隨時(shí)能夠讀出當(dāng)前的水位情況, 這里把水位信號(hào)直接連接 這里把水位信號(hào)直接連接到 p2.4p2.7。蓄水箱溫度檢測(cè)電路采用 ds18b20 芯片使其換成脈沖信號(hào), 與p2. 0 相連送到 at89c51的 的i/o 口,通過測(cè)量輸出脈沖頻率的大小來換算成水溫高低信號(hào),其在 來換算成水溫高低信號(hào),在proteus 里的仿真圖如圖3-5 所示。圖 3-4 水位檢測(cè)電

32、路仿真圖圖 3-5 ds18b20 與 at89c51 連接圖仿真3.3.1 上水及排空控制電路和輔助加熱電路太陽能熱水器要具有自動(dòng)上水以及手動(dòng)排空的功能。其結(jié)構(gòu)圖如圖3-6 所示。圖 3-6 上水及排空結(jié)構(gòu)圖太陽能熱水器開始工作后, 其水箱里是要有一定水位的, 在這里設(shè)定為1 單位水(這個(gè)單位是指水箱滿水位后將其平均分成n 份中的一份),不足1 單位水時(shí)通過單片機(jī)控制冷水水閥來向太陽能熱水器水箱里加水,到1 單位后通過水位檢測(cè)得到結(jié)果送到單片機(jī)里 得到結(jié)果送到單片機(jī)里, 其通過控制冷水水閥停止加水。 在單片機(jī)里設(shè)定用水時(shí)間及溫度 后, 由于各地日照時(shí)間不一樣, 因此預(yù)加熱時(shí)間通常是在用水時(shí)間

33、前1 小時(shí)通過單片機(jī)查詢得來, 預(yù)加熱時(shí)間到達(dá)后開啟輔助加熱電路, 輔助加熱電路如圖3-7 所示, 其余部分時(shí)間都是有日照來使水溫上升的。 水箱里的水溫超過設(shè)定水溫時(shí), 單片機(jī)控制冷水水閥向水箱里加1 單位水,加1 單位水后通過水位檢測(cè)電路返回給單片機(jī),停止加水。在實(shí)際生活中,要保持干凈衛(wèi)生,太陽能熱水器里的水每隔一段時(shí)間是要定期換水,這一部分功能通過手動(dòng)控制裝置來控制,就不與單片機(jī)相連增加其復(fù)雜度。圖3-7 所示是太陽能熱水器的輔助加熱部分,工作原理: 當(dāng)單片機(jī)at89c51p2.1 口輸出高電平時(shí), 三極管 t1 導(dǎo)通導(dǎo)通, 致使發(fā)光二極管發(fā)光, 同時(shí)光敏三極管t2 導(dǎo)通, 繼電器閉合,

34、電阻絲r1-r4 發(fā)熱, 這樣就完成了加熱任務(wù), 此電路雖然簡(jiǎn)單, 但在太陽能熱水器 但在太陽能熱水器中是必不可少的。圖 3-7輔助加熱電路圖3.3.2 4x4矩陣鍵盤設(shè)計(jì)在我們常見的一些單片機(jī)系統(tǒng)中,如果所需要設(shè)定的按鍵數(shù)量比較多的時(shí)候,我們就可以考慮矩陣式鍵盤,這種鍵盤通常也被稱作行列式鍵盤,這種鍵盤與那種獨(dú)立式按鍵鍵盤相比較能夠節(jié)省出很多的i/0 口。 圖3-8 中為at89c51單片機(jī)p1 口構(gòu)成的中斷方式44鍵盤鍵盤電路。 通常, 鍵盤的工作方式有三種, 即編程掃描、 定時(shí)掃描和中斷掃描。 采用編程掃描或定時(shí)掃描方式時(shí),這樣的話不管我們是不是去按下其中的一個(gè)鍵, cpu 都會(huì)無時(shí)無刻

35、不停的去掃描鍵盤,但是我們都知道單片機(jī)應(yīng)用系統(tǒng)在正常工作時(shí)的情況下,其實(shí)根本不需要經(jīng)常的去燒苗其鍵盤輸入, 這樣的話就是說: cpu基本一直處在一種空掃描的狀態(tài)下,極大的浪費(fèi)了cpu資源。 為能夠更好的提高cpu 的工作效率,在本設(shè)計(jì)中我們選擇中斷掃描的這樣一種工作方式。 它的工作過程如下: 只要沒有按鍵按下的時(shí)候,cpu 就可以不去掃描只處理自己的工作; 當(dāng)有任意一個(gè)鍵按下的時(shí)候, 就產(chǎn)生一個(gè)中斷請(qǐng)求信號(hào), cpu停下自己的工作在去執(zhí)行鍵盤掃描的子程序,這樣在識(shí)別鍵號(hào)。 圖 3-8 中, 鍵盤的行線與 p1口的低四位相連,鍵盤的列線與p1 口的高四位相連,因此, p1.0p1.3 是鍵輸出線

36、, p1.4 p1.7 是掃描輸入線。圖中的4 輸入與門用于產(chǎn)生按鍵中斷,其輸入端與各行線相連, 在通過上拉電阻接至+5v 電源電源, 其輸出端接至單片機(jī)的外部中斷輸入端。 電路工作過程如下: 當(dāng)鍵盤無鍵按下時(shí), 與門各輸入端均為高電平, 保持輸出端為高電平; 當(dāng)有鍵按下時(shí), 輸出端為低電平, 向cpu 申請(qǐng)中斷, 若cpu 開放外部中斷, 則會(huì)響應(yīng)中斷請(qǐng)求,轉(zhuǎn)去執(zhí)行鍵盤掃描子程序。16 個(gè)鍵號(hào) 個(gè)鍵號(hào)ki(i =0-f )次序?yàn)閺淖笙蛴遥瑥纳舷蛳乱来闻帕?。圖 3-8 at89c51 p1 口構(gòu)成的 44 中斷方式鍵盤這部分電路在proteus 里的仿真圖如圖3-9所示。圖 3-9中斷方式鍵盤

37、電路的仿真圖鍵盤掃描工作原理: 我們假設(shè)以圖中“8” 號(hào)鍵的識(shí)別過程作為一個(gè)例子來詳細(xì)的說明掃描法究竟是如何識(shí)別某一個(gè)按鍵的過程。 按鍵按下,那么和這個(gè)鍵相連的兩條行線、列線就會(huì)導(dǎo)通, 行線在沒有任何鍵按下的時(shí)候是處于高電平的。 這就必須把每一條列線都讓其處在低電平, 只有在這樣的情況下, 如果再有某個(gè)鍵按下的時(shí)候, 那么這個(gè)鍵所在的那一行,行電平就會(huì)由高電平轉(zhuǎn)變?yōu)榈碗娖健?這時(shí)cpu就會(huì)根據(jù)這一行電平的變化,來判定相應(yīng)行的到底是否有鍵按下。 為進(jìn)一步的確定具體是那一個(gè)鍵, 這就不能同時(shí)把所有的列線在同一個(gè)時(shí)刻全部都處在低電平,我們可以在某一時(shí)刻僅僅讓其中一條列線處在低電平,而其余的所有都處在

38、高電平,在另一時(shí)刻的時(shí)候, 就讓下一列處在低電平,這樣循環(huán)下去。 在“8”號(hào)鍵按下時(shí)的整個(gè)工作過程, 當(dāng)?shù)? 列處于低電平時(shí),第2 行處于低電平,而第1、2 列處于低電平時(shí),第2 行卻處于高電平,由此可判定按下的鍵應(yīng)是第2 行與第0 列的交叉點(diǎn), 即8 號(hào)鍵。16 個(gè)鍵號(hào), 0 9 定義為數(shù)字鍵了,a f 定義為功能鍵, a 定義為時(shí)間,即a 按下進(jìn)行時(shí)間設(shè)定, b 定義為溫度,即 b 按下進(jìn)行溫度設(shè)定, c 定義為上水,即c 按下單片機(jī)通過外接設(shè)備對(duì)水箱進(jìn)行加水, d 定義為確定鍵。 e定義為清除鍵。3.3.3 顯示接口電路的設(shè)計(jì)led數(shù)碼管顯示是利用半導(dǎo)體發(fā)光制成條形的發(fā)光二極管, 封裝在

39、一起組成數(shù)字或其他符號(hào)形狀。數(shù)碼管根據(jù)公共端不同,分為共陰極和共陽極兩種形式。本設(shè)計(jì)中選用7seg-mpx4-cc 4個(gè)共陰極二極管顯示器。這種類型的顯示器,在它的內(nèi)部中,除各個(gè)公共端外,是把各個(gè)顯示器的同名端并聯(lián)起來的。比如說,四位一體的led顯示器,是每個(gè)腳的同名端并接,所以仍是有8個(gè)引腳,再加上4個(gè)公共端,就是有12個(gè)引腳。本設(shè)計(jì)中這部分的仿真電路圖如圖 3-10 所示。圖 3-10 顯示電路數(shù)碼管的分類:數(shù)碼管如果按段數(shù)分為七段的和八段的數(shù)碼管,八段的就是比七段的多出一個(gè)二極管(也就是顯示小數(shù)點(diǎn)的那一位);如果按照顯示“8”的個(gè)數(shù)的多少來分的話那就可以分為:1位,2位和4位數(shù)碼管;假設(shè)

40、按照他們內(nèi)部單元的連接方式來分的話就可以分為共陰和共陽極,把每個(gè)小發(fā)光二極管的陽極相連所得到的就是共陽極數(shù)碼管,在使用的時(shí)候需要在公共端接一個(gè)高電平,在電路中某一字段的發(fā)光二極管由于電平的變化使得其陰極變?yōu)榱说碗娖剑敲催@時(shí)候這一字段就會(huì)點(diǎn)亮,反之。驅(qū)動(dòng)方式:要使數(shù)碼管要正常顯示,就要使用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,這樣才能顯示出我們要的那一個(gè)數(shù)字,因此根據(jù)所用的數(shù)碼管的使用的不同的驅(qū)動(dòng)方式,這樣就可以兩種一種是靜態(tài)式和另一種動(dòng)態(tài)式。 靜態(tài)顯示驅(qū)動(dòng):通常我們所稱的直流驅(qū)動(dòng)也就是通常所謂的靜態(tài)驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)指的就是將數(shù)碼管里的每一個(gè)段碼都要由單片機(jī)中的某一個(gè)的i/o端口來進(jìn)行驅(qū)動(dòng)顯示。 動(dòng)態(tài)

41、顯示驅(qū)動(dòng):數(shù)碼管的動(dòng)態(tài)顯示接口在一般的常見的單片機(jī)的使用中是非常廣泛的也是最為常見的一種普通的顯示方式之一。數(shù)碼管應(yīng)用電流:靜態(tài)時(shí)的時(shí)候推薦使用10-15ma的電流,當(dāng)動(dòng)態(tài)的時(shí)候,由于16/1動(dòng)態(tài)掃描的時(shí)候,那么平均電流就為4-5ma,峰值為電流50-60ma。 1、顯示效果: 由于發(fā)光二極管內(nèi)部本身基本上屬于電流的敏感型器件,而其正向電壓降的分散性就很大, 而且與溫度還有很大關(guān)系,數(shù)碼管必須要具有十分良好的亮度以及均勻度,這就要求他具有非常恒定而且穩(wěn)定的工作電流,還要盡量避免被溫度以及其他外界因素所干擾。另外,如果遇到溫度變化的時(shí)候驅(qū)動(dòng)芯片必須能夠很好的自動(dòng)調(diào)節(jié)其輸出電流的大小以此來實(shí)現(xiàn)色差

42、以及平衡溫度的補(bǔ)償。2、安全性: 發(fā)光管很容易收到損壞的即便使是很短時(shí)間的電流過載也是非常有可能對(duì)這發(fā)光管非常嚴(yán)重且是永久性的嚴(yán)重?fù)p壞,假設(shè)采用恒流驅(qū)動(dòng)后就可以防止由于各種由于電流故障所引起的導(dǎo)致數(shù)碼管的大面積損壞。像其他一般超大規(guī)模集成電路一樣都是具有熱保護(hù)功能的,假設(shè)其中任何一片的數(shù)碼管溫度超過其本身的一定值的時(shí)候就可以自動(dòng)關(guān)斷了,并且還可以很容易的在控制室內(nèi)看到所有的故障顯示。怎樣來測(cè)量數(shù)碼管的引腳,分共陰和共陽? 找公共共陰和公共共陽首先,我們找個(gè)電源(3到5伏)和1個(gè)1k(幾百的也歐的也行)的電阻, vcc串接個(gè)電阻后和gnd接在任意2個(gè)腳上,組合有很多,但總有一個(gè)led會(huì)發(fā)光的找到

43、一個(gè)就夠了,然后用gnd不動(dòng),vcc(串電阻)逐個(gè)碰剩下的腳,如果有多個(gè)led(一般是8個(gè)),那它就是共陰的了。相反用vcc不動(dòng),gnd逐個(gè)碰剩下的腳,如果有多個(gè)led(一般是8個(gè)),那它就是共陽的。也可以直接用數(shù)字萬用表,紅表筆是電源的正極,黑表筆是電源的負(fù)極。3.4 特殊元件介紹3.4.1 at89c51芯片at89c51是一種帶4k字節(jié)flash存儲(chǔ)器(fperomflash programmable and erasable read only memory)的低電壓、非常高性能的cmos 8位主流微處理器,也就是人們俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器是限制的不可以無限制擦除只可以反

44、復(fù)擦除1000次。該器件采用atmel高密度非易失存儲(chǔ)器的先進(jìn)的制造技術(shù)而制造成的,他是與通常的工業(yè)標(biāo)準(zhǔn)的mcs-51的指令集以及輸出管腳全部相互兼容的,可以有很好的兼容性。由于將具有很多功能的8位cpu和閃爍存儲(chǔ)器而組合而成在單個(gè)芯片當(dāng)中中。主要特性:與mcs-51 兼容 4k字節(jié)的可編程flash存儲(chǔ)器 壽命:1000寫/擦循環(huán) 數(shù)據(jù)保留時(shí)間:10年 全靜態(tài)工作:0hz-24mhz 三級(jí)程序存儲(chǔ)器鎖定 1288位內(nèi)部ram32位可編程i/o線 兩個(gè)16位定時(shí)器/計(jì)數(shù)器 5個(gè)中斷源 可以進(jìn)行編程的串行式通道 閑置、掉電模式 在片內(nèi)的振蕩器和時(shí)鐘電路 表1 中斷向量表:特性概述:at89c51

45、 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)的flash(閃存),以及擁有128個(gè)字節(jié)的內(nèi)部ram,32 個(gè)i/o 口線,還有其自帶的兩個(gè)16位的定時(shí)/計(jì)數(shù)器,以及一個(gè)有5個(gè)中斷向量的二級(jí)中斷結(jié)構(gòu),還有那一個(gè)全雙工方式的串行通信接口,以及單片機(jī)的片內(nèi)自帶振蕩器及時(shí)鐘電路。同時(shí),at89c51可降至0hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止cpu的工作,但允許ram,定時(shí)/計(jì)數(shù)器,串行通信口不會(huì)停止運(yùn)行,而且中斷系統(tǒng)也還保持原來的狀態(tài)。在突然掉電的情況下ram里面的內(nèi)容將會(huì)被完整的保存下來而不丟失,與之不同的是振蕩器停止工作,全部的硬件正在執(zhí)行的工作也會(huì)被停止,一直等到一個(gè)硬件復(fù)位的

46、信號(hào)。單片機(jī)的結(jié)構(gòu)和特殊寄存器,這是你編寫軟件的關(guān)鍵。至于串口通信需要用到那些特殊功能寄存器呢,它們是scon,tcon,tmod,scon等,各代表什么含義呢? sbuf 數(shù)據(jù)緩沖寄存器這是一個(gè)可以直接尋址的串行口專用寄存器。有朋友這樣問起過“為何在串行口收發(fā)中,都只是使用到同一個(gè)寄存器sbuf?而不是收發(fā)各用一個(gè)寄存器。”實(shí)際上sbuf 包含了兩個(gè)獨(dú)立的寄存器,一個(gè)是發(fā)送寄存,另一個(gè)是接收寄存器,但它們都共同使用同一個(gè)尋址地址99h。cpu 在讀sbuf 時(shí)會(huì)指到接收寄存器,在寫時(shí)會(huì)指到發(fā)送寄存器,而且接收寄存器是雙緩沖寄存器,這樣可以避免接收中斷沒有及時(shí)的被響應(yīng),數(shù)據(jù)沒有被取走,下一幀數(shù)

47、據(jù)已到來,而造成的數(shù)據(jù)重疊問題。發(fā)送器則不需要用到雙緩沖,一般情況下我們?cè)趯懓l(fā)送程序時(shí)也不必用到發(fā)送中斷去外理發(fā)送數(shù)據(jù)。操作sbuf寄存器的方法則很簡(jiǎn)單,只要把這個(gè)99h 地址用關(guān)鍵字sfr定義為一個(gè)變量就可以對(duì)其進(jìn)行讀寫操作了,如sfr sbuf = 0x99;當(dāng)然你也可以用其它的名稱。通常在標(biāo)準(zhǔn)的reg51.h 或at89x51.h 等頭文件中已對(duì)其做了定義,只要用#include 引用就可以了。scon 串行口控制寄存器通常在芯片或設(shè)備中為了監(jiān)視或控制接口狀態(tài),都會(huì)引用到接口控制寄存器。scon 就是51 芯片的串行口控制寄存器。它的尋址地址是98h,是一個(gè)可以位尋址的寄存器,作用就是監(jiān)

48、視和控制51 芯片串行口的工作狀態(tài)。51 芯片的串口可以工作在幾個(gè)不同的工作模式下,其工作模式的設(shè)置就是使用scon 寄存器。在這里只說明最常用的模式1,其它的模式也就一一略過,有興趣的朋友可以找相關(guān)的硬件資料查看。fosc 代表振蕩器的頻率,也就是晶振的頻率。rem 為允許接收位,rem 置1 時(shí)串口允許接收,置0 時(shí)禁止接收。rem 是由軟件置位或清零。如果在一個(gè)電路中接收和發(fā)送引腳p3.0,p3.1 都和上位機(jī)相連,在軟件上有串口中斷處理程序,當(dāng)要求在處理某個(gè)子程序時(shí)不允許串口被上位機(jī)來的控制字符產(chǎn)生中斷,那么可以在這個(gè)子程序的開始處加入rem=0 來禁止接收,在子程序結(jié)束處加入rem=

49、1 再次打開串口接收。大家也可以用上面的實(shí)際源碼加入rem=0 來進(jìn)行實(shí)驗(yàn)。tb8 發(fā)送數(shù)據(jù)位8,在模式2 和3 是要發(fā)送的第9 位。該位可以用軟件根據(jù)需要置位或清除,通常這位在通信協(xié)議中做奇偶位,在多處理機(jī)通信中這一位則用于表示是地址幀還是數(shù)據(jù)幀。rb8 接收數(shù)據(jù)位8,在模式2 和3 是已接收數(shù)據(jù)的第9 位。該位可能是奇偶位,地址/數(shù)據(jù)標(biāo)識(shí)位。在模式0 中,rb8 為保留位沒有被使用。在模式1 中,當(dāng)sm2=0,rb8 是已接收數(shù)據(jù)的停止位。 ti 發(fā)送中斷標(biāo)識(shí)位。在模式0,發(fā)送完第8 位數(shù)據(jù)時(shí),由硬件置位。其它模式中則是在發(fā)送停止位之初,由硬件置位。ti 置位后,申請(qǐng)中斷,cpu 響應(yīng)中斷

50、后,發(fā)送下一幀數(shù)據(jù)。在任何模式下,ti 都必須由軟件來清除,也就是說在數(shù)據(jù)寫入到sbuf 后,硬件發(fā)送數(shù)據(jù),中斷響應(yīng)(如中斷打開),這時(shí)ti=1,表明發(fā)送已完成,ti 不會(huì)由硬件清除,所以這時(shí)必須用軟件對(duì)其清零。ri 接收中斷標(biāo)識(shí)位。在模式0,接收第8 位結(jié)束時(shí),由硬件置位。其它模式中則是在接收停止位的半中間,由硬件置位。ri=1,申請(qǐng)中斷,要求cpu 取走數(shù)據(jù)。但在模式1 中,sm2=1時(shí),當(dāng)未收到有效的停止位,則不會(huì)對(duì)ri 置位。同樣ri 也必須要靠軟件清除。常用的串口模式1 是傳輸10 個(gè)位的,1 位起始位為0,8 位數(shù)據(jù)位,低位在先,1 位停止位為1。它的波特率是可變的,其速率是取決于

51、定時(shí)器1 或定時(shí)器2 的定時(shí)值(溢出速率)。at89c51 和at89c2051 等51 系列芯片只有兩個(gè)定時(shí)器,定時(shí)器0 和定時(shí)器1,而定時(shí)器2是89c52 系列芯片才有的。 波特率在使用串口做通訊時(shí),一個(gè)很重要的參數(shù)就是波特率,只有上下位機(jī)的波特率一樣時(shí)才可以進(jìn)行正常通訊。波特率是指串行端口每秒內(nèi)可以傳輸?shù)牟ㄌ匚粩?shù)。有一些初學(xué)的朋友認(rèn)為波特率是指每秒傳輸?shù)淖止?jié)數(shù),如標(biāo)準(zhǔn)9600 會(huì)被誤認(rèn)為每秒種可以傳送9600個(gè)字節(jié),而實(shí)際上它是指每秒可以傳送9600 個(gè)二進(jìn)位,而一個(gè)字節(jié)要8 個(gè)二進(jìn)位,如用串口模式1 來傳輸那么加上起始位和停止位,每個(gè)數(shù)據(jù)字節(jié)就要占用10 個(gè)二進(jìn)位,9600 波特率用模

52、式1 傳輸時(shí),每秒傳輸?shù)淖止?jié)數(shù)是960010=960 字節(jié)。51 芯片的串口工作模式0的波特率是固定的,為fosc/12,以一個(gè)12m 的晶振來計(jì)算,那么它的波特率可以達(dá)到1m。模式2 的波特率是固定在fosc/64 或fosc/32,具體用那一種就取決于pcon 寄存器中的smod位,如smod 為0,波特率為focs/64,smod 為1,波特率為focs/32。模式1 和模式3 的波特率是可變的,取決于定時(shí)器1 或2(52 芯片)的溢出速率。那么我們?cè)趺慈ビ?jì)算這兩個(gè)模 式的波特率設(shè)置時(shí)相關(guān)的寄存器的值呢?可以用以下的公式去計(jì)算。 波特率=(2smod32)定時(shí)器1 溢出速率 上式中如設(shè)置

53、了pcon 寄存器中的smod 位為1 時(shí)就可以把波特率提升2 倍。通常會(huì)使用定時(shí)器1 工作在定時(shí)器工作模式2 下,這時(shí)定時(shí)值中的tl1 做為計(jì)數(shù),th1 做為自動(dòng)重裝值 ,這個(gè)定時(shí)模式下,定時(shí)器溢出后,th1 的值會(huì)自動(dòng)裝載到tl1,再次開始計(jì)數(shù),這樣可以不用軟件去干預(yù),使得定時(shí)更準(zhǔn)確。在這個(gè)定時(shí)模式2 下定時(shí)器1 溢出速率的計(jì)算公式如下: 溢出速率=(計(jì)數(shù)速率)/(256th1)管腳說明:vcc:電源。gnd:接地端。 p0口:p0口他是一個(gè)有8位漏級(jí)開路的雙向i/o口,其任何一個(gè)引腳都可以吸收8個(gè)ttl的門電流。假如我們是第一次寫當(dāng)p0口的管腳的時(shí)候,這樣就被定義成了高阻輸入。p0還能當(dāng)

54、作外部的一些程序的數(shù)據(jù)存儲(chǔ)器使用,在需要低位數(shù)據(jù)/地址位的時(shí)候還可以用p0口來定義,在flash編程的時(shí)候,p0 口可以當(dāng)作一個(gè)原碼的輸入口使用,當(dāng)flash進(jìn)行相關(guā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í),其管腳

55、被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。 p3口也

56、可作為at89c51的一些特殊功能口,如下表所示: 口管腳 備選功能 p3.0 rxd(串行輸入口) p3.1 txd(串行輸出口) p3.2 /int0(外部中斷0) p3.3 /int1(外部中斷1) p3.4 t0(記時(shí)器0外部輸入) p3.5 t1(記時(shí)器1外部輸入) p3.6 /wr(外部數(shù)據(jù)存儲(chǔ)器寫選通) p3.7 /rd(外部數(shù)據(jù)存儲(chǔ)器讀選通) p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ale/prog:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在flash編程期間,此

57、引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。 psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。 ea/vpp:當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí),在這里的內(nèi)部程的序存儲(chǔ)器。在flash編程期間,這個(gè)引腳通常也用于施加在12v編程電源(vpp)。 xtal1:內(nèi)部時(shí)鐘工作電路的輸入也或者是其反向振蕩放大器的輸入及xtal2:反向振蕩器輸出。 如圖 3-11 所示。振蕩器特性: xtal1和xtal2這兩個(gè)引腳一個(gè)是反向放大器的輸入,另一個(gè)是其輸出。這個(gè)反向放大器可以采用石晶震蕩或者是套餐震蕩來以此配置成為一個(gè)片內(nèi)振蕩器。假設(shè)我們采用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論