程控放大器的專業(yè)設(shè)計論文_第1頁
程控放大器的專業(yè)設(shè)計論文_第2頁
程控放大器的專業(yè)設(shè)計論文_第3頁
程控放大器的專業(yè)設(shè)計論文_第4頁
程控放大器的專業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、信息與控制工程學(xué)院硬件課程設(shè)計說明書程控放大器的設(shè)計 學(xué)生學(xué)號: 11111111 學(xué)生姓名: 姓名 專業(yè)班級: 測控0902 指導(dǎo)教師: 老師名 職 稱: 副教授 起止日期: 2010.3.152010.4.2 吉林化工學(xué)院Jilin Institute of Chemical Technology信息與控制工程學(xué)院硬件課程設(shè)計說明書硬件課程設(shè)計任務(wù)書一、設(shè)計題目:程控放大器的設(shè)計二、設(shè)計目的1. 掌握電子設(shè)計的一般方法,掌握放大器各項性能指標(biāo)的測量方法;2. 掌握用單片機(jī)最小系統(tǒng)硬件的設(shè)計的方法;3. 熟練掌握Keil編輯軟件的使用方法,掌握C51程序的設(shè)計方法;三、設(shè)計任務(wù)及要求 設(shè)計并

2、實現(xiàn)一程控放大器。程控放大器基本指標(biāo)和設(shè)計要求:1. 設(shè)計并制作一程控放大器,電壓放大倍數(shù)0.1-20;2. 通過鍵盤輸入放大倍數(shù),放大倍數(shù)步長為0.1倍;3. 能夠用LED七段數(shù)碼管實時顯示放大倍數(shù);4. 實測放大器的輸入阻抗、輸出阻抗、通頻帶;主要元器件:OP07(OP27)、DAC0832、AT89C51、LED7段顯示、鍵盤、其它。四、設(shè)計時間及進(jìn)度安排設(shè)計時間共三周(2010.3.152010.4.2),具體安排如下表:周安排設(shè) 計 內(nèi) 容設(shè)計時間第一周查閱相關(guān)資料,進(jìn)行電路的原理設(shè)計并畫出電路原理圖。學(xué)習(xí)偉福編輯軟件的使用方法。2010.3.152010.3.19第二周進(jìn)行電路的焊

3、接制作、測試。進(jìn)行軟件編程并調(diào)試。2010.3.222010.3.26第三周完成并提交硬件設(shè)計作品及硬件課程設(shè)計說明書,硬件課程設(shè)計答辯。 2010.3.292010.4.2五、指導(dǎo)教師評語及學(xué)生成績指導(dǎo)教師評語:年 月 日成績指導(dǎo)教師(簽字):- I -目 錄硬件課程設(shè)計任務(wù)書I緒 論1第1章 程控放大器概述21.1 程控放大器的應(yīng)用及特點21.2 放大器的種類及應(yīng)用31.3 程控放大器設(shè)計方案3第2章 電路設(shè)計及分析52.1 放大電路的設(shè)計52.1.1 OP07 簡介52.1.2 OP07放大器參數(shù)52.1.3 OP07放大器原理52.2 DAC0832DA轉(zhuǎn)換器概述72.3 電源電路設(shè)計

4、92.4 程控放大電路的設(shè)計102.4.1 鍵盤模塊的電路設(shè)計102.4.2 放大及DA轉(zhuǎn)換電路的設(shè)計102.4.3LED掃描原理112.5 AT89C52單片機(jī)概述11第3章 軟件設(shè)計143.1 語言介紹143.1.1 匯編語言特點143.1.2 C語言特點143.1.3 Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)153.2 程控放大器的C語言程序16附 錄17結(jié) 論21參考文獻(xiàn)22- 21 -緒 論本次設(shè)計設(shè)計的任務(wù)是制作一程控放大器,要求電壓放大倍數(shù)20倍,能夠通過鍵盤輸入放大倍數(shù),放大倍數(shù)步長為0.1倍,能夠用LED七段數(shù)碼管實時顯示放大倍數(shù),實測放大器的輸入阻抗、輸出阻抗、通頻帶。

5、程控放大器是一種放大倍數(shù)由程序控制的放大器,也稱為可編程放大器。在多通道或多參數(shù)的數(shù)據(jù)采集系統(tǒng)中,多個通道或多個參數(shù)共用一個測量放大器。就每個通道的數(shù)據(jù)采集而言,還可實現(xiàn)自動控制增益或量程自動切換,因此程控增益放大器得到廣泛應(yīng)用。程控一般有兩種方法,一個是模擬的,叫做自動增益控制(AGC),另外,還有先監(jiān)測輸出,然后調(diào)整程控增益放大器的增益,前者簡單,但人工介入較麻煩,后者人工介入較簡單但成本高復(fù)雜。“先監(jiān)測輸出,然后調(diào)整程控增益放大器的增益”是說通過編制程序去控制電路實現(xiàn)。本文分析了程控放大器的基本原理和它用對模擬信號進(jìn)行穩(wěn)幅和穩(wěn)零的方法。并定量分析了程控信號的可調(diào)節(jié)范圍及精度。.當(dāng)改變量程

6、時測量放大器的增益也相應(yīng)地加以改變.這種變化通常是自動進(jìn)行,即不需要人為的改變電路連接,而是通過軟件控制放大器增益的改變.這樣可以實現(xiàn)儀器量程的自動切換.另外,通過改變增益的方法使系統(tǒng)功能增強(qiáng),在核測量中,穩(wěn)譜的方法之一就是改變輸入信號的放大倍數(shù).這就需要用到數(shù)字控制放大器,并針對該儀器要解決的具體問題要求放大器的放大倍數(shù)在一定范圍內(nèi)變化,并且放大倍數(shù)調(diào)節(jié)要求精細(xì).該文提供了這種數(shù)控放大的一種設(shè)計方案,它的放大倍數(shù)范圍為0.120,其倍數(shù)的調(diào)節(jié)步長為0.1倍。本次實習(xí)中我們應(yīng)用AT89C51單片機(jī)、OP07放大器、DAC0832DA轉(zhuǎn)換器的概況及應(yīng)用做的簡單程控放大器,通過軟件控制放大器增益的

7、改變,采用這向項技術(shù),可以使測量系統(tǒng)有寬的適用范圍,提高系統(tǒng)的適應(yīng)性,同時提高系統(tǒng)的測量精度。 第1章 程控放大器概述1.1程控放大器的應(yīng)用及特點 程控放大器是一種放大倍數(shù)可以控制的放大器??s寫符號PAG。程控放大器在實際當(dāng)中有很多應(yīng)用,可以通過程序來自動調(diào)節(jié)放大器的放大倍數(shù)。例如,在一些比較高檔的電子測量儀器中可以根據(jù)輸入信號的大小自動調(diào)整量程的范圍,就是通過改變放大器的放大倍數(shù)來實現(xiàn)的。在多通道或多參數(shù)的數(shù)據(jù)采集系統(tǒng)中,多個通道或多個參數(shù)共用一個測量放大器。各通道或各參數(shù)送入測量放大器的信號大小并不相同,但都要放大至A/D變換器輸入要求的標(biāo)準(zhǔn)電壓,因此各個通道要求測量放大器的增益就每個通道

8、的數(shù)據(jù)采集而言,還可實現(xiàn)自動控制增益或量程自動切換,因此程控增益放大器得到廣泛應(yīng)用。程控放大器使用方便、性能好,故可在數(shù)據(jù)采集系統(tǒng)、自動增益控制、動態(tài)范圍擴(kuò)展、遠(yuǎn)程儀表測試等方面使用尤為適宜,程控增益調(diào)整比手工調(diào)整更優(yōu)越。在使用放大器的場合中,往往希望增益能夠調(diào)整,以使波形顯示更完美,數(shù)據(jù)采集更精確。而程控增益調(diào)整比手工調(diào)整更優(yōu)越。本次實習(xí)中我們所做的簡單程控放大器,只是在十分基礎(chǔ)的范圍內(nèi)制作和了解。本文簡單介紹了與之相關(guān)的AT89C51單片機(jī)、OP07放大器、DAC0832DA轉(zhuǎn)換器的概況及應(yīng)用。圖1-1為程控放大器模塊圖。顯示模塊鍵盤模塊數(shù)據(jù)處理模塊數(shù)模轉(zhuǎn)換模塊放大模塊圖1-1 程控放大器

9、模塊圖1.2 放大器的種類及應(yīng)用 一、A類(甲類)放大器 :A類(甲類)放大器,是指電流連續(xù)地流過所有輸出器件的一種放大器。 這種放大器,由于避免了器件開關(guān)所產(chǎn)生的非線性,只要偏置和動態(tài)范圍控制得當(dāng),僅從失真的角度來看,可認(rèn)為它是一種良好的線性放大器。 A類放大器在結(jié)構(gòu)上,還有兩類不同的工作方式。其中一類是將兩個射極跟隨器相聯(lián)工作,其偏置電流要增加到在正常負(fù)載下有足夠的電流流過,而不使任一器件截止。這一措施的最大優(yōu)點是它不會突然地耗盡輸出電流,如果負(fù)載阻抗低于標(biāo)定值,放大器會短期出現(xiàn)截止現(xiàn)象,在失真上可能略有增加,但不致出現(xiàn)直感上的嚴(yán)重缺陷。另一類可稱作為控制電流源型(VCIS),它本質(zhì)上是一

10、個單獨的射極跟隨器,并帶有一個有源發(fā)射極負(fù)載,以達(dá)到合適的電流泄放。這一類作為輸出級時,需要在開始設(shè)計之前就把所要驅(qū)動的阻抗是多低搞清楚。 二、B類(乙類)放大器 :B類(乙類)放大器,是指器件導(dǎo)通時間為50的一種工作類別。這類放大器可以說是最為流行的一種放大器,也許目前所生產(chǎn)的放大器有99 是屬于這一類。由于大家比較熟悉,這里不作詳細(xì)介紹。 三、AB類(甲乙類)放大器 :AB類(甲乙類)放大器,實際上是A類(甲類)和B類(乙類)的結(jié)合,每個器件的導(dǎo)通時間在50100之間,依賴于偏置電流的大小和輸出電平。該類放大器的偏置按B類(乙類)設(shè)計,然后增加偏置電流,使放大器進(jìn)入AB類(甲乙類)。 AB

11、類(甲乙類)放大器在輸出低于某一電平時,兩個輸出器件皆導(dǎo)通,其狀態(tài)工作于A類(甲類);當(dāng)電平增高時,兩個器件將完全截止,而另一個器件將供給更多的電流。這樣在AB類(甲乙類)狀態(tài)開始時,失真將會突然上升,其線性劣于A類(甲類)或B類(乙類)。不過筆者認(rèn)為,它的正當(dāng)使用在于它對A類(甲類)的補(bǔ)充,且當(dāng)面向低負(fù)載阻抗時可繼續(xù)較好地工作。 1.3 程控放大器設(shè)計方案本設(shè)計由三個模塊電路構(gòu)成:前級DAC電路、后級放大電路和單片機(jī)顯示與控制模塊。在前級DAC電路中,用DAC0832輸出的電流量的不同,從而實現(xiàn)放大器的反饋電阻的改變,后經(jīng)過OP07運算放大器輸出,實現(xiàn)了小信號的放大。 程控放大器可以通過多種

12、途徑實現(xiàn),下面我們簡單介紹三種方案: 方案一: 簡單的放大電路可以由三極管搭接的放大電路實現(xiàn),圖1-2為分立元件放大器電路圖。為了滿足增益的要求,可以采用多級放大電路實現(xiàn)。對電路輸出用二極管檢波產(chǎn)生反饋電壓調(diào)節(jié)前級電路實現(xiàn)自動增益的調(diào)節(jié)。本方案由于大量采用分立元件,如三極管等,電路比較復(fù)雜,工作點難于調(diào)整,尤其增益的定量調(diào)節(jié)非常困難。此外,由于采用多級放大,電路穩(wěn)定性差,容易產(chǎn)生自激現(xiàn)象。圖1-2三極管放大電路方案二: 為了易于實現(xiàn)最大增益的調(diào)節(jié),可以采用D/A芯片AD7520的電阻權(quán)網(wǎng)絡(luò)改變反饋電壓進(jìn)而控制電路增益。又考慮到AD7520是一種廉價型的10位D/A轉(zhuǎn)換芯片,其輸出Vout=Dn

13、Vref/210,其中Dn為10位數(shù)字量輸入的二進(jìn)制值,可滿足210=1024擋增益調(diào)節(jié),滿足題目的精度要求。它由CMOS電流開關(guān)和梯形電阻網(wǎng)絡(luò)構(gòu)成,具有結(jié)構(gòu)簡單、精確度高、體積小、控制方便、外圍布線簡化等特點,故可以采用AD7520來實現(xiàn)信號的程控衰減。但由于AD7520對輸入?yún)⒖茧妷篤ref有一定幅度要求,為使輸入信號在mVV每一數(shù)量級都有較精確的增益,最好使信號在到達(dá)AD7520前經(jīng)過一個適應(yīng)性的幅度放大調(diào)整,再通過AD7520衰減后進(jìn)行相應(yīng)的后級放大,并使前后級增益積為1024,與AD7520的衰減分母抵消,即可實現(xiàn)程控放大。但AD7520對輸入范圍有要求,具體實現(xiàn)起來比較復(fù)雜,而且轉(zhuǎn)

14、化非線性誤差大,帶寬只有幾kHz,不能滿足頻帶要求。方案三:根據(jù)題目對放大電路的增益可控的要求,考慮直接選取可調(diào)增益的運放實現(xiàn),如含有DAC0832的運算放大器。其內(nèi)部由R-2R梯形電阻網(wǎng)絡(luò)和固定增益放大器構(gòu)成,加在其梯型網(wǎng)絡(luò)輸入端的信號經(jīng)衰減后,由固定增益放大器輸出,衰減量是由加在增益控制接口的參考電壓決定,這種方法的優(yōu)點是電路集成度高、條理較清晰、控制方便、易于數(shù)字化用單片機(jī)處理。在此,根據(jù)要求為了便于使用單片機(jī)控制,我組選擇第三種方案! 第2章 電路設(shè)計及分析2.1 放大電路的設(shè)計2.1.1 OP07 簡介TD07 高精度運算放大器具有極低的輸入失調(diào)電壓,極低的失調(diào)電壓溫漂,非常低的輸入

15、。噪聲電壓幅度及長期穩(wěn)定等特點??蓮V泛應(yīng)用于穩(wěn)定積分、精密絕對值電路、比較器及微弱。信號的精確放大,尤其適應(yīng)于宇航、軍工及要求微型化、高可靠的精密儀器儀表中。本電路可與國外OP07 互換。圖2-1為OP07的引腳圖。 圖 2-1 OP07引腳圖2.1.2 OP07放大器參數(shù)OP07是一種高精度單片運算放大器,具有很低的輸入失調(diào)電壓和漂移。OP07的優(yōu)良特性使它特別適合作前級放大器,放大微弱信號。使用OP07一般不用考慮調(diào)零和頻率問題就能滿足要求。 OP07的主要特點: 低輸入失調(diào)電壓:75uV(最大) 低失調(diào)電壓溫漂:1.3uV/(最大) 低失調(diào)電壓時漂:1.5uV/月(最大) 低噪聲:0.6

16、uV P-P(最大) 寬輸入電壓范圍:14V 寬電源電壓范圍:3V18V2.1.3 OP07放大器原理由于運算放大器的增益極高,所以不能在兩輸入端之間加上輸入信號,而一定要用作反饋放大器。 (a) 同相放大電路首先,我們來討論同相放大電路。設(shè) IN+ 端和 IN 端的電壓分別為 和 ,并認(rèn)為運算放大器的增益無限大,則為要獲得有限的輸出電壓,則 = 。這點則是運算放大器工作中的一大特征。在此前提下,分析電路工作就能變得十分簡單。根據(jù)此特征,輸入與輸出的關(guān)系為: 圖2-2同相放大器電路原理圖(b) 反相放大電路 下面我們來分析反相放大電路。 = ,這點是與同相放大電路情況相同的, 所以 =0V 。

17、這樣,盡管有輸入信號,然而 端處為 0V 。恰似接地,所以被叫做假想接地。于是,若討論流經(jīng) 、 的電流 I ,由于運算放大器的輸入電流為 0 ,則 圖2-3反相放大器原理圖據(jù)此,可得出輸入與輸出的關(guān)系 可見,同相放大器和反相放大電路,是從對應(yīng)于輸入,其輸出是否倒向這一事實出發(fā)而得名的。 (C) 實際的運算放大器 實際上,運算放大器的增益不可能無限大,有電流向 、 端子流入(或流出),并且其電流不一定相等。即使在無信號時, 、 之間也有一定的電壓。 2.2 DA轉(zhuǎn)換器原理本次實習(xí)中要通過電阻來調(diào)節(jié)放大倍數(shù),所以我們選擇DAC0832DA轉(zhuǎn)換器中的電阻網(wǎng)與外界電路組成反饋來實現(xiàn)這一功能。(一) D

18、/A轉(zhuǎn)換器DAC0832DAC0832是采用CMOS工藝制成的單片直流輸出型8位數(shù)/模轉(zhuǎn)換器。如圖2-3所示,它由倒T型R-2R電阻網(wǎng)絡(luò)、模擬開關(guān)、運算放大器和參考電壓VREF四大部分組成。運算放大器輸出的模擬量V0為:圖2-4 電阻網(wǎng)絡(luò)圖由上式可見,輸出的模擬量 與輸入的數(shù)字量( ) 成正比,這就實現(xiàn)了從數(shù)字量到模擬量的轉(zhuǎn)換。一個8位D/A轉(zhuǎn)換器有8個輸入端(其中每個輸入端是8位二進(jìn)制數(shù)的一位),有一個模擬輸出端。輸入可有28=256個不同的二進(jìn)制組態(tài),輸出為256個電壓之一,即輸出電壓不是整個電壓范圍內(nèi)任意值,而只能是256個可能值。圖2-4是DAC0832的邏輯框圖和引腳排列。圖2-5

19、DAC0832的邏輯框圖圖2-6 DAC0832的引腳排列(二)各引腳功能D0D7:數(shù)字信號輸入端。ILE:輸入寄存器允許,高電平有效。CS:片選信號,低電平有效。WR1:寫信號1,低電平有效。XFER:傳送控制信號,低電平有效。WR2:寫信號2,低電平有效。IOUT1、IOUT2:DAC電流輸出端。Rfb:是集成在片內(nèi)的外接運放的反饋電阻。 Vref:基準(zhǔn)電壓(-1010V)。Vcc:是源電壓(+5+15V)。A1、A2、A0 :地址輸入端。ALE地址鎖存允許輸入信號,在此腳施加正脈沖,上升沿有效,此時鎖存地址碼,從而選通相應(yīng)的模擬信號通道,以便進(jìn)行A/D轉(zhuǎn)換。START:啟動信號輸入端,應(yīng)

20、在此腳施加正脈沖,當(dāng)上升沿到達(dá)時,內(nèi)部逐次逼近寄存器復(fù)位,在下降沿到達(dá)后,開始A/D轉(zhuǎn)換過程。OE:輸入允許信號,高電平有效。CLOCK(CP):時鐘信號輸入端,外接時鐘頻率一般為640kHz。 Vcc:+5V單電源供電。 、 Vref(+),Vref(-):基準(zhǔn)電壓的正極、負(fù)極。一般Vref(+)接+5V電源,Vref(-)接地。D7D0:數(shù)字信號輸出端。 由A2、A1、A0三地址輸入端選通8路模擬信號中的任何一路進(jìn)行A/D轉(zhuǎn)換。DAC0832是采樣頻率為八位的D/A轉(zhuǎn)換芯片,集成電路內(nèi)有兩級輸入寄存器,使DAC0832芯片具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要(如要求

21、多路D/A異步輸入、同步轉(zhuǎn)換等)。所以這個芯片的應(yīng)用很泛, D/A轉(zhuǎn)換結(jié)果采用電流形式輸出。若需要相應(yīng)的模擬電壓信號,可通過一個高輸入阻抗的線性運算放大器實現(xiàn)。運放的反饋電阻可通過RFB端引用片內(nèi)固有電阻,也可外接。DAC0832邏輯輸入滿足TTL電平,可直接與TTL電路或微機(jī)電路連接。2.3 電源電路設(shè)計基于7805和7905的5V直流穩(wěn)壓電源,線性的既便宜又好用主要材料:220V9V變壓器,二極管1N4007,7805,7905,電容25V/470u,散熱片(可選)圖2-7 電源模塊注意問題:17905的引腳定義,5V輸出電壓上電容的方向。27905空載時測量輸出在6V左右,加上負(fù)載,輸出

22、正常。37805驅(qū)動電流可達(dá)A測量下,運行時電流200300mA,7805溫度有50度左右。 2.4 程控放大電路的設(shè)計2.4.1 鍵盤模塊的電路設(shè)計下圖為鍵盤模塊電路圖,在這個圖中,利用四個開關(guān)組成一個簡易的鍵盤。其中的四條線分別與單片機(jī)的P3口的p3.4-p3.7相連。通過對開關(guān)的控制來設(shè)置放大倍數(shù),并在LED數(shù)碼管中顯示。當(dāng)有按鍵按下時與單片機(jī)相連的引角出現(xiàn)低電平,這樣單片機(jī)就能判斷是否有按鍵按下。本設(shè)計通過對鍵盤操作來控制放大倍數(shù),并在LED數(shù)碼管中顯示。掃描模塊程序見附錄。圖2-8 鍵盤模塊電路2.4.2 放大及DA轉(zhuǎn)換電路的設(shè)計圖2-7中其中由DAC0832DA轉(zhuǎn)換器和OP07放大

23、器組成, DAC0832DA轉(zhuǎn)換器的D0-D7接到單片機(jī)的1-8引腳。數(shù)據(jù)從單片機(jī)傳輸過來,輸入到DAC0832中進(jìn)行相應(yīng)的轉(zhuǎn)換,再通過OP07對信號進(jìn)行放大,并得到輸出。具體算法 得到相應(yīng)輸出為 圖2-9 放大及DA轉(zhuǎn)換電路2.4.3LED掃描原理LED顯示器工作方式有兩種:靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示的特點是每個數(shù)碼管的段選必須接一個8位數(shù)據(jù)線來保持顯示的字形碼。當(dāng)送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點是占用CPU時間少,顯示便于監(jiān)測和控制。缺點是硬件電路比較復(fù)雜,成本較高。動態(tài)顯示方式,既在某一時刻,只讓某一位的位選線處于選通狀態(tài),而其他各位的

24、位選線處于關(guān)閉狀態(tài),同時,段碼線上輸出相應(yīng)位要顯示的段碼。這樣在同一時刻,2位LED中只有選通的那一位顯示出字符,而其他則熄滅。下一時刻同樣只讓另一個位的信息顯示。如此循環(huán),就可以使各位顯示出要的結(jié)果,所以在不同時刻顯示不同的字符,但是由于LED顯示器的余輝和人眼的視覺暫留作用,只要間隔時間足夠短就可以造成多位同時亮的假象,達(dá)到同時顯示的效果。由于此次單片機(jī)有多余的借口,而且使用靜態(tài)顯示利于控制!因此我組選擇靜態(tài)顯示。2.5 AT89C51單片機(jī)概述 AT89C51單片機(jī)引腳圖 圖2-10 AT89C52單片機(jī)管腳圖AT89C51P為40 腳雙列直插封裝的8位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51

25、內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要功能特性:兼容MCS51指令系統(tǒng) 8k可反復(fù)擦寫(1000次)Flash ROM 32個雙向I/O口 256x8bit內(nèi)部RAM 3個16位可編程定時/計數(shù)器中斷 時鐘頻率0-24MHz 2個串行中斷 可編程UART串行通道 2個外部中斷源 共6個中斷源 2個讀寫中斷口線 3級加密位 低功耗空閑和掉電模式 軟件設(shè)置睡眠和喚醒功能它的管腳圖如圖2-3所示,引

26、腳功能說明: VCC電源電壓 GND地 P0 口:P0口是一組8 位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,P1口:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。P2 口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。P3 口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL 邏輯門電路。RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機(jī)器周期以上高

27、電平將使單片機(jī)復(fù)位。ALE/PROG: 當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期兩次PSEN有效,即輸出兩個脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000HFFFFH)

28、,EA 端必須保持低電平(接地)。XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。 XTAL2:振蕩器反相放大器的輸出端。 第3章 軟件設(shè)計3.1語言介紹3.1.1 匯編語言特點 匯編語言是一種功能很強(qiáng)的程序設(shè)計語言,也是利用計算機(jī)所有硬件特性并能直接控制硬件的語言。匯編語言,作為一門語言,對應(yīng)于高級語言的編譯器,需要一個“匯編器”來把匯編語言原文件匯編成機(jī)器可執(zhí)行的代碼。高級的匯編器如MASM,TASM等等為我們寫匯編程序提供了很多類似于高級語言的特征,比如結(jié)構(gòu)化、抽象等。在這樣的環(huán)境中編寫的匯編程序,有很大一部分是面向匯編器的偽指令,已經(jīng)類同于高級語言?,F(xiàn)在的匯編環(huán)境已經(jīng)如此高級,

29、即使全部用匯編語言來編寫windows的應(yīng)用程序也是可行的,但這不是匯編語言的長處。匯編語言的長處在于編寫高效且需要對機(jī)器硬件精確控制的程序。MCS-51單片機(jī)的這個指令系統(tǒng)中共包括111條指令,可以完成30多種功能。3.1.2 C語言特點 它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統(tǒng)設(shè)計語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。1語法限制不太嚴(yán)格,程序設(shè)計自由度大。生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。C語言簡潔、緊湊,

30、使用方便、靈活。2運算符豐富。共有34種。C把括號、賦值、逗號等都作為運算符處理。從而使C的運算類型極為豐富,可以實現(xiàn)其他高級語言難以實現(xiàn)的運算。3數(shù)據(jù)結(jié)構(gòu)類型豐富。具有結(jié)構(gòu)化的控制語句。與匯編語言相比,用C語言寫的程序可移植性好。4C語言允許直接訪問物理地址,能進(jìn)行位(bit)操作,能實現(xiàn)匯編語言的大部分功能,可以直接對硬件進(jìn)行操作。因此有人把它稱為中級語言。C語言對操作系統(tǒng)和系統(tǒng)使用程序以及需要對硬件進(jìn)行操作的場合,用C語言明顯優(yōu)于其它解釋型高級語言,有一些大型應(yīng)用軟件也是用C語言編寫的。具有繪圖能力強(qiáng),可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。它是數(shù)

31、值計算的高級語言。本次實習(xí)運用C語言編程來對單片機(jī)進(jìn)行顯示的動態(tài)掃描控制、信號的傳輸轉(zhuǎn)換控制。3.1.3 Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解

32、。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細(xì)介紹Keil C51開發(fā)系統(tǒng)各部分功能和使用。程序編輯使用Keil,新建一個工程,然后新建一個C文件,并添加到工程中。C51的工具包非常豐富,其中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)

33、的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。3.2 程控放大器的C語言程序用C語言進(jìn)行了簡單編程,運用單片機(jī)對顯示模塊進(jìn)行靜態(tài)掃描編程,將從鍵盤得來的高低電平信息進(jìn)行處理,得到相應(yīng)的信號。通過P1口輸入DAC0832,再通過OP07進(jìn)行放大.得出程序。具體見附錄圖3-1 結(jié)構(gòu)框圖附 錄1 鍵盤模塊程序while(1) key=P3|0xf0; if(key!=0xff) delay(20); key=P3|0xf0; if(key!=0xff) switch(key) case 0

34、xfe: fang_da+; break; case 0xfd: fang_da-; break; case 0xfb: fang_da=fang_da+10; break; case 0xf7: fang_da=fang_da-10; break; default:break; /end switch delay(10); while(P0&0x0f)!=0x0f); /等待鍵盤釋放 if(fang_da200) fang_da=200; if(fang_da99) y=x/10; z=y/10; m=y%10; P0=table1z; P2=table2m; elsey=x/10;z=x%

35、10;P0=table3y;P2=table2z;3 程控放大器程序#include#define uint unsigned int#define uchar unsigned charuchar code table1=0x11,0xdd,0x92,0x32,0x74,0x34,0x12,0x73,0x10,0x70;uchar code table2=0x18,0x7b,0x34,0x94,0xd2,0x91,0x19,0xdc,0x10,0xd0;uchar code table3=0x01,0xcd,0x92,0x22,0x64,0x24,0x02,0x63,0x00,0x60;uc

36、har data count=0,key;int data fang_da=10;/-延時程序-void delay(uint z)uchar i; while(z-)for(i=0;i99) y=x/10; z=y/10; m=y%10; P0=table1z;P2=table2m; Elsey=x/10;z=x%10;P0=table3y;P2=table2z;/=主函數(shù)=main() delay(20); P0=0xff; P2=0xff;while(1)key=P3|0xf0; if(key!=0xff) delay(20); key=P3|0xf0; if(key!=0xff) switch(key) case 0xfe: fang_da+; break;case 0xfd: fang_da-; break; case 0xfb: fang_da=fang_da+10; break; case 0xf7: fang_da=fang_da-10; break; default:break; /end switch delay(10); while(P0&0x0f)!=0x0f); /等待鍵盤釋放 if(fa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論