畢業(yè)設(shè)計-基于AT89S52單片機的直流數(shù)控恒流源設(shè)計_第1頁
畢業(yè)設(shè)計-基于AT89S52單片機的直流數(shù)控恒流源設(shè)計_第2頁
畢業(yè)設(shè)計-基于AT89S52單片機的直流數(shù)控恒流源設(shè)計_第3頁
畢業(yè)設(shè)計-基于AT89S52單片機的直流數(shù)控恒流源設(shè)計_第4頁
畢業(yè)設(shè)計-基于AT89S52單片機的直流數(shù)控恒流源設(shè)計_第5頁
已閱讀5頁,還剩59頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)設(shè)計(論文)-基于AT89S52單片機的直流數(shù)控恒流源設(shè)計【畢業(yè)論文】 基于AT89S52單片機的直流數(shù)控恒流源設(shè)計摘要本系統(tǒng)由單片機程控設(shè)定數(shù)字信號,經(jīng)過D/A轉(zhuǎn)換器輸出模擬量,控制輸出功率管的基極,隨著功率管基極電壓的變化而輸出不同的電流。單片機系統(tǒng)還兼顧對恒流源進(jìn)行實時監(jiān)控,輸出電流經(jīng)過電流/電壓轉(zhuǎn)換后,通過A/D轉(zhuǎn)換芯片,實時把模擬量轉(zhuǎn)化為數(shù)量,再經(jīng)單片機分析處理,通過數(shù)字量形式的反應(yīng)環(huán)節(jié),使電流更加穩(wěn)定,這樣構(gòu)成穩(wěn)定的壓控電流源。壓控恒流源?In the system, the digitally programmable signal from SCM is converted

2、 to analog value by DAC AD5320, is sent to the base electrode of power transistor, so an adjustable output current can be available with the base electrode voltage of power transistor. On the other hand, The constant current source can be monitored by the SCM system real-timely, its work process is

3、that output current is converted voltage, then its analog value is converted to digital value by ADC 1241, finally the digital value as a feedback loop is processed by SCM so that output current is more stable, so a stable voltage-controlled constant current power is designed.KeyWords:voltage-contro

4、lled constant current source;AT89S52;Numerical controlled source;目錄摘要IAbstractII引言1第一章 概述21.1 設(shè)計要求21.2 理論分析21.3 系統(tǒng)介紹3第二章 硬件設(shè)計42.1 電源模塊4 電源設(shè)計42.2 恒流源模塊52.3 單片機模塊6 AT89S52芯片介紹6 AT89S52 硬件電路設(shè)計92.4 鍵盤模塊10 MM74C92210 鍵盤電路102.5 顯示模塊11 1602LCD顯示11 LCD顯示硬件電路122.6 A/D模塊13 芯片124113 A/D模塊電路142.7 D/A模塊142.8 存儲模

5、塊15 C總線15 芯片24C02C15 存儲模塊電路16第三章 軟件設(shè)計173.1 編程語言描述173.2 系統(tǒng)軟件的功能模塊17 主程序設(shè)計17 中斷程序設(shè)計18第四章 軟件仿真及硬件調(diào)試214.1 Proteus214.2 軟件仿真214.3 硬件調(diào)試22 單片機最小系統(tǒng)調(diào)試22 鍵盤及液晶顯示調(diào)試22 數(shù)模轉(zhuǎn)換與功放電路調(diào)試22 模數(shù)轉(zhuǎn)換電路調(diào)試23 存儲器電路調(diào)試23第五章 設(shè)計總結(jié)24致謝25參考文獻(xiàn)26附錄A原理圖27附錄B硬件實物28附錄C系統(tǒng)程序29附錄D英文翻譯原文39附錄E英文翻譯譯文43引言電源技術(shù)尤其是數(shù)控電源技術(shù)是一門實踐性很強的工程技術(shù),效勞于各行各業(yè)。當(dāng)今電源技

6、術(shù)融合了電氣、電子、系統(tǒng)集成、控制理論、材料等諸多學(xué)科領(lǐng)域。隨著計算機和通訊技術(shù)開展而來的現(xiàn)代信息技術(shù)革命,給電力電子技術(shù)提供了廣闊的開展前景,同時也給電源提出了更高的要求。隨著數(shù)控電源在電子裝置中的普遍使用,普通電源在工作時產(chǎn)生的誤差,會影響整個系統(tǒng)的精確度。數(shù)控電源是從80年代才真正的開展起來的,期間系統(tǒng)的電力電子理論開始建立。這些理論為其后來的開展提供了一個良好的根底。在以后的一段時間里,數(shù)控電源技術(shù)有了長足的開展。但其產(chǎn)品存在數(shù)控程度達(dá)不到要求、分辨率不高、功率密度比擬低、可靠性較差的缺點。因此數(shù)控電源主要的開展方向是針對上述缺點不斷加以改善。單片機技術(shù)及電壓轉(zhuǎn)換模塊的出現(xiàn)為精確數(shù)控電

7、源的開展提供了有利的條件。新的變換技術(shù)和控制理論的不斷開展,各種類型專用集成電路、數(shù)字信號處理器件的研制應(yīng)用,到90年代,己出現(xiàn)了數(shù)控精度到達(dá)0.05V的數(shù)控電源,功率密度到達(dá)每立方英寸50W的數(shù)控電源。目前在電力電子器件方面,幾乎都為旋紐開關(guān)調(diào)節(jié)電壓,調(diào)節(jié)精度不高,而且經(jīng)常跳變,使用麻煩。數(shù)字化智能電源是針對傳統(tǒng)電源的缺乏設(shè)計的,數(shù)字化能夠減少生產(chǎn)過程中的不確定因素和人為參與的環(huán)節(jié)數(shù),有效地解決電源模塊中諸如可靠性、智能化和產(chǎn)品一致性等工程問題,極大地提高生產(chǎn)效率和產(chǎn)品的可維護性。從上世紀(jì)九十年代末起,隨著對系統(tǒng)更高效率和更低功耗的需求,電信與數(shù)據(jù)通訊設(shè)備的技術(shù)更新推動電源行業(yè)中直流/直流電

8、源轉(zhuǎn)換器向更高靈活性和智能化方向開展。整流系統(tǒng)由以前的分立元件和集成電路控制開展為微機控制, 從而使直流電源智能化?第一章 概述1.1 設(shè)計要求1輸出電范圍2是不變的,根據(jù)三極管的共射極輸入特性可知,不變時,和也保持不變,而且,。當(dāng)比擬大時。當(dāng)運放的輸入改變時,也改變了值,這樣也就改變了和的值,而且這個變化根本也是呈線性的。這也就是本系統(tǒng)的恒流原理。由于器件受溫度的影響以及局部非線性的存在,這樣的恒流源不能做到真正的恒流,因此,當(dāng)外界條件發(fā)生變化時,我們要及時給予補償,只有這樣才能做到真正的恒流。這也就是為什么要參加模數(shù)轉(zhuǎn)換器的真正原因,他能實時測量電流的變化并按照一定的算法及時給予補償,采用

9、數(shù)字方式作為反應(yīng)調(diào)整環(huán)節(jié),由程序控制調(diào)節(jié)功率管的輸出。當(dāng)改變負(fù)載大小時,根本上不影響電流的輸出。圖1 系統(tǒng)原理框圖第二章 硬件設(shè)計2.1 電源模塊 本設(shè)計共用到電源有四種:即±12V、+5V、負(fù)載電源??蛇x用的有開關(guān)電源和穩(wěn)壓電源兩種,由于開關(guān)電源的紋波系數(shù)比擬大。因此采用常用的穩(wěn)壓電源來作為整個系統(tǒng)的電源。穩(wěn)壓電源由電源變壓器、整流電路、濾波電路和穩(wěn)壓電路組成,如圖2所示:圖2 電源方框及波形圖整流和濾波電路:整流作用是將交流電壓U2變換成脈動電壓U3。濾波電路一般由電容組成,其作用是脈動電壓U3中的大局部紋波加以濾除,以得到較平滑的直流電壓U4。再通過穩(wěn)壓電路得到平直的直流電壓U

10、5。 電源設(shè)計因此該電源按常規(guī)設(shè)計,即用降壓變壓器把220V市電變成較低的交流電,再通過整流橋?qū)⒔涣髯優(yōu)橹绷?,并上電容濾波再接入78X和79X系列穩(wěn)壓塊穩(wěn)壓,從而得到5V,±12V的電壓源。其中5V電源采用半波整流,以減小7805的輸入電壓。從而使得穩(wěn)壓快的功耗降低,發(fā)熱量減小,保證電路的長時間工作。電路原理圖分別如圖3和圖4所示:圖3 +5V電源圖4 ±12V電源負(fù)載電源輸出電壓為1.237V可調(diào),穩(wěn)壓電源由電源變壓器、整流電路、濾波電路、保護電路和穩(wěn)壓電路組成。其電路原理圖如圖5所示:圖5 負(fù)載電源2.2 恒流源模塊用“運放+大功率三極管的結(jié)構(gòu)構(gòu)成恒流源。大功率三極管T

11、IP122型號,應(yīng)用范圍功率小頻率低達(dá)林頓, NPN極性型,特征頻率:1000MHz,集電極允許電流:8A,集電極最大允許耗散功率:48W采用常用的大功率電阻作為采樣電阻,輸出電流波動比擬大,錳ATMEL公司是CMOS8位微控制器,具有8K ISP在系統(tǒng)可編程Flash Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52管腳如圖7所示:×8b

12、it內(nèi)部RAM低功耗空閑和省電模式3級加密位軟件設(shè)置空閑和省電功能雙數(shù)據(jù)存放器指針8k可反復(fù)擦寫 1000次ISP Flash ROMAT89S52主要引腳的主要功能:VCC:GND:接地P0口:P0口為一個8位漏極開路雙向I/O口,P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能4個TTLIIL。此外,定時器/記數(shù)器2的外部記數(shù)輸入 P1.0/T2 和定時器/記數(shù)器2的觸發(fā)輸入 P1.1/T2EX ,具體如下表1所示。在flash編程和校驗時,P1口接收低8位地址字節(jié)。表1 各端口引腳與復(fù)用功能表P2口:P2口內(nèi)部上拉電阻的8位雙向I/O口,IIL。在訪問外部程序存儲器

13、或用16位地址讀取外部數(shù)據(jù)存儲器 例如MOVX DPTR 時,P2口送出高八位地址。在這種應(yīng)用中,P2口P2 口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址如MOVX RI訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。P3口:P3 8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P3 端口寫“1時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流IIL。P3口亦作為AT89S52特殊功能第二功能使用,如下表2所示。在flash編程和校驗時,P

14、3口也接收一些控制信號。表2 各端口引腳與復(fù)用功能表復(fù)用功能P3.0RXD串行輸入口P3.1TXD串行輸出口P3.2外部中斷0P3.3外部中斷1P3.4T0記時器0外部輸入P3.5T1記時器1外部輸入P3.6外部數(shù)據(jù)存儲器寫選通P3.7外部數(shù)據(jù)存儲器讀選通RST:RST腳持續(xù)2 個機器周期高電平將使單片機復(fù)位??撮T狗計時完成后,RST 腳輸出96 個晶振周期的高電平。特殊存放器AUXR 地址8EH 上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/ :8 位地址的輸出脈沖。在flash編程時,此引腳也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻

15、率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置 “1,ALE操作將無效。這一位置 “1,ALE僅在執(zhí)行MOVX 或MOVC指令時有效。否那么,ALE將被微弱拉高。這個ALE使能標(biāo)志位地址為8EH的SFR的第0位的設(shè)置對微控制器處于外部執(zhí)行模式下無效。:當(dāng)AT89S52從外部程序存儲器執(zhí)行外部代碼時,在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,將不被激活。/VPP:0000H 到FFFFH的外部程序存儲器讀取指令,必須接GND。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接VCC。在flash編程期

16、間,也接收12伏VPP電壓XTAL1:XTAL2:單片機系統(tǒng)是整個數(shù)控系統(tǒng)的核心局部,它主要用于鍵盤按鍵管理、數(shù)據(jù)處理、實時采樣分析系統(tǒng)參數(shù)及對各局部反應(yīng)環(huán)節(jié)進(jìn)行整體調(diào)整。主要包括AT89S52單片機圖8 單片機控制電路 1 AT89S52單片機的P0口是個雙向口,可以作輸出輸入口,在本系統(tǒng)中用作顯示局部,P1口也是個雙向口,主要接A/D、 D/A和24C02C。P2口的P2.0、 P2.1、 P2.2、P2.3接鍵盤輸入,P2.4、 P2.5用于鍵盤控制是能端。而P3口主要用于中斷。 2 復(fù)位電路 復(fù)位是單片機初始化操作。復(fù)位將單片機復(fù)到初始化狀態(tài),目的是使CPU及個專用存放器處于一個確定的

17、初始狀態(tài)。如前面介紹,在單片機的復(fù)位信號RST上保持2個機器周期以上的高電平,單片機就會復(fù)位。本次設(shè)計采用的是手動復(fù)位方式,利用按鍵閉合是單片機復(fù)位端上保持接通高電平狀態(tài)兩個機器周期以上。 3 振蕩電路 該電路是由內(nèi)部反相放大器通過引腳XTAL1和引腳XTAL2與外接的晶體以及電容C3和C4構(gòu)成,產(chǎn)生出晶體振蕩信。此晶振信號接至內(nèi)部的時鐘電路。圖中的晶振頻率為11.0592MHz,外接晶體時,電容C3和C4通常選30pF。雖然對外接電容沒有嚴(yán)格要求,但電容的大小會影響振蕩頻率、振蕩器的穩(wěn)定性和起振的速度。振蕩器的這些特性對彈片機的應(yīng)用影響很大,因此在設(shè)計印刷電路板時,應(yīng)使晶體和電容盡可能與單片

18、機靠近,以保證穩(wěn)定可靠。2.4 鍵盤模塊鍵盤的作用是對單片機輸入數(shù)據(jù),設(shè)計中要求能使電流進(jìn)行“+,“-及電流值的設(shè)定,所以采用鍵盤為4×4的矩陣鍵盤,用MM74C922芯片進(jìn)行識別按鍵后送AT89S52的并行口P2, P2.0P2.3作為鍵盤輸入口。傳統(tǒng)的4×4矩陣鍵盤識別處理程序的編寫相對煩瑣。所以采用MM74C922芯片來將4×4矩陣鍵盤的鍵值轉(zhuǎn)換成4位二進(jìn)制碼以簡化程序的編寫。 MM74C922MM74C922是一款集成了鍵盤防抖動技術(shù)和按鍵檢測功能的16位按鍵的譯碼芯片。由CMOS工藝技術(shù)制造,工作電壓3-15V,“二鍵鎖定功能,編碼輸出為三態(tài)輸出,可直接

19、與微處理器數(shù)據(jù)總線相連,內(nèi)部振蕩器能完成44矩陣鍵盤掃描,亦可用外部振蕩器使鍵盤操作與其他處理同步,通過外接電容防止開關(guān)發(fā)生前、后沿彈跳所的延時。有按鍵按下時數(shù)據(jù)有效線變高,同時封鎖其他鍵,片內(nèi)鎖存器將保持鍵盤矩陣的4位編,可由微處理器讀出圖10 鍵盤電路2.5 顯示模塊 1602LCD顯示液晶顯示器由于體積小、質(zhì)量輕、功耗低等特點,已成為各種便攜式電子信息產(chǎn)品的理想顯示器。液晶顯示器通??煞譃閮纱箢?,一是點陣型,二是字符型。一般的字符型液晶只有兩行,面積較小,能顯示字符和一些很簡單的圖形;而點陣型液晶通常面積較大,可以顯示圖形和更多的字符。為了方便設(shè)計,同時又能滿足設(shè)計的需要及盡可能降低設(shè)計

20、本錢。因此,我們選擇1602LCD液晶顯示器。目前常用16*1,16*2,20*2和40*2行等的模塊。1602字符型液晶顯示器實物如圖引腳功能說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否那么此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖是1602的內(nèi)

21、部顯示地址。圖12 1602LCD內(nèi)部顯示地址圖13 LCD電路2.6 A/D模塊由于本次設(shè)計的數(shù)控直流電流源能夠完成設(shè)定輸出值。因此設(shè)定步進(jìn)為1mA才有所意義。根據(jù)題目要求輸出20mA2000mA,以1mA為步進(jìn)。需要的級數(shù)為:因,由此可見采用11的轉(zhuǎn)換芯片即可滿足要求,但市場上并沒有11位轉(zhuǎn)換器,所以系統(tǒng)中采用12位高精度A/D轉(zhuǎn)換芯片1241。同時D/A也采用12位的轉(zhuǎn)換芯片AD5320。 芯片12411241是IM公司推出的一種串行A/D轉(zhuǎn)換器,具有低功耗、高精度、高速度、體積小、接口簡單等優(yōu)點1241是一種單通道12位逐次逼近型串行A/D轉(zhuǎn)換器,功耗低,轉(zhuǎn)換速度快A/D轉(zhuǎn)換過程。最大

22、非線性誤差小于1LSB,轉(zhuǎn)換時間9s。采用三線式串行接口,內(nèi)置快速采樣/保持電路。1241內(nèi)部結(jié)構(gòu)如圖14和管腳定義如圖15:圖14 1241內(nèi)部結(jié)構(gòu)管腳名稱功能參數(shù)1VDD電源2VIN模擬電壓輸入03SHDN節(jié)電方式控制端“0節(jié)電方式;“1工作4REF參考電壓輸入端1.0VVDD5GND電源地6DOUT串行數(shù)據(jù)輸出三態(tài)7CS芯片選通“0選通;“1禁止8SCLK串行輸出驅(qū)動時鐘輸入頻率范圍:02.1MHz圖15 1241管腳定義 A/D模塊電路F電解電容即可;特殊情況下,讓懸空,此時,即可在REF引腳輸入?yún)⒖茧妷?,其范圍?.0VDD.REF引腳外接電解電容不宜選擇過大,電容越大,1241由待

23、機模式到正常工作模式的喚醒時間將越長1241的三根數(shù)據(jù)線,時鐘輸入端、片選控制端和數(shù)據(jù)輸出端分別由89S52的P.0、。? 1241芯片內(nèi)部具有采樣/保持電路,無需外部保持電容和采樣/保持電路 1241的控制線SCLK、DOUT可與89S52的通用I/O口直接相連,無需任何接口變換, 模擬電壓經(jīng)前級放大至0VREF 范圍后,由AIN引腳輸入圖16 1241外圍電路2.7 D/A模塊有前面的計算知,模擬量輸出通道我們選用了AD公司的單通道12位電壓輸出D/A轉(zhuǎn)換器,單電源工作,電壓范圍為2.7V5.5V,時鐘頻率最高可達(dá)30MHz。片內(nèi)高精度輸出放大器提供滿電源幅度輸出,其基準(zhǔn)來自電源輸入端,可

24、以提供較大的動態(tài)輸出范圍,它利用能與標(biāo)準(zhǔn)的接口標(biāo)準(zhǔn)兼容的3線串行接口與微處理器交換數(shù)據(jù),接口簡單。工作過程中,將SYNC置為低電平時候啟動寫序列,在這個階段,SYNC線至少要保持低電平一直到SCLK的第16個下降沿,DAC在這第16個下降沿被更新,如果在這之前SYNC被拉為高電平,就意味著寫序列中斷,此時移位存放器復(fù)位。來自DIN線的數(shù)據(jù)在SCLK的下降沿隨時鐘送入16位移位存放器,輸入移位存放器的數(shù)據(jù)位數(shù)為16位寬,前兩位是無關(guān)位,接下來2為是控制位,決定控制器件處于哪種工作方式,最后12位是數(shù)據(jù)位,它們代表著DA轉(zhuǎn)換器即將輸出的電壓值。在第16個時鐘下降沿,最后一位數(shù)據(jù)隨時鐘輸入并按照給定

25、內(nèi)容執(zhí)行已編制好的功能。其外圍電路如下列圖17所示:圖17 AD5320外圍電路2.8 存儲模塊本系統(tǒng)的外擴存儲器主要是用來記憶用戶數(shù)據(jù),因此容量不需要很大,一般的小型存儲器芯片就可以。然而從方便系統(tǒng)擴展來和價格來考慮,我們選用了EEPROM24C02,它是采用C接口的一種常用2Kbit256×8bit的存儲器。首先,我們還是先介紹C總線。 C總線?在現(xiàn)代電子系統(tǒng)中,有為數(shù)眾多的IC需要進(jìn)行相互之間以及與外界的通信。為了提供硬件的效率和簡化電路的設(shè)計,PHILIPS開發(fā)了一種用于內(nèi)部IC控制的簡單的雙向兩線串行總線C。C總線支持任何一種IC制造工藝,并且PHILIPS和其他廠商提供了

26、種類非常豐富的C兼容芯片。作為一個專利的控制總線,C已經(jīng)成為世界性的工業(yè)標(biāo)準(zhǔn)。C總線是一種用于IC器件之間的二線制總線。它通過SDA串行數(shù)據(jù)線及SCL串行時鐘線兩根線連到總線上的器件之間傳送信息,并根據(jù)地址識別每個器件,不管是單片機、存儲器、LCD驅(qū)動還是鍵盤接口。C總線的數(shù)據(jù)傳送格式是在總線開始信號后,送出的第一個字節(jié)數(shù)據(jù)是是用來從器件的地址,其中前七位為地址碼,第8位為方向位R/W 。方向位為“0表示發(fā)送,每次都是先傳最高位。24C02C是一種串行存儲器A0、A1 和A2引腳用于多器件工作。將這些輸入引腳上的電平與從器件地址中的相應(yīng)位作比擬,如果比擬結(jié)果為真,那么該器件被選中。SDA串行數(shù)

27、據(jù)引腳為雙向引腳,用于把地址和數(shù)據(jù)輸入/ 輸出器件。該引腳為漏極開路。因此,SDA 總線要求在該引腳與VCC 之間接入上拉電阻。對于正常的數(shù)據(jù)傳輸,只允許在SCL為低電平期間改變SDA 電平。而SDA 電平在SCL 高電平期間假設(shè)發(fā)生變化,說明起始和停止條件產(chǎn)生。WP寫保護引腳必須連接到 VSS 或者 VCC。如果連接到 VSS, 寫操作使能。如果連接到VCC,寫操作被禁止,但讀操作不受影響。VCC電源輸入引腳,標(biāo)稱條件下在VCC 低于3.8V 時,那么VCC 閾值檢測電路會禁止內(nèi)部的擦寫邏輯。 存儲模塊電路將A0、A1、A2全部接地,即決定了該模塊的地址為0xA0,24C02C的外圍電路如圖

28、19所示:圖19 24C02C外圍電路第三章 軟件設(shè)計3.1 編程語言描述 C語言已成為當(dāng)前舉世公認(rèn)的高效簡潔,又貼近硬件的編程語言之一,將C語言向單片機上的移植,始于20世紀(jì)80年代的中后期,經(jīng)過十幾年的努力,C語言終于成為專業(yè)化的單片機實用高級語言,人們通常把開發(fā)MCS-51使用的C語言簡稱C51。采用C51編寫的應(yīng)用程序結(jié)構(gòu)清楚、模塊化程度高、可讀性強,并容易移植。應(yīng)用C51進(jìn)行軟件開發(fā),用戶可以不必具體考慮存放器、存儲器的分配等工作,而把這局部工作交給編譯、連接軟件,用戶只需了解MCS-51的存儲器結(jié)構(gòu),甚至不必去了解51的指令系統(tǒng)。C51開發(fā)環(huán)境一般都提供了數(shù)學(xué)計算等子程序,為程序開

29、發(fā)帶來方便。雖然采用C51編程形成的源代碼比不上有經(jīng)驗人員編寫的匯編語言精煉,但對于相對復(fù)雜的系統(tǒng)開發(fā)或復(fù)雜運算,還是比用匯編語言容易得多,且易于移植及有利于系統(tǒng)的維護和升級。在實時要求較高的場合,可采用C51匯編混合編程。本設(shè)計我們采用的是C51,其編譯器是Keil C51,它是德國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng)。Keil C51軟件提供了豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具。C51語言編程方法是:1.啟動uvision4 Keil C51基于Windows下的開發(fā)環(huán)境 ,創(chuàng)立一個工程文件,并從器件數(shù)據(jù)庫里選擇一款CPU芯片;2.根據(jù)應(yīng)用要求,在

30、PC上用文本編輯軟件編寫C語言源程序;利用C51編譯工具軟件對源程序進(jìn)行編譯,生成目標(biāo)文件 .obj文件 ;利用C51連接工具對目標(biāo)程序進(jìn)行連接定位,生成絕對程序,即可以裝載到開發(fā)裝置仿真運行。在某些情況下,也可以將絕對程序轉(zhuǎn)化為十六進(jìn)制代碼程序 .hex文件 。3.2 系統(tǒng)軟件的功能模塊根據(jù)本系統(tǒng)的實際要求軟件設(shè)計可分為以下個功能模塊: 圖20 主程序流程圖 圖21 監(jiān)控程序流程圖 中斷程序設(shè)計中斷程序主要是對不同的按鍵做出不同的處理,其中斷流程圖如圖22所示:圖22 中斷程序流程圖其中數(shù)字程序流程圖如圖23所示。設(shè)置程序流程圖如圖24所示:圖23 數(shù)字程序流程圖 圖24 設(shè)置程序流程圖恢復(fù)

31、程序流程圖如圖25所示。加法程序流程圖如圖26所示:圖25 恢復(fù)程序流程圖 圖26 加法程序流程圖減法程序流程圖如圖27所示。確認(rèn)程序流程圖如圖28所示:圖27 減法程序流程圖 圖28 確認(rèn)程序流程圖.取消程序流程圖如圖29所示:.圖29 取消程序流程圖如上述流程圖所示,本系統(tǒng)的程序是分為很多功能小模塊,只要完成每個小程序的編寫,整個系統(tǒng)的程序也就隨之完成。這樣做大大減小了編程難度!系統(tǒng)的完整程序見附錄B。第四章 軟件仿真及硬件調(diào)試在組裝硬件之前,做足軟件的仿真是硬件能夠正常工作的保障!為此,我們在設(shè)計時,就采用Proteus仿真,這樣便于我們在編程時,能夠及時的發(fā)現(xiàn)程序的缺乏,及時的修改,使

32、我們編寫的程序更加完美。4.1 ProteusProteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學(xué)的教師、致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具 仿真軟件 ,從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理

33、器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2021年增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。圖30 仿真原理圖由于設(shè)計要求規(guī)定輸出為20mA2000mA。因此我們在初始化是就默認(rèn)初始值為20mA。我們接著單擊鍵盤上的“加鍵,設(shè)置值加1,輸出值也加1的變化。連續(xù)單擊幾次加鍵,再單擊“減鍵,也到達(dá)我們想要的結(jié)果。單擊設(shè)置鍵,我們輸入0126,即要求輸出為126mA的電流,單擊確認(rèn)鍵,發(fā)現(xiàn)輸出值也到達(dá)了126mA。由于我們選取

34、的取樣電阻值為1歐,因此,我們檢測的電壓值理論上就是輸出電流值。如圖31所示:圖31 Proteus仿真圖4.3 硬件調(diào)試由于時間有限,我們沒有通過先制作PCB板,再來焊接電路的方式進(jìn)行,因此,我們在直接焊板子的時候,就省略電源電路的局部,這局部可由實驗室的電源提供。 單片機最小系統(tǒng)調(diào)試先查看電源,然后利用示波器測單片機ALE引腳,以晶振六分之一的固定頻率輸出脈沖,即為正常工作。如果正常,根本上就沒問題,就可以下載簡單的程序加以驗證了。 鍵盤及液晶顯示調(diào)試為了直觀的測試鍵盤,我們先調(diào)試了液晶顯示模塊,在液顯調(diào)通后,然后用鍵盤輸入進(jìn)行調(diào)試,看鍵值是否正確。經(jīng)測試,鍵盤所有功能正常,顯示器也能正常

35、工作。 數(shù)模轉(zhuǎn)換與功放電路調(diào)試我們直接編寫程序,并給定某個確定的數(shù)值,看轉(zhuǎn)換結(jié)果是否正確。假設(shè)正確就可以接上功放電路進(jìn)行功放電路的調(diào)試,甚至還可以改變程序中的定值,來看輸出是否恒流。由于時間和硬件的原因,這局部只是我們在軟件調(diào)試上的方法,在實際中沒有進(jìn)行調(diào)試。 模數(shù)轉(zhuǎn)換電路調(diào)試對于這局部我們采用電位器輸出接到芯片的模擬輸入端,將電位器可調(diào)的最大電壓接到AD芯片上的基準(zhǔn)電壓,然后將轉(zhuǎn)換結(jié)果送到單片機I/O口,利用顯示器顯示出I/O口的值,旋動電位器,假設(shè)將電位器調(diào)節(jié)輸出最小電壓,那么顯示0,假設(shè)調(diào)節(jié)電位器輸出最大電壓,那么顯示4095該芯片是12位模數(shù)轉(zhuǎn)換器,即說明該局部電路正常。由于時間和硬件

36、的原因,這局部只是我們在軟件調(diào)試上的方法,在實際中沒有進(jìn)行調(diào)試。 存儲器電路調(diào)試存儲器芯片只要硬件連接不出錯,一般是不會出問題的。我們使用的是C總線的串行存儲器24C02C,我們只對硬件電路做了檢查。畢竟在軟件上,我們已經(jīng)仿真成功。第五章 設(shè)計總結(jié)經(jīng)過個多月的努力我的畢業(yè)設(shè)計終于完成了,但是現(xiàn)在回想起來做畢業(yè)設(shè)計的整個過程,頗有心得,其中有苦也有甜,艱辛同時又充滿樂趣!通過本次畢業(yè)設(shè)計,沒有接受任務(wù)以前覺得畢業(yè)設(shè)計只是對這幾年來所學(xué)知識的單純總結(jié),但是通過這次做畢業(yè)設(shè)計發(fā)現(xiàn)畢業(yè)設(shè)計不僅是對前面所學(xué)知識的一種檢驗,而且也是對自己能力的一種提高。下面我對整個畢業(yè)設(shè)計的過程做一下簡單的總結(jié)。第一,第

37、二,后就是找資料了。查資料是做畢業(yè)設(shè)計的前期準(zhǔn)備工作,到圖書館,也??傊?,不管通過哪種方式查的資料都是有利用價值的,要一一記錄下來以備后用。 第三,綜合已有的資料來更透徹的分析題目。 第四,有了研究方向,就要動手實現(xiàn)。編寫源代碼的時候是編寫一個小模塊就進(jìn)行調(diào)試,這樣可以防止設(shè)計的最后出現(xiàn)太多的錯誤而亂成一團糟。一步步地做下去之后,你會發(fā)現(xiàn)要做出來并不難,只不過每每做一會兒會發(fā)現(xiàn)一處錯誤要修改,就這樣在不斷的修改調(diào)試,再修改再調(diào)試。 第五, 我們只有對自己有了更高的要求,才能作為動力不斷取得新的成績!在整個設(shè)計中我懂得了許多東西,也培養(yǎng)了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后

38、的學(xué)習(xí)工作生活有非常重要的影響。 四年的讀書生活在這個季節(jié)即將劃上一個句號,而于我的人生卻只是一個逗號,我將面對又一次征程的開始。感謝我的指導(dǎo)老師嚴(yán)輝老師,夠順利完成畢業(yè)設(shè)計,離不開他的悉心指導(dǎo)。他對我的設(shè)計從確定題目、修改直到完成,給予了我許多的指點和幫助。感謝他在繁忙的工作之余,擠出時間對設(shè)計提出精辟的修改意見。在此,向嚴(yán)老師致以最誠摯的謝意。我也要感謝電子與信息工程學(xué)院所有教育過我的老師!你們傳授給我的專業(yè)知識是我不斷成長的源泉,也是完本錢設(shè)計的根底。感謝我的父母,是他們無微不至的關(guān)心、一貫的體諒與支持,使我能在工作和學(xué)習(xí)上不斷前進(jìn),他們是我努力工作和積極生活的精神支柱。同時也感謝學(xué)院為

39、我提供良好的做畢業(yè)設(shè)計的環(huán)境。? 參考文獻(xiàn)51系列單片機原理.北京:北京航空航天大學(xué)出版社,20022、閻石 數(shù)字電子技術(shù)根底 高等教育出版3、周雪. 模擬電子技術(shù)M. 西安: 西安電子科技大學(xué)出版社,2004.4、梅笙,李瑋. 基于AT89C52 控制的數(shù)控直流電流源的設(shè)計J . 電子測試,2007 2 :19223.5、張毅剛.新編MCS-51單片機應(yīng)用設(shè)計M.哈爾濱:哈爾濱工業(yè)的出版社,20216、全國人學(xué)牛電子設(shè)計競賽組委會.全國人學(xué)牛電子設(shè)計競賽獲獎作品選編 2003 M .北京:北京理工學(xué)出版社,2005.7、黃智偉.全國大學(xué)生電子設(shè)計競賽訓(xùn)練教程M.北京:電子上業(yè)出版社,2005

40、.8、全國人學(xué)牛電子設(shè)計競賽組委會.全國人學(xué)牛電子設(shè)計競賽獲獎作品選編 第一屆一第五屆 M .北京:北京理 _人學(xué)出版社,2004.10、鐘乃元,, 30 9 大電流高精度恒流源fJl.電子測176一178.12、全國大學(xué)生電子設(shè)計競賽硬件電路設(shè)計.陳永真,韓梅,.41314、單片機原理課程設(shè)計 張一斌,余建坤,2021原理圖硬件實物系統(tǒng)程序#include #include #define uint unsigned int#define uchar unsigned charsbit lcdrs P24;sbit lcde P25;sbit keyda P32;sbit adcs P10;

41、sbit adsclk P11;sbit adout P12;sbit dasync P13;sbit dasclk P14;sbit dadin P15;sbit Sda P16;sbit Scl P17;uchar code dis1 " INPUT mA " ;uchar code dis2 " OUTPUT mA " ;uchar number4,number14;uint i,n,s,m;/n為鍵入允許標(biāo)志控制,s為鍵入次數(shù)計數(shù)uint adata1,data2;/* 延時程序void delay uint z uint x,y;for x z

42、;x 0;x- for y 110;y 0;y- ; /*/ 作用:啟動IIC總線 /*/void Start Sda 1; _nop_ ;_nop_ ; Scl 1; _nop_ ;_nop_ ;_nop_ ;_nop_ ;_nop_ ; Sda 0; _nop_ ;_nop_ ;_nop_ ;_nop_ ;_nop_ ; Scl 0; /*/ 作用:停止IIC總線 /*/void Stop Sda 0; _nop_ ; Scl 1; _nop_ ;_nop_ ;_nop_ ;_nop_ ;_nop_ ; Sda 1; _nop_ ;_nop_ ;_nop_ ;_nop_ ;_nop_ ;

43、Scl 0; /*/ 作用:應(yīng)答IIC總線 /*/void Ack Sda 0;_nop_ ;_nop_ ;_nop_ ;Scl 1;_nop_ ;_nop_ ;_nop_ ;_nop_ ;_nop_ ;Scl 0;_nop_ ;_nop_ ; /*/ 作用:非應(yīng)答IIC總線 /*/void NoAck Sda 1; _nop_ ;_nop_ ;_nop_ ; Scl 1; _nop_ ;_nop_ ;_nop_ ;_nop_ ;_nop_ ; Scl 0; _nop_ ;_nop_ ; /*/ 作用:發(fā)送一個字節(jié) /*/void Send uchar Data uchar BitCounte

44、r 8; uchar temp; do temp Data; Scl 0; _nop_ ;_nop_ ;_nop_ ;_nop_ ;_nop_ ; if temp&0x80 0x80 Sda 1; else Sda 0;Scl 1;temp Data 1;Data temp;BitCounter-; while BitCounter ; Scl 0; /*/ 作用:讀一個字節(jié)并返回 /*/uchar Read void uchar temp 0; uchar temp1 0; uchar BitCounter 8; Sda 1; do Scl 0; _nop_ ;_nop_ ;_nop

45、_ ;_nop_ ;_nop_ ; Scl 1; _nop_ ;_nop_ ;_nop_ ;_nop_ ;_nop_ ; if Sda temp temp|0x01; else temp temp&0xfe; if BitCounter-1 temp1 temp 1; temp temp1; BitCounter-; while BitCounter ;return temp ; /*/ 作用:寫入數(shù)據(jù) /*/void WrToROM uchar Data,uchar Address,uchar Num uchar j; uchar *PData; PData Data; for j

46、0;j Num;j+ Start ; Send 0xa0 ; /寫入芯片地址 Ack ; Send Address+j ; /寫入存儲地址 Ack ; Send * PData+j ; /寫數(shù)據(jù) Ack ; Stop ; delay 10 ; /*/ 作用:讀出數(shù)據(jù) /*/void RdFromROM uchar Data,uchar Address,uchar Num uchar j; uchar *PData; PData Data; for j 0;j Num;j+ Start ; /寫入芯片地址 Send 0xa0 ; Ack ; Send Address+j ; /寫入存儲地址 Ac

47、k ; Start ; Send 0xa1 ; /讀入地址 Ack ; * PData+j Read ; /讀數(shù)據(jù) Scl 0; NoAck ; Stop ; /* A/D轉(zhuǎn)換uint ad_conver uint voltage_temp 0; uchar ucloop 12; adcs 1; adsclk 0; adcs 0; while adout 0 ;/EOC信號為高表示轉(zhuǎn)換結(jié)束 adsclk 1; adsclk 0; while ucloop- adsclk 1;/上升沿數(shù)據(jù)穩(wěn)定并讀出voltage_temp 1; if adout 1 voltage_temp+ 1; adsclk 0; adcs 1; return voltage_temp; /* D/A轉(zhuǎn)換void da_conver uint dignum uint dig 0;uchar k 0;dasync 1;_nop_ ;_nop_ ;dasync 0;for k 0;k 16;k+ dasclk 1;dig dignum&0x8000;if dig dadin 1;else dadin 0;dasclk 0; _nop_ ;_nop_ ;dignum 1; dasync 1; _nop_ ;_nop_ ; /* 顯示器寫數(shù)據(jù)void write_date uchar date lcdrs 1

溫馨提示

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

最新文檔

評論

0/150

提交評論