版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)控制設(shè)計(jì)一個(gè)數(shù)控電流源【開題報(bào)告】
- 基于atmega16單片機(jī)閉環(huán)控制的數(shù)控電流源設(shè)計(jì)
- 基于單片機(jī)的數(shù)控直流電流源設(shè)計(jì)
- 基于單片機(jī)的數(shù)控電流源畢業(yè)論文設(shè)計(jì)
- 基于單片機(jī)的數(shù)控電流源設(shè)計(jì)【畢業(yè)論文】
- 基于單片機(jī)的數(shù)控電流源設(shè)計(jì)【任務(wù)書】
- 基于單片機(jī)的數(shù)控電流源畢業(yè)論文設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)-單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)控制各種器件
- 基于單片機(jī)的數(shù)字直流電流源設(shè)計(jì)畢業(yè)論文
- 單片機(jī)課程設(shè)計(jì)——單片機(jī)控制步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告——單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)報(bào)告---單片機(jī)控制秒表系統(tǒng)
- 單片機(jī)畢業(yè)設(shè)計(jì)--汽車轉(zhuǎn)彎燈單片機(jī)控制
- 單片機(jī)畢業(yè)設(shè)計(jì)---單片機(jī)控制交通燈
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的控制循環(huán)燈設(shè)計(jì)
- 基于單片機(jī)的數(shù)控直流電流源的設(shè)計(jì)畢業(yè)論文
- 單片機(jī)畢業(yè)設(shè)計(jì)--單片機(jī)控制的led點(diǎn)陣顯示
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)節(jié)日彩燈控制器
評(píng)論
0/150
提交評(píng)論