單片機(jī)控制電流源設(shè)計(jì)_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)設(shè)計(jì)(論文)</p><p> 題目:基于單片機(jī)控制的4~20mA直流電流源的設(shè)計(jì)與制作</p><p><b>  摘 要</b></p><p>  直流電流源作為穩(wěn)定電源的分支,在工程技術(shù)和測(cè)量領(lǐng)域中有著重要的實(shí)用價(jià)值。當(dāng)今社會(huì),數(shù)控恒壓技術(shù)已經(jīng)很成熟,但是恒流源方面特別是數(shù)控恒流源的技術(shù)還有待發(fā)展,高性能的

2、數(shù)控恒流器件的開發(fā)和應(yīng)用存在巨大的發(fā)展空間。</p><p>  本設(shè)計(jì)直流電流源是以STC12C2052AD單片機(jī)為核心控制芯片,設(shè)計(jì)的直流電流源可以實(shí)時(shí)、準(zhǔn)確的輸出4~20mA范圍的穩(wěn)定直流電流。</p><p>  本直流電流源的硬件部分主要由中央控制模塊、人機(jī)界面模塊、濾波和電壓電流轉(zhuǎn)換模塊、恒流源模塊和采樣電路模塊組成。中央控制模塊以STC12C2052AD單片機(jī)為核心,該單片機(jī)

3、有很好的抗干擾能力、響應(yīng)速度快,基于此單片機(jī)的PWM脈寬調(diào)制技術(shù)控制實(shí)現(xiàn)高精度數(shù)控恒流源的設(shè)計(jì),通過改變其內(nèi)部PWM控制寄存器的數(shù)值來實(shí)現(xiàn)占空比的相應(yīng)變化,實(shí)現(xiàn)核心控制作用。產(chǎn)生的PWM波經(jīng)濾波采樣電路輸出穩(wěn)定的直流電壓,經(jīng)過負(fù)載電阻轉(zhuǎn)化為直流電流。人機(jī)界面模塊以ZLG7289b芯片為核心,由鍵盤、數(shù)碼管電路實(shí)現(xiàn)電流數(shù)值設(shè)定和顯示功能。軟件部分采用C語言,編程特點(diǎn)簡(jiǎn)潔緊湊、靈活方便。</p><p>  關(guān)鍵詞:

4、脈寬調(diào)制技術(shù) ;STC12C2052AD單片機(jī) ;ZLG7289b ;電壓電流轉(zhuǎn)換 </p><p><b>  目錄</b></p><p>  1緒論(設(shè)計(jì)背景)1</p><p>  1.1直流電流源1</p><p>  1.2脈沖寬度調(diào)制(PWM)概述1</p><p>  1

5、.3單片機(jī)概述2</p><p>  2系統(tǒng)方案的選擇與論證4</p><p><b>  2.1功能要求4</b></p><p>  2.2系統(tǒng)總體方案選擇與論證4</p><p>  2.3系統(tǒng)各模塊方案選擇與論證6</p><p>  3系統(tǒng)的硬件電路設(shè)計(jì)與實(shí)現(xiàn)8</p&

6、gt;<p>  3.1系統(tǒng)的硬件組成部分8</p><p>  3.2 主要電路模塊設(shè)計(jì)9</p><p>  3.2.1中央控制模塊9</p><p>  3.2.2人機(jī)界面模塊11</p><p>  3.2.3低通濾波電路與電壓電流轉(zhuǎn)化電路模塊15</p><p>  3.2.4恒流源模

7、塊17</p><p>  4系統(tǒng)的軟件設(shè)計(jì)及實(shí)現(xiàn)17</p><p>  4.1系統(tǒng)的總體流程圖19</p><p>  4.2數(shù)碼管正常顯示子程序流程圖20</p><p>  4.3按鍵掃描子程序流程圖21</p><p>  4.4 PWM輸出子程序流程圖22</p><p>

8、;  5數(shù)據(jù)測(cè)試及分析23</p><p><b>  6結(jié)束語24</b></p><p>  7致謝錯(cuò)誤!未定義書簽。</p><p><b>  參考文獻(xiàn)24</b></p><p><b>  附錄25</b></p><p><

9、b>  1緒論(設(shè)計(jì)背景)</b></p><p><b>  1.1直流電流源</b></p><p>  直流電流源作為穩(wěn)定電源的分支,在工程技術(shù)和測(cè)量領(lǐng)域中有著重要的實(shí)用價(jià)值?;谀M電路的電流源雖然可以實(shí)現(xiàn)高精度、寬電流范圍輸出,但其結(jié)構(gòu)復(fù)雜, 調(diào)整困難,指示不直觀。隨著單片機(jī)技術(shù)的發(fā)展,數(shù)字控制電流源開始出現(xiàn),其以控制靈活、調(diào)節(jié)方便等特點(diǎn)

10、展示了良好的應(yīng)用前景。當(dāng)今社會(huì),數(shù)控恒壓技術(shù)已經(jīng)很成熟,但是恒流源方面特別是數(shù)控恒流源的技術(shù)還有待發(fā)展,高性能的數(shù)控恒流器件的開發(fā)和應(yīng)用存在巨大的發(fā)展空間。數(shù)控的目的是要用微處理器來代替?zhèn)鹘y(tǒng)直流穩(wěn)流電源中手動(dòng)旋轉(zhuǎn)電位器,實(shí)現(xiàn)輸出電流的預(yù)置,精度要求高。數(shù)控直流恒流源要實(shí)現(xiàn)電流的鍵盤化輸入控制,同時(shí)具有顯示功能。</p><p>  1.2脈沖寬度調(diào)制(PWM)概述</p><p>  脈沖

11、寬度調(diào)制(PWM)是利用微處理器的數(shù)字輸出來對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測(cè)量、通信到功率控制與變換的許多領(lǐng)域中。脈寬調(diào)制是開關(guān)型穩(wěn)壓電源中的術(shù)語。這是按穩(wěn)壓的控制方式分類的,除了PWM型,還有PFM型和PWM、PFM混合型。脈寬調(diào)制式開關(guān)型穩(wěn)壓電路是在控制電路輸出頻率不變的情況下,通過電壓反饋調(diào)整其占空比,從而達(dá)到穩(wěn)定輸出電壓的目的。</p><p>  PWM是一種模擬控制方式,根據(jù)

12、相應(yīng)載荷的變化來調(diào)制晶體管柵極或基極的偏置,來實(shí)現(xiàn)開關(guān)穩(wěn)壓電源輸出晶 體管或晶體管導(dǎo)通時(shí)間的改變,這種方式能使電源的輸出電壓在工作條件變化時(shí)保持恒定。</p><p>  PWM是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。通過高分辨率計(jì)數(shù)器的使用,方波的占空比被調(diào)制用來對(duì)一個(gè)具體模擬信號(hào)的電平進(jìn)行編碼。PWM信號(hào)仍然是數(shù)字的,因?yàn)樵诮o定的任何時(shí)刻,滿幅值的直流供電要么完全有(ON),要么完全無(OFF)。電壓或

13、電流源是以一種通(ON)或斷(OFF)的重復(fù)脈沖序列被加到模擬負(fù)載上去的。通的時(shí)候即是直流供電被加到負(fù)載上的時(shí)候,斷的時(shí)候即是供電被斷開的時(shí)候。只要帶寬足夠,任何模擬值都可以使用PWM進(jìn)行編碼。 </p><p>  多數(shù)負(fù)載(無論是電感性負(fù)載還是電容性負(fù)載)需要的調(diào)制頻率高于10Hz,通常調(diào)制頻率為1kHz到200kHz之間。 </p><p>  許多微控制器內(nèi)部都包含有PWM

14、控制器。占空比是接通時(shí)間與周期之比;調(diào)制頻率為周期的倒數(shù)。執(zhí)行PWM操作之前,這種微處理器要求在軟件中完成以下工作: </p><p>  設(shè)置提供調(diào)制方波的片上定時(shí)器/計(jì)數(shù)器的周期 </p><p>  在PWM控制寄存器中設(shè)置接通時(shí)間 </p><p>  設(shè)置PWM輸出的方向,這個(gè)輸出是一個(gè)通用I/O管腳 </p><p>&

15、lt;b>  啟動(dòng)定時(shí)器 </b></p><p>  使能PWM控制器 </p><p>  PWM的一個(gè)優(yōu)點(diǎn)是從處理器到被控系統(tǒng)信號(hào)都是數(shù)字形式的,無需進(jìn)行數(shù)模轉(zhuǎn)換。讓信號(hào)保持為數(shù)字形式可將噪聲影響降到最小。噪聲只有在強(qiáng)到足以將邏輯1改變?yōu)檫壿?或?qū)⑦壿?改變?yōu)檫壿?時(shí),也才能對(duì)數(shù)字信號(hào)產(chǎn)生影響。對(duì)噪聲抵抗能力的增強(qiáng)是PWM相對(duì)于模擬控制的另外一個(gè)優(yōu)點(diǎn),而且這也

16、是在某些時(shí)候?qū)WM用于通信的主要原因。從模擬信號(hào)轉(zhuǎn)向PWM可以極大地延長(zhǎng)通信距離。在接收端,通過適當(dāng)?shù)腞C或LC網(wǎng)絡(luò)可以濾除調(diào)制高頻方波并將信號(hào)還原為模擬形式。 </p><p>  總之,PWM既經(jīng)濟(jì)、節(jié)約空間、抗噪性能強(qiáng),是一種值得廣大工程師在許多設(shè)計(jì)應(yīng)用中使用的有效技術(shù)。</p><p><b>  1.3單片機(jī)概述</b></p><

17、p>  自1946年第一臺(tái)電子計(jì)算機(jī)誕生以來,經(jīng)過50多年的發(fā)展,計(jì)算機(jī)能夠?qū)π畔⑦M(jìn)行加工處理,并得到了各行各業(yè)的廣泛應(yīng)用。計(jì)算機(jī)對(duì)人類社會(huì)的發(fā)展起到了極大的推動(dòng)作用。然而,使計(jì)算機(jī)的應(yīng)用能夠真正深入社會(huì)生活各個(gè)方面,促使人類社會(huì)大步跨入電腦時(shí)代的一個(gè)重要原因,是微型計(jì)算機(jī)和單片微型計(jì)算機(jī)的產(chǎn)生和發(fā)展。單片微型計(jì)算機(jī)(Single Chip Microcomputer)簡(jiǎn)稱單片機(jī),是指在一片芯片體上集成了中央處理器CPU、隨機(jī)存儲(chǔ)

18、器ROM或EPROM、定時(shí)器/計(jì)數(shù)器、中斷控制器及串行和并行I/O接口等部件,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。目前,新型單片機(jī)內(nèi)還有A/D及D/A轉(zhuǎn)換器、高速輸入/輸出部件、DMA通道、浮點(diǎn)運(yùn)算等特殊功能部件。由于它的結(jié)構(gòu)和指令都是按工業(yè)控制要求設(shè)計(jì)的,特別適用與工業(yè)控制及數(shù)據(jù)處理場(chǎng)合。因此,確切的稱謂應(yīng)該是微控制器,單片機(jī)只是其習(xí)慣稱呼。</p><p><b>  單片機(jī)的特點(diǎn)和應(yīng)用</b>&

19、lt;/p><p>  (1)單片機(jī)的特點(diǎn):</p><p>  體積小、使用靈活、成本低、易于產(chǎn)業(yè)化。它能方便地嵌入到各種智能式測(cè)控設(shè)備及各種智能儀器儀表中;</p><p>  可靠性好,適應(yīng)溫度范圍寬。由于單片機(jī)的生產(chǎn)廠商不斷地提高產(chǎn)品的抗干擾能力,單片機(jī)芯片本身也是按照工業(yè)測(cè)控設(shè)計(jì)的,能適應(yīng)各種惡劣的環(huán)境,其抗工業(yè)噪聲干擾的能力優(yōu)于一般通用的CPU;</p

20、><p>  易擴(kuò)展,很容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),控制功能強(qiáng)。I/O接口多,指令系統(tǒng)豐富,易于單片機(jī)的邏輯控制功能的實(shí)現(xiàn);</p><p>  系統(tǒng)內(nèi)無監(jiān)控或系統(tǒng)管理程序。單片機(jī)系統(tǒng)內(nèi)部一般無監(jiān)控或系統(tǒng)管理程序,使用簡(jiǎn)單,只有用戶設(shè)計(jì)和調(diào)試好的應(yīng)用程序;</p><p> ?。?)其主要應(yīng)用領(lǐng)域有:</p><p>  測(cè)控系統(tǒng)。 用單片機(jī)可構(gòu)

21、成各種工業(yè)控制系統(tǒng)、自適應(yīng)系統(tǒng)、數(shù)據(jù)采集系統(tǒng)等。例如,溫度人工氣候控制、水閘自動(dòng)控制、電鍍生產(chǎn)線控制、汽輪機(jī)電調(diào)節(jié)系統(tǒng)、車輛檢測(cè)系統(tǒng)、機(jī)器人軸處理器等;</p><p>  智能儀表。 用單片機(jī)改造原有的測(cè)量、控制儀表,能促進(jìn)儀表向數(shù)字化、智能化、多功能化、綜合化、柔性化發(fā)展。如溫度、壓力、流量、濃度等的測(cè)量、顯示及儀表控制。通過采用單片機(jī)軟件編程技術(shù),使測(cè)量?jī)x表中長(zhǎng)期存在的誤差修正、線性化處理等難題迎刃而解;&

22、lt;/p><p>  機(jī)電一體化產(chǎn)品。 單片機(jī)與傳統(tǒng)的機(jī)械產(chǎn)品結(jié)合。是傳統(tǒng)機(jī)械產(chǎn)品結(jié)構(gòu)簡(jiǎn)化,控制智能化。這類產(chǎn)品如:簡(jiǎn)易數(shù)控機(jī)床,電腦繡花機(jī),醫(yī)療器械等;</p><p>  智能接口。 在計(jì)算機(jī)控制系統(tǒng)(特別是較大型的工業(yè)測(cè)控系統(tǒng))中,普遍采用單片機(jī)進(jìn)行接口的控制與管理,因單片機(jī)與主機(jī)是并行工作,故大大提高了系統(tǒng)的運(yùn)行速度。例如:在大型數(shù)據(jù)采集系統(tǒng)中,用單片機(jī)對(duì)ADC接口進(jìn)行控制不僅可提高

23、采集速度,而且還能對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,如數(shù)字濾波,線性化處理,誤差修正等;</p><p>  智能民用產(chǎn)品。 在家用電器、玩具、游戲機(jī)、聲響設(shè)備、電子稱、收銀機(jī)、辦公設(shè)備、廚房設(shè)備等產(chǎn)品中引入單片機(jī),不僅使產(chǎn)品的功能大大加強(qiáng),而且獲得了良好的使用效果;</p><p>  多機(jī)應(yīng)用系統(tǒng)。A、功能集散系統(tǒng)。多功能集散系統(tǒng)是為了滿足工程系統(tǒng)多種外圍功能的要求而設(shè)置的多機(jī)系統(tǒng)。例如:一個(gè)加工中心

24、的計(jì)算機(jī)系統(tǒng)除了完成機(jī)床加工運(yùn)行控制外,還要控制對(duì)刀系統(tǒng)、坐標(biāo)系統(tǒng)、狀態(tài)監(jiān)視、伺服驅(qū)動(dòng)等工程應(yīng)用系統(tǒng)的快速問題,以便構(gòu)成大型實(shí)時(shí)工程應(yīng)用系統(tǒng)。典型的有快速并行數(shù)據(jù)采集、處理系統(tǒng)、實(shí)時(shí)圖象處理系統(tǒng)等;</p><p>  2系統(tǒng)方案的選擇與論證</p><p><b>  2.1功能要求</b></p><p>  設(shè)計(jì)使用單片機(jī)與數(shù)碼管鍵盤驅(qū)動(dòng)

25、芯片為核心制作直流電流源設(shè)計(jì),實(shí)現(xiàn)直流電流輸出與數(shù)值顯示功能,設(shè)計(jì)要求進(jìn)行硬件、軟件系統(tǒng)設(shè)計(jì)。</p><p>  2.2系統(tǒng)總體方案選擇與論證</p><p>  方案1:本設(shè)計(jì)采用AT89C51單片機(jī)作為整機(jī)的控制單元,通過改變AD的輸入數(shù)字量來改變輸出電壓值,從而使輸出功率管的基極電壓發(fā)生變化,間接地改變輸出電流的大小。為了能夠使系統(tǒng)具備檢測(cè)實(shí)際輸出電流值的大小,可以將電流轉(zhuǎn)換成電壓

26、,并經(jīng)過ADC進(jìn)行模數(shù)轉(zhuǎn)換,間接用單片機(jī)實(shí)時(shí)對(duì)電壓進(jìn)行采樣,然后進(jìn)行數(shù)據(jù)處理及顯示。此系統(tǒng)比較靈活,采用軟件方法來解決數(shù)據(jù)的設(shè)置以及電流的步進(jìn)控制,使系統(tǒng)硬件更加簡(jiǎn)潔,各類功能易于實(shí)現(xiàn),能很好地滿足題目的要求。本方案的基本原理如圖2-1所示。</p><p>  方案2:采用STC12C2052AD單片機(jī)作為整機(jī)的控制單元,利用PWM脈寬調(diào)制技術(shù)來實(shí)現(xiàn)高精度數(shù)控恒流源的設(shè)計(jì)。本系統(tǒng)通過小鍵盤和LED實(shí)現(xiàn)人機(jī)交流,

27、小鍵盤負(fù)責(zé)設(shè)計(jì)輸入要實(shí)現(xiàn)的電流值,LED 負(fù)責(zé)顯示電流數(shù)值。單片機(jī)根據(jù)輸入的電流數(shù)值通過軟件控制產(chǎn)生對(duì)應(yīng)的PWM波,經(jīng)過濾波電路后對(duì)壓控恒流元件進(jìn)行控制,產(chǎn)生電流,電流再經(jīng)過采樣電阻到達(dá)負(fù)載。同時(shí),對(duì)采樣電阻兩端信號(hào)進(jìn)行差分和放大,送入ADC。單片機(jī)根據(jù)采集到的值調(diào)整PWM輸出,從而調(diào)整了輸出電流。如此反復(fù),直到電流達(dá)到設(shè)定要求。本方案的基本原理如圖2-2所示。</p><p>  圖2-1 系統(tǒng)原理框圖<

28、;/p><p>  圖2-2 系統(tǒng)原理框圖</p><p><b>  方案論證:</b></p><p>  比較以上兩種方案的優(yōu)缺點(diǎn),方案2簡(jiǎn)潔、靈活,從精度和成本等方面考慮能達(dá)到題目的設(shè)計(jì)要求,因此本次畢業(yè)設(shè)計(jì)采用方案2來實(shí)現(xiàn)。</p><p>  2.3系統(tǒng)各模塊方案選擇與論證</p><p&g

29、t;<b> ?。?)中央控制模塊</b></p><p>  系統(tǒng)的核心控制模塊為STC12C2052AD單片機(jī)。主要使用了STC12C2052AD單片機(jī)的PWM脈寬調(diào)制功能和A/D功能。單片機(jī)片內(nèi)有一個(gè)PWM功能的定時(shí)/計(jì)數(shù)器。PWM波是數(shù)字向模擬轉(zhuǎn)換的一種重要方法,通常使用單片機(jī)的定時(shí)器做頻率發(fā)生器,含有數(shù)字比較器,當(dāng)設(shè)定值與定時(shí)器的值相等,引腳的電平發(fā)生翻轉(zhuǎn)??刂圃O(shè)定值,就控制了PW

30、M波占空比,通過濾波,輸出直流模擬量。PWM開關(guān)穩(wěn)流電源基本工作原理就是在輸入電壓變化、內(nèi)部參數(shù)變化、外接負(fù)載變化的情況下,控制電路通過被控制信號(hào)與基準(zhǔn)信號(hào)的差值進(jìn)行閉環(huán)反饋,調(diào)節(jié)主電路開關(guān)器件的導(dǎo)通脈沖寬度,使得開關(guān)電源的輸出電流等被控制信號(hào)穩(wěn)定。</p><p>  PWM波產(chǎn)生過程:?jiǎn)纹瑱C(jī)片內(nèi)有一個(gè)具有8位PWM功能的定時(shí)/計(jì)數(shù)器。在普通模式下,計(jì)數(shù)器不停地累加,計(jì)到最大值0xff后溢出,返回到最小值0x0

31、0重新開始。當(dāng)啟用PWM功能即在單片機(jī)的快速PWM模式下,通過調(diào)整CCAPNL的值x可實(shí)現(xiàn)輸出PWM波的占空比變化。產(chǎn)生PWM波形的機(jī)理是:PWM引腳電平在發(fā)生匹配時(shí)以及在計(jì)數(shù)器清零的那一個(gè)定時(shí)器時(shí)鐘周期內(nèi)發(fā)生跳變,即波形產(chǎn)生相應(yīng)變化。PWM占空比:(256-x)/256 * 100%。</p><p><b>  (2)人機(jī)界面模塊</b></p><p><

32、b>  方案選擇:</b></p><p>  方案1:采用LCD顯示。特點(diǎn):顯示內(nèi)容豐富,采用數(shù)字式接口,體積小、重量輕,功率消耗小,但編程復(fù)雜,且成本相對(duì)LED較高。</p><p>  方案2:采用LED并行動(dòng)態(tài)顯示。即一位一位地輪流點(diǎn)亮各位顯示器,對(duì)每一位顯示器而言,每隔一段時(shí)間點(diǎn)亮一次。其硬件電路簡(jiǎn)單,但同樣的功率驅(qū)動(dòng)下,顯示亮度不及靜態(tài)顯示,且占用I/O口較多

33、。</p><p>  方案3:采用LED串行靜態(tài)顯示。即顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定導(dǎo) 通或截止,這種方式每一個(gè)顯示位都需要一個(gè)8位輸出口控制,占用硬件較多,但僅占用控制器串口的兩個(gè)I/O口,軟件實(shí)現(xiàn)簡(jiǎn)單,顯示亮度高,成本低。</p><p>  LED數(shù)碼管顯示器由8個(gè)發(fā)光二極管組成,因此也稱之為8段LED數(shù)碼管,因?yàn)長(zhǎng)ED數(shù)碼管顯示成本較低,外加一個(gè)驅(qū)動(dòng)芯片,所需單片機(jī)接口

34、較少,而且程序容易實(shí)現(xiàn)??紤]到本次設(shè)計(jì)的需要,只要顯示3位電流值,采用方案2,使用1個(gè)4位共陰極數(shù)碼管及1個(gè)驅(qū)動(dòng)芯片ZLG7289b。</p><p>  本模塊以ZLG7289b數(shù)碼管顯示驅(qū)動(dòng)及鍵盤掃描管理芯片為核心,包括鍵盤電路和數(shù)碼管顯示電路。鍵盤設(shè)計(jì)為1×4按鍵,由功能鍵“+”、“-”、“選擇”及“確認(rèn)”組成,輸入最小設(shè)定步進(jìn)等級(jí)為0.1mA,“選擇”完成顯示值數(shù)值切換功能。功能鍵“確定”完成確

35、定輸出顯示值并且產(chǎn)生對(duì)應(yīng)數(shù)值直流電流功能。通過驅(qū)動(dòng)電路實(shí)現(xiàn)鍵值識(shí)別。數(shù)碼管采用4位共陰極數(shù)碼管。</p><p> ?。?)低通濾波電路模塊</p><p>  PWM波產(chǎn)生后不能直接用于控制場(chǎng)效應(yīng)晶體管,需把其變成能隨占空比變化而變化的直流電壓。本次設(shè)計(jì)采用有源濾波電路,主要由放大器與RC網(wǎng)絡(luò)組成。低通濾波電路模塊在電路中的作用:</p><p>  對(duì)PWM輸出

36、信號(hào)進(jìn)行調(diào)制,首先PWM模塊將輸入信號(hào)轉(zhuǎn)換成對(duì)時(shí)間進(jìn)行調(diào)制而幅度等于電源電壓的脈沖信號(hào),PWM模塊內(nèi)的全橋放大器一般都利用反相鎖存調(diào)制,當(dāng)一個(gè)輸出為高,另一個(gè)輸出總是低。假如50%占空比,則意味著開關(guān)頻率的每個(gè)周期內(nèi)高和低的時(shí)間相等,脈沖信號(hào)必須通過低通功率濾波電路解調(diào)后,才能到達(dá)負(fù)載端其信號(hào)值為零。</p><p>  低通功率濾波電路抑制通過時(shí)間調(diào)制的方波載波信號(hào),在濾波電路的輸出端上可以得到遠(yuǎn)低于PWM開關(guān)

37、頻率的負(fù)載載波信號(hào),事實(shí)上占空比不斷變化的PWM信號(hào)參雜了很多高頻毛刺成分,會(huì)嚴(yán)重干擾反饋電路的參數(shù),同時(shí)過高的載波頻率可能會(huì)損壞負(fù)載本身。</p><p><b>  恒流源模塊</b></p><p>  基本的恒流源電路主要是由輸入級(jí)和輸出級(jí)構(gòu)成,輸入級(jí)提供參考電流,輸出級(jí)輸出需要的恒定電流。恒流源電路就是要能夠提供一個(gè)穩(wěn)定的電流以保證其它電路穩(wěn)定工作的基礎(chǔ),即

38、要求恒流源電路輸出恒定電流。因此作為輸出級(jí)的器件應(yīng)該是具有飽和輸出電流的伏安特性。這可以采用工作于輸出電流飽和狀態(tài)的BJT 或者M(jìn)OSFET來實(shí)現(xiàn)。</p><p>  為了保證輸出晶體管的電流穩(wěn)定,就必須要滿足兩個(gè)條件:</p><p><b>  其輸入電壓要穩(wěn)定</b></p><p>  輸出晶體管的輸出電阻盡量大(最好是無窮大)<

39、;/p><p><b>  方案選擇:</b></p><p>  方案1:采用恒流二極管或者恒流三極管。其特點(diǎn)精度比較高,但這種電路能實(shí)現(xiàn)的恒流范圍很小。</p><p>  方案2:采用四端可調(diào)恒流源。這種器件靠改變外圍電阻元件參數(shù),從而使電流達(dá)到可調(diào)的目的,這種器件能夠達(dá)到1~2000毫安的輸出電流。改變輸出電流,通常有兩種方法:一是通過手動(dòng)

40、調(diào)節(jié)來改變輸出電流,這種方法不能滿足題目的數(shù)控調(diào)節(jié)要求;二是通過數(shù)字電位器來改變需要的電阻參數(shù),雖然可以達(dá)到數(shù)控的目的,但數(shù)字電位器的每一級(jí)步進(jìn)電阻比較大,所以很難調(diào)節(jié)輸出電流。</p><p>  方案3:壓控恒流源。通過改變恒流源的外圍電壓,利用電壓的大小來控制輸出電流的大小。電壓控制電路采用數(shù)控的方式,利用單片機(jī)送出數(shù)字量,經(jīng)過D/A轉(zhuǎn)換轉(zhuǎn)變成模擬信號(hào),再送到大功率三極管進(jìn)行放大。單片機(jī)系統(tǒng)實(shí)時(shí)對(duì)輸出電流進(jìn)

41、行監(jiān)控,采用數(shù)字方式作為反饋調(diào)整環(huán)節(jié),由程序控制調(diào)節(jié)功率管的輸出電流恒定。當(dāng)改變負(fù)載大小時(shí),基本上不影響電流的輸出,采用這樣一個(gè)閉路環(huán)節(jié)使得系統(tǒng)一直在設(shè)定值維持電流恒定。該方案通過軟件方法實(shí)現(xiàn)輸出電流穩(wěn)定,易于功能的實(shí)現(xiàn),便于操作,故選擇方案3。</p><p>  (5)采樣電路 當(dāng)對(duì)采樣電阻兩端信號(hào)進(jìn)行差分后,可得到采樣電阻兩端的電壓值U,而在已知采樣電阻阻值情況下,很容易得到流經(jīng)采樣電阻的電流,即I

42、=U/R。由于負(fù)載與采樣電阻在同一條支路,故流經(jīng)負(fù)載的電流也為I。差分放大電路的放大倍數(shù)可根據(jù)采樣電阻阻值以及ADC的參考電壓來選擇,差分信號(hào)經(jīng)ADC口送入單片機(jī)進(jìn)行處理。 </p><p>  3系統(tǒng)的硬件電路設(shè)計(jì)與實(shí)現(xiàn)</p><p>  3.1系統(tǒng)的硬件組成部分</p><p>  系統(tǒng)硬件電路主要由中央控制模塊、人機(jī)界面模塊、低通濾波與電壓電流轉(zhuǎn)換模塊和恒流

43、源模塊組成。系統(tǒng)總原理圖如圖3-1所示。</p><p>  圖3-1 總系統(tǒng)原理圖</p><p>  3.2 主要電路模塊設(shè)計(jì)</p><p>  3.2.1 中央控制模塊</p><p>  本模塊設(shè)計(jì)主要以STC12C2052AD單片機(jī)最小系統(tǒng)為核心。ZLG7289b數(shù)碼管顯示驅(qū)動(dòng)及鍵盤掃描管理芯片與單片機(jī)STC12C2052AD的接

44、口采用3線制SPI串行總線,由CS、CLK和DIO這3根信號(hào)線組成。CS和CLK是輸入信號(hào),由STC12C2052AD提供。DIO信號(hào)是雙向的,必須接到STC12C2052AD上具有雙向功能的I/O上。STC12C2052AD單片機(jī)與ZLG7289b數(shù)碼管顯示驅(qū)動(dòng)及鍵盤掃描管理芯片引腳對(duì)應(yīng)關(guān)系如表3.1所示。中央控制模塊系統(tǒng)原理圖如圖3-2所示。</p><p>  表3.1 STC12C2052AD與ZLG72

45、89b引腳對(duì)應(yīng)關(guān)系</p><p>  圖3-2中央控制模塊系統(tǒng)原理圖</p><p>  STC12C2052AD系列1T單片機(jī)簡(jiǎn)介:</p><p>  STC12C2052AD系列單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的高速/低功耗/超強(qiáng)抗干擾的新一代851單片機(jī),指令代碼完全兼容傳統(tǒng)8051,單速度快8-12倍,內(nèi)部集成MAX810專用復(fù)位電路。2路

46、PWM,8路高速8位A/D轉(zhuǎn)換,針對(duì)電機(jī)控制,強(qiáng)干擾場(chǎng)合。STC12C2052AD引腳圖如圖3-3所示。</p><p>  STC12C2052AD系列1T單片機(jī)特點(diǎn):</p><p>  增強(qiáng)型1T流水線/精簡(jiǎn)指令集結(jié)構(gòu)8051CPU</p><p>  工作電壓:2.4V~3.8V/3.4V~5.5V</p><p>  工作頻率范圍:

47、0~35MHz,相當(dāng)于普通8051的0~420MHz</p><p>  用戶應(yīng)用程序空間512/1K/2K/3K/4K/5K字節(jié)</p><p>  片上集成256字節(jié)RAM</p><p>  15個(gè)通用I/O口復(fù)位后為:準(zhǔn)雙向口/弱上拉</p><p>  可設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,推挽/強(qiáng)上拉,僅為輸入/高阻,開漏</

48、p><p><b>  EEPROM功能</b></p><p>  共2個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p>  PWM(2路)/PCA(可編程計(jì)數(shù)器陣列)</p><p>  ADC,8路8位精度</p><p>  通用異步串行口(UART)</p><p>  SPI

49、同步通信口,主模式/從模式</p><p><b>  看門狗</b></p><p>  內(nèi)部集成 R/C振蕩器,精度要求不高時(shí)可省外部晶體</p><p>  ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用仿真器可通過串口直接下載用戶程序,數(shù)秒即可完成一片</p><p>  工作溫度范圍:0~75℃/-4

50、0~+85℃</p><p>  封裝: PDIP-20</p><p>  圖3-3 STC12C2052AD引腳圖</p><p>  3.2.2人機(jī)界面模塊</p><p>  本模塊以ZLG7289b數(shù)碼管顯示驅(qū)動(dòng)及鍵盤掃描管理芯片為核心,包括鍵盤電路和LED顯示電路。LED選用4位共陰極數(shù)碼管,實(shí)際只選通前3位使用。鍵盤電路設(shè)置4個(gè)

51、按鍵,通過驅(qū)動(dòng)電路實(shí)現(xiàn)鍵值識(shí)別。4個(gè)按鍵分別為“+”、“-”、“選擇”和“確定”鍵。人機(jī)界面模塊系統(tǒng)原理圖如圖3-4所示。</p><p>  圖3-4人機(jī)界面模塊系統(tǒng)原理圖</p><p> ?。?)ZLG7289b數(shù)碼管顯示驅(qū)動(dòng)與鍵盤管理芯片</p><p>  ZLG7289b是廣州周立功單片機(jī)發(fā)展有限公司自行設(shè)計(jì)的數(shù)碼管顯示驅(qū)動(dòng)及鍵盤掃描管理芯片,可直接驅(qū)動(dòng)

52、8位共陰極數(shù)碼管(或64只獨(dú)立LED),同時(shí)還可以掃描管理多達(dá)64只按鍵,并自動(dòng)消除抖動(dòng),可廣泛地應(yīng)用于儀器儀表、工業(yè)控制器、條形顯示器、控制面板等領(lǐng)域。 </p><p>  ZLG7289B內(nèi)部含有顯示譯碼器,可直接接受BCD碼或16進(jìn)制碼,并同時(shí)具有2種譯碼方式。此外,還具有多種控制指令,如消隱﹑閃爍﹑左移﹑右移﹑段尋址等。芯片采用SPI串行總線與微控制器接口,僅占用少數(shù)幾根I/O口線。利用片選信號(hào),多片Z

53、LG7289b 還可以并接在一起使用,能夠方便地實(shí)現(xiàn)多于 8 位的顯示或多于 64只按鍵的應(yīng)用。</p><p>  芯片采用I2C總線方式,與微控制器的接口僅需兩根信號(hào)線。</p><p>  ZLG7289b引腳圖如圖3-5所示,ZLG7289b引腳功能說明如表3.2所示。</p><p>  ZLG7289b數(shù)碼管顯示驅(qū)動(dòng)與鍵盤管理芯片特點(diǎn):</p>

54、;<p>  串行接口,無需外圍元件可直接驅(qū)動(dòng)LED</p><p>  各位獨(dú)立控制譯碼/不譯碼/及消隱和閃爍屬性</p><p> ?。ㄑh(huán))左移/(循環(huán))右移指令</p><p>  具有段尋址指令,方便控制獨(dú)立LED</p><p>  64鍵鍵盤控制器,內(nèi)含去抖動(dòng)電路</p><p>  工作電

55、壓2.7V~6.0V</p><p>  圖3-5 ZLG7289b引腳圖</p><p>  表3.2 ZLG7289b引腳功能說明</p><p>  ZLG7289b SPI串行接口信號(hào):</p><p>  ZLG7289b與STC12C2052AD的接口采用3線制SPI串行總線,由CS、CLK和DIO這3根信號(hào)線組成。CS和CLK是

56、輸入信號(hào),由STC12C2052AD提供。DIO信號(hào)是雙向的,必須接到單片機(jī)STC12C2052AD上具有雙向功能的I/O上。SPI信號(hào)線的具體意義請(qǐng)參見表3.3。操作SPI總線的時(shí)序圖請(qǐng)參見圖3-6、圖3-7和圖3-8。其中圖3-8是讀按鍵值的時(shí)序圖,只有當(dāng)INT引腳出現(xiàn)下跳沿時(shí)才允許去讀取按鍵值,否則將得不到有意義的數(shù)據(jù)。</p><p>  表3.3 ZLG7289b的SPI串行接口信號(hào)</p>

57、<p>  SPI 總線時(shí)序圖(3個(gè))</p><p>  圖3-6 純指令時(shí)序圖(單字節(jié)命令)</p><p>  圖3-7 帶數(shù)據(jù)指令時(shí)序圖(命令字在前,輸入數(shù)據(jù)在后)</p><p>  圖3-8讀鍵盤指令時(shí)序圖(命令字在前,鍵值在后)</p><p>  ZLG7289b下載數(shù)據(jù)并且按方式0 進(jìn)行譯碼</p>

58、<p>  在指令格式中,高 5 位的10000是命令字段;a2a1a0是數(shù)碼管顯示數(shù)據(jù)的位地址,位地址編號(hào)按從左到右的順序依次為0、1、2、3、4、5、6、7(以圖3-1為準(zhǔn))。dp控制小數(shù)點(diǎn)是否顯示,dp=0時(shí)該位的小數(shù)點(diǎn)被點(diǎn)亮,dp=1時(shí)該位的小數(shù)點(diǎn)被熄滅;xxx是無關(guān)地址位;d3d2d1d0是要顯示的數(shù)據(jù)。顯示數(shù)據(jù)按照3.4表中的規(guī)則進(jìn)行譯碼:</p><p>  表 3.4 下載數(shù)據(jù)命令譯

59、碼方式0</p><p> ?。?)4位共陰極數(shù)碼管</p><p>  共陰極數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰極數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。本次設(shè)計(jì)采用4位共陰極數(shù)碼管,實(shí)際只選通3位使用。數(shù)碼管端選位與ZLG7289b的端選位

60、對(duì)應(yīng)連接。4位共陰極數(shù)碼管電路圖如3-9所示。</p><p>  圖3-9 4位共陰極數(shù)碼管</p><p>  數(shù)碼管動(dòng)態(tài)顯示驅(qū)動(dòng)技術(shù)簡(jiǎn)介:</p><p>  數(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

61、增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余

62、輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。</p><p>  3.2.3低通濾波電路與電壓電流轉(zhuǎn)化電路模塊</p><p>  PWM波產(chǎn)生后不能直接用于控制場(chǎng)效應(yīng)晶體管,需把其變成能隨占空比變化而變化的直流電壓。濾波電路常用于濾去整流輸出電壓

63、中的紋波,本次設(shè)計(jì)采用有源濾波電路,主要由放大器LM324N和RC網(wǎng)絡(luò)組成,電路中LM324N起電壓跟隨器作用。直流電壓需經(jīng)過電阻R(250歐姆)才能轉(zhuǎn)換為相應(yīng)的直流電流。系統(tǒng)原理圖如圖3-10所示。</p><p>  圖3-10低通濾波電路與電壓電流轉(zhuǎn)化電路模塊系統(tǒng)原理圖</p><p>  LM324N是由四個(gè)獨(dú)立的運(yùn)算放大器組成的電路。LM324N引腳說明如表3.5所示,LM324

64、N引腳圖如圖3-11所示。其特點(diǎn)如下:</p><p>  具有寬的單電源或雙電源工作電壓范圍;單電源3V~30V,雙電源±1.5V~±15V </p><p>  內(nèi)含相位校正回路, 外圍元件少</p><p>  消耗電流小:ICC=0.6mA (典型值, RL=∞)</p><p>  輸入失調(diào)電壓低:±

65、;2mV (典型值) </p><p>  電壓輸出范圍寬:0V~VCC </p><p>  共模輸入電壓范圍寬:0V~VCC</p><p>  封裝形式:DIP14 </p><p>  表3.5LM324N引腳說明</p><p>  圖3-11 LM324N引腳圖</p><p&

66、gt;  3.2.4恒流源模塊</p><p>  單片機(jī)引腳控制輸出電壓不能精確輸出0-5V,必須經(jīng)過恒流模塊控制才能近似達(dá)到控制效果。恒流源模塊采用場(chǎng)效應(yīng)管IRF3502與5V穩(wěn)壓管LM336-5組成。如圖3-12所示。</p><p>  圖3-12 恒流源模塊系統(tǒng)原理圖</p><p>  4系統(tǒng)的軟件設(shè)計(jì)及實(shí)現(xiàn)</p><p>  

67、本次設(shè)計(jì)軟件部分編程采用Keil C51軟件。Keil C51是美國keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(UVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WI

68、NXP等操作系統(tǒng)。使用C語言編程,Keil就是不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令使用者事半功倍。</p><p>  ZLG7289b芯片的51單片機(jī)C51驅(qū)動(dòng)程序軟件包是由3個(gè)文件IC72X9.h、IC72X9_user.h和IC72X9v2.c組成。IC72X9_user.h包含IC72X9的I/O接口定義,用戶要根據(jù)實(shí)際電路修改。頭文件IC72X

69、9.h包括用戶指令集聲明。 C語言文件IC72X9v2.c是這些用戶指令的具體實(shí)現(xiàn)。用戶指令集如表4.1所示。 </p><p>  在keil C51中,該軟件包的具體用法是: </p><p>  將文件IC72X9v2.c、IC72x9.h和IC72X9_user.h一起復(fù)制到您的工程文件夾下,把文件IC72X9v2.c添加進(jìn)工程中。 </p><p>  根

70、據(jù)電路的實(shí)際情況,在文件IC72X9_user.h中重新定義片選、時(shí)鐘、數(shù)據(jù)和鍵盤申請(qǐng)接口。</p><p>  表4.1 IC72X9 的用戶指令集</p><p>  4.1系統(tǒng)的總體流程圖</p><p>  圖4-1系統(tǒng)的總體流程圖</p><p>  4.2數(shù)碼管正常顯示子程序流程圖</p><p>  系統(tǒng)

71、上電后,由于初始程序設(shè)定數(shù)碼管首先顯示數(shù)值4.0,此時(shí)iout的值是顯示值的十倍為40。因?yàn)樵O(shè)計(jì)的電流輸出范圍是4~20mA,即iout的值是40~200,如果輸入值不在其范圍內(nèi)就不能得到設(shè)計(jì)范圍內(nèi)要求輸出的電流,所以進(jìn)行第一次對(duì)iout值的判斷。當(dāng)iout大于等于200的時(shí)候,iout就等于200,對(duì)應(yīng)輸出電流大小20mA;當(dāng)iout小于等于40的時(shí)候,iout就等于40,對(duì)應(yīng)輸出電流大小4mA;iout在40到200之間,對(duì)應(yīng)正常范

72、圍內(nèi)的電流大小。然后進(jìn)行第二次對(duì)iout值的判斷。當(dāng)iout大于等于100的時(shí)候,數(shù)碼管正常顯示十位、個(gè)位和小數(shù)位;當(dāng)iout小于100的時(shí)候,數(shù)碼管值顯示個(gè)位和小數(shù)位。數(shù)碼管正常顯示子程序流程圖如圖4-2所示。</p><p>  圖4-2 數(shù)碼管正常顯示子程序流程圖</p><p>  4.3按鍵掃描子程序流程圖</p><p>  系統(tǒng)一共有4個(gè)按鍵分別為“+

73、”、“-”、“選擇”和確定鍵。系統(tǒng)上電后,進(jìn)入鍵盤掃描模式后,通過ZLG289b芯片鍵盤掃面指令進(jìn)行鍵值掃描。如果掃描到有鍵按下,首先判斷是否為選擇鍵被按下,如果按下的不是選擇鍵則不能進(jìn)入修改模式,修改鍵“+”、“-”都無效;如果按下的是選擇鍵,則進(jìn)入修改模式,選中的修改位閃爍,進(jìn)入修改模式可按“+”、“-”進(jìn)行數(shù)值修改。按下確定鍵后,退出修改模式,選中位數(shù)碼管停止閃爍。按鍵掃描子程序流程圖如圖4-3所示。</p><

74、;p>  圖4-3 按鍵掃描子程序流程圖</p><p>  4.4 PWM輸出子程序流程圖</p><p>  PWM輸出子程序是控制電流輸出大小的核心程序。由于硬件系統(tǒng)本身的缺陷,所以必須進(jìn)行軟件的修正,才能滿足設(shè)計(jì)題目的要求。軟件修正采用了分段線性修正。理論上PWM占空比變化對(duì)應(yīng)1~5V電壓,兩者是線性關(guān)系;1~5V電壓經(jīng)過250歐姆電阻對(duì)應(yīng)4~20mA也是線性關(guān)系。通過計(jì)算實(shí)

75、際電流值與PWM寄存器數(shù)值的函數(shù)關(guān)系為一次函數(shù),按鍵設(shè)定輸入的電流值通過計(jì)算函數(shù)關(guān)系修正后,控制輸出的電流大小基本能滿足要求。設(shè)置進(jìn)入PCA的輸入模式,賦值給寄存器CCAP1后輸出對(duì)應(yīng)關(guān)系的PWM波。PWM輸出子程序流程圖如圖4-4所示。</p><p>  圖4-4 PWM輸出子程序流程圖</p><p><b>  5數(shù)據(jù)測(cè)試及分析</b></p>

76、<p>  給電流源上電,通過按鍵設(shè)定輸出電流值,250歐姆負(fù)載電阻通過外部電流表測(cè)量的電流值,相關(guān)數(shù)據(jù)如表5.1所示。由于設(shè)計(jì)本身電子元器件的電壓線性關(guān)系不是很理想,盡管進(jìn)行了軟件修正對(duì)輸出進(jìn)行反饋調(diào)節(jié),但是部分輸出電流范圍內(nèi)的誤差偏大。</p><p>  本直流電流源能夠基本完成設(shè)定直流電流的輸出,但由于個(gè)人經(jīng)驗(yàn)不足等因素,本設(shè)計(jì)還有一些不足之處,離產(chǎn)品實(shí)用還有一定的差距,還有一些方面需要進(jìn)一步完

77、善。</p><p>  表5.1 實(shí)驗(yàn)相關(guān)數(shù)據(jù)</p><p><b>  6結(jié)束語</b></p><p>  在設(shè)計(jì)制作數(shù)控直流恒流源的過程中,我深切體會(huì)到,實(shí)踐是理論運(yùn)用的最好檢驗(yàn)。本次設(shè)計(jì)是對(duì)我四年所學(xué)知識(shí)的一次綜合性檢測(cè)和考驗(yàn),無論是動(dòng)手能力還是理論知識(shí)運(yùn)用能力都得到了提高,同時(shí)加深了我對(duì)網(wǎng)絡(luò)資源認(rèn)識(shí),大大提高了查閱資料的效率,使我

78、有充足的時(shí)間投入到電路設(shè)計(jì)當(dāng)中。本系統(tǒng)的研制主要應(yīng)用到了模擬電子技術(shù)、數(shù)字電子技術(shù)、單片機(jī)控制技術(shù)、電子工藝等多方面的知識(shí),所設(shè)計(jì)的基于單片機(jī)程序控制的數(shù)控恒流源,基本達(dá)到了題目要求。在數(shù)據(jù)測(cè)試和調(diào)試方面,由于儀表存在誤差和電路主要器件特性不是很理想產(chǎn)生的誤差,使得測(cè)量數(shù)據(jù)不是很精確,本系統(tǒng)就此通過軟件線性補(bǔ)償設(shè)計(jì),減少誤差的存在,提高了系統(tǒng)的精度。</p><p><b>  參考文獻(xiàn)</b&g

79、t;</p><p>  [1]《單片機(jī)應(yīng)用技術(shù)》 劉守義 西安 西安電子科技大學(xué)出版社 2002</p><p>  [2]《單片微機(jī)測(cè)控系統(tǒng)設(shè)計(jì)大全》 王福瑞 北京 北京航空航天大學(xué)出版社 1998</p><p>  [3]《數(shù)控恒流源》 曾波 電子世界 第九期 2005</p><p>  [4]《電子電路》 何希才 北京 北京航空航

80、天大學(xué)出版社 2003</p><p>  [5]《模擬電子技術(shù)基礎(chǔ)》 李義府 長(zhǎng)沙 國防科技大學(xué)出版社 2004</p><p>  [6]《單片機(jī)原理及接口技術(shù)》 李朝青 北京 北京航空航天大學(xué)出版社 1994</p><p>  [7]《單片機(jī)C語言編程與示例》 趙亮等 人民郵電出版社 2003.9</p><p>  [8]《C程序

81、設(shè)計(jì)(第二版)》 譚浩強(qiáng) 清華大學(xué)出版社 1999.12</p><p>  [9]《電子技術(shù)基礎(chǔ) 模擬部分》 康華光 高等教育出版社2004.7</p><p>  [10]《單片機(jī)應(yīng)用開發(fā)實(shí)例》 劉文濤 清華大學(xué)出版社 2005.9</p><p><b>  附錄</b></p><p><b&

82、gt;  系統(tǒng)總原理圖</b></p><p><b>  源程序:</b></p><p>  #include <STC12C2052AD.H></p><p>  #include <IC72X9.H></p><p>  #include <IC72X9_user.H&g

83、t;</p><p>  #define LED100 0</p><p>  #define LED10 1</p><p>  #define LED12</p><p>  #define IncKey 0</p><p>  #define DecKey 1</p><p>  

84、#define SKey 2</p><p>  #define EnKey3</p><p>  code unsigned char led_addr[ ] = {LED100, LED10, LED1};//顯示的百十個(gè)位對(duì)應(yīng)的數(shù)碼管位選信號(hào)編號(hào)</p><p>  unsigned char iout = 40;//設(shè)定電流大小,40表示4mA</

85、p><p>  unsigned char num[ ] = {0,4,0};//顯示的百十個(gè)位上的數(shù)字</p><p>  unsigned char flash_index;//標(biāo)志百十個(gè)位的閃爍狀態(tài)</p><p>  #define Flash 0</p><p>  #define NoFlash 1</p><p&

86、gt;  #define WaitFlash 2</p><p>  char state;//工作狀態(tài)指示</p><p>  void iout2num(void)</p><p><b>  {</b></p><p>  unsigned char x = iout;</p><p>&l

87、t;b>  char i;</b></p><p>  for(i=2;i>=0;i--)</p><p><b>  {</b></p><p>  num[i] = x % 10;</p><p>  x = x / 10;</p><p><b>  }

88、 </b></p><p><b>  }</b></p><p>  void num2iout(void)</p><p><b>  {</b></p><p>  int tmp = num[0] *100 + num[1] *10 + num[2];</p>&l

89、t;p>  if(tmp>200) tmp = 200;</p><p>  if(tmp<40) tmp = 40;</p><p>  iout = tmp;</p><p><b>  }</b></p><p>  //根據(jù)led_addr[flash_index]取值情況,閃爍顯示或不閃&l

90、t;/p><p>  void flash_display(unsigned char datum, bit flash)//flash=1表示閃爍</p><p><b>  {</b></p><p>  char i = led_addr[flash_index];</p><p>  if(flash_index

91、== 1) IC72X9_Download0(i, 1, datum);</p><p>  else IC72X9_Download0(i, 0, datum);</p><p><b>  if(flash)</b></p><p><b>  {</b></p><p>  char x =

92、0x01;</p><p>  for(; i>0;i--) x <<= 1;</p><p>  IC72X9_Flash(~x);</p><p><b>  }</b></p><p>  else IC72X9_Flash(0xff);</p><p><b>

93、  }</b></p><p>  //數(shù)碼管合理顯示,不閃爍</p><p>  void all_display(void)</p><p><b>  {</b></p><p>  num2iout( );</p><p>  iout2num( );</p>

94、<p>  if(iout>100) IC72X9_Download0(led_addr[0], 0, num[0]);</p><p>  else IC72X9_Download0(led_addr[0], 0, 0x0f);//不顯示</p><p>  IC72X9_Download0(led_addr[1], 1, num[1]);</p><

95、p>  IC72X9_Download0(led_addr[2], 0, num[2]);</p><p><b>  }</b></p><p>  void pwm_out(unsigned i)</p><p><b>  {</b></p><p><b>  char y;

96、</b></p><p>  if(i>=40&&i<=50) y=1.63*i-50.63;</p><p>  if(i>50&&i<=100) y=1.36*i-32.5;</p><p>  if(i>100&&i<=140) y=1.82*i-90;</p

97、><p>  if(i>140&&i<180) y=1.19*i+4;</p><p>  if(i>=180&&i<=200) y=1.39*i-25.17;</p><p><b>  {</b></p><p>  CMOD = 0x02; // Setup PC

98、A timer</p><p>  CL = 0x00;</p><p>  CH = 0x00;</p><p>  CCAP1L = y; //Set the initial value same as CCAP1H</p><p>  CCAP1H = y; // </p><p>  CCAPM1 = 0x42

99、; //0100,0010 Setup PCA module 1 in PWM mode</p><p>  CR = 1; //Start PCA Timer.</p><p><b>  }</b></p><p><b>  }</b></p><p>  void main( )<

100、/p><p><b>  {</b></p><p>  unsigned char key;</p><p>  IDLE_CLK = 0x3;</p><p>  state = NoFlash;</p><p>  IC72X9_InitPins( );</p><p>

101、<b>  while(1)</b></p><p><b>  {</b></p><p>  switch(state)</p><p><b>  {</b></p><p>  case WaitFlash:</p><p>  if (IC72

102、X9_pinKEY == 1) break;</p><p>  key = IC72X9_Key(0);</p><p>  if(key != SKey) break;</p><p>  state = Flash;</p><p>  flash_index = 2;</p><p>  flash_displ

103、ay( num[flash_index], 1);//閃爍個(gè)位</p><p><b>  break;</b></p><p>  case Flash:</p><p>  if (IC72X9_pinKEY == 1) break;</p><p>  key = IC72X9_Key(0);</p>

104、<p>  switch(key)</p><p><b>  {</b></p><p>  case IncKey:</p><p>  if (num[flash_index] <9) num[flash_index]++;</p><p>  else num[flash_index] = 0;

105、</p><p>  flash_display(num[flash_index], 1);</p><p><b>  break;</b></p><p>  case DecKey:</p><p>  if (num[flash_index] >0) num[flash_index]--;</p>

106、;<p>  else num[flash_index] = 9;</p><p>  flash_display(num[flash_index], 1);</p><p><b>  break;</b></p><p>  case SKey:</p><p>  flash_display(num[

107、flash_index], 0);</p><p>  if(flash_index>0) flash_index--;</p><p>  else flash_index = 2;</p><p>  flash_display(num[flash_index], 1);</p><p><b>  break;</

108、b></p><p>  case EnKey:</p><p><b>  default:</b></p><p>  flash_display(num[flash_index], 0);</p><p>  state = NoFlash;</p><p><b>  br

109、eak;</b></p><p><b>  }</b></p><p><b>  break;</b></p><p>  case NoFlash:</p><p><b>  default:</b></p><p>  all_di

110、splay( );</p><p>  pwm_out(iout);</p><p>  state = WaitFlash;</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論