644523015畢業(yè)設(shè)計(jì)(論文)基于PROTUES的數(shù)控直流源的仿真方法_第1頁
644523015畢業(yè)設(shè)計(jì)(論文)基于PROTUES的數(shù)控直流源的仿真方法_第2頁
644523015畢業(yè)設(shè)計(jì)(論文)基于PROTUES的數(shù)控直流源的仿真方法_第3頁
644523015畢業(yè)設(shè)計(jì)(論文)基于PROTUES的數(shù)控直流源的仿真方法_第4頁
644523015畢業(yè)設(shè)計(jì)(論文)基于PROTUES的數(shù)控直流源的仿真方法_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、東北電力大學(xué)本科畢業(yè)設(shè)計(jì)論文3333摘 要近年來隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,由于它具有功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用方便等特點(diǎn),因此越來越廣泛地應(yīng)用各個(gè)領(lǐng)域。本系統(tǒng)以 at89s51 單片機(jī)作為系統(tǒng)的核心,由d/a數(shù)字模擬轉(zhuǎn)換模塊、按鍵、led串口顯示模塊等模塊組成一個(gè)數(shù)控電源。具體介紹應(yīng)用proteus的isis軟件進(jìn)行單片機(jī)系統(tǒng)的數(shù)控電源設(shè)計(jì)與仿真的實(shí)現(xiàn)方法。本系統(tǒng)由單片機(jī)程控輸出數(shù)字信號(hào),經(jīng)過d/a轉(zhuǎn)換器(ad0832)輸出模擬量,再經(jīng)過運(yùn)算放大器隔離放大,控制輸出功率管的基極,隨著功率管基極電壓的變化而輸出不同的電

2、壓。仿真結(jié)果表明,本系統(tǒng)實(shí)際應(yīng)用于需要高穩(wěn)定度小功率恒壓源的領(lǐng)域。關(guān)鍵詞:?jiǎn)纹瑱C(jī);數(shù)控電源;d/a;直流電源;proteus; abstractin recent years, with computers in the infiltration and the development of large-scale integrated circuits. scm application is steadily deepening, as it has strong function, small size, low power dissipation, low prices, reliabl

3、e, easy to use features, it is particularly suited to and control of the system, increasingly widely used in various fields.the at89s51 scm is the heart of the nc power,which is made up of digital-analog converter module,key module and led display module.describes the application of proteus's is

4、is software of the numerical control power source to achieve the design and simulation methods in details. this system consists of microcontroller program output digital signal, through d/a converter (ad0832) output analog amplifier, through isolating amplifier output power, control of base, with th

5、e power to change the passive tube voltage output of different voltage. test results show that this system application in need of high stability of small power constant-voltage source fields.key words:microcontroller ;numerical control power source;d/a;direct-current power supply proteus;目 錄摘 要iabst

6、ractii第一章 緒論11.1課題背景和研究意義11.2 本文研究?jī)?nèi)容1第二章 整體方案設(shè)計(jì)與主要器件選擇和介紹32.1 整體方案論證32.2 整體方案設(shè)計(jì)32.3單片機(jī)的選擇32.4 89s51芯片內(nèi)部結(jié)構(gòu)簡(jiǎn)介52.5 數(shù)模轉(zhuǎn)換器d/a的選擇與介紹82.6 可調(diào)穩(wěn)壓芯片的選擇與介紹9第三章 數(shù)控直流源的硬件設(shè)計(jì)103.1 最小系統(tǒng)設(shè)計(jì)103.2 dac0832及其外圍電路113.3 d/a 轉(zhuǎn)換的計(jì)算113.4 led數(shù)碼管顯示模塊123.5 鍵盤控制電路143.6 穩(wěn)壓輸出電路設(shè)計(jì)153.7數(shù)控直流源的整體原理圖16第四章 數(shù)控直流源的軟件設(shè)計(jì)174.1 開發(fā)工具介紹174.2系統(tǒng)軟件設(shè)

7、計(jì)流程圖184.3 主程序和中斷程序設(shè)計(jì)19第五章 系統(tǒng)仿真215.1 protues軟件介紹215.2 proteus軟件的強(qiáng)大功能215.3 用proteus繪制電路圖225.4 proteus和keil編譯器的結(jié)合使用225.5 數(shù)控直流源系統(tǒng)protues仿真24第六章 調(diào)試與功能說明256.1系統(tǒng)性能測(cè)試與功能說明256.2系統(tǒng)數(shù)據(jù)分析256.3軟件調(diào)試問題及解決25結(jié) 論26致 謝27參考文獻(xiàn)、資料索引28附錄一:源程序29第一章 緒論1.1課題背景和研究意義 單片機(jī)技術(shù)作為計(jì)算機(jī)技術(shù)的一個(gè)分支,廣泛地應(yīng)用于工業(yè)控制、智能儀器儀表、電機(jī)一體化產(chǎn)品、家用電器等各個(gè)領(lǐng)域。“單片機(jī)原理及

8、應(yīng)用”是工科類一門重要的專業(yè)課,是電子信息與電器類專業(yè)學(xué)生必須要掌握的一門基本技術(shù)。學(xué)生在課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)及社會(huì)實(shí)踐中會(huì)廣泛應(yīng)用到單片機(jī)知識(shí)。如何在較短的時(shí)間掌握單片機(jī)知識(shí)解決實(shí)際問題的能力?針對(duì)這一課題,以proteus軟件作為單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)和仿真平臺(tái),強(qiáng)調(diào)了在應(yīng)用中學(xué)單片機(jī),實(shí)現(xiàn)了從產(chǎn)品概念到設(shè)計(jì)完成全過程訓(xùn)練,克服了傳統(tǒng)單片機(jī)系統(tǒng)設(shè)計(jì)中沒有物理原型就無法對(duì)系統(tǒng)進(jìn)行測(cè)試、沒有系統(tǒng)硬件就很難對(duì)軟件進(jìn)行調(diào)試的不足。幾乎所有的電子設(shè)備都需要穩(wěn)定的直流電源,因此直流穩(wěn)壓電源的應(yīng)用非常的廣泛。 直流穩(wěn)壓電源的電路形式有很多種,有串聯(lián)型、開關(guān)型、集成電路、穩(wěn)壓管直流穩(wěn)壓電源等等。在電子設(shè)備中,

9、直流穩(wěn)壓電源的故障率是最高的(長期工作在大電流和大電壓下,電子元器件很容易損壞)但在直流穩(wěn)壓電源中,通過整流、濾波電路所獲得的直流電源的電壓往往是不穩(wěn)定的。輸出電壓在電網(wǎng)電壓波動(dòng)或負(fù)載電流變化時(shí)也會(huì)隨之有所改變。電子設(shè)備電源電壓的不穩(wěn)定,將會(huì)引起很多問題。設(shè)計(jì)出質(zhì)量?jī)?yōu)良的直流穩(wěn)壓電源,才能滿足各種電子線路的要求。因此,直流穩(wěn)壓電源的研究就頗為重要。目前產(chǎn)生直流穩(wěn)壓電源的方法大致分為兩種:一種是模擬方法,另一種是數(shù)字方法。前者的電路均采用模擬電路控制,而后者則是通過數(shù)字電路進(jìn)行自動(dòng)控制。直流穩(wěn)壓電源朝著數(shù)字化方向發(fā)展。因此對(duì)于數(shù)控恒壓源的研究是必要的。隨著科學(xué)技術(shù)飛速發(fā)展,對(duì)電源可靠性、輸出精度

10、和穩(wěn)定性要求越來越高,利用d/ a 轉(zhuǎn)換器的高分辨率和單片機(jī)的自動(dòng)檢測(cè)技術(shù)設(shè)計(jì)程控電源就顯示出其優(yōu)越性。程控電源既能方便輸入和選擇預(yù)設(shè)電壓值又具有較高精度和穩(wěn)定性,而且可以任意設(shè)定輸出電壓或電流,所有功能由面板上的鍵盤控制單片機(jī)實(shí)現(xiàn),給電路實(shí)驗(yàn)帶來極大的方便,提高了工作效率。電源采用數(shù)字控制,具有以下明顯優(yōu)點(diǎn):1)易于采用先進(jìn)的控制方法和智能控制策略,使電源模塊的智能化程度更高,性能更完美。2)控制靈活,系統(tǒng)升級(jí)方便,甚至可以在線修改控制算法,而不必改動(dòng)硬件線路。3)控制系統(tǒng)的可靠性提高,易于標(biāo)準(zhǔn)化,可以針對(duì)不同的系統(tǒng)(或不同型號(hào)的產(chǎn)品),采用統(tǒng)一的控制板,而只是對(duì)控制軟件做一些調(diào)整即可。1.

11、2 本文研究?jī)?nèi)容綜上所述,為更好的應(yīng)用proteus軟件來完成系統(tǒng)的仿真和設(shè)計(jì),本文將以應(yīng)用廣泛的數(shù)控直流源為例,介紹應(yīng)用proteus來做系統(tǒng)仿真的具體方法。本文所要研究?jī)?nèi)容包括以下幾個(gè)方面:1. 數(shù)控直流源的硬件設(shè)計(jì);2. 數(shù)控直流源的軟件設(shè)計(jì);3. 系統(tǒng)仿真;4. 調(diào)試與功能說明; 通過proteus軟件的仿真,可以反復(fù)實(shí)現(xiàn)軟硬件的調(diào)試以達(dá)到系統(tǒng)穩(wěn)定,這是一個(gè)系統(tǒng)的研究方法,可以把此方法應(yīng)用到其他設(shè)計(jì)系統(tǒng)的研究。第二章 整體方案設(shè)計(jì)與主要器件選擇和介紹2.1 整體方案論證方案一:采用各類數(shù)字電路來組成鍵盤控制系統(tǒng),進(jìn)行信號(hào)處理,如選用cpld等可編程邏輯器件。本方案電路復(fù)雜,靈活性不高,

12、效率低,不利于系統(tǒng)的擴(kuò)展,對(duì)信號(hào)處理比較困難。方案二:采用at89s52單片機(jī)作為整機(jī)的控制單元,通過改變dac0832的輸入數(shù)字量來改變輸出電壓值,從而使輸出功率管的基極電壓發(fā)生變化,間接地改變輸出電壓的大小。為了能夠使系統(tǒng)具備檢測(cè)實(shí)際輸出電壓值的大小,可以將輸出電壓經(jīng)過adc0832進(jìn)行模數(shù)轉(zhuǎn)換,間接用單片機(jī)實(shí)時(shí)對(duì)電壓進(jìn)行采樣,然后進(jìn)行數(shù)據(jù)處理及顯示。此系統(tǒng)比較靈活,采用軟件方法來解決數(shù)據(jù)的預(yù)置以及電壓的步進(jìn)控制,使系統(tǒng)硬件更加簡(jiǎn)潔,各類功能易于實(shí)現(xiàn),能很好地滿足題目的要求。2.2 整體方案設(shè)計(jì) 圖2-1 整體方案設(shè)計(jì)圖2.3單片機(jī)的選擇單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具

13、生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和i/o接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。單片機(jī)經(jīng)過1、2、3、3代的發(fā)展,正朝著多功能、高性能、低電壓、低功耗、低價(jià)格、大存儲(chǔ)容量、強(qiáng)i/o功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。其發(fā)展趨勢(shì)不外乎以下幾個(gè)方面:1、多功能 單片機(jī)中盡可能地把所需要的存儲(chǔ)器和i/o口都集成在一塊芯片上,使得單片機(jī)可以實(shí)現(xiàn)更多的功能。比如a/d、pwm、pca(可編程計(jì)數(shù)器陣列)、wdt(監(jiān)視定時(shí)器-看家

14、狗)、高速i/o口及計(jì)數(shù)器的捕獲/比較邏輯等。有的單片機(jī)針對(duì)某一個(gè)應(yīng)用領(lǐng)域,集成了相關(guān)的控制設(shè)備,以減少應(yīng)用系統(tǒng)的芯片數(shù)量。例如,有的芯片以51內(nèi)核為核心,集成了usb控制器、smart card接口、mp3解碼器、can或者i*i*c總線控制器等,led、lcd或vfd顯示驅(qū)動(dòng)器也開始集成在8位單片機(jī)中。2、高效率和高性能為了提高執(zhí)行速度和執(zhí)行效率,單片機(jī)開始使用risc、流水線和dsp的設(shè)計(jì)技術(shù),使單片機(jī)的性能有了明顯的提高,表現(xiàn)為:?jiǎn)纹瑱C(jī)的時(shí)鐘頻率得到提高;同樣頻率的單片機(jī)運(yùn)行效率也有了很大的提升;由于集成度的提高,單片機(jī)的尋址能力、片內(nèi)rom(flash)和ram的容量都突破了以往的數(shù)

15、量和限制。由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開始使用高級(jí)語言(如c語言)來開發(fā)單片機(jī)的程序。使用高級(jí)語言可以降低開發(fā) 難度,縮短開發(fā)周期,增強(qiáng)軟件的可讀性和可移植性,便于改進(jìn)和擴(kuò)充功能。3、低電壓和低功耗單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功耗的特性十分重要。由于cmos等工藝的大量采用,很多單片機(jī)可以在更低的電壓下工作(1.2v或0.9v),功耗已經(jīng)降低到ua級(jí)。這些特性使得單片機(jī)系統(tǒng)可以在更小電源的支持下工作更長的時(shí)間。4、低價(jià)格單片機(jī)應(yīng)用面廣,使用數(shù)量大,帶來的直接好處就是成本的降低。目前世界各大公司為了提高競(jìng)爭(zhēng)力,在提高單片機(jī)性能的同時(shí),十分注意降低其產(chǎn)品的價(jià)格。下面大致介紹一下單片機(jī)的

16、主要應(yīng)用領(lǐng)域和特點(diǎn)。(1)家用電器領(lǐng)域 用單片機(jī)控制系統(tǒng)取代傳統(tǒng)的模擬和數(shù)字控制電路,使家用電器(如洗衣機(jī)、空調(diào)、冰箱、微波爐、和電視機(jī)等)功能更完善,更加智能化和易于使用。(2)辦公自動(dòng)化領(lǐng)域 單片機(jī)作為嵌入式系統(tǒng)廣泛應(yīng)用于現(xiàn)代辦公設(shè)備,如計(jì)算機(jī)的鍵盤、磁盤驅(qū)動(dòng)、打印機(jī)、復(fù)印機(jī)、電話機(jī)和傳真機(jī)等。(3)商業(yè)應(yīng)用領(lǐng)域 商業(yè)應(yīng)用系統(tǒng)部分與家用和辦公應(yīng)用系統(tǒng)相似,但更加注重設(shè)備的穩(wěn)定性、可靠性和安全性。商用系統(tǒng)中廣泛使用的電子計(jì)量?jī)x器、收款機(jī)、條形碼閱讀器、安全監(jiān)測(cè)系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)和冷凍保鮮系統(tǒng)等,都采用了單片機(jī)構(gòu)成的專用系統(tǒng)。與通用計(jì)算機(jī)相比,這些系統(tǒng)由于比較封閉,可以更有效地防止病毒和電磁干

17、擾等,可靠性更高。(4)工業(yè)自動(dòng)化 在工業(yè)控制和機(jī)電一體化控制系統(tǒng)中,除了采用工控計(jì)算機(jī)外,很多都是以單片機(jī)為核心的單片機(jī)和多機(jī)系統(tǒng)。(5)智能儀表與集成智能傳感器 目前在各種電氣測(cè)量?jī)x表中普遍采用了單片機(jī)應(yīng)用系統(tǒng)來代替?zhèn)鹘y(tǒng)的測(cè)量系統(tǒng),使得測(cè)量系統(tǒng)具有存儲(chǔ)、數(shù)據(jù)處理、查詢及聯(lián)網(wǎng)等智能功能。將單片機(jī)和傳感器相結(jié)合,可以構(gòu)成新一代的智能傳感器。它將傳感器變換后的物理量作進(jìn)一步的變化和處理,使其成為數(shù)字信號(hào),可以遠(yuǎn)距離傳輸并與計(jì)算機(jī)接口。(6)現(xiàn)代交通與航空航天領(lǐng)域通常應(yīng)用于電子綜合顯示系統(tǒng)、動(dòng)力監(jiān)控系統(tǒng)、自動(dòng)駕駛系統(tǒng)、通信系統(tǒng)以及運(yùn)行監(jiān)視系統(tǒng)等。這些領(lǐng)域?qū)w積、功耗、穩(wěn)定性和實(shí)時(shí)性的要求往往比商用

18、系統(tǒng)還要高,因此采用單片機(jī)系統(tǒng)更加重要。目前,我國生產(chǎn)很多型號(hào)的單片機(jī),在此,我們采用型號(hào)為stc89c51單片機(jī),t89s51 是一個(gè)低功耗,高性能cmos 8位單片機(jī),片內(nèi)含8k bytes isp(in-system programmable)的可反復(fù)擦寫1000次的flash只讀程序存儲(chǔ)器,器件采用atmel公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng)及80c51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和isp flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的at89s51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。at89s51是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳

19、,8k bytes flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,看門狗(wdt)電路,片內(nèi)時(shí)鐘振蕩器。32個(gè)外部雙向輸入/輸出(i/o)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,at89s51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。此外,at89s51設(shè)計(jì)和配置了振蕩頻率可為0hz并可通過軟件設(shè)置省電模式??臻e模式下,cpu暫停工作,而ram定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存ram的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有pdip、tqf

20、p和plcc等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。其將通用的微處理器和flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的flash存儲(chǔ)器可有效地降低開發(fā)成本。2.4 89s51芯片內(nèi)部結(jié)構(gòu)簡(jiǎn)介·中央處理器:中央處理器(cpu)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,cpu負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。·數(shù)據(jù)存儲(chǔ)器(內(nèi)部ram):數(shù)據(jù)存儲(chǔ)器用于存放變化的數(shù)據(jù)。at89s51中數(shù)據(jù)存儲(chǔ)器的地址空間為256個(gè)ram單元,但其中能作為數(shù)據(jù)存儲(chǔ)器供用戶使用的僅有前面128個(gè),后128個(gè)被專用寄存器占用。&

21、#183;程序存儲(chǔ)器(內(nèi)部rom):程序存儲(chǔ)器用于存放程序和固定不變的常數(shù)等。通常采用只讀存儲(chǔ)器,且其又多種類型,在89系列單片機(jī)中全部采用閃存。at89s51內(nèi)部配置了4kb閃存。·定時(shí)/計(jì)數(shù)器(rom):定時(shí)/計(jì)數(shù)器用于實(shí)現(xiàn)定時(shí)和計(jì)數(shù)功能。at89s51共有2個(gè)16位定時(shí)/計(jì)數(shù)器。·并行輸入輸出(i/o)口:8051共有4組8位i/o口(p0、 p1、p2或p3),用于對(duì)外部數(shù)據(jù)的傳輸。每個(gè)口都由1個(gè)鎖存器和一個(gè)驅(qū)動(dòng)器組成。它們主要用于實(shí)現(xiàn)與外部設(shè)備中數(shù)據(jù)的并行輸入與輸出,有些i/o口還有其他功能。·全雙工串行口:a89s51內(nèi)置一個(gè)全雙工串行通信口,用于與其

22、它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。·時(shí)鐘電路:時(shí)鐘電路的作用是產(chǎn)生單片機(jī)工作所需要的時(shí)鐘脈沖序列。·中斷系統(tǒng):中斷系統(tǒng)的作用主要是對(duì)外部或內(nèi)部的終端請(qǐng)求進(jìn)行管理與處理。at89s51共有5個(gè)中斷源,其中又2個(gè)外部中斷源和3個(gè)內(nèi)部中斷源。 圖2-1 at89s51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖at89s51 引腳圖如圖所示:圖2-2 at89s51 引腳·vcc:電源電壓·gnd:地·p0口:p0口是一組8位漏極開路型雙向i0口,也即地址數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)ttl邏輯門電路,對(duì)

23、端口寫“l(fā)”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。·p1口:pl 是一個(gè)帶內(nèi)部上拉電阻的8位雙向io口,pl的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯門電路。對(duì)端口寫“l(fā)”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(iil)。flash編程和程序校驗(yàn)期間,pl接收低8位地址。表2-1 具有第二功能的p1口引腳端口引腳第二功能:p1.5mosi(用于isp編程)p1.6mosi(用于isp編程)p1

24、.7mosi(用于isp編程)·p2 口:p2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向io 口,p2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)ttl邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(iil)。在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行movxdptr指令)時(shí),p2口送出高8位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行movxri 指令)時(shí),p2 口線上的內(nèi)容(也即特殊功能寄存器(sfr)區(qū)中p2寄存器的內(nèi)容),在整個(gè)訪問期間不改變。flas

25、h編程或校驗(yàn)時(shí),p2亦接收高位地址和其它控制信號(hào)。·p3 口:p3 口是一組帶有內(nèi)部上拉電阻的8 位雙向i0 口。p3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)ttl邏輯門電路。對(duì)p3口寫入“l(fā)”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時(shí),被外部拉低的p3口將用上拉電阻輸出電流(iil)。p3口除了作為一般的i0口線外,更重要的用途是它的第二功能,如下表所示:表2-2 具有第二功能的p3口引腳端口引腳第二功能:p3.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2/int0(外中斷0)p3.3/ int1(外中斷1)p3.4t0(定時(shí)計(jì)數(shù)器0外部輸入)p3.5

26、t1(定時(shí)計(jì)數(shù)器1外部輸入)p3.6/ wr(外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7/ rd外部數(shù)據(jù)存儲(chǔ)器讀選通)p3口還接收一些用于flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。·rst:復(fù)位輸入。當(dāng)振蕩器工作時(shí),rst引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。wdt 溢出將使該引腳輸出高電平,設(shè)置sfr auxr的disrt0 位(地址8eh)可打開或關(guān)閉該功能。disrt0位缺省為reset輸出高電平打開狀態(tài)。·ale:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ale(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲(chǔ)器,ale 仍以時(shí)鐘振蕩頻率的16 輸出固定

27、的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ale脈沖。對(duì)f1ash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(prog)。如有必要,可通過對(duì)特殊功能寄存器(sfr)區(qū)中的8eh 單元的d0 位置位,可禁止ale 操作。該位置位后,只有一條m0vx和m0vc指令ale才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ale無效。·程序儲(chǔ)存允許()輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)at89s51 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次有效,即輸出兩個(gè)脈沖。當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,沒有兩次有效的信號(hào)。

28、3;vpp:外部訪問允許。欲使cpu僅訪問外部程序存儲(chǔ)器(地址為0000hffffh),ea端必須保持低電平(接地)。需注意的是:如果加密位lb1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存ea端狀態(tài)。如ea端為高電平(接vcc端),cpu則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。f1ash存儲(chǔ)器編程時(shí),該引腳加上+12v的編程電壓vpp。·xtal1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。2.5 數(shù)模轉(zhuǎn)換器d/a的選擇與介紹 方案一:采用mx7541是高速高精度12位數(shù)字/模擬轉(zhuǎn)換器芯片,功耗低,而且其線性失真可低達(dá)0.012%,特別適合于精密模擬數(shù)據(jù)的獲得和控制。方案二:采用dac0832,dac0832是

29、一種常用的8位的數(shù)字/模擬轉(zhuǎn)換芯片。本系統(tǒng)是基于51單片機(jī)的數(shù)控電源的設(shè)計(jì), 8位的單片機(jī),而mx7541是12位數(shù)字輸入的,因此須用鎖存器。而此數(shù)控電源要求單步1v,215v,dac0832完全可以達(dá)到,故選擇常用的dac0832。dac0832引腳圖如圖 :圖2-3 dac0832引腳圖dac0832是8位分辨率d/a轉(zhuǎn)換集成芯片,與處理器完全兼容,其價(jià)格低廉,接口簡(jiǎn)單,轉(zhuǎn)換控制容易等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到了廣泛的應(yīng)用。管腳定義:di0di7:數(shù)據(jù)輸入線,tll電平。ile:數(shù)據(jù)鎖存允許控制信號(hào)輸入線,高電平有效。cs:片選信號(hào)輸入線,低電平有效。wr1:為輸入寄存器的寫選通信號(hào)。x

30、fer:數(shù)據(jù)傳送控制信號(hào)輸入線,低電平有效。wr2:為dac寄存器寫選通輸入線。iout1:電流輸出線。當(dāng)輸入全為1時(shí)iout1最大。iout2: 電流輸出線。其值與iout1之和為一常數(shù)。rfb:反饋信號(hào)輸入線,芯片內(nèi)部有反饋電阻.vcc:電源輸入線 (+5v+15v)2.6 可調(diào)穩(wěn)壓芯片的選擇與介紹三端可調(diào)穩(wěn)壓芯片有多種,其中最常見的有l(wèi)m317、lm337、lm318、lm196等幾種,lm317用于正電壓調(diào)整,lm337用于負(fù)電壓調(diào)整。本系統(tǒng)的輸出電壓范圍215.0v為正電壓輸出,固排除lm337,對(duì)于lm317又有如下各種型號(hào),它們的輸出電流與電壓的對(duì)照表如表2-3: 表2-3 常見

31、穩(wěn)壓輸出電流和電壓范圍芯片型號(hào)輸出電流(a)輸出電壓(v)lm317l0.11.2537lm317t0.51.2537lm3171.51.2537lm31851.2537lm196101.2515根據(jù)設(shè)計(jì)要求輸出電壓范圍215.0v,輸出電流500ma,以上有多種型都可以滿足要求,再根據(jù)成本和現(xiàn)有材料,我選擇了lm317t三端可調(diào)穩(wěn)壓芯片。第三章 數(shù)控直流源的硬件設(shè)計(jì)3.1 最小系統(tǒng)設(shè)計(jì)51單片機(jī)的最小系統(tǒng)電路圖:圖3-1 最小系統(tǒng)設(shè)計(jì)圖說明: 復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合"電容電壓不能突變"的性質(zhì),可以知道,當(dāng)系統(tǒng)一上電,rst腳將會(huì)出現(xiàn)高電平,并且,這個(gè)高電

32、平持續(xù)的時(shí)間由電路的rc值來決定.典型的51單片機(jī)當(dāng)rst腳的高電平持續(xù)兩個(gè)機(jī)器周期以上就將復(fù)位,所以,適當(dāng)組合rc的取值就可以保證可靠的復(fù)位.一般教科書推薦c 取10u,r取8.2k.當(dāng)然也有其他取法的,原則就要讓rc組合可以在rst腳上產(chǎn)生不少于2個(gè)機(jī)周期的高電平;時(shí)鐘電路:mcs-51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相器放大器,該高增益反相器的輸入端為芯片引腳xtal1,輸出引腳xtal2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,電路中的電容c1和c2典型值通常為30pf左右。晶振的頻率范圍為1.2mhz12mhz之間,本設(shè)計(jì)用的是12mhz的。單片機(jī):一片

33、at89s51/52或其他51系列兼容單片機(jī); 注意:對(duì)于31腳(ea/vpp),當(dāng)接高電平時(shí),單片機(jī)在復(fù)位后從內(nèi)部rom的0000h開始執(zhí)行;當(dāng)接低電平時(shí),復(fù)位后直接從外部rom的0000h開始執(zhí)行; 電源部分:接+5伏特的電壓。3.2 dac0832及其外圍電路本系統(tǒng)是基于單片機(jī)的數(shù)控電源的設(shè)計(jì),而mx7541 是 12 位數(shù)字 輸入的 , 因此須用鎖存器。而此數(shù)控電源要求單步1v, 215 .0v只需區(qū)分14個(gè)點(diǎn),dac0832完全可以達(dá)到,故選擇常用的dac0832。當(dāng)其與單片機(jī)進(jìn)行相連時(shí),電路也 簡(jiǎn)單,只需把單片機(jī)的數(shù)據(jù)線與dac0832的輸入端直接相連即可,程序也很簡(jiǎn)單,只需向其送

34、數(shù)據(jù)即可。其各個(gè)引腳的連接及外圍圖:圖3-2 d/a模塊電路3.3 d/a 轉(zhuǎn)換的計(jì)算 d/a轉(zhuǎn)換器(dac)輸入的是數(shù)字量,經(jīng)轉(zhuǎn)換輸出的是模擬量。dac的技術(shù)指標(biāo)很多,如:分辨率、滿刻度誤差、線性度、絕對(duì)精度、相對(duì)精度、建立時(shí)間、輸入/輸出特性等。 分辨率:dac的分辨率反映了它的輸出模擬電壓的最小變化量。其定義為輸出滿刻度電壓與 的比值,其中 n 為dac的位數(shù)。如:8位dac的滿刻度輸出電壓為5v,則其分辨率為 ;10位dac的分辨率為 。可見,dac的位數(shù)越高,分辨率越小。 建立時(shí)間:是描述dac轉(zhuǎn)換速度快慢的參數(shù)。其定義為從輸入數(shù)字量變化到輸出達(dá)到終值誤差1/2lsb(最低有效位)所

35、需的時(shí)間。高速dac的建立時(shí)間可達(dá)1us。 接口形式:在dac輸入/輸出特性之一。包括輸入數(shù)字量的形式,十六進(jìn)制式bcd,輸入是否帶有鎖存器等。 dac0832為8位d/a轉(zhuǎn)換器。單電源供電,范圍為+5v +15v,基準(zhǔn)電壓范圍為±10v。電流的建立時(shí)間為1us。cmos工藝功耗20 mw。 輸入設(shè)有兩級(jí)緩沖鎖存器。 電壓的計(jì)算方式: 設(shè)計(jì)要求數(shù)控電壓步進(jìn)為1v,因此要準(zhǔn)確選擇d/a的參考電壓 ,如上圖用一個(gè)精密電阻進(jìn)行調(diào)節(jié),計(jì)算方法如下: ,數(shù)字量取0 256,n取16, 取8v,即數(shù)字量每步進(jìn)16,模擬量0.5v,要達(dá)到步進(jìn)1v,必須放大2倍,用運(yùn)放即可 。運(yùn)算放大器的原理如下圖

36、:圖3-3 運(yùn)算放大電路輸出的電壓v,再從vi輸入,經(jīng)過電容c10濾波再輸入, , , , 輸出的vo值的大小為輸入vi的 倍,只需調(diào)節(jié)可調(diào)電阻r3的阻值達(dá)到所需的電壓放大倍數(shù)即可,輸出的電壓vo通過電壓跟隨,再用于控制lm317t的輸出。3.4 led數(shù)碼管顯示模塊 數(shù)碼管led串口顯示模塊通常有兩種顯示方法:動(dòng)態(tài)顯示和靜態(tài)顯示。 動(dòng)態(tài)顯示:連接方法是將每個(gè)二極管的同名端連在一起,而每個(gè)顯示器的 公共極com各自獨(dú)立的接受i/o線控制,cpu向字段輸出端口輸出字型碼,所有顯示器接受到相同的字符,而要使用哪個(gè)顯示器要取決于他們的com的電平,而這段是由i/o端控制的,由單片機(jī)輸出。動(dòng)態(tài)掃描時(shí)連

37、續(xù)的動(dòng)態(tài)掃描,只是肉眼暫留現(xiàn)象,乃發(fā)光二極管的余輝效應(yīng),給人的感覺是一組穩(wěn)定的顯示數(shù)據(jù)。 靜態(tài)顯示: 靜態(tài)顯示顯示效果好,但是功耗大,但不占用端口,只需兩個(gè)串口線輸出,變成較為簡(jiǎn)單。而且采用靜態(tài)顯示需要的驅(qū)動(dòng)器件多,硬件成本相對(duì)更高。 比較以上兩種方案,方案一硬件簡(jiǎn)單程序復(fù)雜,方案二硬件復(fù)雜程序簡(jiǎn)單,考慮到實(shí)惠和對(duì)自己的編程鍛煉,選擇方案動(dòng)態(tài)顯示。動(dòng)態(tài)掃描 方法是用其接口電路把所有顯示器的8個(gè)筆畫字段(ag和dp)同名端連在一起,而每個(gè)顯示器的公共極com各自獨(dú)立的接受i/o線控制。cpu向字段輸出端口輸出字型碼時(shí),所有顯示器接受到相同的字型碼,但究竟使用哪個(gè)顯示,則取決于公共極com端,而這

38、一端是由/wr和/rd控制的,由單片機(jī)決定何時(shí)顯示哪一位。動(dòng)態(tài)掃描用分時(shí)的方法去輪流控制各個(gè)顯示的com端,時(shí)各個(gè)顯示器輪流亮。在輪流點(diǎn)亮掃描過程中,每為顯示器的點(diǎn)亮?xí)r間極為短暫,但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的于輝效應(yīng),給人的印象就時(shí)一組穩(wěn)定的顯示數(shù)據(jù)。 顯示電路解析圖: 圖3-4 數(shù)碼管顯示電路 7段數(shù)碼管可以包括小數(shù)點(diǎn)的09的數(shù)字和部分的英文字母,為了獲得不同的字符,數(shù)碼管各段所加的電平也不同,編碼也不一樣。本設(shè)計(jì)采用的是兩位共陽極數(shù)碼管7seg-mpx2-ca,字段和編碼的關(guān)系如下表1: 表3-1 數(shù)碼管編碼表十六進(jìn)制數(shù) hgfedcba 顯示代碼 0 11000000 0xc0

39、1 11111001 0xf9 2 10100100 0xa4 3 10110000 0xb0 4 10011001 0x99 5 10010010 0x92 6 10000010 0x82 7 11111000 0xd8 8 10000000 0x80 9 10010000 0x90 . 01111111 0x80 3.5 鍵盤控制電路該設(shè)計(jì)需要設(shè)定電壓,用四個(gè)按鍵來實(shí)現(xiàn)。其中k1、k2為固定電壓的輸入,分別是+5v和+10v電壓的輸入按鈕,k3、k4分別為+,-鍵,對(duì)電壓值進(jìn)行加和減計(jì)算。四個(gè)按鍵統(tǒng)一接到一個(gè)四輸入與門,只要有一個(gè)按鍵按下,四輸入與門就會(huì)輸出一個(gè)低電平到外部中斷請(qǐng)求0,產(chǎn)生

40、中斷,進(jìn)入中斷控制程序。下圖3-5是按鍵硬件連接圖。 圖3-5 按鍵控制電路的硬件連接圖當(dāng)用手按下一個(gè)鍵時(shí),如圖3-8所示,往往按鍵在閉合位置和斷開位置之間跳幾下才穩(wěn)定到閉合狀態(tài)的情況;在釋放一個(gè)鍵時(shí),也回會(huì)出現(xiàn)類似的情況。這就是抖動(dòng)。抖動(dòng)的持續(xù)時(shí)間隨鍵盤材料和操作員而異,不過通??偸遣淮笥?5ms。很容易想到,抖動(dòng)問題不解決就會(huì)引起對(duì)閉合鍵的識(shí)別。用軟件方法可以很容易地解決抖動(dòng)問題,這就是通過延遲15ms來等待抖動(dòng)消失,這之后,在讀入鍵盤碼。鍵按下前沿抖動(dòng)后沿抖動(dòng)閉合穩(wěn)定圖3-6 按鍵抖動(dòng)信號(hào)波形3.6 穩(wěn)壓輸出電路設(shè)計(jì) 電路圖如下: 圖3-7 輸出電源電路圖220v市電經(jīng)變壓器變壓(降壓)

41、,二極管橋式整流,電容濾波后送入lm317第三腳(輸入端),第二腳輸出穩(wěn)壓的直流電壓。第一腳為調(diào)整端,調(diào)整端電壓ui與輸出端電壓uo之間為1.25的基準(zhǔn)電壓。輸出的基本公式為: u0=1.25+ui; 3.7數(shù)控直流源的整體原理圖將以上設(shè)計(jì)的各個(gè)部分聯(lián)系起來。用protues軟件,根據(jù)要求畫出數(shù)控直流源的原理圖如下所示。圖3-8 數(shù)控直流源原理圖在此有必要介紹一下數(shù)控直流源的工作原理。工作原理 : 本系統(tǒng)以 at89s51 單片機(jī)作為系統(tǒng)的核心,由d/a數(shù)字模擬轉(zhuǎn)換模塊、按鍵、led串口顯示模塊等模塊組成一個(gè)數(shù)控電源。該系統(tǒng)實(shí)現(xiàn)了 輸出電壓:范圍 2 15 .0 v,步進(jìn)1v,紋波不大于10m

42、v;輸出電流:500ma;輸出電壓值由數(shù)碼管顯示;由“”、“”兩鍵控制輸出電壓步進(jìn)增減 。輸入模塊的按鍵按下之后,對(duì)單片機(jī)就有了一個(gè)輸入,單片機(jī)將輸入的數(shù)字一方面給顯示模塊,讓它們?cè)跀?shù)碼管中顯示出來;另一部分輸給dac0832,讓它轉(zhuǎn)化為模擬量電流輸出,通過運(yùn)算放大器將這模擬量轉(zhuǎn)化為相應(yīng)的電壓,這電壓經(jīng)過放大后控制lm317的控制端,從而實(shí)現(xiàn)輸出電壓的控制。第四章 數(shù)控直流源的軟件設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)也是工具系統(tǒng)功能的設(shè)計(jì)。單片機(jī)軟件的設(shè)計(jì)主要包括執(zhí)行軟件(完成各種實(shí)質(zhì)性功能)的設(shè)計(jì)和監(jiān)控軟件的設(shè)計(jì)。單片機(jī)的軟件設(shè)計(jì)通常要考慮以下幾個(gè)方面的問題:(1)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個(gè)相對(duì)

43、獨(dú)立的部分,設(shè)計(jì)出合理的總體結(jié)構(gòu),使軟件開發(fā)清晰、簡(jiǎn)潔和流程合理;(2)培養(yǎng)良好的編程風(fēng)格,如考慮結(jié)構(gòu)化程序設(shè)計(jì)、實(shí)行模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植和修改;(3)建立正確的數(shù)學(xué)模型,通過仿真提高系統(tǒng)的性能,并選取合適的參數(shù);(4)繪制程序流程圖;(5)合理分配系統(tǒng)資源;(6)為程序加入注釋,提高可讀性,實(shí)施軟件工程;(7)注意軟件的抗干擾設(shè)計(jì),提高系統(tǒng)的可靠性。4.1 開發(fā)工具介紹 單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)閏pu可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源

44、程序變?yōu)闄C(jī)器碼,用于mcs-51單片機(jī)的匯編軟件有早期的a51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級(jí)語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,keil軟件是目前最流行開發(fā)mcs-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持keil即可看出。keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uvision)將這些部份組合在一起。運(yùn)行keil軟件需要pentium或以上的cpu,16mb或更多ram、20m以上空閑的硬盤空間、win98、nt、win2000、winxp等操作系統(tǒng)。掌握這一

45、軟件的使用對(duì)于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用c語言編程,那么keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用c語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。keil c51開發(fā)系統(tǒng)基本知識(shí)keil c51開發(fā)系統(tǒng)基本知識(shí) 1. 系統(tǒng)概述 keil c51是美國keil software公司出品的51系列兼容單片機(jī)c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用c來開發(fā),體會(huì)更加深刻。 keil c51

46、軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到keil c51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。下面詳細(xì)介紹keil c51開發(fā)系統(tǒng)各部分功能和使用。 2. keil c51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu) c51工具包的整體結(jié)構(gòu),如圖(1)所示,其中uvision與ishell分別是c51 for windows和for dos的集成開發(fā)環(huán)境(ide),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用ide本身或其它編輯器編

47、輯c或匯編源文件。然后分別由c51及a51編譯器編譯生成目標(biāo)文件(.obj)。目標(biāo)文件可由lib51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)l51連接定位生成絕對(duì)目標(biāo)文件(.abs)。abs文件由oh51轉(zhuǎn)換成標(biāo)準(zhǔn)的hex文件,以供調(diào)試器dscope51或tscope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如eprom中。 使用獨(dú)立的keil仿真器時(shí),注意事項(xiàng) * 仿真器標(biāo)配11.0592mhz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 * 仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。 * 仿真芯片的31腳(/ea)已接至高電

48、平,所以仿真時(shí)只能使用片內(nèi)rom,不能使用片外rom;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴(kuò)展有外部rom(其cpu的/ea引腳接至低電平)的目標(biāo)系統(tǒng)中使用。4.2系統(tǒng)軟件設(shè)計(jì)流程圖這次的數(shù)控直流源設(shè)計(jì)用到很多子程序,包括主程序,延時(shí)程序,電壓顯示程序,鍵盤處理程序和d/a轉(zhuǎn)換程序。方便設(shè)計(jì)需要可先總括出整個(gè)程序的流程圖,然后在逐步完善各個(gè)流程圖。本文主要介紹整體流程圖,子程序流程圖從略。整個(gè)程序的的流程圖如下所示開始初始化設(shè)置顯示輸入值響應(yīng)中斷鍵盤處理d/a轉(zhuǎn)換返回主函數(shù)圖4-1 整體程序流程圖4.3 主程序和中斷程序設(shè)計(jì)根據(jù)軟件設(shè)計(jì)流程圖可以編寫主程序

49、和其他子程序,主程序和中斷程序如下,其他子程序見附錄一。主函數(shù):void main(void)p0 = 0xff;p1 = 0xff;p2 = 0xff;p3 = 0xff;ea=1;ex0=1;it0=1;voltage=2;while(1)display();中斷函數(shù):void innt() interrupt 0 using 1 key(); dac(); getbuff();在這里,我們有必要介紹一下單片機(jī)的中斷系統(tǒng),以利于我們的學(xué)習(xí)。中斷技術(shù)在單片系統(tǒng)中有著十分重要的作用,它不僅可以提高單片機(jī)cpu的效率,也可以對(duì)突發(fā)事件處理。所謂中斷就是當(dāng)cpu正在執(zhí)行程序a時(shí),發(fā)生了另一個(gè)急需處

50、理的事件b,這是cpu暫停當(dāng)前執(zhí)行的程序a,立即轉(zhuǎn)去執(zhí)行處理事件b的程序,處理完事件b后,再返回到程序a繼續(xù)執(zhí)行,這個(gè)過程被叫做中斷。關(guān)于中斷的概念有下列幾個(gè)名詞:(1)程序a稱為主程序,(2)處理事件b的程序稱為中斷服務(wù)程序,(3)主程序中轉(zhuǎn)向中斷服務(wù)程序的地方稱為斷點(diǎn),(4)引起中斷的原因即事件b稱為中斷源,(5)轉(zhuǎn)去執(zhí)行中斷服務(wù)程序稱為中斷響應(yīng)。關(guān)于中斷的概念可以打個(gè)如下的比喻。領(lǐng)導(dǎo)(cpu)在自己的房間辦公(執(zhí)行主程序),下屬(外設(shè))有問題打電話來請(qǐng)示(中斷源),領(lǐng)導(dǎo)停下正在進(jìn)行的工作,通過電話給下屬做指示(執(zhí)行中斷服務(wù)程序),指示完后,領(lǐng)導(dǎo)掛斷電話,繼續(xù)做自己的工作(返回主程序繼續(xù)執(zhí)

51、行)。中斷是一個(gè)過程,當(dāng)中央處理器cpu在處理某件事情時(shí),外部又發(fā)生了另一緊急事件,請(qǐng)求cpu暫停當(dāng)前的工作而去迅速處理該緊急事件。處理結(jié)束后,再回到原來被中斷的地方,繼續(xù)原來的工作。引起中斷的原因或發(fā)出中斷請(qǐng)求的來源,稱為中斷源。單片機(jī)一般允許有多個(gè)中斷源,當(dāng)幾個(gè)中斷源同時(shí)向cpu請(qǐng)求中斷時(shí),就存在cpu優(yōu)先響應(yīng)哪一個(gè)中斷請(qǐng)求源的問題(優(yōu)先級(jí)問題),一般根據(jù)中斷源的輕重緩急排隊(duì),優(yōu)先處理最緊急事件的中斷請(qǐng)求,于是便規(guī)定每一個(gè)中斷源都有一個(gè)中斷優(yōu)先級(jí)別,并且cpu總是響應(yīng)級(jí)別最高的中斷請(qǐng)求。當(dāng)cpu正在處理一個(gè)中斷源請(qǐng)求的時(shí)候,又發(fā)生了另一個(gè)優(yōu)先級(jí)比它高的中斷源請(qǐng)求,如果cpu能夠暫時(shí)中止對(duì)原

52、來中斷處理程序的執(zhí)行,轉(zhuǎn)而去處理優(yōu)先級(jí)更高的中斷源請(qǐng)求,待處理完以后,再繼續(xù)執(zhí)行原來的低級(jí)中斷處理程序,這樣的過程稱為中斷嵌套。 第五章 系統(tǒng)仿真5.1 protues軟件介紹proteus嵌入式系統(tǒng)仿真與開發(fā)平臺(tái)是由英國公司開發(fā)的eda工具軟件,是目前世界上最先進(jìn)最完整的嵌入式系統(tǒng)設(shè)計(jì)和仿真平臺(tái),proteus軟件有十多年的歷史,在全球廣泛使用,除了其具有和其它eda工具一樣的原理布圖、pcb自動(dòng)或人工布線及電路仿真的功能外,其革命性的功能是,他的電路仿真是互動(dòng)的,針對(duì)微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件源碼級(jí)的實(shí)時(shí)調(diào)試,如有顯示及輸出,還能看到運(yùn)行后輸入輸出的

53、效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等??傊?,該軟件是一款集單片機(jī)和spice分析于一身的仿真軟件, proteus為我們建立了完備的電子設(shè)計(jì)開發(fā)環(huán)境。真正實(shí)現(xiàn)了在沒有目標(biāo)原形時(shí)就可對(duì)系統(tǒng)進(jìn)行調(diào)試,測(cè)試和驗(yàn)證,proteus軟件大大提高了企業(yè)的開發(fā)效率,降低了開發(fā)風(fēng)險(xiǎn)。5.2 proteus軟件的強(qiáng)大功能proteus組合了高級(jí)原理布圖、混合模式spice仿真,pcb設(shè)計(jì)以及自動(dòng)布線來實(shí)現(xiàn)一個(gè)完整的電子設(shè)計(jì)系統(tǒng)。此系統(tǒng)受益于15年來的持續(xù)開發(fā),被電子世界在其對(duì)pcb設(shè)計(jì)系統(tǒng)的比較文章中評(píng)為最好產(chǎn)品“the route to pcb cad”。proteus 產(chǎn)品系列也包含了我們革命

54、性的vsm技術(shù),用戶可以對(duì)基于微控制器的設(shè)計(jì)連同所有的周圍電子器件一起仿真。用戶甚至可以實(shí)時(shí)采用諸如led/lcd、鍵盤、rs232終端等動(dòng)態(tài)外設(shè)模型來對(duì)設(shè)計(jì)進(jìn)行交互仿真。其功能模塊:個(gè)易用而又功能強(qiáng)大的isis原理布圖工具;prospice混合模型spice仿真; ares pcb設(shè)計(jì).prospice 仿真器的一個(gè)擴(kuò)展proteus vsm:便于包括所有相關(guān)的器件的基于微處理器設(shè)計(jì)的協(xié)同仿真。此外,還可以結(jié)合微控制器軟件使用動(dòng)態(tài)的鍵盤,開關(guān),按鈕,led甚至lcd顯示cpu模型. (1)支持許多通用的微控制器,如pic,avr,hc11以及8051.(2)交互的裝置模型包括:led和lcd

55、顯示,rs232終端,通用鍵盤,(3)強(qiáng)大的調(diào)試工具,包括寄存器和存儲(chǔ)器,斷點(diǎn)和單步模式(4)iar c-spy 和keil uvision2等開發(fā)工具的源層調(diào)試(5)應(yīng)用特殊模型的dll界面-提供有關(guān)元件庫的全部文件 proteus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)cpu的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其它電路的工作情況。因此在仿真和程序調(diào)試時(shí),關(guān)心的不再是某些語句執(zhí)行時(shí)單片機(jī)寄存器和存儲(chǔ)器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過程和結(jié)果。對(duì)于這樣的仿真實(shí)驗(yàn),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。所以說protues是一種

56、十分優(yōu)秀的軟件。5.3 用proteus繪制電路圖運(yùn)行proteus vsm 的isis 后出現(xiàn)如(圖3-1) 所示的界面, 點(diǎn)狀的柵格區(qū)域?yàn)槔L圖區(qū)。左側(cè)的上方為電路圖概覽區(qū), 下方是元器件列表區(qū)。單擊p后出現(xiàn)(圖3-2) 所示的pick device添加元器件的對(duì)話框, 輸入所要添加的器件名稱, 則該器件就會(huì)出現(xiàn)在右側(cè), 單擊ok 按鈕, 完成一個(gè)元器件的添加。重復(fù)以上過程, 添加好電路中所需的元器件。概覽區(qū)元器件列表區(qū)繪圖區(qū)圖 5-1運(yùn)行proteus vsm 的isis 后出現(xiàn)的界面5.4 proteus和keil編譯器的結(jié)合使用 proteus在設(shè)計(jì)時(shí)已經(jīng)注意到和單片機(jī)各種編譯程序的整合了,如它可以和keil ,wave6000等編譯模

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論