




已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
陜西理工學(xué)院畢業(yè)設(shè)計(jì) I 基于單片機(jī)的太陽(yáng)能電池控制器的設(shè)計(jì) 摘要 目前在全世界范圍內(nèi) 由于能源的不可再生和人類的過(guò)度開(kāi)采 全球化的能源危機(jī)已經(jīng)初現(xiàn)端 倪 為此世界各國(guó)競(jìng)相發(fā)展綠色能源 太陽(yáng)能憑借其獨(dú)特的優(yōu)點(diǎn) 受到了一致的青睞 在太陽(yáng)能的各種應(yīng) 用中 光伏發(fā)電應(yīng)用倍受關(guān)注 光伏發(fā)電系統(tǒng)主要有兩種 分布式發(fā)電系統(tǒng)和獨(dú)立式發(fā)電系統(tǒng) 然而現(xiàn)在 光伏發(fā)電應(yīng)用的主流為獨(dú)立式發(fā)電系統(tǒng) 在獨(dú)立式發(fā)電系統(tǒng)中主要由四部分 太陽(yáng)能電池板 控制器 和直流負(fù)載 其中控制器為整個(gè)發(fā)電系統(tǒng)的核心 由于獨(dú)立式發(fā)電系統(tǒng)中蓄電池的充電放電比較頻繁故所 以控制器要對(duì)蓄電池的充電放電進(jìn)行管理 從而延長(zhǎng)蓄電池壽命 減少系統(tǒng)的故障率 提高系統(tǒng)穩(wěn)定性大 大減少發(fā)電運(yùn)營(yíng)成本 本次畢業(yè)設(shè)計(jì)就將對(duì)獨(dú)立式光伏發(fā)電中所要使用到的基于單片機(jī)的太陽(yáng)能蓄電池的 控制器進(jìn)行探討和研究 關(guān)鍵詞 太陽(yáng)能 單片機(jī) 控制器 Abstract At present while most countries all over the world are developing green and renewable energy solar energy is accepted commonly because of its unusual advantages Photovoltaic PV systems are paid more 陜西理工學(xué)院畢業(yè)設(shè)計(jì) II attention to among its various applications PV systems are mainly two stand alone distributed power systems and power generation systems but stand alone systems has been a trend in nowdays Stand alone distributed power systems has four mainly parts the Solar panels the controller the battery and the DC load while in the four parts the controller is the most important one The controller has to decide how and when to charge or discharge because of the high working frequency of the system So the controller can extended the battery life decrease the failure rate make the system steady and reduce the costs of system This gradual design aimed at the study of the controller used in the stand alone systems based on microcontroller Key words solar energy microcontroller controlle 目錄 陜西理工學(xué)院畢業(yè)設(shè)計(jì) III 1 概述 1 1 1 題目要求 1 1 2 題目國(guó)內(nèi)外發(fā)展現(xiàn)狀 1 1 3 題目設(shè)計(jì)目標(biāo)級(jí)功能要求 2 1 4 題目設(shè)計(jì)所需要的環(huán)境 2 2 總體設(shè)計(jì) 3 2 1 硬件總體設(shè)計(jì) 4 2 2 程序總體設(shè)計(jì) 4 3 硬件設(shè)計(jì) 9 3 1 電壓采集電路 9 3 1 1 電壓采樣電路 9 3 1 2ADC0809 模數(shù)轉(zhuǎn)換芯片 9 3 1 3 74LS373 鎖存器 11 3 2 單片機(jī)及其外圍電路 12 3 2 1 單片機(jī)功能引腳介紹 12 3 2 2 單片機(jī)外圍電路 13 3 3 充放電電路 14 3 3 1MOSFET 14 3 3 2 光耦合器件 15 3 3 3PWM 控制技術(shù)介紹 16 3 4 硬件設(shè)計(jì)軟件 18 4 軟件設(shè)計(jì) 19 陜西理工學(xué)院畢業(yè)設(shè)計(jì) IV 4 1 中斷系統(tǒng) 19 4 1 1 中斷系統(tǒng)結(jié)構(gòu) 19 4 1 2 中斷響應(yīng) 22 4 1 3 中斷響應(yīng)過(guò)程 22 4 1 4 中斷請(qǐng)求的撤銷 23 4 2 各設(shè)計(jì)模塊 24 4 2 1 程序初始化模塊 24 4 2 2 定時(shí)器中斷模塊 24 4 2 3A D 轉(zhuǎn)換模塊 25 4 2 4PWM 脈沖寬度控制模塊 25 4 2 5 方案的選擇控制模塊 26 4 2 6 單片機(jī)停止工作的按鍵輸入模塊 26 4 3 軟件總體設(shè)計(jì) 26 5 系統(tǒng)調(diào)試 31 5 1 硬件電路調(diào)試 31 5 2 程序調(diào)試 32 6 其它器件介紹 33 6 1 太陽(yáng)能電池 33 6 2 蓄電池 33 6 2 1 蓄電池分類 33 6 2 2 蓄電池容量 33 6 2 3 蓄電池能量效率 35 陜西理工學(xué)院畢業(yè)設(shè)計(jì) V 6 2 4 蓄電池循環(huán)壽命 35 參考文獻(xiàn) 36 致謝 38 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 1 頁(yè) 共 38 頁(yè) 1 概述 1 1 題目要求題目要求 在全球能源形勢(shì)緊張 全球氣候變暖嚴(yán)重威脅經(jīng)濟(jì)發(fā)展的今天 世界各國(guó)都在尋取新 的能源替代戰(zhàn)略 以求得可持續(xù)發(fā)展及在日后的發(fā)展中獲得優(yōu)勢(shì)地位 太陽(yáng)能以其清潔 可再生 安全等顯著等顯著優(yōu)勢(shì)成為當(dāng)今關(guān)注的重點(diǎn) 尤其是太陽(yáng)能光伏發(fā)電技術(shù) 在近 些年來(lái)更是得到飛速的發(fā)展 時(shí)至今日光伏發(fā)電技術(shù)已經(jīng)極其成熟 在光伏發(fā)電技術(shù)中主 要分為兩種 獨(dú)立式發(fā)電系統(tǒng)和分布式發(fā)電系統(tǒng) 分布式發(fā)電系統(tǒng)則主要應(yīng)用于大規(guī)模的并 網(wǎng)發(fā)電系統(tǒng) 獨(dú)立式發(fā)電系統(tǒng)主要面向小型用戶或者小型負(fù)載 獨(dú)立式發(fā)電系統(tǒng)以其應(yīng)用 靈活 適應(yīng)性強(qiáng)貝越來(lái)越多的應(yīng)用于各個(gè)領(lǐng)域 獨(dú)立式光伏發(fā)電系統(tǒng)主要有 4 部分組 太陽(yáng)能電池板 制器 電池和直流負(fù)載 太陽(yáng)能 電池板和蓄電池的技術(shù)發(fā)展相對(duì)來(lái)說(shuō)比較成熟 而對(duì)于控制器由于所適用的場(chǎng)合有所不同 其對(duì)性能的要求也就各不相同 就一般太陽(yáng)能電池板蓄電池對(duì)于控制器的要求主要側(cè)重于 對(duì)蓄電池充放電的管理 以及對(duì)夜間和白晝的充放電選擇 這樣才能更加合理的利用太陽(yáng) 能 使光伏發(fā)電系統(tǒng)的效率最大化 另一方面通過(guò)單片機(jī)對(duì)蓄電池的過(guò)充電和過(guò)放電的管 理 可以延長(zhǎng)蓄電池的壽命 從而進(jìn)一步提升系統(tǒng)的性價(jià)比 因此對(duì)于設(shè)計(jì)出這樣一種智 能控制器就顯得很必要了 1 2 題目國(guó)內(nèi)外發(fā)展現(xiàn)狀題目國(guó)內(nèi)外發(fā)展現(xiàn)狀 太陽(yáng)光沒(méi)有地域的限制無(wú)論陸地或海洋 無(wú)論高山或島嶼 都處處皆有 可直接開(kāi)發(fā) 和利用 且勿須開(kāi)采和運(yùn)輸 它同以往其他電源發(fā)電原理完全不同 具有以下特點(diǎn) 1 無(wú) 枯竭危險(xiǎn) 2 干凈無(wú)公害 3 不受資源分布地域的限制 4 可在用電處就近發(fā)電 5 能源質(zhì) 量高 6 獲取能源花費(fèi)的時(shí)間短 正是由于以上特點(diǎn) 美國(guó)在經(jīng)歷上世紀(jì) 80 年代能源危機(jī) 后 就一直致力于開(kāi)發(fā)太陽(yáng)能發(fā)電技術(shù) 到現(xiàn)在為止該項(xiàng)技術(shù)在美國(guó) 德國(guó) 瑞士和日本 等國(guó)的技術(shù)發(fā)展和推動(dòng)下 已變得極為成熟 在我國(guó)國(guó)內(nèi)市場(chǎng) 已經(jīng)有很多對(duì)此類控制器 開(kāi)發(fā)研制的技術(shù)廠商和科研院所 因此從某一方面來(lái)講 我國(guó)已完完全全進(jìn)入太陽(yáng)能全面 發(fā)展的時(shí)代 圖 1 1 太陽(yáng)能電池板給直流系統(tǒng)供電的系統(tǒng)結(jié)構(gòu)框圖 太陽(yáng)能 電池板 控制裝置 直流負(fù)載 蓄電池 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 2 頁(yè) 共 38 頁(yè) 太陽(yáng)能電 池 蓄電池 充電控制光耦電路A D 轉(zhuǎn)換 分壓電路 采集電壓 分壓電路 采集電壓 A D 轉(zhuǎn)換 光耦電路放電控制 51 單 片 機(jī) 圖 1 2 本次設(shè)計(jì)中所采用的系統(tǒng)結(jié)構(gòu)框圖 1 3 題目設(shè)計(jì)目標(biāo)及功能要求題目設(shè)計(jì)目標(biāo)及功能要求 在本次設(shè)計(jì)中抓藥要設(shè)計(jì)出一種智能型的太陽(yáng)能電池控制器 對(duì)功能具體要求如下 1 電池長(zhǎng)時(shí)間發(fā)電 電壓較低時(shí)要停止放電 2 蓄電池電壓高于其所能承受的電壓時(shí) 要停止對(duì)其充電 3 通過(guò)電壓采樣檢測(cè) 對(duì)不同的蓄電池不同充電狀態(tài) 采用不同的充電方案 4 對(duì)于整套充放電系統(tǒng)要設(shè)置可手動(dòng)關(guān)停的按鈕 以達(dá)到對(duì)系統(tǒng)更為智能的設(shè)計(jì) 5 通過(guò)設(shè)置時(shí)間 從而根據(jù)光照情況對(duì)蓄電池進(jìn)行自動(dòng)的關(guān)停 6 可對(duì)線路進(jìn)行過(guò)流 短路保護(hù) 本次設(shè)計(jì)中將以 ATMEL 系列中的 AT89S51 單片機(jī)為控制中心 軟硬件的結(jié)合 利用 分壓電路對(duì)蓄電池 太陽(yáng)能電池的電壓 電流進(jìn)行采樣 再經(jīng)過(guò) A D 轉(zhuǎn)換采樣數(shù)據(jù)輸入到 單片機(jī)中進(jìn)行處理 單片機(jī)輸出經(jīng)光耦驅(qū)動(dòng) MOSFET 管來(lái)控制外接電路開(kāi)啟關(guān)閉 該系統(tǒng) 可以實(shí)現(xiàn)控制蓄電池的最優(yōu)充放電 當(dāng)蓄電池電壓在 14 4V 0 5 時(shí) 太陽(yáng)能電池停止對(duì)蓄 電池充電 當(dāng)蓄電池電壓在 10 9V 0 5 時(shí) 蓄電池停止對(duì)負(fù)載放電 負(fù)載電流檢測(cè)電路可 進(jìn)行過(guò)流保護(hù)及負(fù)載功率檢測(cè) 1 4 題目設(shè)計(jì)所需要的環(huán)境題目設(shè)計(jì)所需要的環(huán)境 對(duì)于本次設(shè)計(jì)的關(guān)鍵核心在于 如何對(duì)硬件電路進(jìn)行設(shè)計(jì) 和單片機(jī)程序如何設(shè)計(jì) 現(xiàn)行的硬件電路設(shè)計(jì)和單片機(jī)匯編語(yǔ)言設(shè)計(jì)的主要工具為 proteus 和 keil uVision2 proteus 對(duì)數(shù)字電路的設(shè)計(jì)有著優(yōu)越的性能 它有著龐大的元件庫(kù) 而且元件庫(kù)中擁有大量的微處 理器芯片 另一方面 keil 對(duì)匯編語(yǔ)言進(jìn)行編譯成功后可產(chǎn)生能與 proteus 進(jìn)行聯(lián)機(jī)調(diào)試的 HEX 文件 故在本次設(shè)計(jì)中采用 proteus 和 keil 這兩款軟件分別對(duì)軟硬件進(jìn)行設(shè)計(jì)和仿 真 在接下來(lái)的各個(gè)章節(jié)中 我們就將對(duì)獨(dú)立式光伏發(fā)電系統(tǒng)中的控制器部分 通過(guò) proteus 和 keil 對(duì)其進(jìn)行軟硬件的設(shè)計(jì) 并對(duì)其進(jìn)行仿真 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 3 頁(yè) 共 38 頁(yè) 2 2 總體設(shè)計(jì)總體設(shè)計(jì) 系統(tǒng)設(shè)計(jì)的流程圖如下 Y N Y N Y N N Y 圖 2 1 系統(tǒng)設(shè)計(jì)的流程圖 開(kāi) 始 初始化變量 電壓采集 Vbat 12V Vbat 14 5V Vbat 10 8V 停止充電 快充 浮充 停止放電 是否按鍵輸入 結(jié)束 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 4 頁(yè) 共 38 頁(yè) 由流程圖可知 對(duì)于 整個(gè)充放電過(guò)程主要分為以下 4 個(gè)階段 Vbat 10 8V 時(shí) 電池停止放電 而且當(dāng)有結(jié)束按鍵輸入時(shí)要結(jié)束整個(gè)程序 當(dāng)無(wú)啊 結(jié)束按鍵輸入時(shí) 程序轉(zhuǎn)而對(duì)蓄電池進(jìn)行快充 10 8V Vbat 12V 時(shí) 對(duì)電池進(jìn)行快速充電 12V Vbat 14 5 時(shí) 對(duì)電池進(jìn)行浮充 Vbat 14 5V 時(shí) 對(duì)電池停止充電 執(zhí)行以上各階段程序后 程序要繼續(xù)進(jìn)入電壓檢測(cè)階段 進(jìn)而根據(jù)充電情況對(duì)充放電 方案重新進(jìn)行選擇 由流程圖可以看出沒(méi)有對(duì)充放電進(jìn)行專門的設(shè)置 而是通過(guò)單片機(jī)比較經(jīng)過(guò) A D 轉(zhuǎn)換 過(guò)的采樣電壓的大小來(lái)對(duì)沖電或放電進(jìn)行管理的 當(dāng)電壓值大于 14 5V 時(shí)單片機(jī)發(fā)出信號(hào) 使得充放電電路停止充電 當(dāng)然此時(shí)可以放電回路 可以放電 也可以出斷開(kāi)狀態(tài) 當(dāng) 電壓值小于 10 8V 時(shí) 首先要斷開(kāi)放電回路 然后再通過(guò)一個(gè)外置于單片機(jī)的手動(dòng)開(kāi)關(guān) 若此時(shí)用戶想要控制器停止工作 則按下按鈕 此時(shí)單片機(jī)就會(huì)進(jìn)入停止工作狀態(tài) 若想 讓單片機(jī)繼續(xù)進(jìn)行充放電工作狀態(tài) 則無(wú)需按下按鈕 系統(tǒng)會(huì)自動(dòng)進(jìn)入快充狀態(tài) 之后后 繼續(xù)進(jìn)入下一個(gè)電壓采集轉(zhuǎn)換 以及方案選擇的循環(huán)中 直至用戶需要停止系統(tǒng)工作按下 按鈕 2 1 硬件總體設(shè)計(jì)硬件總體設(shè)計(jì) XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 U1 80C51 D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 OE 1 LE 11 U7 74LS373 OUT1 21 ADD B 24 ADD A 25 ADD C 23 VREF 12 VREF 16 IN3 1 IN4 2 IN5 3 IN6 4 IN7 5 START 6 OUT5 8 EOC 7 OE 9 CLOCK 10 OUT2 20 OUT7 14 OUT6 15 OUT8 17 OUT4 18 OUT3 19 IN2 28 IN1 27 IN0 26 ALE 22 U2 ADC0808 11V 12 34 56 U2 CLOCK 10k 充滿低壓 R2 2 10k 10k R3 1 停止 11MHz 100p 100p 10k 10u 10k 2 7 6 2 3 U6 OPTOCOUPLER NAND 5k 5k 太太陽(yáng)陽(yáng)能能電電池池板板 D1 1N4001 100u Q1 IRF9530 4k1k D2 1N4001 蓄蓄電電池池 Q2 IRF9530 直直流流負(fù)負(fù)載載 7 6 2 3 U8 OPTOCOUPLER NAND 5k 5k 1k 圖 2 1 硬件總體設(shè)計(jì)圖 2 22 2 程序總體設(shè)計(jì)程序總體設(shè)計(jì) ORG 0000H LJMP START ORG 0003H LJMP EXTERN INT ORG 000BH 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 5 頁(yè) 共 38 頁(yè) LJMP TIMER0 INT START MOV SP 050H 設(shè)置堆棧 MOV R0 030H 設(shè)置 A D 存儲(chǔ)單元初始地址 MOV IE 0FFH 打開(kāi)所有中斷 MOV DPTR 0FEF8H 采集通道首地址 只使用一路 A D 就可以 MOV R0 40H MOV R0 00H 清除方案選擇 MOV R0 40H MOV R0 00H 清楚方案選擇觸發(fā)位 MOV R1 042H MOV R0 00H 清除定時(shí)計(jì)數(shù)器 LCALL TIMER1 INT LOOP MOV R0 30H 30H 是 A D 轉(zhuǎn)換的地址 將數(shù)據(jù)和幾個(gè)值進(jìn)行比較 確定方案 MOV A R0 SUBB A 99H 當(dāng)電壓很小的時(shí)候 采用第 1 種方案 想引腳 PWM 發(fā)送占空比為 10 的信號(hào) JC PROCESS 01 MOV A R0 SUBB A 0AAH JC PROCESS 02 很小的時(shí)候 采用第 2 種方案 想引腳 PWM 發(fā) 送占空比為 20 的信號(hào) MOV A R0 SUBB A 0CDH JC PROCESS 03 電壓很小的時(shí)候 采用第 3 種方案 想引腳 PWM 發(fā)送占 空比為 50 的信號(hào) MOV A 04H 當(dāng)電壓超出的時(shí)候 采用第 4 種方案 向引腳 PWM 發(fā)送占空比為 0 的信號(hào) LJMP PROCESS 04 CLEAR FLAG MOV R0 40H 清除方案選擇位 MOV R0 00H MOV R0 41H 清除觸發(fā)位 MOV R0 00H LJMP LOOP PROCESS 01 MOV R1 040H MOV R1 01H 選擇方案 1 PROCESS 01 NEXT CLR P2 4 將和 PWM 連接的管腳置低 此時(shí)停止充電 MOV R1 01H 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 6 頁(yè) 共 38 頁(yè) MOV R0 01H PROCESS 01 01 DJNZ R1 PROCESS 01 01 DJNZ R0 PROCESS 01 01 空跑 16 256 2 個(gè)周期 CLR P2 4 將和 PWM 連接的管腳置低 MOV R1 01H MOV R0 01H PROCESS 01 02 DJNZ R1 PROCESS 01 02 DJNZ R0 PROCESS 01 02 空跑 16 256 2 9 個(gè)周期 MOV R1 041H 當(dāng)方案改變標(biāo)志位到來(lái)的時(shí)候 清楚標(biāo) 志并且重新進(jìn)行判斷 CJNE R1 00H CLEAR FLAG SJMP PROCESS 01 NEXT PROCESS 02 MOV R1 040H MOV R1 02H 選擇方案 2 PROCESS 02 NEXT SETB P2 4 將和 PWM 連接的管腳置高 選擇浮充 MOV R1 01H MOV R0 01H PROCESS 02 01 DJNZ R1 PROCESS 02 01 DJNZ R0 PROCESS 02 01 空跑 16 256 2 個(gè)周期 CLR P2 4 將和 PWM 連接的管腳置低 MOV R1 01H MOV R0 01H PROCESS 02 02 DJNZ R1 PROCESS 02 02 DJNZ R0 PROCESS 02 02 空跑 16 256 2 8 個(gè)周期 MOV R1 041H 當(dāng)方案改變標(biāo)志位到來(lái)的時(shí)候 清除 標(biāo)志并且重新進(jìn)行判斷 CJNE R1 00H CLEAR FLAG SJMP PROCESS 02 NEXT PROCESS 03 MOV R1 040H MOV R1 03H 選擇方案 3 PROCESS 03 NEXT SETB P2 4 將和 PWM 連接的管腳置高 選擇快充 MOV R1 01H MOV R0 01H PROCESS 03 01 DJNZ R1 PROCESS 03 01 DJNZ R0 PROCESS 03 01 空跑 16 256 2 2 個(gè)周期 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 7 頁(yè) 共 38 頁(yè) CLR P2 4 將和 PWM 連接的管腳置低 MOV R1 01H MOV R0 01H PROCESS 03 02 DJNZ R1 PROCESS 03 02 DJNZ R0 PROCESS 03 02 空跑 16 256 2 7 個(gè)周期 MOV R1 041H 當(dāng)方案改變標(biāo)志位到來(lái)的時(shí)候 清除 標(biāo)志并且重新進(jìn)行判斷 CJNE R1 00H CLEAR FLAG SJMP PROCESS 03 NEXT PROCESS 04 CLR P2 4 停止放電 CLR P2 1 MOV R1 040H MOV R1 04H 選擇方案 4 MOV R1 041H CJNE R1 00H CLEAR FLAG SJMP PROCESS 04 TIMER1 INT ANL TMOD 0FH 設(shè)置定時(shí)器 T1 為方式 2 ORL TMOD 10H MOV TMOD 21H 定時(shí)器 T0 工作在方式 1 MOV PCON 080H CLR TR1 禁止定時(shí)器 T1 SETB EA SETB ET1 SETB ET0 SETB PT0 定時(shí)器 T0 中斷優(yōu)于串口中斷 CLR TF1 MOV TL0 00H MOV TH0 01FH 定時(shí)器 T0 中斷發(fā)生時(shí)間為 62 5ms SETB TR0 使能定時(shí)器 T0 CLR TF0 RET 進(jìn)入定時(shí)器中斷 每 500ms 設(shè)置 1 次標(biāo)志位 TIMER0 INT PUSH ACC 累加器入棧 PUSH PSW 程序狀態(tài)字入棧 MOV PSW 18H 切換寄存器區(qū)域 CLR TF0 清除定時(shí)器 TF0 CLR TR0 禁止定時(shí)器 T0 MOV TL0 00H MOV TH0 01FH 定時(shí)器 T0 中斷發(fā)生時(shí)間為 6 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 8 頁(yè) 共 38 頁(yè) CLR TF0 清除溢出中斷位 MOV R1 042H INC R1 增加計(jì)數(shù)器的值 到 8 為止 這樣達(dá)到 500ms CJNE R1 08H TIMER0 READY MOV R1 00H 清除計(jì)數(shù)器的值 MOV R1 041H 設(shè)置標(biāo)志位 每 500ms 重新選擇方案 MOV R1 01H TIMER0 READY SETB TR0 使能定時(shí)器 T0 POP PSW 程序狀態(tài)字出棧 POP ACC 累加器出棧 RETI 進(jìn)入外部中斷 每進(jìn)入一次讀取 ADC 的值 EXTERN INT PUSH ACC 累加器壓棧 PUSH PSW 程序狀態(tài)字壓棧 MOV PSW 010H 切換寄存器區(qū)域 MOV DPTR 0FEF8H A D 轉(zhuǎn)換器首地址 MOVX A DPTR 讀入 A D 的值 MOV R1 030H 存儲(chǔ) A D 轉(zhuǎn)換器的數(shù)據(jù)的地址 MOV R1 A 將 A D 的值讀入該地址 POP PSW 程序狀態(tài)字出棧 POP ACC 累加器出棧 RETI END 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 9 頁(yè) 共 38 頁(yè) 3 3 硬件設(shè)計(jì)硬件設(shè)計(jì) 3 13 1 電壓采集電路電壓采集電路 3 1 13 1 1 電壓采樣電路電壓采樣電路 如圖 2 5 所示 電壓采集電路使用兩個(gè)串聯(lián)的電阻 大小比例為 4 1 然后并聯(lián)在需要 檢測(cè)的電壓兩端 從兩個(gè)電阻中間采集電壓 由分壓公式得出采集的電壓為 VR1R21 5 電 池充滿電時(shí)電壓大概為 14 5V 計(jì)算出采集到的電壓為 2 9VA D 轉(zhuǎn)換芯片的 ADC0809 的值 為 94H 圖 3 1 電壓采集電路 假設(shè)蓄電池電壓為 U 則根據(jù)歐姆定律 R I U 和串聯(lián)電路的分壓特性 可得 UAD1 U U U 21 2 RR R kk k 1040 10 5 1 通過(guò)采樣對(duì)蓄電池電壓進(jìn)行采樣后 模數(shù)轉(zhuǎn)換的芯片輸入端所處理的電壓 范圍縮小至 0 3V 大大增強(qiáng)了數(shù)模轉(zhuǎn)換的可行性 3 1 2ADC08093 1 2ADC0809 模數(shù)轉(zhuǎn)換芯片模數(shù)轉(zhuǎn)換芯片 AT89S51 單片機(jī)沒(méi)有內(nèi)置的 A D 轉(zhuǎn)換模塊 因此采集的電壓需要經(jīng) A D 轉(zhuǎn)換才可接 入單片機(jī) 在本次設(shè)計(jì)中 我們采用 ADC0809 對(duì)采樣電壓進(jìn)行數(shù)模轉(zhuǎn)換 ADC0809 為八位逐次比較式 A D 轉(zhuǎn)換芯片 具有 8 路模擬輸入通道和 8 位數(shù)字輸 出通道 其工作頻率為 640kHz 理論上 1kHz 該芯片采用脈沖啟動(dòng)方式 只要給其控制 端加一個(gè)符合要求的脈沖信號(hào)即可啟動(dòng)該芯片進(jìn)行模數(shù)轉(zhuǎn)換 通常用和地址譯碼的輸WR 出經(jīng)過(guò)一定的邏輯電路進(jìn)行控制 對(duì)于本次設(shè)計(jì) 只需把符合要求的電平加到啟動(dòng)控制端 即可可是轉(zhuǎn)換 ADC0809 芯片內(nèi)部邏輯與引腳圖 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 10 頁(yè) 共 38 頁(yè) IN7 DB7 IN0 ADDA ADDB ADDCDB6 ALE a b 圖 3 2 ADC0809 芯片的內(nèi)部邏輯結(jié)構(gòu)與引腳圖 a 內(nèi)部邏輯圖 b 引腳圖 ADC0809 輸入通道地址選擇表 表表 3 13 1 ADC0809ADC0809 輸入通道地址選通表輸入通道地址選通表 ADDC ADDB ADDA選通的通道選通的通道 0 0 0 0 0 1 0 1 0 0 1 1 IN0 IN1 IN2 IN3 三態(tài)鎖存緩沖器 8路模擬開(kāi)關(guān) 地址 鎖存 與譯 碼 A D 轉(zhuǎn)換 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 11 頁(yè) 共 38 頁(yè) 1 0 0 1 0 1 1 1 0 1 1 1 IN4 IN5 IN6 IN7 ADC0809 工作轉(zhuǎn)換時(shí)序 START ALE A B C IN OE EOC D0 D7 圖 3 3 ADC0809 工作時(shí)序圖 3 1 33 1 3 74LS37374LS373 鎖存器鎖存器 74LS373 是一種帶輸出三態(tài)門的 8D 鎖存器 其結(jié)構(gòu)如下圖所示 8D 鎖存器 三態(tài)門 1D 1Q 8D 8Q G OE IN1 IN8OUT1 OUT8 Date 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 12 頁(yè) 共 38 頁(yè) 圖 3 4 74LS373 結(jié)構(gòu)示意圖 1D 8D 為 8 個(gè)輸入端 1Q 8Q 為 8 個(gè)輸出端 G 為數(shù)據(jù)鎖存控制端 當(dāng) G 為 1 時(shí) 鎖存器輸出端同輸入端 當(dāng) G 由 1 變 0 時(shí) 數(shù) 據(jù)輸入鎖存器中 為輸出允許端 當(dāng)為 0 時(shí) 三態(tài)門打開(kāi) 當(dāng)為 1 時(shí) 三態(tài)門關(guān)閉 輸OEOEOE 出呈高阻狀態(tài) 在 51 單片機(jī)系統(tǒng)中 常采用 74LS373 做為地址鎖存器使用 其連接方法如下圖所示 ALE 圖 3 5 74LS373 用作地址鎖存器 3 23 2 單片機(jī)及其外圍電路單片機(jī)及其外圍電路 3 2 13 2 1 單片機(jī)功能引腳介紹單片機(jī)功能引腳介紹 本設(shè)計(jì)使用 51 些列單片機(jī) 51 系列單片機(jī)是 8051 系列的簡(jiǎn)稱 是指 MCS 51 系列單 片機(jī)和其他公司的 8051 派生品 MCS 51 系列單片機(jī)最早是由 intel 公司推出的通用型單片 機(jī) MCS 51 系列單片機(jī)產(chǎn)品可分為兩大系列 51 子系列和 52 子系列 51 子系列的基本 產(chǎn)品是 8031 8051 和 87c51 三種機(jī)型 分別與這三種機(jī)型兼容的低功耗 CMOS 器件產(chǎn)品 是 80C31 80C51 和 87C51 它們的指令系統(tǒng)和芯片引腳完全兼容 它們之間的差別僅在于 片內(nèi)有無(wú) ROM 或 EPROM 1D 1Q 8D 8Q 74LS373 G OE P0 7 P0 0 A7 A0 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 13 頁(yè) 共 38 頁(yè) 圖 3 6 51 單片機(jī)引腳圖 51 單片機(jī)引腳功能 MCS 51 是標(biāo)準(zhǔn)的 40 引腳雙列直插式集成電路芯片 引腳分布請(qǐng)參照 單片機(jī)引腳圖 l P0 0 P0 7 P0 口 8 位雙向口線 在引腳的 39 32 號(hào)端子 l P1 0 P1 7 P1 口 8 位雙向口線 在引腳的 1 8 號(hào)端子 l P2 0 P2 7 P2 口 8 位雙向口線 在引腳的 21 28 號(hào)端子 l P3 0 P3 7 P2 口 8 位雙向口線 在引腳的 10 17 號(hào)端子 P0 口有三個(gè)功能 1 外部擴(kuò)展存儲(chǔ)器時(shí) 當(dāng)做數(shù)據(jù)總線 如圖 1 中的 D0 D7 為數(shù)據(jù)總線接口 2 外部擴(kuò)展存儲(chǔ)器時(shí) 當(dāng)作地址總線 如圖 1 中的 A0 A7 為地址總線接口 3 不擴(kuò)展時(shí) 可做一般的 I O 使用 但內(nèi)部無(wú)上拉電阻 作為輸入或輸出時(shí)應(yīng)在外部接 上拉電阻 P0 口有三個(gè)功能 1 外部擴(kuò)展存儲(chǔ)器時(shí) 當(dāng)做數(shù)據(jù)總線 如圖 1 中的 D0 D7 為數(shù)據(jù)總線接口 2 外部擴(kuò)展存儲(chǔ)器時(shí) 當(dāng)作地址總線 如圖 1 中的 A0 A7 為地址總線接口 3 不擴(kuò)展時(shí) 可做一般的 I O 使用 但內(nèi)部無(wú)上拉電阻 作為輸入或輸出時(shí)應(yīng)在外部接 上拉電阻 RST 復(fù)位信號(hào) 當(dāng)輸入的信號(hào)連續(xù) 2 個(gè)機(jī)器周期以上高電平時(shí)即為有效 用以完成單片 機(jī)的復(fù)位初始化操作 XTAL1 和 XTAL2 外接晶振引腳 當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí) 此二引腳用于外接石英晶體和 微調(diào)電容 當(dāng)使用外部時(shí)鐘時(shí) 用于接外部時(shí)鐘脈沖信號(hào) VCC 電源 5V 輸入 VSS GND 接地 3 2 23 2 2 單片機(jī)外圍電路單片機(jī)外圍電路 8051 單片機(jī)單片機(jī)及其外圍電路包括上電復(fù)位電路 晶振如圖 11 所示 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 14 頁(yè) 共 38 頁(yè) 圖 3 7 單片機(jī)外圍電路圖 3 33 3 充放電電路充放電電路 3 3 1MOSFET3 3 1MOSFET MOSFET 為金屬 氧化層 體 場(chǎng)效晶體管 簡(jiǎn)稱金氧半場(chǎng)效晶體管 Metal Oxide Semiconductor Field Effect Transistor MOSFET 是一種可以廣泛使用在模擬電路與數(shù)字電 路的場(chǎng)效晶體管 field effect transistor MOSFET 依照其 通道 的極性不同 可分為 n type 與 p type 的 MOSFET 通常又稱為 NMOSFET 與 PMOSFET 其他簡(jiǎn)稱尚包括 NMOS FET PMOS FET nMOSFET pMOSFET 等 對(duì)于這一部分的設(shè)計(jì)由充二極管 D1 濾波電容 C1 續(xù)流二極管 D2 MOSFET 管 Q1 濾波電容 C2 MOSFET 管 Q1 等構(gòu)成 二極管 D1 是為了防反充 當(dāng)陰天或晚上蓄電池的 電壓高于太陽(yáng)能電池的電壓時(shí) D1 就生效 通過(guò)控制開(kāi)關(guān)閉合跟斷開(kāi)的時(shí)間 即 PWM 脈沖寬度調(diào)制 就可以控制輸出電壓 所使用的 MOSFET 是電壓控制單極性金屬氧化物 半導(dǎo)體場(chǎng)效應(yīng)晶體管 所需驅(qū)動(dòng)功率較小 而且 MOSFET 只有多數(shù)載流子參與導(dǎo)電 不存 在少數(shù)載流子的復(fù)合時(shí)間 因而開(kāi)關(guān)頻率可以很高 非常適合作控制充放電開(kāi)關(guān) 設(shè)計(jì)中 采用 IRF9540N P 溝道 MOSFET 管 P 溝道 MOSFET 的導(dǎo)通電壓 Vth 0 由下圖可以實(shí)現(xiàn) MOSFET 的驅(qū)動(dòng) 當(dāng)光耦 U5 導(dǎo)通時(shí) 由于 Q1 的 G 極電壓很小 G 極近似接地 Vgs 0 當(dāng) S 極電壓達(dá)到一定值時(shí) Q1 導(dǎo)通 Q2 的原理類似 電路如圖 3 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 15 頁(yè) 共 38 頁(yè) 圖 3 8 充放電電路 3 3 23 3 2 光耦合器件光耦合器件 光耦合器件是由發(fā)光二極管 發(fā)光源 與受光源 如光敏二極管 光敏晶閘管或光敏 集成電路等 封裝在一起 構(gòu)成的電 光 電轉(zhuǎn)化器件 根據(jù)受光源結(jié)構(gòu)的不同 可以將 光耦合器件分為晶體管輸出的光電耦合器件和晶閘管輸出的光電耦合器件兩大類 圖 3 9 為本次設(shè)計(jì)中所使用的晶體管光耦合器件 1 腳 正極 2 腳 負(fù)極 3 腳 發(fā)射極 4 腳 集電極 TLP521 是可控制的光電藕合器件 光電耦合器廣泛作用在電腦終端機(jī) 可控硅系統(tǒng)設(shè) 備 測(cè)量?jī)x器 影印機(jī) 自動(dòng)售票 家用電器 如風(fēng)扇 加熱器等在 1 2 極之間加正向電 壓 內(nèi)部的發(fā)光二極管 LED 將會(huì)發(fā)出一定波長(zhǎng)的光 被光探測(cè)器接收而產(chǎn)生光電流 3 4 極之間導(dǎo)通 反之 光耦內(nèi)部的發(fā)光二極管的電流近似為零 輸出端兩管腳間的電阻 很大 相當(dāng)于開(kāi)關(guān)斷開(kāi) 由于單片機(jī)輸出只有 5V 不足于驅(qū)動(dòng) MOSFET 管 因此驅(qū)動(dòng) MOSFET 管的電壓從 U3 出接出 電路之間的信號(hào)傳輸 使之前端與負(fù)載完全隔離 目的在于增加安全性 減小電路干 擾 減化電路設(shè)計(jì) 在本次設(shè)計(jì)中由圖 2 7 可知 入信號(hào) C1 為低電平時(shí) 光耦內(nèi)部的發(fā)光二極管的電 流近似為零 輸出端兩管腳間的電阻很大 相當(dāng)于開(kāi)關(guān) 斷開(kāi) 當(dāng) C1 為高電平時(shí) 光耦 內(nèi)部的發(fā)光二極管發(fā)光 輸出端兩管腳間的電阻變小 相當(dāng)于開(kāi)關(guān) 接通 此時(shí)從 U5 輸 入的電壓經(jīng)光耦流向接地端 K1 處的電壓接近為零 MOSEFT 的 Vgs 0 當(dāng) S 極電壓達(dá) 到一定值時(shí) Q1 導(dǎo)通 1 2 4 3 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 16 頁(yè) 共 38 頁(yè) 圖 3 10 光耦開(kāi)關(guān)電路 3 3 3PWM3 3 3PWM 控制技術(shù)介紹控制技術(shù)介紹 PWM Pulse Width Modulation 控制 脈沖寬度調(diào)制技術(shù) 通過(guò)對(duì)一系列脈沖的寬 度進(jìn)行調(diào)制 來(lái)等效地獲得所需要波形 含形狀和幅值 PWM 控制技術(shù)在逆變電路中應(yīng)用最廣 應(yīng)用的逆變電路絕大部分是 PWM 型 PWM 控制技 術(shù)正是有賴于在逆變電路中的應(yīng)用 才確定了它在電力電子技術(shù)中的重要地位 理論基礎(chǔ) 沖量相等而形狀不同的窄脈沖加在具有慣性的環(huán)節(jié)上時(shí) 其效果基本相同 沖量指窄 脈沖的面積 效果基本相同 是指環(huán)節(jié)的輸出響應(yīng)波形基本相同 低頻段非常接近 僅在 高頻段略有差異 t t t t t 0 t t t t a b c d 圖 3 11 形狀不同而沖量相同的各種窄脈沖 面積等效原理 分別將如圖 1 所示的電壓窄脈沖加在一階慣性環(huán)節(jié) R L 電路 上 如圖 2a 所示 其輸 出電流 i t 對(duì)不同窄脈沖時(shí)的響應(yīng)波形如圖 2b 所示 從波形可以看出 在 i t 的上升段 i t 的形狀也略有不同 但其下降段則幾乎完全相同 脈沖越窄 各 i t 響應(yīng)波形的差異 也越小 如果周期性地施加上述脈沖 則響應(yīng) i t 也是周期性的 用傅里葉級(jí)數(shù)分解后將 可看出 各 i t 在低頻段的特性將非常接近 僅在高頻段有所不同 i t i t e t a d c b 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 17 頁(yè) 共 38 頁(yè) a b 圖 3 12 沖量相同的各種窄脈沖的響應(yīng)波形 用一系列等幅不等寬的脈沖來(lái)代替一個(gè)正弦半波 正弦半波 N 等分 看成 N 個(gè)相連的 脈沖序列 寬度相等 但幅值不等 用矩形脈沖代替 等幅 不等寬 中點(diǎn)重合 面積 沖量 相等 寬度按正弦規(guī)律變化 SPWM 波形 脈沖寬度按正弦規(guī)律變化而和正弦波等效的 PWM 波形 0 t t 圖 3 13 用 PWM 原理圖 PWM 波代替正弦半波要改變等效輸出正弦波幅值 按同一比例改變各脈沖寬度即可 PWM 電流波 電流型逆變電路進(jìn)行 PWM 控制 得到的就是 PWM 電流波 PWM 波形可等效的各種波形 直流斬波電路 等效直流波形 SPWM 波 等效正弦波形 還可以等效成其他所需波形 如等效所需非正弦交流波形等 其基本原理和 SPWM 控制相同 也基于等效面積原理 PWM 相關(guān)概念 占空比 就是輸出的 PWM 中 高電平保持的時(shí)間 與 該 PWM 的時(shí)鐘周期的時(shí)間 之比 如 一個(gè) PWM 的頻率是 1000Hz 那么它的時(shí)鐘周期就是 1ms 就是 1000us 如果高電 平出現(xiàn)的時(shí)間是 200us 那么低電平的時(shí)間肯定是 800us 那么占空比就是 200 1000 也 就是說(shuō) PWM 的占空比就是 1 5 分辨率也就是占空比最小能達(dá)到多少 如 8 位的 PWM 理論的分辨率就是 1 255 單斜 率 16 位的的 PWM 理論就是 1 65535 單斜率 頻率就是這樣的 如 16 位的 PWM 它的分辨率達(dá)到了 1 65535 要達(dá)到這個(gè)分辨率 T C 就必須從 0 計(jì)數(shù)到 65535 才能達(dá)到 如果計(jì)數(shù)從 0 計(jì)到 80 之后又從 0 開(kāi)始計(jì)到 80 那么它的分辨率最小就是 1 80 了 但是 它也快了 也就是說(shuō) PWM 的輸出頻 率高了 雙斜率 單斜率 假設(shè)一個(gè) PWM 從 0 計(jì)數(shù)到 80 之后又從 0 計(jì)數(shù)到 80 這個(gè)就是單斜率 假設(shè)一個(gè) PWM 從 0 計(jì)數(shù)到 80 之后是從 80 計(jì)數(shù)到 0 這個(gè)就是雙斜率 可見(jiàn) 雙斜率的計(jì)數(shù)時(shí)間多了一倍 所以輸出的 PWM 頻率就慢了一半 但是分辨率卻 是 1 80 80 1 160 就是提高了一倍 假設(shè) PWM 是單斜率 設(shè)定最高計(jì)數(shù)是 80 我們?cè)僭O(shè)定一個(gè)比較值是 10 那么 T C 從 0 計(jì)數(shù) 到 10 時(shí) 這時(shí)計(jì)數(shù)器還是一直往上計(jì)數(shù) 直到計(jì)數(shù)到設(shè)定值 80 單片機(jī)就會(huì)根據(jù)你的設(shè) 定 控制某個(gè) IO 口在這個(gè)時(shí)候是輸出 1 還是輸出 0 還是端口取反 這樣 就是 PWM 的最基 本的原理了 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 18 頁(yè) 共 38 頁(yè) 3 43 4 硬件設(shè)計(jì)軟件硬件設(shè)計(jì)軟件 本次設(shè)計(jì)中我們用 PROTEUS 對(duì)設(shè)計(jì)中的硬件電路進(jìn)行設(shè)計(jì) Proteus 軟件是英國(guó) Labcenter electronics 公司出版的 EDA 工具軟件 該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子 技術(shù)有限公司 它不僅具有其它 EDA 工具軟件的仿真功能 還能仿真單片機(jī)及外圍 器件 它是目前最好的仿真單片機(jī)及外圍器件的工具 雖然目前國(guó)內(nèi)推廣剛起步 但已 受到單片機(jī)愛(ài)好者 從事單片機(jī)教學(xué)的教師 致力于單片機(jī)開(kāi)發(fā)應(yīng)用的科技工作者的青 睞 Proteus 是世界上著名的 EDA 工具仿真軟件 從原理圖布圖 代碼調(diào)試到單片機(jī) 與外圍電路協(xié)同仿真 一鍵切換到PCB 設(shè)計(jì) 真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì) 是目前世界上唯一將電路仿真軟件 PCB 設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì) 平臺(tái) 其處理器模型支持 8051 HC11 PIC10 12 16 18 24 30 DsPIC33 AVR ARM 8086 和 MSP430 等 2010 年即將增加 Cortex 和 DSP 系列處理器 并持續(xù)增加其他系列處理器模型 在編 譯方面 它也支持 IAR Keil 和 MPLAB 等多種編譯器 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 19 頁(yè) 共 38 頁(yè) 4 4 軟件設(shè)計(jì)軟件設(shè)計(jì) 4 14 1 中斷系統(tǒng)中斷系統(tǒng) 4 1 14 1 1 中斷系統(tǒng)結(jié)構(gòu)中斷系統(tǒng)結(jié)構(gòu) 在 CPU 與外設(shè)交換信息時(shí) 存在著一個(gè)快速的 CPU 與慢速的外設(shè)之間的矛盾 為 解決這個(gè)問(wèn)題 發(fā)展了中斷的概念 單片機(jī)在某一時(shí)刻只能處理一個(gè)任務(wù) 當(dāng)多個(gè)任務(wù)同時(shí)要求單片機(jī)處理時(shí) 這一要 求應(yīng)該怎么實(shí)現(xiàn)呢 通過(guò)中斷可以實(shí)現(xiàn)多個(gè)任務(wù)的資源共享 中斷現(xiàn)象在現(xiàn)實(shí)生活中也會(huì)經(jīng)常遇到 例如 你在看書(shū) 手機(jī)響了 你在書(shū)上 作個(gè)記號(hào) 你接通電話和對(duì)方聊天 談話結(jié)束 從書(shū)上的記號(hào)處繼續(xù)看書(shū) 這就是 一個(gè)中斷過(guò)程 通過(guò)中斷 你一個(gè)人在特定的時(shí)刻 同時(shí)完成了看書(shū)和打電話兩件事情 用計(jì)算機(jī)語(yǔ)言來(lái)描述 所謂的中斷就是 當(dāng) CPU 正在處理某項(xiàng)事務(wù)的時(shí)候 如果外界或 者內(nèi)部發(fā)生了緊急事件 要求 CPU 暫停正在處理工作而去處理這個(gè)緊急事件 待處理完 后 再回到原來(lái)中斷的地方 繼續(xù)執(zhí)行原來(lái)被中斷的程序 這個(gè)過(guò)程稱作中斷 從中斷的定義我們可以看到中斷應(yīng)具備中斷源 中斷響應(yīng) 中斷返回這樣三個(gè)要素 中斷源發(fā)出中斷請(qǐng)求 單片機(jī)對(duì)中斷請(qǐng)求進(jìn)行響應(yīng) 當(dāng)中斷響應(yīng)完成后應(yīng)進(jìn)行中斷返回 返回被中斷的地方繼續(xù)執(zhí)行原來(lái)被中斷的程序 主 程 主 中斷 中斷 序 程 中 序 中斷源 斷 中斷源 響 主 應(yīng) 主 程 程 序 序 a b 圖 4 1 中斷系統(tǒng)結(jié)構(gòu)圖 a 一級(jí)中斷系統(tǒng)機(jī)構(gòu)圖 b 二級(jí)嵌套中斷系統(tǒng)結(jié)構(gòu)圖 MCS 51 單片機(jī)的中斷源 MCS 51 單片機(jī)的中斷源共有兩類 它們分別是 外部中斷和內(nèi)部中斷 外部中斷源 外部中斷 0 來(lái)自 P3 2 引腳 采集到低電平或者下降沿時(shí) 產(chǎn)生中斷請(qǐng)求 外部中斷 1 來(lái)自 P3 3 引腳 采集到低電平或者下降沿時(shí) 產(chǎn) 生中斷請(qǐng)求 內(nèi)部中斷源 定時(shí)器 計(jì)數(shù)器 0 定時(shí)功能時(shí) 計(jì)數(shù)脈沖來(lái)自片內(nèi) 計(jì)數(shù)功能時(shí) 計(jì)數(shù)脈沖來(lái)自片外 P3 2 引腳 發(fā)生溢出時(shí) 產(chǎn)生中斷請(qǐng)求 定時(shí)器 計(jì)數(shù)器 1 定時(shí)功能 時(shí) 計(jì)數(shù)脈沖來(lái)自片內(nèi) 計(jì)數(shù)功能時(shí) 計(jì)數(shù)脈沖來(lái)自片外 引腳 發(fā)生溢出時(shí) 產(chǎn)生中斷請(qǐng) 求 串行口 為完成串行數(shù)據(jù)傳送而設(shè)置 單片機(jī)完成接受或發(fā)送一組數(shù)據(jù)時(shí) 產(chǎn)生中斷 請(qǐng)求 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 20 頁(yè) 共 38 頁(yè) MCS 51 單片機(jī)有多個(gè)中斷源 以 8051 為例 有 5 個(gè)中斷源 兩個(gè)外中斷 兩個(gè)定時(shí) 中斷和一個(gè)串行中斷 這一節(jié)我們討論外中斷軟件編程 外中斷是由外部原因引起的中斷 有兩個(gè)中斷源 即外中斷 0 INT0 和外中斷 1 INT1 中斷請(qǐng)求信號(hào)由引腳 P3 2 INT0 和 P3 3 INT1 輸入 外中斷請(qǐng)求信號(hào)有兩種方式 一是電平方式 二是脈沖方式 可通過(guò)有關(guān)控制位的定 義進(jìn)行規(guī)定 電平方式為低電平有效 只需在單片機(jī)的 INT0 和 INT1 中斷請(qǐng)求輸入端采樣到有效 的低電平時(shí) 就會(huì)激活外部中斷 脈沖方式則在脈沖的后負(fù)跳沿有效 即在相鄰兩個(gè)機(jī)器周期對(duì)中斷請(qǐng)求引入端進(jìn)行采 樣中 如前一次為高 后一次為低即為有效中斷請(qǐng)求 這就要求在這種中斷方式 中斷請(qǐng) 求信號(hào)的脈沖寬度必須大于一個(gè)機(jī)器周期 以保證電平變化能被單片機(jī)采樣到 定時(shí)器控制寄存器 TCON 外中斷請(qǐng)求方式的控制位在定時(shí)控制寄存器 TCON 地址為 88H 中的位 88 IT0 和位 8A IT1 兩個(gè)位 當(dāng) IT0 IT1 0 為電平方式 IT0 IT1 1 為脈沖方式 同時(shí)在此寄存器中 的位 89 IE0 和位 8B IE1 為外中斷請(qǐng)求標(biāo)志位 當(dāng) CPU 采樣到 INT0 INT1 端出現(xiàn)有效中 斷請(qǐng)求時(shí) 此位由硬件置 1 在中斷響應(yīng)完成后轉(zhuǎn)向中斷服務(wù)時(shí) 再由硬件自動(dòng)清 0 表 4 1 定時(shí)控制寄存器 定時(shí)器控制寄存器 TCON 位地址 8F8E8D8C8B8A8988 位符號(hào) TF1TR1TF0TR0TE1IT1IE0IT0 中斷允許控制寄存器 IE 表 4 2 中斷允許控制寄存器 中斷允許控制寄存器 IE 位地址 AFAEADACABAAA9A8 位符號(hào) EA ESET1EX1ET0EX0 下面我們對(duì)有關(guān)控制位作說(shuō)明 EA 中斷允許總控制位 EA 0 中斷總禁止 禁止所有中斷 EA 1 中斷總允許 總允許位打開(kāi)后 各中斷的允許或禁止由各中斷允許控制位設(shè)置決定 EX0 EX1 外部中斷允許控制位 EX0 EX1 0 禁止外部中斷 EX0 EX1 1 允許 外部中斷 ET0 ET1 定時(shí) 計(jì)數(shù)中斷允許控制位 ET0 ET1 0 禁止定時(shí) 計(jì)數(shù)中斷 ET0 ET1 1 允許定時(shí) 計(jì)數(shù)中斷 ES 串行中斷允許控制位 ES 0 禁止串行中斷 ES 1 允許串行中斷 中斷的允許和禁止就是中斷的開(kāi)放和關(guān)閉 中斷允許就是開(kāi)放中斷 中斷的禁止就是 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 21 頁(yè) 共 38 頁(yè) 關(guān)閉中斷 從以上說(shuō)明我們可看出 MCS 51 的中斷允許是通過(guò)兩級(jí)控制的 以 EA 位作為 總中斷控制位 以各中斷控制位為分控制位 當(dāng)總中斷位為禁止?fàn)顟B(tài)時(shí) 不管分控制位是 允許或禁止整個(gè)中斷都是禁止的 只有當(dāng) EA 1 允許 時(shí) 才能由各分控制位設(shè)置各自的 中斷允許與禁止 MCS 51 單片機(jī)復(fù)位后 IE 00H 因此中斷處于禁止?fàn)顟B(tài) 值得一提的是 單片機(jī)中斷響應(yīng)后不會(huì)自動(dòng)關(guān)閉中斷 因此在轉(zhuǎn)入中斷服務(wù)程序后 應(yīng)由軟件指令禁止中斷 中斷優(yōu)先級(jí)控制寄存器 IP MCS 51 的中斷優(yōu)先級(jí)控制比較簡(jiǎn)單 只設(shè)置了高 低兩個(gè)級(jí)別的有限級(jí) 各中斷源的優(yōu) 先級(jí)別由優(yōu)先寄存器 IP 進(jìn)行控制 表 4 3 中斷優(yōu)先級(jí)控制器 中斷優(yōu)先級(jí)控制寄存器 IP 位地址 BFBEBDBCBBBAB9B8 位符號(hào) PSPT1PX1PT0PX0 PX0 外中斷 0 INT0 優(yōu)先級(jí)控制位 PT0 定時(shí)中斷 0 T0 優(yōu)先級(jí)控制位 PX1 外中斷 1 INT1 優(yōu)先級(jí)控制位 PT1 定時(shí)中斷 1 T1 優(yōu)先級(jí)控制位 PS 串行中斷 ES 優(yōu)先級(jí)控制位 控制位 0 優(yōu)先級(jí)為低 控制位 1 優(yōu)先級(jí)為高 中斷優(yōu)先級(jí)是為了中斷嵌套服務(wù)的 控制原則為 1 低優(yōu)先級(jí)中斷不能打斷高優(yōu)先級(jí)的中斷服務(wù) 而高優(yōu)先級(jí)的中斷服務(wù)可以打斷低 優(yōu)先級(jí)的中斷服務(wù) 2 同級(jí)的中斷已經(jīng)響應(yīng) 其他中斷將被禁止 3 如果同級(jí)的多個(gè)中斷源同時(shí)出現(xiàn) CPU 將按查詢次序確定哪個(gè)中斷被響應(yīng) 次序 為 外中斷 0 定時(shí)中斷 0 外中斷 1 定時(shí)中斷 1 串行中斷 中斷控制寄存器的狀態(tài)設(shè)置 在應(yīng)用中 我們可以通過(guò)相應(yīng)的控制寄存器來(lái)使用中斷系統(tǒng) 因此從使用的角度上看 這些控制寄存器是面向用戶的 這些控制寄存器既可以進(jìn)行字節(jié)尋址 也可以進(jìn)行位尋址 也就是對(duì)位狀態(tài)的尋址既可以使用字節(jié)操作指令也可以使用位操作指令 例如 MOV IE 81H 如使用位操作指令 也可寫(xiě)為 SETB EA SETB EX0 對(duì)于一般的外中斷程序 我們可以這樣安排 ORG 0000H 主程序入口 START AJMP MAIN ORG 0003H 外中斷程序入口 AJMP INT00 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 22 頁(yè) 共 38 頁(yè) MAIN MOV IE 81H 允許總中斷和外中斷 主程序 INT00 外中斷服務(wù)程序 RETI 中斷返回 4 1 24 1 2 中斷響應(yīng)中斷響應(yīng) 當(dāng) CPU 查詢到中斷請(qǐng)求時(shí) 由硬件自動(dòng)產(chǎn)生一條 LCALL 指令 LCALL 指令執(zhí)行時(shí) 首先將 PC 內(nèi)容壓入堆棧進(jìn)行斷點(diǎn)保護(hù) 再把中斷入口地址裝入 PC 使程序轉(zhuǎn)向相應(yīng)的中 斷區(qū)入口地址 LCALL 指令的形式如下 LCALL addr16 addr16 中斷入口地址 入口地址已由系統(tǒng)設(shè)定 如下 表 4 4 中斷允許控制寄存器 中斷源 入口地址 0003
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 豆類品種識(shí)別與質(zhì)量控制考核試卷
- 電氣設(shè)備批發(fā)商員工激勵(lì)措施考核試卷
- 禮儀用品企業(yè)市場(chǎng)分析與預(yù)測(cè)模型應(yīng)用考核試卷
- 稀土金屬壓延加工中的設(shè)備選型與采購(gòu)策略考核試卷
- 材料老化分析考核試卷
- 棉織造行業(yè)人才培養(yǎng)與技能提升考核試卷
- 認(rèn)證認(rèn)可ISO健康與安全管理考核試卷
- 跨國(guó)財(cái)產(chǎn)申報(bào)風(fēng)險(xiǎn)管理與合同
- 知識(shí)產(chǎn)權(quán)評(píng)估與產(chǎn)業(yè)政策對(duì)接協(xié)議
- 創(chuàng)新人才共有產(chǎn)權(quán)住房分割及交易合同
- 高職高專英語(yǔ)教材電子版單選題100道及答案
- 《員工流失問(wèn)題及建議研究的國(guó)內(nèi)外文獻(xiàn)綜述》4300字
- (二模)2025年4月濰坊市高三高考模擬考試語(yǔ)文試卷(含答案)
- 2025年內(nèi)蒙古赤峰新正電工技術(shù)服務(wù)有限公司招聘筆試參考題庫(kù)含答案解析
- 戲曲理論測(cè)試題目及答案
- 家電行業(yè)供應(yīng)鏈管理與優(yōu)化方案
- 環(huán)保設(shè)備銷售培訓(xùn)
- 2025江蘇省安全員A證考試題庫(kù)附答案
- 2025年測(cè)溫定氧探頭項(xiàng)目可行性研究報(bào)告
- 2025年山東省濟(jì)南市中考一模生物試題(一)(原卷版+解析版)
- 統(tǒng)編版(2024)七年級(jí)下冊(cè)《道德與法治》課本“活動(dòng)課”參考答案
評(píng)論
0/150
提交評(píng)論