版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、信息與控制工程學院硬件課程設計說明書程控放大器的設計 學生學號: 11111111 學生姓名: 姓名 專業(yè)班級: 測控0902 指導教師: 老師名 職 稱: 副教授 起止日期: 2010.3.152010.4.2 吉林化工學院Jilin Institute of Chemical Technology信息與控制工程學院硬件課程設計說明書硬件課程設計任務書一、設計題目:程控放大器的設計二、設計目的1. 掌握電子設計的一般方法,掌握放大器各項性能指標的測量方法;2. 掌握用單片機最小系統(tǒng)硬件的設計的方法;3. 熟練掌握Keil編輯軟件的使用方法,掌握C51程序的設計方法;三、設計任務及要求 設計并
2、實現(xiàn)一程控放大器。程控放大器基本指標和設計要求:1. 設計并制作一程控放大器,電壓放大倍數(shù)0.1-20;2. 通過鍵盤輸入放大倍數(shù),放大倍數(shù)步長為0.1倍;3. 能夠用LED七段數(shù)碼管實時顯示放大倍數(shù);4. 實測放大器的輸入阻抗、輸出阻抗、通頻帶;主要元器件:OP07(OP27)、DAC0832、AT89C51、LED7段顯示、鍵盤、其它。四、設計時間及進度安排設計時間共三周(2010.3.152010.4.2),具體安排如下表:周安排設 計 內(nèi) 容設計時間第一周查閱相關資料,進行電路的原理設計并畫出電路原理圖。學習偉福編輯軟件的使用方法。2010.3.152010.3.19第二周進行電路的焊
3、接制作、測試。進行軟件編程并調(diào)試。2010.3.222010.3.26第三周完成并提交硬件設計作品及硬件課程設計說明書,硬件課程設計答辯。 2010.3.292010.4.2五、指導教師評語及學生成績指導教師評語:年 月 日成績指導教師(簽字):- I -目 錄硬件課程設計任務書I緒 論1第1章 程控放大器概述21.1 程控放大器的應用及特點21.2 放大器的種類及應用31.3 程控放大器設計方案3第2章 電路設計及分析52.1 放大電路的設計52.1.1 OP07 簡介52.1.2 OP07放大器參數(shù)52.1.3 OP07放大器原理52.2 DAC0832DA轉(zhuǎn)換器概述72.3 電源電路設計
4、92.4 程控放大電路的設計102.4.1 鍵盤模塊的電路設計102.4.2 放大及DA轉(zhuǎn)換電路的設計102.4.3LED掃描原理112.5 AT89C52單片機概述11第3章 軟件設計143.1 語言介紹143.1.1 匯編語言特點143.1.2 C語言特點143.1.3 Keil C51單片機軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)153.2 程控放大器的C語言程序16附 錄17結(jié) 論21參考文獻22- 21 -緒 論本次設計設計的任務是制作一程控放大器,要求電壓放大倍數(shù)20倍,能夠通過鍵盤輸入放大倍數(shù),放大倍數(shù)步長為0.1倍,能夠用LED七段數(shù)碼管實時顯示放大倍數(shù),實測放大器的輸入阻抗、輸出阻抗、通頻帶。
5、程控放大器是一種放大倍數(shù)由程序控制的放大器,也稱為可編程放大器。在多通道或多參數(shù)的數(shù)據(jù)采集系統(tǒng)中,多個通道或多個參數(shù)共用一個測量放大器。就每個通道的數(shù)據(jù)采集而言,還可實現(xiàn)自動控制增益或量程自動切換,因此程控增益放大器得到廣泛應用。程控一般有兩種方法,一個是模擬的,叫做自動增益控制(AGC),另外,還有先監(jiān)測輸出,然后調(diào)整程控增益放大器的增益,前者簡單,但人工介入較麻煩,后者人工介入較簡單但成本高復雜。“先監(jiān)測輸出,然后調(diào)整程控增益放大器的增益”是說通過編制程序去控制電路實現(xiàn)。本文分析了程控放大器的基本原理和它用對模擬信號進行穩(wěn)幅和穩(wěn)零的方法。并定量分析了程控信號的可調(diào)節(jié)范圍及精度。.當改變量程
6、時測量放大器的增益也相應地加以改變.這種變化通常是自動進行,即不需要人為的改變電路連接,而是通過軟件控制放大器增益的改變.這樣可以實現(xiàn)儀器量程的自動切換.另外,通過改變增益的方法使系統(tǒng)功能增強,在核測量中,穩(wěn)譜的方法之一就是改變輸入信號的放大倍數(shù).這就需要用到數(shù)字控制放大器,并針對該儀器要解決的具體問題要求放大器的放大倍數(shù)在一定范圍內(nèi)變化,并且放大倍數(shù)調(diào)節(jié)要求精細.該文提供了這種數(shù)控放大的一種設計方案,它的放大倍數(shù)范圍為0.120,其倍數(shù)的調(diào)節(jié)步長為0.1倍。本次實習中我們應用AT89C51單片機、OP07放大器、DAC0832DA轉(zhuǎn)換器的概況及應用做的簡單程控放大器,通過軟件控制放大器增益的
7、改變,采用這向項技術,可以使測量系統(tǒng)有寬的適用范圍,提高系統(tǒng)的適應性,同時提高系統(tǒng)的測量精度。 第1章 程控放大器概述1.1程控放大器的應用及特點 程控放大器是一種放大倍數(shù)可以控制的放大器??s寫符號PAG。程控放大器在實際當中有很多應用,可以通過程序來自動調(diào)節(jié)放大器的放大倍數(shù)。例如,在一些比較高檔的電子測量儀器中可以根據(jù)輸入信號的大小自動調(diào)整量程的范圍,就是通過改變放大器的放大倍數(shù)來實現(xiàn)的。在多通道或多參數(shù)的數(shù)據(jù)采集系統(tǒng)中,多個通道或多個參數(shù)共用一個測量放大器。各通道或各參數(shù)送入測量放大器的信號大小并不相同,但都要放大至A/D變換器輸入要求的標準電壓,因此各個通道要求測量放大器的增益就每個通道
8、的數(shù)據(jù)采集而言,還可實現(xiàn)自動控制增益或量程自動切換,因此程控增益放大器得到廣泛應用。程控放大器使用方便、性能好,故可在數(shù)據(jù)采集系統(tǒng)、自動增益控制、動態(tài)范圍擴展、遠程儀表測試等方面使用尤為適宜,程控增益調(diào)整比手工調(diào)整更優(yōu)越。在使用放大器的場合中,往往希望增益能夠調(diào)整,以使波形顯示更完美,數(shù)據(jù)采集更精確。而程控增益調(diào)整比手工調(diào)整更優(yōu)越。本次實習中我們所做的簡單程控放大器,只是在十分基礎的范圍內(nèi)制作和了解。本文簡單介紹了與之相關的AT89C51單片機、OP07放大器、DAC0832DA轉(zhuǎn)換器的概況及應用。圖1-1為程控放大器模塊圖。顯示模塊鍵盤模塊數(shù)據(jù)處理模塊數(shù)模轉(zhuǎn)換模塊放大模塊圖1-1 程控放大器
9、模塊圖1.2 放大器的種類及應用 一、A類(甲類)放大器 :A類(甲類)放大器,是指電流連續(xù)地流過所有輸出器件的一種放大器。 這種放大器,由于避免了器件開關所產(chǎn)生的非線性,只要偏置和動態(tài)范圍控制得當,僅從失真的角度來看,可認為它是一種良好的線性放大器。 A類放大器在結(jié)構(gòu)上,還有兩類不同的工作方式。其中一類是將兩個射極跟隨器相聯(lián)工作,其偏置電流要增加到在正常負載下有足夠的電流流過,而不使任一器件截止。這一措施的最大優(yōu)點是它不會突然地耗盡輸出電流,如果負載阻抗低于標定值,放大器會短期出現(xiàn)截止現(xiàn)象,在失真上可能略有增加,但不致出現(xiàn)直感上的嚴重缺陷。另一類可稱作為控制電流源型(VCIS),它本質(zhì)上是一
10、個單獨的射極跟隨器,并帶有一個有源發(fā)射極負載,以達到合適的電流泄放。這一類作為輸出級時,需要在開始設計之前就把所要驅(qū)動的阻抗是多低搞清楚。 二、B類(乙類)放大器 :B類(乙類)放大器,是指器件導通時間為50的一種工作類別。這類放大器可以說是最為流行的一種放大器,也許目前所生產(chǎn)的放大器有99 是屬于這一類。由于大家比較熟悉,這里不作詳細介紹。 三、AB類(甲乙類)放大器 :AB類(甲乙類)放大器,實際上是A類(甲類)和B類(乙類)的結(jié)合,每個器件的導通時間在50100之間,依賴于偏置電流的大小和輸出電平。該類放大器的偏置按B類(乙類)設計,然后增加偏置電流,使放大器進入AB類(甲乙類)。 AB
11、類(甲乙類)放大器在輸出低于某一電平時,兩個輸出器件皆導通,其狀態(tài)工作于A類(甲類);當電平增高時,兩個器件將完全截止,而另一個器件將供給更多的電流。這樣在AB類(甲乙類)狀態(tài)開始時,失真將會突然上升,其線性劣于A類(甲類)或B類(乙類)。不過筆者認為,它的正當使用在于它對A類(甲類)的補充,且當面向低負載阻抗時可繼續(xù)較好地工作。 1.3 程控放大器設計方案本設計由三個模塊電路構(gòu)成:前級DAC電路、后級放大電路和單片機顯示與控制模塊。在前級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é)。本方案由于大量采用分立元件,如三極管等,電路比較復雜,工作點難于調(diào)整,尤其增益的定量調(diào)節(jié)非常困難。此外,由于采用多級放大,電路穩(wěn)定性差,容易產(chǎn)生自激現(xiàn)象。圖1-2三極管放大電路方案二: 為了易于實現(xiàn)最大增益的調(diào)節(jié),可以采用D/A芯片AD7520的電阻權網(wǎng)絡改變反饋電壓進而控制電路增益。又考慮到AD7520是一種廉價型的10位D/A轉(zhuǎn)換芯片,其輸出Vout=Dn
13、Vref/210,其中Dn為10位數(shù)字量輸入的二進制值,可滿足210=1024擋增益調(diào)節(jié),滿足題目的精度要求。它由CMOS電流開關和梯形電阻網(wǎng)絡構(gòu)成,具有結(jié)構(gòu)簡單、精確度高、體積小、控制方便、外圍布線簡化等特點,故可以采用AD7520來實現(xiàn)信號的程控衰減。但由于AD7520對輸入?yún)⒖茧妷篤ref有一定幅度要求,為使輸入信號在mVV每一數(shù)量級都有較精確的增益,最好使信號在到達AD7520前經(jīng)過一個適應性的幅度放大調(diào)整,再通過AD7520衰減后進行相應的后級放大,并使前后級增益積為1024,與AD7520的衰減分母抵消,即可實現(xiàn)程控放大。但AD7520對輸入范圍有要求,具體實現(xiàn)起來比較復雜,而且轉(zhuǎn)
14、化非線性誤差大,帶寬只有幾kHz,不能滿足頻帶要求。方案三:根據(jù)題目對放大電路的增益可控的要求,考慮直接選取可調(diào)增益的運放實現(xiàn),如含有DAC0832的運算放大器。其內(nèi)部由R-2R梯形電阻網(wǎng)絡和固定增益放大器構(gòu)成,加在其梯型網(wǎng)絡輸入端的信號經(jīng)衰減后,由固定增益放大器輸出,衰減量是由加在增益控制接口的參考電壓決定,這種方法的優(yōu)點是電路集成度高、條理較清晰、控制方便、易于數(shù)字化用單片機處理。在此,根據(jù)要求為了便于使用單片機控制,我組選擇第三種方案! 第2章 電路設計及分析2.1 放大電路的設計2.1.1 OP07 簡介TD07 高精度運算放大器具有極低的輸入失調(diào)電壓,極低的失調(diào)電壓溫漂,非常低的輸入
15、。噪聲電壓幅度及長期穩(wěn)定等特點??蓮V泛應用于穩(wěn)定積分、精密絕對值電路、比較器及微弱。信號的精確放大,尤其適應于宇航、軍工及要求微型化、高可靠的精密儀器儀表中。本電路可與國外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) 同相放大電路首先,我們來討論同相放大電路。設 IN+ 端和 IN 端的電壓分別為 和 ,并認為運算放大器的增益無限大,則為要獲得有限的輸出電壓,則 = 。這點則是運算放大器工作中的一大特征。在此前提下,分析電路工作就能變得十分簡單。根據(jù)此特征,輸入與輸出的關系為: 圖2-2同相放大器電路原理圖(b) 反相放大電路 下面我們來分析反相放大電路。 = ,這點是與同相放大電路情況相同的, 所以 =0V 。
17、這樣,盡管有輸入信號,然而 端處為 0V 。恰似接地,所以被叫做假想接地。于是,若討論流經(jīng) 、 的電流 I ,由于運算放大器的輸入電流為 0 ,則 圖2-3反相放大器原理圖據(jù)此,可得出輸入與輸出的關系 可見,同相放大器和反相放大電路,是從對應于輸入,其輸出是否倒向這一事實出發(fā)而得名的。 (C) 實際的運算放大器 實際上,運算放大器的增益不可能無限大,有電流向 、 端子流入(或流出),并且其電流不一定相等。即使在無信號時, 、 之間也有一定的電壓。 2.2 DA轉(zhuǎn)換器原理本次實習中要通過電阻來調(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)絡、模擬開關、運算放大器和參考電壓VREF四大部分組成。運算放大器輸出的模擬量V0為:圖2-4 電阻網(wǎng)絡圖由上式可見,輸出的模擬量 與輸入的數(shù)字量( ) 成正比,這就實現(xiàn)了從數(shù)字量到模擬量的轉(zhuǎn)換。一個8位D/A轉(zhuǎn)換器有8個輸入端(其中每個輸入端是8位二進制數(shù)的一位),有一個模擬輸出端。輸入可有28=256個不同的二進制組態(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:基準電壓(-1010V)。Vcc:是源電壓(+5+15V)。A1、A2、A0 :地址輸入端。ALE地址鎖存允許輸入信號,在此腳施加正脈沖,上升沿有效,此時鎖存地址碼,從而選通相應的模擬信號通道,以便進行A/D轉(zhuǎn)換。START:啟動信號輸入端,應
20、在此腳施加正脈沖,當上升沿到達時,內(nèi)部逐次逼近寄存器復位,在下降沿到達后,開始A/D轉(zhuǎn)換過程。OE:輸入允許信號,高電平有效。CLOCK(CP):時鐘信號輸入端,外接時鐘頻率一般為640kHz。 Vcc:+5V單電源供電。 、 Vref(+),Vref(-):基準電壓的正極、負極。一般Vref(+)接+5V電源,Vref(-)接地。D7D0:數(shù)字信號輸出端。 由A2、A1、A0三地址輸入端選通8路模擬信號中的任何一路進行A/D轉(zhuǎn)換。DAC0832是采樣頻率為八位的D/A轉(zhuǎn)換芯片,集成電路內(nèi)有兩級輸入寄存器,使DAC0832芯片具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要(如要求
21、多路D/A異步輸入、同步轉(zhuǎn)換等)。所以這個芯片的應用很泛, D/A轉(zhuǎn)換結(jié)果采用電流形式輸出。若需要相應的模擬電壓信號,可通過一個高輸入阻抗的線性運算放大器實現(xiàn)。運放的反饋電阻可通過RFB端引用片內(nèi)固有電阻,也可外接。DAC0832邏輯輸入滿足TTL電平,可直接與TTL電路或微機電路連接。2.3 電源電路設計基于7805和7905的5V直流穩(wěn)壓電源,線性的既便宜又好用主要材料:220V9V變壓器,二極管1N4007,7805,7905,電容25V/470u,散熱片(可選)圖2-7 電源模塊注意問題:17905的引腳定義,5V輸出電壓上電容的方向。27905空載時測量輸出在6V左右,加上負載,輸出
22、正常。37805驅(qū)動電流可達A測量下,運行時電流200300mA,7805溫度有50度左右。 2.4 程控放大電路的設計2.4.1 鍵盤模塊的電路設計下圖為鍵盤模塊電路圖,在這個圖中,利用四個開關組成一個簡易的鍵盤。其中的四條線分別與單片機的P3口的p3.4-p3.7相連。通過對開關的控制來設置放大倍數(shù),并在LED數(shù)碼管中顯示。當有按鍵按下時與單片機相連的引角出現(xiàn)低電平,這樣單片機就能判斷是否有按鍵按下。本設計通過對鍵盤操作來控制放大倍數(shù),并在LED數(shù)碼管中顯示。掃描模塊程序見附錄。圖2-8 鍵盤模塊電路2.4.2 放大及DA轉(zhuǎn)換電路的設計圖2-7中其中由DAC0832DA轉(zhuǎn)換器和OP07放大
23、器組成, DAC0832DA轉(zhuǎn)換器的D0-D7接到單片機的1-8引腳。數(shù)據(jù)從單片機傳輸過來,輸入到DAC0832中進行相應的轉(zhuǎn)換,再通過OP07對信號進行放大,并得到輸出。具體算法 得到相應輸出為 圖2-9 放大及DA轉(zhuǎn)換電路2.4.3LED掃描原理LED顯示器工作方式有兩種:靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示的特點是每個數(shù)碼管的段選必須接一個8位數(shù)據(jù)線來保持顯示的字形碼。當送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點是占用CPU時間少,顯示便于監(jiān)測和控制。缺點是硬件電路比較復雜,成本較高。動態(tài)顯示方式,既在某一時刻,只讓某一位的位選線處于選通狀態(tài),而其他各位的
24、位選線處于關閉狀態(tài),同時,段碼線上輸出相應位要顯示的段碼。這樣在同一時刻,2位LED中只有選通的那一位顯示出字符,而其他則熄滅。下一時刻同樣只讓另一個位的信息顯示。如此循環(huán),就可以使各位顯示出要的結(jié)果,所以在不同時刻顯示不同的字符,但是由于LED顯示器的余輝和人眼的視覺暫留作用,只要間隔時間足夠短就可以造成多位同時亮的假象,達到同時顯示的效果。由于此次單片機有多余的借口,而且使用靜態(tài)顯示利于控制!因此我組選擇靜態(tài)顯示。2.5 AT89C51單片機概述 AT89C51單片機引腳圖 圖2-10 AT89C52單片機管腳圖AT89C51P為40 腳雙列直插封裝的8位通用微處理器,采用工業(yè)標準的C51
25、內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要功能特性:兼容MCS51指令系統(tǒng) 8k可反復擦寫(1000次)Flash ROM 32個雙向I/O口 256x8bit內(nèi)部RAM 3個16位可編程定時/計數(shù)器中斷 時鐘頻率0-24MHz 2個串行中斷 可編程UART串行通道 2個外部中斷源 共6個中斷源 2個讀寫中斷口線 3級加密位 低功耗空閑和掉電模式 軟件設置睡眠和喚醒功能它的管腳圖如圖2-3所示,引
26、腳功能說明: VCC電源電壓 GND地 P0 口:P0口是一組8 位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能吸收電流的方式驅(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:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高
27、電平將使單片機復位。ALE/PROG: 當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000HFFFFH)
28、,EA 端必須保持低電平(接地)。XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。 XTAL2:振蕩器反相放大器的輸出端。 第3章 軟件設計3.1語言介紹3.1.1 匯編語言特點 匯編語言是一種功能很強的程序設計語言,也是利用計算機所有硬件特性并能直接控制硬件的語言。匯編語言,作為一門語言,對應于高級語言的編譯器,需要一個“匯編器”來把匯編語言原文件匯編成機器可執(zhí)行的代碼。高級的匯編器如MASM,TASM等等為我們寫匯編程序提供了很多類似于高級語言的特征,比如結(jié)構(gòu)化、抽象等。在這樣的環(huán)境中編寫的匯編程序,有很大一部分是面向匯編器的偽指令,已經(jīng)類同于高級語言?,F(xiàn)在的匯編環(huán)境已經(jīng)如此高級,
29、即使全部用匯編語言來編寫windows的應用程序也是可行的,但這不是匯編語言的長處。匯編語言的長處在于編寫高效且需要對機器硬件精確控制的程序。MCS-51單片機的這個指令系統(tǒng)中共包括111條指令,可以完成30多種功能。3.1.2 C語言特點 它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統(tǒng)設計語言,編寫系統(tǒng)應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。因此,它的應用范圍廣泛,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,具體應用比如單片機以及嵌入式系統(tǒng)開發(fā)。1語法限制不太嚴格,程序設計自由度大。生成目標代碼質(zhì)量高,程序執(zhí)行效率高。C語言簡潔、緊湊,
30、使用方便、靈活。2運算符豐富。共有34種。C把括號、賦值、逗號等都作為運算符處理。從而使C的運算類型極為豐富,可以實現(xiàn)其他高級語言難以實現(xiàn)的運算。3數(shù)據(jù)結(jié)構(gòu)類型豐富。具有結(jié)構(gòu)化的控制語句。與匯編語言相比,用C語言寫的程序可移植性好。4C語言允許直接訪問物理地址,能進行位(bit)操作,能實現(xiàn)匯編語言的大部分功能,可以直接對硬件進行操作。因此有人把它稱為中級語言。C語言對操作系統(tǒng)和系統(tǒng)使用程序以及需要對硬件進行操作的場合,用C語言明顯優(yōu)于其它解釋型高級語言,有一些大型應用軟件也是用C語言編寫的。具有繪圖能力強,可移植性,并具備很強的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。它是數(shù)
31、值計算的高級語言。本次實習運用C語言編程來對單片機進行顯示的動態(tài)掃描控制、信號的傳輸轉(zhuǎn)換控制。3.1.3 Keil C51單片機軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解
32、。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細介紹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編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標準
33、的Hex文件,以供調(diào)試器dScope51或tScope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中。3.2 程控放大器的C語言程序用C語言進行了簡單編程,運用單片機對顯示模塊進行靜態(tài)掃描編程,將從鍵盤得來的高低電平信息進行處理,得到相應的信號。通過P1口輸入DAC0832,再通過OP07進行放大.得出程序。具體見附錄圖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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年洗浴中心買賣協(xié)議范本
- 2024年度企業(yè)電腦批量采購協(xié)議
- 2024年跨國勞務輸出協(xié)議格式
- 2024建筑咨詢擴展服務協(xié)議議定書
- 廢舊物品回收化協(xié)議2024
- 2024專利發(fā)明申請權轉(zhuǎn)讓協(xié)議范本
- 2024年四合院建筑工程協(xié)議
- 2024年試用廚師用工協(xié)議范例
- 乳房保養(yǎng)課件教學課件
- 春天圖片課件教學課件
- 2024年-重晶石購銷合同1本月修正
- 2022年廣州市白云區(qū)總工會社會化工會工作者考試試卷及答案解析
- 國家開放大學2024年《知識產(chǎn)權法》形考任務1-4答案
- 2024-2029年中國水上游樂園行業(yè)十四五發(fā)展分析及投資前景與戰(zhàn)略規(guī)劃研究報告
- 節(jié)能電梯知識培訓課件
- 小班美術《小刺猬背果果》課件
- 檔案移交方案
- 高中英語外研版(2019)選擇性必修第一冊各單元主題語境與單元目標
- 人教版數(shù)學三年級上冊《1-4單元綜合復習》試題
- 2024年水利工程行業(yè)技能考試-水利部質(zhì)量檢測員筆試歷年真題薈萃含答案
- (新版)三級物聯(lián)網(wǎng)安裝調(diào)試員技能鑒定考試題庫大全-上(單選題匯總)
評論
0/150
提交評論