數(shù)控直流電流源設(shè)計(jì)畢業(yè)論文成稿_第1頁(yè)
數(shù)控直流電流源設(shè)計(jì)畢業(yè)論文成稿_第2頁(yè)
數(shù)控直流電流源設(shè)計(jì)畢業(yè)論文成稿_第3頁(yè)
數(shù)控直流電流源設(shè)計(jì)畢業(yè)論文成稿_第4頁(yè)
數(shù)控直流電流源設(shè)計(jì)畢業(yè)論文成稿_第5頁(yè)
已閱讀5頁(yè),還剩25頁(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)介

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

2、類型專用集成電路、數(shù)字信號(hào)處理器件的研制應(yīng)用,到90年代,已出現(xiàn)了數(shù)控精度達(dá)到0.05V的數(shù)控電源,功率密度達(dá)到每立方英寸50W的數(shù)控電源。從90年代末起,隨著對(duì)系統(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ù),而在當(dāng)時(shí),這種方案的性價(jià)比與當(dāng)時(shí)廣泛使用的模擬控制方案相比處于劣勢(shì),因而

3、無(wú)法被廣泛采用。由于板載電源管理的更廣泛應(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ī)控制, 從而使直流電源智能化, 具有遙測(cè)、遙信、遙控的三遙功能, 基本實(shí)現(xiàn)了直流電源的無(wú)人值守。從組成上,數(shù)控電源可分成器件、主電路與控制等三部分。目前在電力電子器件方面,幾乎都為旋紐開關(guān)調(diào)節(jié)電壓,調(diào)節(jié)精度不高,而且經(jīng)常跳變,使用麻煩。數(shù)字化智能電源模塊是針對(duì)傳統(tǒng)智能電源模塊的不足提出的,數(shù)字化能夠減少生產(chǎn)過(guò)程中的不確定因素和人為參

4、與的環(huán)節(jié)數(shù),有效地解決電源模塊中諸如可靠性、智能化和產(chǎn)品一致性等工程問(wèn)題,極大地提高生產(chǎn)效率和產(chǎn)品的可維護(hù)性。研究背景及主要研究意義低紋波、高精度穩(wěn)定直流電流源是一種重要的電源,在現(xiàn)代科學(xué)研究和工業(yè)生產(chǎn)中得到了越來(lái)越廣泛的應(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ā)展而帶來(lái)的現(xiàn)代信息技術(shù)革命,給電源技術(shù)提供了廣闊的發(fā)展前景,同時(shí)也給電源技術(shù)提出了更高的要求。隨著數(shù)控電源在電子裝置中的普

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

6、空間。單片機(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)用范圍非常廣泛,并且在許多情況下是必不可少的。例如,在通常的充電器對(duì)蓄電池充電時(shí),隨著蓄電池端電壓的逐漸升高,充電電流就會(huì)相應(yīng)的減少。為了保證恒流充電,必須隨時(shí)提高充電器的輸出電壓,但采用恒流源充電后就

7、可以不必調(diào)整輸出電壓,從而使勞動(dòng)強(qiáng)度降低,生產(chǎn)效率得到了提高。恒流源還廣泛用于測(cè)量電路中,例如電阻器阻值的測(cè)量和分級(jí),電纜電阻的測(cè)量等,且電流越穩(wěn)定,測(cè)量就越精確。它既可以為各種放大電路提供偏流以穩(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ì)方案和主要模塊的選擇方案,即采用AT89S51單片機(jī)作為系統(tǒng)的控制單元。.1電路設(shè)計(jì)流程圖要確定總的設(shè)計(jì)方案就要根據(jù)設(shè)計(jì)指標(biāo)一定一個(gè)總的電路方案,在本次設(shè)計(jì)中我們選擇的是

8、AT89S51為總的控制單元,其具體的設(shè)計(jì)流程圖如2-1所示:確定設(shè)計(jì)指標(biāo)擬定電路方案否設(shè)定器件參數(shù)修改電路修改電路否進(jìn)行電路仿真通過(guò)仿真否電路安裝調(diào)試通過(guò)調(diào)試否設(shè)計(jì)實(shí)驗(yàn)結(jié)束圖2-1總的電路設(shè)計(jì)流程圖 基本部分總體方案確定方案1. 利用微處理器作為控制器,以它為中心設(shè)計(jì)外圍電路,并利用D/A轉(zhuǎn)換形成閉環(huán)回路。CPLD器件信號(hào)調(diào)理電路邏輯電路數(shù)碼管驅(qū)動(dòng)電路數(shù)據(jù)鎖存器數(shù)碼管顯示圖2-2方案一設(shè)計(jì)方框圖本方案電路復(fù)雜,靈活性不高,效率低,不利于系統(tǒng)的擴(kuò)展,對(duì)信號(hào)處理比較困難,而且CPLD器件普遍比較昂貴,設(shè)計(jì)成本高。 數(shù)控直流電流源由鍵盤、控制器、顯示器、數(shù)模轉(zhuǎn)換、電壓電流轉(zhuǎn)換和模數(shù)轉(zhuǎn)換等部分組成,

9、鍵盤的作用是設(shè)定電流值和確定電流步進(jìn)值;控制器的作用是將設(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)的控制單元,通過(guò)D/A轉(zhuǎn)換將預(yù)定值送壓控恒流源得到恒定電流,同時(shí)通過(guò)A/D送單片機(jī)顯示實(shí)際值,系統(tǒng)還可實(shí)現(xiàn)步進(jìn)控制功能。此方案各類功能易于實(shí)現(xiàn),能很好的滿足題目的設(shè)計(jì)要求。設(shè)計(jì)方框圖如圖2-3所示。按鍵輸入電流輸出D/A轉(zhuǎn)換單片機(jī)控制圖2-3方

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

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

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

13、方式。缺點(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、7812、7912分別得到±5V和±12V的穩(wěn)定電壓,再外對(duì)LM781

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

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

16、 硬件電路設(shè)計(jì)本章首先介紹了供電電源電路的設(shè)計(jì),然后是介紹了硬件電路的核心部分控制電路,D/A轉(zhuǎn)換電路和壓控恒流源電路。其中供電電源電路是給整個(gè)硬件系統(tǒng)供電的,按鍵設(shè)定好輸出電流后單片機(jī)將電流數(shù)字量通過(guò)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分別對(duì)應(yīng)接到數(shù)碼管的a-h端口,從而實(shí)現(xiàn)單片機(jī)控制數(shù)碼管顯示的功能。從而完成整個(gè)硬件電路的設(shè)計(jì)。單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管他的大部分功能集成在一塊小芯

17、片上,但是它具有一個(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ā)展而來(lái)。最早的設(shè)計(jì)理念是通過(guò)將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)提及要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專用處理器的發(fā)展便分道

18、揚(yáng)鑣。早期的單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,因?yàn)楹?jiǎ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ù)得到了巨大的提高。隨著INTELi960系列特別是后來(lái)的ARM系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場(chǎng)。而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機(jī)主頻已經(jīng)超過(guò)30

19、0MHz,性能直追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ī)比專用處理器更適合應(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ī)在

20、工作。汽車上一般配備40多部單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺(tái)單片機(jī)在同時(shí)工作。單片機(jī)的數(shù)量不僅遠(yuǎn)超過(guò)PC機(jī)和其他計(jì)算的綜合,甚至比人類的數(shù)量還要多。單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。單片機(jī)內(nèi)部也用和電腦功能類似的模塊,比如CPU,內(nèi)存,并行總線,還有和硬盤作用相同的存儲(chǔ)器件,不同的是它的這些部件性能都相對(duì)我們的家用電腦弱很多,不過(guò)價(jià)錢也是低的,一般不超過(guò)10元即可,用它來(lái)

21、做一些控制電器一類不是很復(fù)雜的工作足矣了。我們現(xiàn)在用的全自動(dòng)滾筒洗衣機(jī)、排煙罩、VCD等等的家電里面都可以看到它的身影,它主要是作為控制部分的核心部件。它是一種在線式實(shí)時(shí)控制計(jì)算機(jī),在線式就是現(xiàn)場(chǎng)控制,需要的是有較強(qiáng)的抗干擾能力,較低的成本,這也是和離線式計(jì)算機(jī)的(比如家用PC)的主要區(qū)別。單片機(jī)是靠程序的,并且可以修改。通過(guò)不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨(dú)特的一些功能,這是別的器件需要費(fèi)很大力氣才能做到的,有些則是花大力氣也很難做到的。一個(gè)不是很復(fù)雜的功能要是用美國(guó)50年代開發(fā)的74系列,或者60年代的CD4000系列這些純硬件來(lái)搞定的話,電路一定是一塊大PCB板,但是如果要是用美國(guó)

22、70年代成功投放市場(chǎng)的系列單片機(jī),結(jié)果就會(huì)有天壤之別。只因?yàn)閱纹瑱C(jī)的通過(guò)你編寫的程序可以實(shí)現(xiàn)高智能,高效率,以及高可靠性。由于單片機(jī)對(duì)成本是敏感的,所以目前占統(tǒng)治地位的軟件還是最低級(jí)匯編語(yǔ)言,它是除了二進(jìn)制機(jī)器碼以上最低級(jí)的語(yǔ)言了,既然這么低級(jí)為什么還要用呢?很多高級(jí)的語(yǔ)言已經(jīng)達(dá)到了可視化編程的水平為什么不用呢?原因很簡(jiǎn)單,就是單片機(jī)沒(méi)有家用計(jì)算機(jī)那樣的CPU,也沒(méi)有像硬盤那樣的海量存儲(chǔ)設(shè)備。一個(gè)可視化高級(jí)語(yǔ)言編寫的小程序里面即使只有一個(gè)按鈕,也會(huì)達(dá)到幾十K的尺寸。對(duì)于家用PC的硬盤來(lái)講沒(méi)什么,可是對(duì)于單片機(jī)來(lái)講是不能接受的。單片機(jī)在硬件資源方面的利用率必須很高才行,所以匯編雖然原始卻還是在大

23、量使用。一樣的道理,如果把巨型計(jì)算機(jī)上的操作系統(tǒng)和應(yīng)用軟件拿到家用PC上來(lái)運(yùn)行,家用PC的也是承受不了的??梢哉f(shuō),二十世紀(jì)跨越了三個(gè)“電”的時(shí)代,即電氣時(shí)代、電子時(shí)代和現(xiàn)已進(jìn)入的電腦時(shí)代。不過(guò)這種電腦通常是指?jìng)€(gè)人計(jì)算機(jī),簡(jiǎn)稱PC機(jī)。它由主機(jī)、鍵盤、顯示器等組成。還有一類計(jì)算機(jī),大多數(shù)人卻不怎么熟悉。這種計(jì)算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)(亦稱微控制器)。顧名思義,這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡(jiǎn)單運(yùn)算和控制。因?yàn)樗w積小,通常都藏在被控機(jī)械的“肚子”里。它在整個(gè)裝置中,起著有如人類頭腦的作用,它出了毛病整個(gè)裝置就癱瘓了?,F(xiàn)在這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、實(shí)時(shí)工

24、控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到使產(chǎn)品升級(jí)換代的功效,常在產(chǎn)品名稱前冠以形容詞“智能型”,如智能型洗衣機(jī)等。現(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開發(fā)者搞出來(lái)的某些產(chǎn)品,不是電路太復(fù)雜,就是功能太簡(jiǎn)單且極易被仿制。究其原因,可能就卡在產(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)的MC

25、S-51指令集和輸出管腳相兼容。8051系列的基本結(jié)構(gòu)如下:8位CPU4KB字節(jié)掩膜ROM程序存儲(chǔ)器128字節(jié)內(nèi)部RAM數(shù)據(jù)存儲(chǔ)器 兩個(gè)16位定時(shí)計(jì)數(shù)器1個(gè)全雙工的異步串行口5個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)的中斷控制器時(shí)鐘電路,外接晶振和電容可產(chǎn)生1.2MHz12 MHz的時(shí)鐘頻率 AT89S51的引腳介紹如圖3-1所示,AT89S51有四十條引腳,共分為端口線、電源線和控制線。圖3-1AT89S51的引腳1.端口線(4×8)P0.0-P0.7P0口8位雙向口線(在引腳的39-32號(hào)端子)。P1.0-P1.7P1口8位雙向口線(在引腳1-8號(hào)端子)。P2.0-P2.7P2口8位雙向口線(在

26、引腳21-28號(hào)端子)。P3.0-P3.7P3口8位雙向口線(在引腳10-17號(hào)端子)。這4個(gè)I/O口,具有不完全相同的功能。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)部無(wú)上拉電阻,作為輸入或輸出時(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)部有上拉電阻),還有一些特殊功能,由特殊功能寄存

27、器來(lái)設(shè)置,上拉電阻當(dāng)做輸入時(shí),上拉電阻將其電位拉高,若輸入為低電平則可提供電流源;所以如果P0口作為輸入時(shí),處在高阻抗?fàn)顟B(tài),只有外接一個(gè)上拉電阻才有效。VCC 為芯片電源,接+5V;VSS為接地線。 控制線:控制線共有4根(1)ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖 ALE功能:用來(lái)鎖存P0口送出的低8位地址  PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。 (2)PSEN:外ROM讀選通信號(hào)。(3)RST/VPD:復(fù)位/備用電源 RST(Reset)功能:復(fù)位信號(hào)輸入端。  VPD功能:在Vcc掉電情況下,接備用電源。(4

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

29、電路。C3和C4雖然沒(méi)有嚴(yán)格要求,但電容的大小影響振蕩器振蕩的穩(wěn)定性和起振的快速性,通常選擇在1030pF左右。而晶體振蕩器一般選擇6MHz和12MHz。本時(shí)鐘電路在XTAL1和XTAL2引腳分別接一個(gè)22pF的電容,兩個(gè)引腳之間接入一個(gè)12MHz的晶振,電路如圖3-2所示。C3Y1C412M22p圖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ù)位信

30、號(hào)是高電平有效,其有效時(shí)間持續(xù)24個(gè)振蕩脈沖周期(即兩個(gè)機(jī)器周期)以上。復(fù)位操作有上電自動(dòng)復(fù)位、按鍵電平復(fù)位、外部脈沖復(fù)位和自動(dòng)復(fù)位四種方式。在本設(shè)計(jì)中復(fù)位電路采用按鍵電平方式,電路如圖3-3所示,使RST引腳(圖中懸空腳)經(jīng)過(guò)10u電解電容與VCC電源接通,同時(shí)經(jīng)過(guò)電阻與地連接而實(shí)現(xiàn)。+5VC5SW-PB10u10KR1圖3-3 復(fù)位電路控制電路設(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(地址為0000H0FFFFH),一

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

32、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口檢測(cè)到有按鍵按下時(shí),啟動(dòng)數(shù)碼管顯示電路開始顯示數(shù)值,按下加1鍵顯示數(shù)字加1,按下移位鍵時(shí)移動(dòng)數(shù)碼管位數(shù)調(diào)整下一位數(shù)字。輸出電流設(shè)定好后單片機(jī)將電流數(shù)字量通過(guò)P2口送入到D/A轉(zhuǎn)換器中,D/A轉(zhuǎn)換器將其轉(zhuǎn)換為數(shù)字量后輸出。D/A轉(zhuǎn)換電路DAC0832是一種8分辨率的典型的D/A轉(zhuǎn)換集成芯片,與微處理器完全兼容。內(nèi)部為雙緩沖寄存器即輸入寄存器和DAC寄存器。這個(gè)DA芯片以其價(jià)格低廉、接口簡(jiǎn)單、

33、轉(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ù)字量相對(duì)應(yīng)的電流或電壓信號(hào)的模擬量接口。本設(shè)計(jì)中D/A轉(zhuǎn)換器采用DAC0832芯片。AT89S51的P2口作為數(shù)據(jù)端口與DAC0832的8位數(shù)據(jù)線相連。DAC0832采用單緩沖工作方式,使芯片的、均與地相接,由單片機(jī)的P1.7口控制。DAC0832由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及控制電路構(gòu)成。數(shù)字量從DAC0832的D0-D78個(gè)數(shù)據(jù)輸入端口輸入。DAC0832與單片機(jī)

34、的連接方式有兩種:即單緩沖工作方式和雙緩沖工作方式。在單緩沖工作方式下,一個(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í),可采用這種方式。本設(shè)計(jì)選用單緩沖工作方式,單片機(jī)的P1.7引腳來(lái)控制DAC0832的轉(zhuǎn)換工作。3.A/D轉(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)行

35、轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時(shí),才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。 ADC0809對(duì)輸入模擬量要求:信號(hào)單極性,電壓范圍是05V,若信號(hào)太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過(guò)程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。圖 3-6 ADC0809引腳圖(1)ADC0809的內(nèi)部結(jié)構(gòu)ADC0809的內(nèi)部邏輯結(jié)構(gòu)圖如圖3-7所示。  圖3-7ADC0809內(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ù)采集方法

36、。地址鎖存與譯碼電路完成對(duì)A、B、C 3個(gè)地址位進(jìn)行鎖存和譯碼,其譯碼輸出用于通道選擇,其轉(zhuǎn)換結(jié)果通過(guò)三態(tài)輸出鎖存器存放、輸出,因此可以直接與系統(tǒng)數(shù)據(jù)總線相連,表3-1為通道選擇表。表3-1通道選擇表:C B A 被選擇通道0 0 0 IN00 0 1 IN10 1 0 IN20 1 1 IN31 0 0 IN41 0 1 IN51 1 0 IN61 1 1 IN7(2)信號(hào)引腳  ADC0809芯片為28引腳為雙列直插式封裝。對(duì)ADC0809主要信號(hào)引腳的功能說(shuō)明如下:   IN7IN0模擬量輸入通道 ALE地址鎖存允許信號(hào)。對(duì)應(yīng)A

37、LE上跳沿,A、B、C地址狀態(tài)送入地址鎖存器中。  START轉(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í)簡(jiǎn)寫為ST.A、B、C地址線。 通道端口選擇線,A為低地址,C為高地址,引腳圖中為ADDA,ADDB和ADDC。其地址狀態(tài)與通道對(duì)應(yīng)關(guān)系見表9-1。CLK時(shí)鐘信號(hào)。ADC0809的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)由外界提供,因此有時(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)

38、即可作為查詢的狀態(tài)標(biāo)志,又可作為中斷請(qǐng)求信號(hào)使用。D7D0數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式,可以和單片機(jī)的數(shù)據(jù)線直接相連。D0為最低位,D7為最高  OE輸出允許信號(hào)。用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=0,輸出數(shù)據(jù)線呈高阻;OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。Vcc +5V電源。Vref參考電源參考電壓用來(lái)與輸入的模擬信號(hào)進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為+5V(Vref(+)=+5V, Vref(-)=-5V).供電電源電路由前面的論述可以知道選擇串聯(lián)型穩(wěn)壓電路,由于三端式的穩(wěn)壓器只有三個(gè)輸出端,性能穩(wěn)定、價(jià)格低廉、應(yīng)用方便,可以穩(wěn)定輸出電壓,選擇三端式的穩(wěn)壓器

39、,電路連接圖為:圖 3-8正負(fù)5V電壓輸出圖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)顯示、畫面移位、自定義字符、睡眠模式等。RT19264D與單片機(jī)接口:8位或4位并行/3位串行。在本設(shè)計(jì)中,采用8位并行接法,RT19264D與單片機(jī)P2口相連,用于顯示設(shè)定值與當(dāng)前測(cè)量值。其接口如圖3-10所示。圖3-10 RT19264D

40、接口 鍵盤鍵盤的介紹1 鍵盤的選擇及基本結(jié)構(gòu)鍵盤按結(jié)構(gòu)的不同可分為獨(dú)立式鍵盤和行列式鍵盤兩類,每類按譯碼方式的不同又分為編碼式和非編碼式兩種。單片機(jī)中一般使用的都是用軟件來(lái)識(shí)別和產(chǎn)生鍵代碼的非編碼鍵盤。行列式鍵盤的編碼方式有靜態(tài)和動(dòng)態(tài)兩種。靜態(tài)接口主要由一個(gè)行編碼器和一個(gè)列編碼器構(gòu)成;動(dòng)態(tài)接口可采用計(jì)數(shù)器、譯碼器和數(shù)據(jù)選擇器構(gòu)成。這兩種鍵盤由硬件完成鍵的編碼任務(wù)。一般在小型儀器儀表和控制系統(tǒng)中,使用較多的是行列式和獨(dú)立式的非編碼鍵盤;如果系統(tǒng)要求實(shí)現(xiàn)多鍵同時(shí)按下的處理,則用非編碼獨(dú)立方式較為合適。在該系統(tǒng)中采用的是行列式鍵盤。行列式鍵盤中的鍵實(shí)際上就是一個(gè)機(jī)械開關(guān),位于行線和列線的交點(diǎn)處,當(dāng)鍵

41、被按下時(shí),其交點(diǎn)的行線和列線接通,使相應(yīng)行線或列線上的電平發(fā)生變化,根據(jù)電平變化情況確定被按下的鍵。2 電路硬件說(shuō)明(1)在“單片機(jī)系統(tǒng)”區(qū)域中,把單片機(jī)的P3.0-P3.7端口通過(guò)8聯(lián)撥動(dòng)撥碼開關(guān)JP3連接到“4×4行列式鍵盤”區(qū)域中的M1-M4,N1-N4端口上。(2)在“單片機(jī)系統(tǒng)”區(qū)域中,把單片機(jī)的P0.0-P0.7端口連接到“靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任何一個(gè)a-h端口上;要求:P0.0對(duì)應(yīng)著a,P0.1對(duì)應(yīng)著b,P0.7對(duì)應(yīng)著h。3 程序設(shè)計(jì)內(nèi)容(1)4×4矩陣鍵盤識(shí)別處理 。(2)每個(gè)按鍵都有它的行值和列值,行值和列值的組合就是識(shí)別這個(gè)按鍵的編碼。矩陣的行線和

42、列線分別通過(guò)兩并行接口和CPU通信。鍵盤的一端(列線)通過(guò)電阻接VCC,而接地是通過(guò)程序輸出數(shù)字“0”實(shí)現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無(wú)鍵按下,判斷哪一個(gè)鍵按下,鍵的功能是什么?還要消除按鍵在閉合或斷開時(shí)的抖動(dòng)。兩個(gè)并行口中,一個(gè)輸出掃描碼,使按鍵逐行動(dòng)態(tài)接地;另一個(gè)并行口輸入按鍵狀態(tài),由行掃描值和回饋信號(hào)共同形成鍵編碼而識(shí)別按鍵,通過(guò)軟件查表,查出該鍵的功能。4 鍵盤程序流程圖 所編程序首先對(duì)鍵盤進(jìn)行識(shí)別看是否有鍵按下,若有鍵按下則對(duì)按鍵進(jìn)行去抖動(dòng),然后根據(jù)按鍵的物理位置計(jì)算鍵碼,最后按鍵釋放,這也就完成了一次按鍵輸入,若無(wú)按鍵釋放則直接返回。下圖為鍵盤程序流程圖;鍵盤識(shí)別有鍵按下?去抖

43、動(dòng)確定案件物理位置計(jì)算鍵碼返回按鍵釋放圖3-11鍵盤程序流程圖 鍵盤顯示與單片機(jī)連接圖該設(shè)計(jì)采用的是AT89C51單片機(jī)和4*4的鍵盤,LCD液晶顯示,各器件的管教都應(yīng)一一對(duì)應(yīng)連接。本次設(shè)計(jì)中,我們用到的LCD是12864,總共有20個(gè)管腳。下圖為AT89C51單片機(jī)和鍵盤、顯示器的連接圖:圖3-12鍵盤顯示與單片機(jī)的連接電路圖第4章 軟件設(shè)計(jì)一個(gè)完整的系統(tǒng)都是由硬件和軟件構(gòu)成的,在前兩章介紹了課題的硬件設(shè)計(jì)的原理和電路,這一章主要介紹課題的軟件設(shè)計(jì)。本章介紹了軟件設(shè)計(jì)的流程圖,首先給出系統(tǒng)的整體主程序流程圖,然后介紹了AT89S51的程序設(shè)計(jì),并敘述了按鍵掃描中出現(xiàn)觸點(diǎn)機(jī)械抖動(dòng)的問(wèn)題,采用軟

44、件延時(shí)方法去按鍵抖動(dòng)。并闡述了DAC0832進(jìn)行D/A轉(zhuǎn)換時(shí)采用數(shù)據(jù)鎖存方法單緩沖工作方式和程序設(shè)計(jì)的流程。最后介紹了顯示模塊程序設(shè)計(jì)的流程圖和采用動(dòng)態(tài)送顯方式來(lái)驅(qū)動(dòng)數(shù)碼管。整個(gè)軟件部分的設(shè)計(jì)是數(shù)控恒流源的重要部分,合理的軟件設(shè)計(jì)有利于簡(jiǎn)化整體的設(shè)計(jì),能生成符合要求的信號(hào),最終降低成本。主程序設(shè)計(jì)流程單片機(jī)初始化引腳和中斷,當(dāng)單片機(jī)的P1口檢測(cè)到有按鍵按下時(shí),如果是S3鍵按下電流值加1,如果是S4鍵按下,則電流值減1。啟動(dòng)數(shù)碼管顯示電路開始顯示數(shù)值,輸出電流設(shè)定好后單片機(jī)將電流數(shù)字量通過(guò)P2口送入到D/A轉(zhuǎn)換器中,D/A轉(zhuǎn)換器將其轉(zhuǎn)換為數(shù)字量后輸出。本設(shè)計(jì)主程序流程圖如圖4-1所開始初始化引腳

45、中斷是否有鍵按下NS3鍵是否按下YYYNS4鍵是否按下電流值增加1YNY電流值減1YN數(shù)值送DA轉(zhuǎn)換并輸出數(shù)碼管顯示圖4-1主程序流程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)振蕩器和時(shí)鐘電路。AT89S51系列單片機(jī)完全繼承了MCS-51的指令系統(tǒng),共有111條指令,按其功能可分為五大類:數(shù)據(jù)傳送類指令、算術(shù)運(yùn)算類指令、邏輯運(yùn)算類指令、控制轉(zhuǎn)移類指令、布爾操作。AT

46、89S51具有4K的內(nèi)置Flash可在線編程程序存儲(chǔ)器,對(duì)于這樣內(nèi)部有4KB的程序存儲(chǔ)器的芯片,若引腳接VCC(+5V),則PC的值在00FFFH(4KB)之間時(shí),CPU取指令時(shí)訪問(wèn)內(nèi)部的程序存儲(chǔ)器。若PC值大于0FFFH時(shí),則訪問(wèn)外部的數(shù)據(jù)存儲(chǔ)器。如果引腳接Vss(地),則內(nèi)部的程序存儲(chǔ)器被忽略,即CPU只能訪問(wèn)外部的數(shù)據(jù)存儲(chǔ)器。程序存儲(chǔ)器的操作完全由PC控制。對(duì)于內(nèi)部有程序存儲(chǔ)器(ROM或EPROM)的芯片,引腳可接高電平也可接低電平,而對(duì)于內(nèi)部無(wú)程序存儲(chǔ)器(如8031和8032)的芯片,必須擴(kuò)展外部程序存儲(chǔ)器,引腳必須接地。本設(shè)計(jì)中通過(guò)引腳定義設(shè)定單片機(jī)控制其他器件的引腳。按鍵掃描本設(shè)計(jì)

47、中按鍵采用查詢方式,放在主程序中,當(dāng)沒(méi)有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,有按鍵按下時(shí),轉(zhuǎn)向相應(yīng)的子程序。對(duì)于每一個(gè)按鍵,都有一個(gè)接口電路與單片機(jī)相連,單片機(jī)查詢到哪一個(gè)鍵按下,然后通過(guò)跳轉(zhuǎn)指令轉(zhuǎn)入該按鍵編碼子程序,根據(jù)編碼方式控制NE555的起振時(shí)間。按鍵按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后其觸點(diǎn)才穩(wěn)定下來(lái),抖動(dòng)時(shí)間的長(zhǎng)短與開關(guān)的機(jī)械特性有關(guān),一般為5-10ms。在觸點(diǎn)抖動(dòng)期間檢測(cè)按鍵的通與斷狀態(tài),可能導(dǎo)致判斷出錯(cuò),即按鍵一次按下或釋放被錯(cuò)誤地認(rèn)為是多次操作。為了克服按鍵觸點(diǎn)機(jī)械抖動(dòng)所致的檢測(cè)誤判,必須采取去抖動(dòng)措施,可從硬件、軟件兩方面考慮。在按鍵數(shù)比

48、較少時(shí),可采用硬件去抖動(dòng),按鍵數(shù)比較多時(shí),采用軟件去抖動(dòng)。硬件可采取在鍵輸出端加R-S觸發(fā)器或單穩(wěn)態(tài)觸發(fā)器構(gòu)成去抖動(dòng)電路。軟件上采取的措施是:在檢測(cè)到有按鍵按下時(shí),執(zhí)行一個(gè)10ms左右的延時(shí)程序后,再確認(rèn),該按鍵電平是否仍處于閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài),同理,在檢測(cè)到該鍵釋放后,也采用相同的步驟進(jìn)行確認(rèn),從而消除抖動(dòng)的影響。本設(shè)計(jì)中采用軟件演示方法去按鍵抖動(dòng)。4.4 D/A轉(zhuǎn)換DAC0832進(jìn)行D/A轉(zhuǎn)換,可以采用兩種方法對(duì)數(shù)據(jù)進(jìn)行鎖存:第一種方法是使輸入寄存器工作在鎖存狀態(tài),而DAC寄存器工作在直通狀態(tài),就是使和都為低電平,DAC寄存器的鎖存選通端得不到有效電

49、平而直通。此外,使輸入寄存器的控制信號(hào)ILE處于高電平,處于低電平,這樣當(dāng)端來(lái)一個(gè)負(fù)脈沖時(shí),就可以完成1次轉(zhuǎn)換。第二種方法是使輸入寄存器工作在直通狀態(tài),而DAC寄存器工作在鎖存狀態(tài),使和為低電平,ILE為高電平,這樣,輸入寄存器的鎖存選通信號(hào)處于無(wú)效狀態(tài)而直通。當(dāng)和端輸入1個(gè)負(fù)脈沖時(shí),使得DAC寄存器工作在鎖存狀態(tài),提供鎖存數(shù)據(jù)進(jìn)行轉(zhuǎn)換。根據(jù)以上DAC0832的輸入寄存器和DAC寄存器不同的控制方法,DAC0832有如下3種工作方式:?jiǎn)尉彌_方式:?jiǎn)尉彌_方式是控制輸入寄存器和DAC寄存器同時(shí)接受資料,或者只用輸入寄存器而把DAC寄存器接成直通方式。此方式適用于只有一路模擬量輸出或幾路模擬量異步輸

50、出的情形。雙緩沖方式:雙緩沖方式是先使輸入寄存器接受資料,再控制輸入寄存器的輸出資料到DAC寄存器,即分 兩次鎖存輸入資料。此方式適用于多個(gè)D/A轉(zhuǎn)換同步輸出的情形。直通方式:直通方式是資料不經(jīng)兩級(jí)鎖存器鎖存,即、均接地,ILE接高電平。此方式適用于連續(xù)反饋控制線路,不過(guò)在使用時(shí),必須通過(guò)另加I/O接口與MCU連接,以匹配MCU與D/A轉(zhuǎn)換。本設(shè)計(jì)中選用的是第一種數(shù)據(jù)鎖存方法單緩沖工作方式,將和直接接低電平,接低電平,由單片機(jī)P1.7引腳控制。該部分子程序流程圖如圖4-2所示。開始向P2口寫數(shù)據(jù)延時(shí)5us將WR1置底將WR置為高電平結(jié)束圖4-2D/A寫入數(shù)據(jù)子程序流程圖 LCD顯示根據(jù)數(shù)碼管的

51、驅(qū)動(dòng)方式不同,數(shù)碼管送顯方式有兩種:靜態(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)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)4個(gè)數(shù)碼管,靜態(tài)顯示則需要32根I/O端口來(lái)驅(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ù)碼管的公共極COM增加位選通控制電路,位選通

52、由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字型碼時(shí),所有數(shù)碼管都接收到相同的字型碼,那個(gè)數(shù)碼管顯示該字形由單片機(jī)對(duì)位選通電路的控制,所以將欲顯示的數(shù)碼管的位選通端選通,該數(shù)碼管就顯示,其它數(shù)碼管均不會(huì)亮。通過(guò)輪流控制各個(gè)數(shù)碼管的選通斷使數(shù)碼管輪流顯示。在顯示過(guò)程中,每個(gè)數(shù)碼管的顯示時(shí)間為1-2ms,由于人們的視覺(jué)暫留現(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ù)通過(guò)74LS164的數(shù)據(jù)端送至數(shù)碼管顯示。先按照74LS164的時(shí)鐘時(shí)序?qū)懭?段碼,寫完后送入數(shù)碼管,子程序流程圖如圖4-3所示。開始讀取要顯示的數(shù)據(jù)查表求的該數(shù)據(jù)的顯示斷碼將斷碼逐位移入74LS1648位是否移完?N數(shù)碼管點(diǎn)亮延時(shí)圖4-3 數(shù)碼管顯示子程序

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論