數(shù)控直流電流源設(shè)計(jì) 畢業(yè)論文成稿_第1頁
數(shù)控直流電流源設(shè)計(jì) 畢業(yè)論文成稿_第2頁
數(shù)控直流電流源設(shè)計(jì) 畢業(yè)論文成稿_第3頁
數(shù)控直流電流源設(shè)計(jì) 畢業(yè)論文成稿_第4頁
數(shù)控直流電流源設(shè)計(jì) 畢業(yè)論文成稿_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第 1章 緒論本章先給出了本次設(shè)計(jì)的任務(wù)書然后說明了基于單片機(jī)的數(shù)控電流源的課題背景, 隨后介紹了數(shù)控電流源的技術(shù)發(fā)展歷程,最后提到研制基于 AT89S51單片機(jī)的意義和本設(shè) 計(jì)所要滿足課題要求。1.1數(shù)控電流源的發(fā)展趨勢數(shù)控電源是從 80年代才真正的發(fā)展起來的,期間系統(tǒng)的電力電子理論開始建立。這 些理論為其后來的發(fā)展提供了一個(gè)良好的基礎(chǔ)。在以后的一段時(shí)間里,數(shù)控電源技術(shù)有 了長足的發(fā)展。但其產(chǎn)品存在數(shù)控程度達(dá)不到要求、分辨率不高、功率密度比較低、可 靠性較差的缺點(diǎn)。因此數(shù)控電源主要的發(fā)展方向,是針對上述缺點(diǎn)不斷加以改善。單片 機(jī)技術(shù)及電壓轉(zhuǎn)換模塊的出現(xiàn)為精確數(shù)控電源的發(fā)展提供了有利的條件。新

2、的變換技術(shù) 和控制理論的不斷發(fā)展,各種類型專用集成電路、數(shù)字信號(hào)處理器件的研制應(yīng)用,到 90年代,已出現(xiàn)了數(shù)控精度達(dá)到 0.05V 的數(shù)控電源,功率密度達(dá)到每立方英寸 50W 的數(shù)控電 源。從 90年代末起,隨著對系統(tǒng)更高效率和更低功耗的需求,電信與數(shù)據(jù)通訊設(shè)備的技 術(shù)更新推動(dòng)電源行業(yè)中直流 /直流電源轉(zhuǎn)換器向更高靈活性和智能化方向發(fā)展。在 80年代 的第一代分布式供電系統(tǒng)開始轉(zhuǎn)向到 20世紀(jì)末更為先進(jìn)的第四代分布式供電結(jié)構(gòu)以及中 間母線結(jié)構(gòu),直流 /直流電源行業(yè)正面臨著新的挑戰(zhàn),即如何在現(xiàn)有系統(tǒng)加入嵌入式電源 智能系統(tǒng)和數(shù)字控制。早在 90年代中,半導(dǎo)體生產(chǎn)商們就開發(fā)出了數(shù)控電源管理技術(shù),而

3、在當(dāng)時(shí),這種方 案的性價(jià)比與當(dāng)時(shí)廣泛使用的模擬控制方案相比處于劣勢,因而無法被廣泛采用。由于板載電源管理的更廣泛應(yīng)用和行業(yè)能源節(jié)約和運(yùn)行最優(yōu)化的關(guān)注,電源行業(yè)和 半導(dǎo)體生產(chǎn)商們便開始共同開發(fā)這種名為“數(shù)控電源”的新產(chǎn)品。現(xiàn)今隨著直流電源技術(shù)的飛躍發(fā)展 , 整流系統(tǒng)由以前的分立元件和集成電路控制發(fā) 展為微機(jī)控制 , 從而使直流電源智能化 , 具有遙測、遙信、遙控的三遙功能 , 基本實(shí)現(xiàn)了 直流電源的無人值守。從組成上, 數(shù)控電源可分成器件、 主電路與控制等三部分。 目前在電力電子器件方面, 幾乎都為旋紐開關(guān)調(diào)節(jié)電壓,調(diào)節(jié)精度不高,而且經(jīng)常跳變,使用麻煩。數(shù)字化智能電源模塊是針對傳統(tǒng)智能電源模塊的

4、不足提出的,數(shù)字化能夠減少生產(chǎn)過 程中的不確定因素和人為參與的環(huán)節(jié)數(shù),有效地解決電源模塊中諸如可靠性、智能化和產(chǎn)品一致性等工程問題,極大地提高生產(chǎn)效率和產(chǎn)品的可維護(hù)性。1.2研究背景及主要研究意義低紋波、高精度穩(wěn)定直流電流源是一種重要的電源,在現(xiàn)代科學(xué)研究和工業(yè)生產(chǎn)中得 到了越來越廣泛的應(yīng)用。隨著單片機(jī)技術(shù)的發(fā)展,數(shù)控電流源開始出現(xiàn),其以控制靈活、 調(diào)節(jié)方便的特點(diǎn)展示了良好的應(yīng)用前景。電源技術(shù)尤其是數(shù)控電源技術(shù)是一門實(shí)踐性很強(qiáng) 的工程技術(shù),服務(wù)于行業(yè)。當(dāng)今電源技術(shù)融合了電氣、電子、系統(tǒng)集成、控制理論、材料 等諸多學(xué)科領(lǐng)域。隨著計(jì)算機(jī)和通訊技術(shù)發(fā)展而帶來的現(xiàn)代信息技術(shù)革命,給電源技術(shù)提 供了廣闊

5、的發(fā)展前景,同時(shí)也給電源技術(shù)提出了更高的要求。隨著數(shù)控電源在電子裝置中 的普遍應(yīng)用,普通電源在工作時(shí)產(chǎn)生誤差,會(huì)影響整個(gè)系統(tǒng)的精確度,電源在使用時(shí)會(huì)造 成許多不良后果。世界各國紛紛對電源產(chǎn)品提出不同的要求并制定了一系列產(chǎn)品精度標(biāo) 準(zhǔn),達(dá)標(biāo)后才能夠進(jìn)入市場。隨著經(jīng)濟(jì)全球化的發(fā)展,滿足國際標(biāo)準(zhǔn)的電源產(chǎn)品才能夠獲 得國際通行證。數(shù)控電源是 80年代才發(fā)展起來的產(chǎn)品,期間系統(tǒng)的電力電子理論開始建 立。這些理論為其后來的發(fā)展提供了良好的理論基礎(chǔ),在以后的時(shí)間里,數(shù)控電源開始長 足的發(fā)展。現(xiàn)在市場上數(shù)控電源存在輸出精度不高,功率密度比較低,帶負(fù)載能力不強(qiáng), 體積大,價(jià)格較高,操作繁瑣,工作狀態(tài)不穩(wěn)定等弊端

6、,因此數(shù)控電源的主要發(fā)展方向是 針對上述缺點(diǎn)不斷改善。所以,高密度的數(shù)控直流電源有很大的發(fā)展空間。單片機(jī)技術(shù)及 電壓轉(zhuǎn)換模塊的出現(xiàn)為精確數(shù)控電源的發(fā)展提供了有利條件。新的變化技術(shù)和控制理論的 不斷發(fā)展,各種類型專用集成電路、數(shù)字信號(hào)處理器件的研制應(yīng)用,到 90年代,以出現(xiàn) 了數(shù)控精度達(dá) 0.05V 的數(shù)控電源,功率密度已達(dá) 50W 的數(shù)控電源。從組成上,數(shù)控電源可 分為器件、主電路和控制電路三部分。本課題主要研究的是基于微處理器的數(shù)控直流恒流源的設(shè)計(jì),恒流源時(shí)能夠向負(fù)載提 供恒定電流的電源,因此恒流源的應(yīng)用范圍非常廣泛,并且在許多情況下是必不可少的。 例如,在通常的充電器對蓄電池充電時(shí),隨著蓄

7、電池端電壓的逐漸升高,充電電流就會(huì)相 應(yīng)的減少。為了保證恒流充電,必須隨時(shí)提高充電器的輸出電壓,但采用恒流源充電后就 可以不必調(diào)整輸出電壓,從而使勞動(dòng)強(qiáng)度降低,生產(chǎn)效率得到了提高。恒流源還廣泛用于 測量電路中,例如電阻器阻值的測量和分級(jí),電纜電阻的測量等,且電流越穩(wěn)定,測量就 越精確。 它既可以為各種放大電路提供偏流以穩(wěn)定其靜態(tài)工作點(diǎn), 又可以作為其有源負(fù)載, 以提高放大倍數(shù),并且在差動(dòng)放大電路、脈沖產(chǎn)生電路中得到廣泛應(yīng)用。第 2章 方案比較及論證本章首先介紹了硬件設(shè)計(jì)中設(shè)計(jì)方案的選擇,接著闡述了硬件中壓控恒流模塊和顯示 模塊的優(yōu)缺點(diǎn)。并最終確定最終的設(shè)計(jì)方案和主要模塊的選擇方案,即采用 AT

8、89S51單片 機(jī)作為系統(tǒng)的控制單元。2.1總體方案論證要確定總的設(shè)計(jì)方案就要根據(jù)設(shè)計(jì)指標(biāo)一定一個(gè)總的電路方案,在本次設(shè)計(jì)中我們選 擇的是 AT89S51為總的控制單元,其具體的設(shè)計(jì)流程圖如 2-1所示: 圖 2-1總的電路設(shè)計(jì)流程圖方案 1. 利用微處理器作為控制器,以它為中心設(shè)計(jì)外圍電路,并利用 D/A轉(zhuǎn)換形成 閉環(huán)回路。圖 2-2方案一設(shè)計(jì)方框圖本方案電路復(fù)雜,靈活性不高,效率低,不利于系統(tǒng)的擴(kuò)展,對信號(hào)處理比較困難, 而且 CPLD 器件普遍比較昂貴,設(shè)計(jì)成本高。數(shù)控直流電流源由鍵盤、控制器、顯示器、數(shù)模轉(zhuǎn)換、電壓電流轉(zhuǎn)換和模數(shù)轉(zhuǎn)換等部 分組成,鍵盤的作用是設(shè)定電流值和確定電流步進(jìn)值;

9、 控制器的作用是將設(shè)定電流值的 8位 (或 12位二進(jìn)制輸出;顯示器的作用是顯示設(shè)定電流值;數(shù)模轉(zhuǎn)換的作用是設(shè)定電流值的數(shù)字 量轉(zhuǎn)換為模擬量;電壓電流轉(zhuǎn)換的作用是將電壓轉(zhuǎn)換成恒定電流輸出;模數(shù)轉(zhuǎn)換的作用是 將輸出的模擬量再轉(zhuǎn)換為數(shù)字量反饋到控制器,使實(shí)際輸出電流值與設(shè)定電流值一致。 方案 2: 采用 AT89S51單片機(jī)作為系統(tǒng)的控制單元, 通過 D/A轉(zhuǎn)換將預(yù)定值送壓控恒流源 得到恒定電流,同時(shí)通過 A/D送單片機(jī)顯示實(shí)際值,系統(tǒng)還可實(shí)現(xiàn)步進(jìn)控制功能。此方案 各類功能易于實(shí)現(xiàn),能很好的滿足題目的設(shè)計(jì)要求。設(shè)計(jì)方框圖如圖 2-3所示。 圖 2-3方案二設(shè)計(jì)方框圖2.2外圍電路選擇方案控制器主要

10、有單片機(jī)和可編程器件,單片機(jī)做主控器件,由于單片機(jī)在科學(xué)計(jì)算,數(shù) 據(jù)處理,過程控制,儀器儀表,輔助設(shè)計(jì)等方面有著廣泛的應(yīng)用,操作起來簡便,而且單 片機(jī)在適時(shí)控制方面有它獨(dú)特的優(yōu)勢,本次電流源的制作正需要步進(jìn)控制;而且可以用已 經(jīng)做好的單片機(jī)開發(fā)板,用在顯示和控制方比較方便。但是由于單片機(jī)的 I/O口相對有限, 需要用 8155等可編程器件進(jìn)行口的擴(kuò)展 ;我們但是對于可編程芯片,如 CPLD 或 FPGA 等, 對這些芯片的認(rèn)知還不夠、 在學(xué)習(xí)中也很少接觸, 所以在這次論文中使用起來會(huì)比較困難。 而采用 AT89S51作為控制模塊核心。單片機(jī)最小系統(tǒng)簡單,容易制作 PCB ,算術(shù)功能強(qiáng), 軟件編

11、程靈活、 可以通過 ISP 方式將程序快速下載到芯片, 方便的實(shí)現(xiàn)程序的更新, 自由度 大,較好的發(fā)揮 C 語言的靈活性,可用編程實(shí)現(xiàn)各種算法和邏輯控制,同時(shí)其具有功耗低、 體積小、技術(shù)成熟和成本低等優(yōu)點(diǎn)。基于以上分析,選擇方案二 , 利用 AT89S51單片機(jī)將電流步進(jìn)值或設(shè)定值通過換算由 D/A轉(zhuǎn)換, 驅(qū)動(dòng)恒流源電路實(shí)現(xiàn)電流輸出。 輸出電流經(jīng)處理電路作 A/D轉(zhuǎn)換反饋到單片機(jī)系 統(tǒng),通過補(bǔ)償算法調(diào)整電流的輸出 , 以此提高輸出的精度和穩(wěn)定性。在器件的, D/A轉(zhuǎn)換器 選用 8位優(yōu)質(zhì) D/A轉(zhuǎn)換芯片 DAC0832, 直接輸出電壓值, 且其輸出電壓能達(dá)到參考電壓的 兩倍, A/D轉(zhuǎn)換器選用高

12、精度 8位模數(shù)轉(zhuǎn)換芯片 AD0809。方案一:使用 LCD 數(shù)碼管顯示。 數(shù)碼管采用 BCD 編碼顯示數(shù)字, 對外界環(huán)境要求低, 易于維護(hù)。但根據(jù)題目要求,如果需要同時(shí)顯示給定值和測量值,需顯示的內(nèi)容較多,要 使用多個(gè)數(shù)碼管動(dòng)態(tài)顯示,使電路變得復(fù)雜,加大了編程工作量。方案二:使用 LCD 顯示。 LCD 具有輕薄短小,可視面積大,方便的顯示漢字?jǐn)?shù)字, 分辨率高,抗干擾能力強(qiáng),功耗小,管較多,硬件設(shè)計(jì)和實(shí)物制作將方便化,且設(shè)計(jì)簡單 等特點(diǎn)。綜上所述,選擇方案二。采用 19264D 漢字圖形點(diǎn)陣液晶顯示模塊同時(shí)顯示電流給定 值和實(shí)測值。方案一 :采用獨(dú)立式按鍵電路,每個(gè)按鍵單獨(dú)占有一根 I/O接口

13、線 , 每個(gè) I/O口的工作 狀態(tài)互不影響,此類鍵盤采用端口直接掃描方式。缺點(diǎn)為當(dāng)按鍵較多時(shí)占用單片機(jī)的 I/O口數(shù)目較多。方案二 :采用標(biāo)準(zhǔn) 4X4鍵盤, 此類鍵盤采用矩陣式行列掃描方式, 優(yōu)點(diǎn)是當(dāng)按鍵較多 時(shí)可降低占用單片機(jī)的 I/O口數(shù)目,而且可以做到直接輸入電流值而不必步進(jìn)。題目要求可進(jìn)行電流給定值的設(shè)置和步進(jìn)調(diào)整,需要的按鍵比較多。綜合考慮兩種方 案及題目要求,采用方案二。系統(tǒng)需要多個(gè)電源,單片機(jī)、 A/D、 D/A、使用 5V 穩(wěn)壓電源,運(yùn)放需要12V 穩(wěn)壓電 源,同時(shí)題目要求最高輸出電流為 2000mA ,電源需為系統(tǒng)提供足夠大的穩(wěn)定電流。 綜上所述,采用三端穩(wěn)壓集成 7805、

14、 7812、 7912分別得到5V 和12V 的穩(wěn)定電壓, 再外對 LM7812加功率管構(gòu)成擴(kuò)流電路 , 達(dá)到可以提供 3A 以上的電流。利用該方法實(shí)現(xiàn)的 電源電路簡單,工作穩(wěn)定可靠。方案一:采用開關(guān)電源的開關(guān)恒流源。其組成方框圖如圖 2-4所示。圖中 C1、 C2為濾 波電容; K 是開關(guān)器件; D 是續(xù)流二極管; L 是扼流圈; PWM 是脈寬調(diào)制電路; KF 是電流反饋 電路; R0是電流取樣電阻。在原理圖電路上,通過精選元器件和采用合理的結(jié)構(gòu)設(shè)計(jì),可 以使電路的分布參數(shù)得到有效控制。采用開關(guān)電源的開關(guān)恒流源主要特點(diǎn)是:振蕩反饋電 容小,阻抗大,反饋電流小。 圖 2-4采用開關(guān)電源的開關(guān)

15、恒流源組成框圖方案二:采用集成穩(wěn)壓器構(gòu)成的開關(guān)恒流源。圖 2-5所示是是三端集成穩(wěn)壓器構(gòu)成的 開關(guān)恒流源。當(dāng)設(shè)定電阻 R 一定時(shí),電路給負(fù)載 Ro 提供一恒定電流當(dāng) RL 發(fā)生變化時(shí),由 IC 的輸入輸出壓差進(jìn)行自動(dòng)補(bǔ)償而使負(fù)載電流保持不變。 圖 2-5 采用集成穩(wěn)壓器構(gòu)成的開關(guān)恒流源原理框圖本設(shè)計(jì)以 AT89S51單片機(jī)為中心控制器, 單片機(jī)控制按鍵設(shè)定輸出電流值, 按鍵包括 “ +1”鍵和“ -1”鍵,用于設(shè)定電流值,該電流值通過單片機(jī)送入 D/A轉(zhuǎn)化器 DAC0832轉(zhuǎn)換為模擬量輸出,該輸出為電流值,再通過運(yùn)放轉(zhuǎn)換為電壓值,該電壓值通過壓控恒流 電路得到穩(wěn)定輸出的電流。 同時(shí)設(shè)定的電流值

16、還將通過數(shù)碼管顯示電路顯示, 以便于觀察。 系統(tǒng)設(shè)計(jì)框圖如下圖 2-6所示。 圖 2-6系統(tǒng)設(shè)計(jì)方框圖第 3章 硬件電路設(shè)計(jì)本章首先介紹了供電電源電路的設(shè)計(jì),然后是介紹了硬件電路的核心部分控制電 路, D/A轉(zhuǎn)換電路和壓控恒流源電路。其中供電電源電路是給整個(gè)硬件系統(tǒng)供電的,按鍵 設(shè)定好輸出電流后單片機(jī)將電流數(shù)字量通過 P2口送入到 D/A轉(zhuǎn)換器中, D/A轉(zhuǎn)換器將其轉(zhuǎn) 換為數(shù)字量后輸出,在由壓控恒流源模塊轉(zhuǎn)化為恒定的電流值,單片機(jī)控制 RT19264D STN 型漢字圖形點(diǎn)陣液晶顯示模塊的數(shù)據(jù)端和時(shí)鐘端,且 RT19264D STN的輸出 Q0-Q7分別對 應(yīng)接到數(shù)碼管的 a-h 端口,從而實(shí)

17、現(xiàn)單片機(jī)控制數(shù)碼管顯示的功能。從而完成整個(gè)硬件電 路的設(shè)計(jì)。3.1單片機(jī)介紹單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管他的大部分功能集成在一 塊小芯片上,但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:CPU 、內(nèi)存、內(nèi)部和外部 總線系統(tǒng),目前大部分還會(huì)具有外存。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍 設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集 成在一塊芯片上。單片機(jī)也被稱為微控制器(Microcontroler ,是因?yàn)樗钤绫挥迷诠I(yè)控制領(lǐng)域。單 片機(jī)由芯片內(nèi)僅有 CPU 的專用處理器發(fā)展而來。 最早的設(shè)計(jì)理念是通過將大量外圍設(shè)備和 CPU

18、集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對提及要求嚴(yán)格的控 制設(shè)備當(dāng)中。 INTEL 的 Z80是最早按照這種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專 用處理器的發(fā)展便分道揚(yáng)鑣。早期的單片機(jī)都是 8位或 4位的。其中最成功的是 INTEL 的 8031,因?yàn)楹唵慰煽慷?性能不錯(cuò)獲得了很大的好評(píng)。此后在 8031上發(fā)展出了 MCS51系列單片機(jī)系統(tǒng)?;谶@一 系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。 隨著工業(yè)控制領(lǐng)域要求的提高, 開始出現(xiàn)了 16位單片機(jī), 但因?yàn)樾詢r(jià)比不理想并未得到很廣泛的應(yīng)用。 90年代后隨著消費(fèi)電子產(chǎn)品大發(fā) 展,單片機(jī)技術(shù)得到了巨大的提高。隨著 INTEL i

19、960系列特別是后來的 ARM 系列的廣泛 應(yīng)用, 32位單片機(jī)迅速取代 16位單片機(jī)的高端地位,并且進(jìn)入主流市場。而傳統(tǒng)的 8位 單片機(jī)的性能也得到了飛速提高,處理能力比起 80年代提高了數(shù)百倍。目前,高端的 32位單片機(jī)主頻已經(jīng)超過 300MHz , 性能直追 90年代中期的專用處理器, 而普通的型號(hào)出廠 價(jià)格跌落至 1美元,最高端的型號(hào)也只有 10美元。當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán) 境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至可以直接使用專用的 Windows 和 Linux 操作系 統(tǒng)。單片機(jī)比專用處理器更適合

20、應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)用。事實(shí)上單 片機(jī)是世界上數(shù)量最多的計(jì)算機(jī)?,F(xiàn)代人類生活中所用的幾乎每件電子和機(jī)械產(chǎn)品中都會(huì) 集成有單片機(jī)。手機(jī)、電話、計(jì)算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配 件中都配有 1-2部單片機(jī)。而個(gè)人電腦中也會(huì)有為數(shù)不少的單片機(jī)在工作。汽車上一般配 備 40多部單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺(tái)單片機(jī)在同時(shí)工作。單片機(jī) 的數(shù)量不僅遠(yuǎn)超過 PC 機(jī)和其他計(jì)算的綜合,甚至比人類的數(shù)量還要多。單片機(jī)又稱單片微控制器 , 它不是完成某一個(gè)邏輯功能的芯片 , 而是把一個(gè)計(jì)算機(jī)系 統(tǒng)集成到一個(gè)芯片上。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)

21、量輕、價(jià) 格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理 與結(jié)構(gòu)的最佳選擇。單片機(jī)內(nèi)部也用和電腦功能類似的模塊,比如 CPU ,內(nèi)存,并行總線,還有和硬盤作 用相同的存儲(chǔ)器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過價(jià)錢 也是低的,一般不超過 10元即可,用它來做一些控制電器一類不是很復(fù)雜的工作足矣了。 我們現(xiàn)在用的全自動(dòng)滾筒洗衣機(jī)、排煙罩、 VCD 等等的家電里面都可以看到它的身影,它 主要是作為控制部分的核心部件。它是一種在線式實(shí)時(shí)控制計(jì)算機(jī),在線式就是現(xiàn)場控制,需要的是有較強(qiáng)的抗干擾能 力,較低的成本,這也是和離線式計(jì)算機(jī)的(比如家用 PC

22、 的主要區(qū)別。單片機(jī)是靠程序的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的 獨(dú)特的一些功能,這是別的器件需要費(fèi)很大力氣才能做到的,有些則是花大力氣也很難做 到的。一個(gè)不是很復(fù)雜的功能要是用美國 50年代開發(fā)的 74系列,或者 60年代的 CD4000系列這些純硬件來搞定的話,電路一定是一塊大 PCB 板,但是如果要是用美國 70年代成 功投放市場的系列單片機(jī),結(jié)果就會(huì)有天壤之別。只因?yàn)閱纹瑱C(jī)的通過你編寫的程序可以 實(shí)現(xiàn)高智能,高效率,以及高可靠性。由于單片機(jī)對成本是敏感的,所以目前占統(tǒng)治地位的軟件還是最低級(jí)匯編語言,它是 除了二進(jìn)制機(jī)器碼以上最低級(jí)的語言了,既然這么低級(jí)為什么還要

23、用呢?很多高級(jí)的語言 已經(jīng)達(dá)到了可視化編程的水平為什么不用呢?原因很簡單,就是單片機(jī)沒有家用計(jì)算機(jī)那 樣的 CPU ,也沒有像硬盤那樣的海量存儲(chǔ)設(shè)備。一個(gè)可視化高級(jí)語言編寫的小程序里面即 使只有一個(gè)按鈕,也會(huì)達(dá)到幾十 K 的尺寸。對于家用 PC 的硬盤來講沒什么,可是對于單片機(jī)來講是不能接受的。單片機(jī)在硬件資源方面的利用率必須很高才行,所以匯編雖然原 始卻還是在大量使用。一樣的道理,如果把巨型計(jì)算機(jī)上的操作系統(tǒng)和應(yīng)用軟件拿到家用 PC 上來運(yùn)行,家用 PC 的也是承受不了的。可以說,二十世紀(jì)跨越了三個(gè)“電”的時(shí)代,即電氣時(shí)代、電子時(shí)代和現(xiàn)已進(jìn)入的電 腦時(shí)代。不過這種電腦通常是指個(gè)人計(jì)算機(jī),簡稱

24、 PC 機(jī)。它由主機(jī)、鍵盤、顯示器等組 成。還有一類計(jì)算機(jī),大多數(shù)人卻不怎么熟悉。這種計(jì)算機(jī)就是把智能賦予各種機(jī)械的單 片機(jī)(亦稱微控制器 。顧名思義,這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn) 行簡單運(yùn)算和控制。因?yàn)樗w積小,通常都藏在被控機(jī)械的“肚子”里。它在整個(gè)裝置中, 起著有如人類頭腦的作用,它出了毛病整個(gè)裝置就癱瘓了。現(xiàn)在這種單片機(jī)的使用領(lǐng)域已 十分廣泛,如智能儀表、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用 上了單片機(jī), 就能起到使產(chǎn)品升級(jí)換代的功效, 常在產(chǎn)品名稱前冠以形容詞 “智能型” , 如智能型洗衣機(jī)等?,F(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開發(fā)者搞出來的某

25、些產(chǎn)品, 不是電路太復(fù)雜,就是功能太簡單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片 機(jī)或其它可編程邏輯器件上。AT89S51是一種帶 8K 字節(jié)閃爍可編程可檫除只讀存儲(chǔ)器 (FPEROM-Flash Programable and Erasable Read Only Memory 的低電壓,高性能 COMOS8的微處理器,俗稱單片機(jī)。 該器件采用 ATMEL 搞密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51指令集和 輸出管腳相兼容。8051系列的基本結(jié)構(gòu)如下: 18位 CPU 24KB 字節(jié)掩膜 ROM 程序存儲(chǔ)器 3128字節(jié)內(nèi)部 RAM 數(shù)據(jù)存儲(chǔ)器 4兩個(gè) 16位定時(shí) 計(jì)

26、數(shù)器 51個(gè)全雙工的異步串行口 65個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)的中斷控制器 7時(shí)鐘電路,外接晶振和電容可產(chǎn)生 1.2MHz 12 MHz的時(shí)鐘頻率如圖 3-1所示, AT89S51有四十條引腳,共分為端口線、電源線和控制線。 圖 3-1 AT89S51的引腳1. 端口線(48 1P0.0-P0.7P0口 8位雙向口線(在引腳的 39-32號(hào)端子 。 2P1.0-P1.7P1口 8位雙向口線(在引腳 1-8號(hào)端子 。 3P2.0-P2.7P2口 8位雙向口線(在引腳 21-28號(hào)端子 。 4P3.0-P3.7P3口 8位雙向口線(在引腳 10-17號(hào)端子 。這 4個(gè) I/O口,具有不完全相同的功能

27、。P0口有三個(gè)功能(1外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)做數(shù)據(jù)總線(D0-D7為數(shù)據(jù)總線接口(2外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)做地址總線(A0-A7為地址總線接口(3不擴(kuò)展時(shí),可做一般的 I/O使用,但內(nèi)部無上拉電阻,作為輸入或輸出時(shí)應(yīng)在外 部接上拉電阻。P1口只做 I/O口使用,其內(nèi)部有上拉電阻。P2口有兩個(gè)功能:(1擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)做地址總線使用。(2做一般 I/O口使用,其內(nèi)部有上拉電阻。P3口有兩個(gè)功能,除作為 I/O口使用外(其內(nèi)部有上拉電阻 ,還有一些特殊功能,由 特殊功能寄存器來設(shè)置,上拉電阻當(dāng)做輸入時(shí),上拉電阻將其電位拉高,若輸入為低電 平則可提供電流源; 所以如果 P0口作為輸入時(shí), 處在高阻抗

28、狀態(tài), 只有外接一個(gè)上拉電 阻才有效。2. 電源VCC 為芯片電源,接 +5V; VSS 為接地線。 控制線 :控制線共有 4根(1 ALE/PROG:地址鎖存允許 /片內(nèi) EPROM 編程脈沖 ALE功能:用來鎖存 P0口送出的低 8位地址 PROG功能:片內(nèi)有 EPROM 的芯片,在 EPROM 編程期間,此引腳輸入編程脈沖。(2 PSEN:外 ROM 讀選通信號(hào)。(3 RST/VPD:復(fù)位 /備用電源 RST(Reset 功能:復(fù)位信號(hào)輸入端。 VPD功能:在 Vcc 掉電情況下,接備用電源。(4 EA/Vpp:內(nèi)外 ROM 選擇 /片內(nèi) EPROM 編程電源。 EA功能:內(nèi)外 ROM

29、選擇端。 Vpp功能:片內(nèi)有 EPROM 的芯片,在 EPROM 編程期間,施加編程電源 Vpp 。 3.2單片機(jī)時(shí)鐘電路單片機(jī)時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。1、 內(nèi)部振蕩方式:AT89S51單片機(jī)內(nèi)部帶有時(shí)鐘電路, 因此, 只需要在片外通過 XTAL1和 XTAL2引腳接入定時(shí)控制元件(晶體振蕩器和微調(diào)電容 ,即可構(gòu)成一個(gè)穩(wěn)定的自激振 蕩器。2、外部振蕩方式:把外部已有的時(shí)鐘信號(hào)引入單片機(jī)內(nèi)。這種方式適宜用來使單片 機(jī)的時(shí)鐘與外部信號(hào)保持同步。在本設(shè)計(jì)中采用第一種方式,用晶振和電容構(gòu)成諧振電路。 C3和 C4雖然沒有嚴(yán)格要 求,但電容的大小影響振蕩器振蕩的穩(wěn)定性

30、和起振的快速性,通常選擇在 1030pF 左右。 而晶體振蕩器一般選擇 6MHz 和 12MHz 。 本時(shí)鐘電路在 XTAL1和 XTAL2引腳分別接一個(gè) 22pF 的電容,兩個(gè)引腳之間接入一個(gè) 12MHz 的晶振,電路如圖 3-2所示。C3 圖 3-2時(shí)鐘電路3.3單片機(jī)復(fù)位電路復(fù)位時(shí)單片機(jī)的初始化操作,其主要功能是 PC 初始化為 0000H ,使單片機(jī)從 0000H 單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行時(shí)出錯(cuò)或操作錯(cuò)誤 使系統(tǒng)處于死鎖狀態(tài)時(shí),為使單片機(jī)正常工作,也需要按復(fù)位鍵以重新啟動(dòng)。RST 引腳是復(fù)位信號(hào)的輸入端,復(fù)位信號(hào)是高電平有效,其有效時(shí)間持續(xù) 24個(gè)

31、振蕩 脈沖周期(即兩個(gè)機(jī)器周期以上。復(fù)位操作有上電自動(dòng)復(fù)位、按鍵電平復(fù)位、外部脈沖 復(fù)位和自動(dòng)復(fù)位四種方式。在本設(shè)計(jì)中復(fù)位電路采用按鍵電平方式,電路如圖 3-3所示, 使 RST 引腳(圖中懸空腳經(jīng)過 10u 電解電容與 VCC 電源接通,同時(shí)經(jīng)過電阻與地連接 而實(shí)現(xiàn)。+5V 圖 3-3 復(fù)位電路3.4控制電路設(shè)計(jì)本電路采用 AT89S51單片機(jī), AT89S51單片機(jī)應(yīng)用普遍,價(jià)格便宜。 MCS-51內(nèi)核結(jié)構(gòu) 單片機(jī)的數(shù)據(jù)存儲(chǔ)器分為內(nèi)部數(shù)據(jù)存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器。 MCS-51單片機(jī)的外部數(shù)據(jù)存 儲(chǔ)器(RAM/IO空間為 64KB (地址為 0000H 0FFFFH ,一般通過 16位數(shù)據(jù)指

32、針 DPTR 來 訪問, 且外部 RAM 和外部 I/O的地址安排是統(tǒng)一編址的。 MCS-51的內(nèi)部數(shù)據(jù)存儲(chǔ)器為 128B 或 256B (AT89S51的內(nèi)部數(shù)據(jù)存儲(chǔ)器為 128B ,地址空間為 00H 7FH , 8032、 8052和 8752的內(nèi)部數(shù)據(jù)存儲(chǔ)器為 256B , 地址空間為 00H 0FFH 。 AT89S51將內(nèi)部數(shù)據(jù)存儲(chǔ)器中的不同 區(qū)域從功能和用途方面來劃分,可以分為 3個(gè)區(qū)域,即工作寄存器區(qū)(00H1FH 、位尋址 區(qū)(20H 2FH 、堆棧和數(shù)據(jù)緩沖器區(qū)(30H 7FH 或 30H0FFH 。本設(shè)計(jì)中的單片機(jī)控制電路設(shè)計(jì)如圖 3-4所示。單片機(jī)的 P0口用于控制顯示

33、單元電 路中的數(shù)碼管的選定, P1口控制按鍵, P2口作為 D/A的 8位數(shù)據(jù)線端口,單片機(jī)的 P3.0和 P3.1 引腳控制顯示電路中的 74LS164的時(shí)鐘端和數(shù)據(jù)端。按鍵的功能是實(shí)現(xiàn)輸出電流 的設(shè)置。按鍵 1、 2、 3、 4的功能分別是:設(shè)定、移位、加 1和減 1。當(dāng)單片機(jī)的 P1口檢 測到有按鍵按下時(shí),啟動(dòng)數(shù)碼管顯示電路開始顯示數(shù)值,按下加 1鍵顯示數(shù)字加 1,按下移位鍵時(shí)移動(dòng)數(shù)碼管位數(shù)調(diào)整下一位數(shù)字。 輸出電流設(shè)定好后單片機(jī)將電流數(shù)字量通過 P2口送入到 D/A轉(zhuǎn)換器中, D/A轉(zhuǎn)換器將其轉(zhuǎn)換為數(shù)字量后輸出。 圖 3-4 單片機(jī)控制電路3.5轉(zhuǎn)換電路設(shè)計(jì)DAC0832是一種 8分辨

34、率的典型的 D/A轉(zhuǎn)換集成芯片, 與微處理器完全兼容。 內(nèi)部為 雙緩沖寄存器即輸入寄存器和 DAC 寄存器。這個(gè) DA 芯片以其價(jià)格低廉、接口簡單、轉(zhuǎn)換 控制容易等優(yōu)點(diǎn)在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。 DA 轉(zhuǎn)換器是由 8位輸入鎖存器、 8位 DAC 寄存器、 8位 D/A轉(zhuǎn)換電路及控制電路構(gòu)成。該部分電路設(shè)計(jì)如圖 3-5所示。 D/A轉(zhuǎn)換器是接收數(shù)字量,輸出一個(gè)與數(shù)字量相對應(yīng) 的電流或電壓信號(hào)的模擬量接口。本設(shè)計(jì)中 D/A轉(zhuǎn)換器采用 DAC0832芯片。 AT89S51的 P2口作為數(shù)據(jù)端口與 DAC0832的 8位數(shù)據(jù)線相連。 DAC0832采用單緩沖工作方式,使芯片的 CS 、 2WR

35、 、 XFER 均與地相接, 1WR 由單片機(jī)的 P1.7口控制。 DAC0832由 8位輸入鎖存 器、 8位 DAC 寄存器、 8位 D/A轉(zhuǎn)換電路及控制電路構(gòu)成。數(shù)字量從 DAC0832的 D0-D78個(gè) 數(shù)據(jù)輸入端口輸入。 DAC0832與單片機(jī)的連接方式有兩種:即單緩沖工作方式和雙緩沖工 作方式。 在單緩沖工作方式下, 一個(gè)寄存器工作于直通狀態(tài), 一個(gè)工作于受控鎖存器狀態(tài), 在不要求多相 D/A同時(shí)輸出時(shí),可以采用單緩沖方式,此時(shí)只需要一次寫操作,就開始轉(zhuǎn) 換,可以提高 D/A的數(shù)據(jù)吞吐量;在雙緩沖工作方式下,兩個(gè)寄存器均工作于受控鎖存器 狀態(tài),當(dāng)要求多個(gè)模擬量同時(shí)輸出時(shí),可采用這種方

36、式。本設(shè)計(jì)選用單緩沖工作方式,單 片機(jī)的 P1.7引腳來控制 DAC0832的轉(zhuǎn)換工作。 U006圖 3-5 D/A轉(zhuǎn)換電路ADC0809由一個(gè) 8路模擬開關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè) A/D轉(zhuǎn)換器和一個(gè)三 態(tài)輸出鎖存器組成。多路開關(guān)可選通 8個(gè)模擬通道,允許 8路模擬量分時(shí)輸入,共用 A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存 A/D轉(zhuǎn)換完的數(shù)字量,當(dāng) OE 端為高電平時(shí),才 可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。ADC0809對輸入模擬量要求:信號(hào)單極性,電壓范圍是 05V ,若信號(hào)太小,必須進(jìn) 行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前 增加采樣保持

37、電路。 圖 3-6 ADC0809引腳圖(1ADC0809的內(nèi)部結(jié)構(gòu)ADC0809的內(nèi)部邏輯結(jié)構(gòu)圖如圖 3-7所示。16 圖 3-7 ADC0809內(nèi)部邏輯結(jié)構(gòu)圖中多路開關(guān)可選通 8個(gè)模擬通道,允許 8路模擬量分時(shí)輸入,共用一個(gè) A/D轉(zhuǎn)換器 進(jìn)行轉(zhuǎn)換,這是一種經(jīng)濟(jì)的多路數(shù)據(jù)采集方法。地址鎖存與譯碼電路完成對 A 、 B 、 C 3個(gè) 地址位進(jìn)行鎖存和譯碼, 其譯碼輸出用于通道選擇, 其轉(zhuǎn)換結(jié)果通過三態(tài)輸出鎖存器存放、 輸出,因此可以直接與系統(tǒng)數(shù)據(jù)總線相連,表 3-1為通道選擇表。表 3-1通道選擇表 : (2信號(hào)引腳ADC0809芯片為 28引腳為雙列直插式封裝。對 ADC0809主要信號(hào)引

38、腳的功能說明如下:IN 7 IN模擬量輸入通道ALE地址鎖存允許信號(hào)。對應(yīng) ALE 上跳沿, A 、 B 、 C 地址狀態(tài)送入地址鎖存器中。17START轉(zhuǎn)換啟動(dòng)信號(hào)。 START 上升沿時(shí),復(fù)位 ADC0809; START 下降沿時(shí)啟動(dòng)芯片, 開始進(jìn)行 A/D轉(zhuǎn)換;在 A/D轉(zhuǎn)換期間, START 應(yīng)保持 低電平。本信號(hào)有時(shí)簡寫為 ST. A 、 B 、 C 地址線。 通道端口選擇線, A 為低地址, C 為高地址, 引腳圖中為 ADDA , ADDB 和 ADDC 。其地址狀態(tài)與通道對應(yīng)關(guān)系見表 9-1。CLK 時(shí)鐘信號(hào)。 ADC0809的內(nèi)部沒有時(shí)鐘電路,所需時(shí)鐘信號(hào)由外界提供,因此

39、有時(shí)鐘信號(hào)引腳。通常使用頻率為 500KHz 的時(shí)鐘信號(hào)EOC 轉(zhuǎn)換結(jié)束信號(hào)。 EOC=0,正在進(jìn)行轉(zhuǎn)換; EOC=1,轉(zhuǎn)換結(jié)束。使用中該狀態(tài)信號(hào) 即可作為查詢的狀態(tài)標(biāo)志,又可作為中斷請求信號(hào)使用。D 7 D數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式,可以和單片機(jī)的數(shù)據(jù)線直接相連。 D 0為最低位, D7為最高OE 輸出允許信號(hào)。用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。 OE=0,輸出數(shù)據(jù)線呈高阻; OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。Vcc +5V電源。Vref 參考電源參考電壓用來與輸入的模擬信號(hào)進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為 +5V(Vref (+ =+5V, Vref(-=-5V.3

40、.6供電電源電路由前面的論述可以知道選擇串聯(lián)型穩(wěn)壓電路,由于三端式的穩(wěn)壓器只有三個(gè)輸出端, 性能穩(wěn)定、價(jià)格低廉、應(yīng)用方便,可以穩(wěn)定輸出電壓,選擇三端式的穩(wěn)壓器,電路連接圖 為: 圖 3-8正負(fù) 5V 電壓輸出18 圖 3-9正負(fù) 12V 電壓輸出3.7 LCD顯示器機(jī)構(gòu)與原理本設(shè)計(jì)采用 RT19264D STN型漢字圖形點(diǎn)陣液晶顯示模塊,可顯示漢字及圖形,內(nèi)置 8192個(gè)中文漢字 (16X16點(diǎn)陣 、 128個(gè)字符 (12X16點(diǎn)陣 及 64X256點(diǎn)陣顯示 RAM (GDRAM 。 可顯示內(nèi)容為 192列 64行,還帶多種軟件功能:光標(biāo)顯示、畫面移位、自定義字符、 睡眠模式等。RT19264

41、D 與單片機(jī)接口:8位或 4位并行 /3位串行。 在本設(shè)計(jì)中, 采用 8位并行接法, RT19264D 與單片機(jī) P2口相連,用于顯示設(shè)定值與當(dāng)前測量值。其接口如圖 3-10所示。 圖 3-10 RT19264D接口3.8 鍵盤1 鍵盤的選擇及基本結(jié)構(gòu)鍵盤按結(jié)構(gòu)的不同可分為獨(dú)立式鍵盤和行列式鍵盤兩類,每類按譯碼方式的不同又分 為編碼式和非編碼式兩種。單片機(jī)中一般使用的都是用軟件來識(shí)別和產(chǎn)生鍵代碼的非編碼 鍵盤。行列式鍵盤的編碼方式有靜態(tài)和動(dòng)態(tài)兩種。靜態(tài)接口主要由一個(gè)行編碼器和一個(gè)列19編碼器構(gòu)成;動(dòng)態(tài)接口可采用計(jì)數(shù)器、譯碼器和數(shù)據(jù)選擇器構(gòu)成。這兩種鍵盤由硬件完成 鍵的編碼任務(wù)。一般在小型儀器儀

42、表和控制系統(tǒng)中,使用較多的是行列式和獨(dú)立式的非編碼鍵盤;如 果系統(tǒng)要求實(shí)現(xiàn)多鍵同時(shí)按下的處理,則用非編碼獨(dú)立方式較為合適。在該系統(tǒng)中采用的 是行列式鍵盤。行列式鍵盤中的鍵實(shí)際上就是一個(gè)機(jī)械開關(guān),位于行線和列線的交點(diǎn)處,當(dāng)鍵被按下 時(shí),其交點(diǎn)的行線和列線接通,使相應(yīng)行線或列線上的電平發(fā)生變化,根據(jù)電平變化情況 確定被按下的鍵。2 電路硬件說明(1在“單片機(jī)系統(tǒng)”區(qū)域中, 把單片機(jī)的 P3.0-P3.7端口通過 8聯(lián)撥動(dòng)撥碼開關(guān) JP3連接到“44行列式鍵盤”區(qū)域中的 M1-M4, N1-N4端口上。(2在“單片機(jī)系統(tǒng)”區(qū)域中,把單片機(jī)的 P0.0-P0.7端口連接到“靜態(tài)數(shù)碼顯示模 塊”區(qū)域中的

43、任何一個(gè) a-h 端口上 ; 要求:P0.0對應(yīng)著 a , P0.1對應(yīng)著 b , P0.7對 應(yīng)著 h 。3 程序設(shè)計(jì)內(nèi)容(144矩陣鍵盤識(shí)別處理 。(2每個(gè)按鍵都有它的行值和列值,行值和列值的組合就是識(shí)別這個(gè)按鍵的編碼。矩 陣的行線和列線分別通過兩并行接口和 CPU 通信。鍵盤的一端 (列線 通過電阻接 VCC ,而 接地是通過程序輸出數(shù)字“0”實(shí)現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷 哪一個(gè)鍵按下,鍵的功能是什么 ? 還要消除按鍵在閉合或斷開時(shí)的抖動(dòng)。兩個(gè)并行口中, 一個(gè)輸出掃描碼,使按鍵逐行動(dòng)態(tài)接地 ; 另一個(gè)并行口輸入按鍵狀態(tài),由行掃描值和回饋 信號(hào)共同形成鍵編碼而識(shí)別按鍵

44、,通過軟件查表,查出該鍵的功能。4 鍵盤程序流程圖所編程序首先對鍵盤進(jìn)行識(shí)別看是否有鍵按下,若有鍵按下則對按鍵進(jìn)行去抖動(dòng), 然后根據(jù)按鍵的物理位置計(jì)算鍵碼,最后按鍵釋放,這也就完成了一次按鍵輸入,若無按 鍵釋放則直接返回。下圖為鍵盤程序流程圖;20圖 3-11鍵盤程序流程圖該設(shè)計(jì)采用的是 AT89C51單片機(jī)和 4*4的鍵盤, LCD 液晶顯示,各器件的管教都應(yīng)一 一對應(yīng)連接。本次設(shè)計(jì)中,我們用到的 LCD 是 12864,總共有 20個(gè)管腳。下圖為 AT89C51單片機(jī)和鍵盤、顯示器的連接圖: 圖 3-12 鍵盤顯示與單片機(jī)的連接電路圖 第 4章 軟件設(shè)計(jì)一個(gè)完整的系統(tǒng)都是由硬件和軟件構(gòu)成的

45、,在前兩章介紹了課題的硬件設(shè)計(jì)的原理 和電路,這一章主要介紹課題的軟件設(shè)計(jì)。本章介紹了軟件設(shè)計(jì)的流程圖,首先給出系 統(tǒng)的整體主程序流程圖,然后介紹了 AT89S51的程序設(shè)計(jì),并敘述了按鍵掃描中出現(xiàn)觸點(diǎn) 機(jī)械抖動(dòng)的問題,采用軟件延時(shí)方法去按鍵抖動(dòng)。并闡述了 DAC0832進(jìn)行 D/A轉(zhuǎn)換時(shí)采用 數(shù)據(jù)鎖存方法單緩沖工作方式和程序設(shè)計(jì)的流程。最后介紹了顯示模塊程序設(shè)計(jì)的流程 圖和采用動(dòng)態(tài)送顯方式來驅(qū)動(dòng)數(shù)碼管。整個(gè)軟件部分的設(shè)計(jì)是數(shù)控恒流源的重要部分, 合理的軟件設(shè)計(jì)有利于簡化整體的設(shè)計(jì),能生成符合要求的信號(hào),最終降低成本。 4.1主程序設(shè)計(jì)流程單片機(jī)初始化引腳和中斷,當(dāng)單片機(jī)的 P1口檢測到有按鍵

46、按下時(shí),如果是 S3鍵按下 電流值加 1,如果是 S4鍵按下,則電流值減 1。啟動(dòng)數(shù)碼管顯示電路開始顯示數(shù)值,輸出 電流設(shè)定好后單片機(jī)將電流數(shù)字量通過 P2口送入到 D/A轉(zhuǎn)換器中, D/A轉(zhuǎn)換器將其轉(zhuǎn)換 為數(shù)字量后輸出。本設(shè)計(jì)主程序流程圖如圖 4-1所 圖 4-1主程序流程4.2程序設(shè)計(jì)AT89S51單片機(jī)內(nèi)部主要由 9個(gè)部件組成:1個(gè) 8位中央處理器; 4KBFlash 存儲(chǔ)器; 128B 的數(shù)據(jù)存儲(chǔ)器; 32條 I/O口線; 2個(gè)定時(shí)器 /計(jì)數(shù)器; 1個(gè)具有 6個(gè)中斷源、 4個(gè)優(yōu)先 級(jí)的中斷嵌套結(jié)構(gòu);用于多處理機(jī)通信、 I/O擴(kuò)展或全雙工 UART 的串行口;特殊功能寄 存器; 1個(gè)片內(nèi)

47、振蕩器和時(shí)鐘電路。 AT89S51系列單片機(jī)完全繼承了 MCS-51的指令系統(tǒng), 共有 111條指令,按其功能可分為五大類:數(shù)據(jù)傳送類指令、算術(shù)運(yùn)算類指令、邏輯運(yùn)算 類指令、控制轉(zhuǎn)移類指令、布爾操作。AT89S51具有 4K 的內(nèi)置 Flash 可在線編程程序存儲(chǔ)器,對于這樣內(nèi)部有 4KB 的程序 存儲(chǔ)器的芯片,若 EA 引腳接 VCC (+5V ,則 PC 的值在 00FFFH (4KB 之間時(shí), CPU 取指令時(shí)訪問內(nèi)部的程序存儲(chǔ)器。若 PC 值大于 0FFFH 時(shí),則訪問外部的數(shù)據(jù)存儲(chǔ)器。如 果 EA 引腳接 Vss (地 , 則內(nèi)部的程序存儲(chǔ)器被忽略, 即 CPU 只能訪問外部的數(shù)據(jù)存

48、儲(chǔ)器。 程序存儲(chǔ)器的操作完全由 PC 控制。 對于內(nèi)部有程序存儲(chǔ)器 (ROM 或 EPROM 的芯片, EA 引腳可接高電平也可接低電平,而對于內(nèi)部無程序存儲(chǔ)器(如 8031和 8032的芯片,必 須擴(kuò)展外部程序存儲(chǔ)器, EA 引腳必須接地。本設(shè)計(jì)中通過引腳定義設(shè)定單片機(jī)控制其他器件的引腳。4.3 按鍵掃描本設(shè)計(jì)中按鍵采用查詢方式,放在主程序中,當(dāng)沒有按鍵按下的時(shí)候,單片機(jī)循環(huán)主 程序,有按鍵按下時(shí),轉(zhuǎn)向相應(yīng)的子程序。對于每一個(gè)按鍵,都有一個(gè)接口電路與單片機(jī) 相連,單片機(jī)查詢到哪一個(gè)鍵按下,然后通過跳轉(zhuǎn)指令轉(zhuǎn)入該按鍵編碼子程序,根據(jù)編碼 方式控制 NE555的起振時(shí)間。按鍵按下或釋放時(shí),由于機(jī)

49、械彈性作用的影響,通常伴有一 定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng), ,然后其觸點(diǎn)才穩(wěn)定下來,抖動(dòng)時(shí)間的長短與開關(guān)的機(jī)械特性有 關(guān),一般為 5-10ms 。在觸點(diǎn)抖動(dòng)期間檢測按鍵的通與斷狀態(tài),可能導(dǎo)致判斷出錯(cuò),即按鍵 一次按下或釋放被錯(cuò)誤地認(rèn)為是多次操作。為了克服按鍵觸點(diǎn)機(jī)械抖動(dòng)所致的檢測誤判, 必須采取去抖動(dòng)措施,可從硬件、軟件兩方面考慮。在按鍵數(shù)比較少時(shí),可采用硬件去抖 動(dòng),按鍵數(shù)比較多時(shí),采用軟件去抖動(dòng)。硬件可采取在鍵輸出端加 R-S 觸發(fā)器或單穩(wěn)態(tài)觸 發(fā)器構(gòu)成去抖動(dòng)電路。軟件上采取的措施是:在檢測到有按鍵按下時(shí),執(zhí)行一個(gè) 10ms 左 右的延時(shí)程序后, 再確認(rèn), 該按鍵電平是否仍處于閉合狀態(tài)電平, 若

50、仍保持閉合狀態(tài)電平, 則確認(rèn)該鍵處于閉合狀態(tài),同理,在檢測到該鍵釋放后,也采用相同的步驟進(jìn)行確認(rèn),從 而消除抖動(dòng)的影響。本設(shè)計(jì)中采用軟件演示方法去按鍵抖動(dòng)。4.4 D/A轉(zhuǎn)換DAC0832進(jìn)行 D/A轉(zhuǎn)換,可以采用兩種方法對數(shù)據(jù)進(jìn)行鎖存:第一種方法是使輸入寄存器工作在鎖存狀態(tài),而 DAC 寄存器工作在直通狀態(tài),就是使 2WR 和 XFER 都為低電平, DAC 寄存器的鎖存選通端得不到有效電平而直通。此外,使輸 入寄存器的控制信號(hào) ILE 處于高電平, CS 處于低電平,這樣當(dāng) 1WR 端來一個(gè)負(fù)脈沖時(shí), 就可以完成 1次轉(zhuǎn)換。第二種方法是使輸入寄存器工作在直通狀態(tài),而 DAC 寄存器工作在鎖

51、存狀態(tài),使 1 WR 和 CS 為低電平, ILE 為高電平,這樣,輸入寄存器的鎖存選通信號(hào)處于無效狀態(tài)而直通。當(dāng) 2WR 和 XFER 端輸入 1個(gè)負(fù)脈沖時(shí),使得 DAC 寄存器工作在鎖存狀態(tài),提供鎖存數(shù)據(jù)進(jìn) 行轉(zhuǎn)換。根據(jù)以上 DAC0832的輸入寄存器和 DAC 寄存器不同的控制方法, DAC0832有如下 3種 工作方式:單緩沖方式:單緩沖方式是控制輸入寄存器和 DAC 寄存器同時(shí)接受資料,或者只用輸 入寄存器而把 DAC 寄存器接成直通方式。此方式適用于只有一路模擬量輸出或幾路模擬量 異步輸出的情形。雙緩沖方式:雙緩沖方式是先使輸入寄存器接受資料,再控制輸入寄存器的輸出資料 到 DAC

52、 寄存器,即分 兩次鎖存輸入資料。此方式適用于多個(gè) D/A轉(zhuǎn)換同步輸出的情形。 直通方式:直通方式是資料不經(jīng)兩級(jí)鎖存器鎖存,即 1WR 、 2WR 、 XFER 、 CS 均接 地, ILE 接高電平。此方式適用于連續(xù)反饋控制線路,不過在使用時(shí),必須通過另加 I/O接口與 MCU 連接,以匹配 MCU 與 D/A轉(zhuǎn)換。本設(shè)計(jì)中選用的是第一種數(shù)據(jù)鎖存方法單緩沖工作方式,將 2WR 和 XFER 直接接低電 平, CS 接低電平, 1WR 由單片機(jī) P1.7引腳控制。該部分子程序流程圖如圖 4-2所示。 圖 4-2D/A寫入數(shù)據(jù)子程序流程圖4.5 LCD顯示根據(jù)數(shù)碼管的驅(qū)動(dòng)方式不同,數(shù)碼管送顯方式

53、有兩種:靜態(tài)送顯和動(dòng)態(tài)送顯。 靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè) 單片機(jī)的 I/O端口進(jìn)行驅(qū)動(dòng),或者使用如 BCD 碼二 -十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū) 動(dòng)的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用 I/O端口多,如驅(qū)動(dòng) 4個(gè)數(shù)碼管,靜態(tài)顯 示則需要 32根 I/O端口來驅(qū)動(dòng),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最廣泛的顯示方式之一。動(dòng)態(tài)驅(qū) 動(dòng)是將所有數(shù)碼管的 8個(gè)碼段“ a 、 b 、 c 、 d 、 e 、 f 、 g 、 dp ”的同名端連在一起,另外為 每個(gè)數(shù)碼管的公共

54、極 COM 增加位選通控制電路,位選通由各自獨(dú)立的 I/O線控制,當(dāng)單片 機(jī)輸出字型碼時(shí),所有數(shù)碼管都接收到相同的字型碼,那個(gè)數(shù)碼管顯示該字形由單片機(jī)對 位選通電路的控制,所以將欲顯示的數(shù)碼管的位選通端選通,該數(shù)碼管就顯示,其它數(shù)碼 管均不會(huì)亮。通過輪流控制各個(gè)數(shù)碼管的選通斷使數(shù)碼管輪流顯示。在顯示過程中,每個(gè) 數(shù)碼管的顯示時(shí)間為 1-2ms ,由于人們的視覺暫留現(xiàn)象及發(fā)光二極管的余暉效應(yīng),只要掃 描的速度夠快,給人的印象就是同時(shí)點(diǎn)亮的,而且不會(huì)有閃爍感。動(dòng)態(tài)顯示與靜態(tài)顯示的 效果是一樣的,但是動(dòng)態(tài)顯示能節(jié)省大量的 I/O口,而且功耗更低。本設(shè)計(jì)中選用動(dòng)態(tài)顯示驅(qū)動(dòng)方式,數(shù)據(jù)通過 74LS164

55、的數(shù)據(jù)端送至數(shù)碼管顯示。先按 照 74LS164的時(shí)鐘時(shí)序?qū)懭?8段碼,寫完后送入數(shù)碼管,子程序流程圖如圖 4-3所示。 圖 4-3 數(shù)碼管顯示子程序流程圖4.6程序控制子程序代碼如下:ORG 0000HORG 0003HAJMP INT0 ORG 000BHAJMP TIMER0 ORG 0013HAJMP INT1 ORG 001BHAJMP TIMER1MAIN: MOV SP,#40HACALL CHUSHIHUALP11: ACALL INT0ACALL BCDACALL DISPLAYSJMP LP11CHUSHIHUA :MOV A,#00HMOV B,#00HMOV 2AH,A

56、MOV P0,#0FFHMOV P1,#0FFHMOV P2,#0FFHMOV 45H,#00HMOV 44H,#00HMOV 43H,#00HMOV 61H,#00HMOV 60H,#00HMOV 62H,#00HMOV T_G,#00HMOV TIMCOUNT,#00HMOV TIMER_H,#4CHSETB P3.5 RETMOV A,R2CLR CMOV 20H,#00HMOV 21H,#00HMOV 22H,#00HMOV 24H,#00HMOV 25H,#00HMOV R3,#10HNEXT: RLC AMOV R2,AMOV A,20HADDC A,20HDA AMOV 20H,

57、AMOV A,21HADDC A,21HDA AMOV 21H,AMOV A,22HADDC A,22HDA AMOV 22H,AMOV A,R2DJNZ R3,NEXTMOV A,R6clr cMOV R3,#08HNEXT1: RLC AMOV R6,AMOV A,24HADDC A,24HDA AMOV 24H,AMOV A,25HADDC A,25HDA AMOV 20H,AMOV A,25HADDC A,21HDAMOV 22H,AMOV A,22HANL A,#0FHMOV 31H,AMOV A,22HANL A,#0F0HSWAP AMOV 32H,AMOV A,21HANL A,#0FHMOV 33H,AMOV A,20HANL A,#0F0RETMOV SCON,#00H MOV R0,#33H MOV R1,#79HMOV R7,#8SZZH:

溫馨提示

  • 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)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論