武漢理工大學(xué)學(xué)科基礎(chǔ)綜合課群課設(shè)報告-數(shù)控直流電流源.doc_第1頁
武漢理工大學(xué)學(xué)科基礎(chǔ)綜合課群課設(shè)報告-數(shù)控直流電流源.doc_第2頁
武漢理工大學(xué)學(xué)科基礎(chǔ)綜合課群課設(shè)報告-數(shù)控直流電流源.doc_第3頁
武漢理工大學(xué)學(xué)科基礎(chǔ)綜合課群課設(shè)報告-數(shù)控直流電流源.doc_第4頁
武漢理工大學(xué)學(xué)科基礎(chǔ)綜合課群課設(shè)報告-數(shù)控直流電流源.doc_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

武漢理工大學(xué)學(xué)科基礎(chǔ)綜合課群課設(shè)報告 課程設(shè)計任務(wù)書學(xué)生姓名: 專業(yè)班級:通信1104班 指導(dǎo)教師:艾青松 工作單位:信息工程學(xué)院 題 目: 數(shù)控直流電流源 初始條件: protel軟件,電路基礎(chǔ),通信原理基礎(chǔ),模擬電子技術(shù)基礎(chǔ)要求完成的主要任務(wù): 設(shè)計并制作數(shù)控直流電流源,輸入交流200240v,50hz;輸出直流電壓10v。要求:1)輸出電流范圍:200ma2000ma;2)可設(shè)置并顯示輸出電流給定值,要求輸出電流與給定值偏差的絕對值給定值的1+10 ma;3)具有“+”、“-”步進調(diào)整功能,步進10ma;4)改變負載電阻,輸出電壓在10v以內(nèi)變化時,要求輸出電流變化的絕對值輸出電流值的1+10 ma; 5)紋波電流2ma;時間安排:序號階段內(nèi)容所需時間1方案設(shè)計2天2硬件設(shè)計3天3軟件設(shè)計3天4系統(tǒng)仿真2天系統(tǒng)調(diào)試3天答辯1天合 計14天指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日 目錄摘要iabstractii1 緒論12 基礎(chǔ)相關(guān)理論知識3 2.1 protel3 2.1.1 protel簡介3 2.1.2 protel發(fā)展3 2.2 at89c524 2.1.1 at89c52工作原理4 2.3 數(shù)模轉(zhuǎn)換器5 2.3.1數(shù)模轉(zhuǎn)換器轉(zhuǎn)換原理5 2.4 模數(shù)轉(zhuǎn)換器7 2.4.1模數(shù)轉(zhuǎn)換器轉(zhuǎn)換原理73 數(shù)控直流電流源方案設(shè)計8 3.1 單片機模塊8 3.1.1單片機硬件電路設(shè)計8 3.2 a/d模塊10 3.2.1 芯片max124110 3.2.2 a/d模塊電路10 3.3 d/a模塊11 3.4 存儲模塊12 3.4.1芯片24c02c12 3.4.2存儲模塊電路12 3.5 顯示模塊13 3.5.1 1602lcd顯示13 3.5.2 lcd顯示硬件電路14 3.6 鍵盤模塊15 3.6.1 mm74c92215 3.6.2 鍵盤電路15 3.7 恒流源模塊16 4 方案實現(xiàn)17 5 個人小結(jié)196 參考文獻20附錄 程序代碼.21 摘要 隨著電子技術(shù)的飛速發(fā)展,電子設(shè)備要工作都需要有電源為其通電。而各種不同的電子設(shè)備所需要的供電電源不是統(tǒng)一的。所以,對于數(shù)控直流電流源的研究與開發(fā)就顯得相當(dāng)重要了。本文介紹一種基于單片機的數(shù)控電流源的設(shè)計方法,利用按鍵設(shè)置輸出電流,單片機將該電流值送入數(shù)碼管顯示,同時d/a,a/d轉(zhuǎn)換器將數(shù)字量轉(zhuǎn)換為模擬量后輸出,再通過壓控恒流電路得到穩(wěn)定輸出的電流。本文提供的數(shù)控電流源很高的精度值且電路簡單、成本廉價、實用價值和開發(fā)價值大的特點。關(guān)鍵詞: 數(shù)控直流電流源 單片機 按鍵 數(shù)碼管 abstract with the rapid development of electronic technology, electronic equipment towork need power for electricity. while the power supply of electronicequipment various need not uniform. so, it is very important for the research and development of nc dc current source.this paper introduces a design method of nc current source based on single chip, using the key to set the output current, the current value is sent tosingle chip digital tube display, while d/a, a/d converter to convert digital signal into analog output, current and a constant current circuit stable outputvoltage controlled by.nc current source with high precision and simple circuit, low cost, practical value and development value characteristics. keywords: nc dc current source scm key digital tube。331. 緒論隨著電子技術(shù)的發(fā)展、數(shù)字電路應(yīng)用領(lǐng)域的擴展,現(xiàn)今社會,產(chǎn)品智能化、數(shù)字化已成為人們追求的一種趨勢,設(shè)備的性能、價格、發(fā)展空間等備受人們的關(guān)注,尤其對電子設(shè)備的精密度和穩(wěn)定度最為關(guān)注。性能好的電子設(shè)備,首先離不開穩(wěn)定的電源,電源穩(wěn)定度越高,設(shè)備和外圍條件越優(yōu)越,那么設(shè)備的壽命更長?;诖?,人們對數(shù)控恒定電流器件的需求越來越迫切。當(dāng)今社會,數(shù)控恒壓技術(shù)已經(jīng)很成熟,但是恒流方面特別是數(shù)控恒流的技術(shù)才剛剛起步且有待發(fā)展,高性能的數(shù)控恒流器件的開發(fā)和應(yīng)用存在巨大的發(fā)展空間。本文正是應(yīng)社會發(fā)展的需求,研制出一種基于單片機的高性能的數(shù)控直流恒流源。本數(shù)控直流恒流源系統(tǒng)輸出電流穩(wěn)定,輸出電流可在20ma2000ma范圍內(nèi)任意設(shè)定,不隨負載和環(huán)境溫度變化,并具有很高的精度,輸出電流誤差范圍4ma,因而可實際應(yīng)用于需要高穩(wěn)定度小功率直流恒流源的領(lǐng)域。所以本次課程設(shè)計的主要內(nèi)容是介紹一種基于單片機的數(shù)控電流源的設(shè)計方法,利用按鍵設(shè)置輸出電流,單片機將該電流值送入數(shù)碼管顯示,同時d/a,a/d轉(zhuǎn)換器將數(shù)字量轉(zhuǎn)換為模擬量后輸出,再通過壓控恒流電路得到穩(wěn)定輸出的電流。設(shè)計并制作數(shù)控直流電流源。輸入交流200240v,50hz;輸出直流電壓10v。其原理示意圖如下所示。 圖1 原理示意圖設(shè)計并制作數(shù)控直流電流源的要求是:1)輸出電流范圍:200ma2000ma;2)可設(shè)置并顯示輸出電流給定值,要求輸出電流與給定值偏差的絕對值給定值的1+10 ma;3)具有“+”、“-”步進調(diào)整功能,步進10ma;4)改變負載電阻,輸出電壓在10v以內(nèi)變化時,要求輸出電流變化的絕對值輸出電流值的1+10 ma; 5)紋波電流2ma;通過本次課程設(shè)計的要達到的主要目的是:1、在實踐中對通信原理、微機原理、模擬電子技術(shù)基礎(chǔ)、數(shù)字電子技術(shù)基礎(chǔ)、電磁場與電磁波等學(xué)科基礎(chǔ)課的課堂理論知識做進一步鞏固;2、鍛煉對學(xué)科基礎(chǔ)課的綜合運用能力。2. 基礎(chǔ)相關(guān)理論知識2.1. protelprotel是altium公司在80年代末推出的eda軟件,在電子行業(yè)的cad軟件中,它當(dāng)之無愧地排在眾多eda軟件的前面,是電子設(shè)計者的首選軟件,它較早就在國內(nèi)開始使用,在國內(nèi)的普及率也最高,有些高校的電子專業(yè)還專門開設(shè)了課程來學(xué)習(xí)它,幾乎所有的電子公司都要用到它,許多大公司在招聘電子設(shè)計人才時在其條件欄上常會寫著要求會使用protel。2.1.1 protel簡介早期的protel主要作為印制板自動布線工具使用,運行在dos環(huán)境,對硬件的要求很低,在無硬盤286機的1m內(nèi)存下就能運行,但它的功能也較少,只有電路原理圖繪制與印制板設(shè)計功能,其印制板自動布線的布通率也低,而現(xiàn)今的protel已發(fā)展到dxp 2004,是個龐大的eda軟件,完全安裝有200多m,它工作在windows95環(huán)境下,是個完整的板級全方位電子設(shè)計系統(tǒng),它包含了電路原理圖繪制、模擬電路與數(shù)字電路混合信號仿真、多層印制電路板設(shè)計(包含印制電路板自動布線)、可編程邏輯器件設(shè)計、圖表生成、電子表格生成、支持宏操作等功能,并具有client/server(客戶/服務(wù)器)體系結(jié)構(gòu),同時還兼容一些其它設(shè)計軟件的文件格式,如orcad,pspice,excel等,其多層印制線路板的自動布線可實現(xiàn)高密度pcb的100%布通率。在國內(nèi)protel軟件較易買到,有關(guān)protel軟件和使用說明的書也有很多,這為它的普及提供了基礎(chǔ)。想更多地了解protel的軟件功能或者下載protel99的試用版,可以在internet上。2.1.2.protel發(fā)展2005年年底,protel軟件的原廠商altium公司推出了protel系列的最新高端版本altium designer 6.0。altium designer 6.0,它是完全一體化電子產(chǎn)品開發(fā)系統(tǒng)的一個新版本,也是業(yè)界第一款也是唯一一種完整的板級設(shè)計解決方案。altium designer 是業(yè)界首例將設(shè)計流程、集成化pcb 設(shè)計、可編程器件(如fpga)設(shè)計和基于處理器設(shè)計的嵌入式軟件開發(fā)功能整合在一起的產(chǎn)品,一種同時進行pcb和fpga設(shè)計以及嵌入式設(shè)計的解決方案,具有將設(shè)計方案從概念轉(zhuǎn)變?yōu)樽罱K成品所需的全部功能。這款最新高端版本altium designer 6.除了全面繼承包括99se,protel2004在內(nèi)的先前一系列版本的功能和優(yōu)點以外,還增加了許多改進和很多高端功能。altium designer 6.0拓寬了板級設(shè)計的傳統(tǒng)界限,全面集成了fpga設(shè)計功能和sopc設(shè)計實現(xiàn)功能,從而允許工程師能將系統(tǒng)設(shè)計中的fpga與pcb設(shè)計以及嵌入式設(shè)計集成在一起。2.2. at89c52at89c52是一個低電壓,高性能cmos8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(ram),器件采用atmel公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和flash存儲單元,at89c52單片機在電子行業(yè)中有著廣泛的應(yīng)用。2.1.1. at89c52工作原理at89c52為8 位通用微處理器,采用工業(yè)標準的c51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主ic 內(nèi)部寄存器、數(shù)據(jù)ram及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號ir的接收解碼及與主板cpu通信等。主要管腳有:xtal1(19 腳)和xtal2(18 腳)為振蕩器輸入輸出端口,外接12mhz 晶振。rst/vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。vcc(40 腳)和vss(20 腳)為供電端口,分別接+5v電源的正負端。p0p3 為可編程通用i/o 腳,其功能用途由軟件定義,在本設(shè)計中,p0 端口(3239 腳)被定義為n1 功能控制端口,分別與n1的相應(yīng)功能管腳相連接,13 腳定義為ir輸入端,10 腳和11腳定義為i2c總線控制端口,分別連接n1的sdas(18腳)和scls(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板cpu的相應(yīng)功能端,用于當(dāng)前制式的檢測及會聚調(diào)整狀態(tài)進入的控制功能。p0 口是一組8 位漏極開路型雙向i/o 口, 也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8 個ttl邏輯門電路,對端口p0 寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。p1 是一個帶內(nèi)部上拉電阻的8 位雙向i/o 口, p1 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個ttl 邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(iil)。與at89c51 不同之處是,p1.0 和p1.1 還可分別作為定時/計數(shù)器2 的外部計數(shù)輸入(p1.0/t2)和輸入(p1.1/t2ex)。p2 是一個帶有內(nèi)部上拉電阻的8 位雙向i/o 口,p2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個ttl 邏輯門電路。對端口p2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(iil)。在訪問外部程序存儲器或16 位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行movx dptr 指令)時,p2 口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行movxri 指令)時,p2 口輸出p2鎖存器的內(nèi)容。p3 口是一組帶有內(nèi)部上拉電阻的8 位雙向i/o 口。p3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個ttl 邏輯門電路。對p3 口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的p3 口將用上拉電阻輸出電流(iil)。p3 口除了作為一般的i/o 口線外,更重要的用途是它的第二功能。 test復(fù)位輸入。當(dāng)振蕩器工作時,rst引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。ale/prog當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ale(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字節(jié)。一般情況下,ale 仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ale 脈沖。psen程序儲存允許(psen)輸出是外部程序存儲器的讀選通信號,當(dāng)at89c52 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次psen 有效,即輸出兩個脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次psen信。2.3. 數(shù)模轉(zhuǎn)換器數(shù)模轉(zhuǎn)換器,又稱d/a轉(zhuǎn)換器,簡稱dac,它是把數(shù)字量轉(zhuǎn)變成模擬的器件。d/a轉(zhuǎn)換器基本上由4個部分組成,即權(quán)電阻網(wǎng)絡(luò)、運算放大器、基準電源和模擬開關(guān)。模數(shù)轉(zhuǎn)換器中一般都要用到數(shù)模轉(zhuǎn)換器,模數(shù)轉(zhuǎn)換器即a/d轉(zhuǎn)換器,簡稱adc,它是把連續(xù)的模擬信號轉(zhuǎn)變?yōu)殡x散的數(shù)字信號的器件。2.3.1.數(shù)模轉(zhuǎn)換器轉(zhuǎn)換原理數(shù)字量是用代碼按數(shù)位組合起來表示的,對于有權(quán)碼,每位代碼都有一定的位權(quán)。為了將數(shù)字量轉(zhuǎn)換成模擬量,必須將每1位的代碼按其位權(quán)的大小轉(zhuǎn)換成相應(yīng)的模擬量,然后將這些模擬量相加,即可得到與數(shù)字量成正比的總模擬量,從而實現(xiàn)了數(shù)字模擬轉(zhuǎn)換。這就是組成d/a轉(zhuǎn)換器的基本指導(dǎo)思想。圖1表示了4位二進制數(shù)字量與經(jīng)過d/a轉(zhuǎn)換后輸出的電壓模擬量之間的對應(yīng)關(guān)系。 由圖1還可看出,兩個相鄰數(shù)碼轉(zhuǎn)換出的電壓值是不連續(xù)的,兩者的電壓差由最低碼位代表的位權(quán)值決定。它是信息所能分辨的最小量,也就是我們所說的用1lsb(least significant bit)表示。對應(yīng)于最大輸入數(shù)字量的最大電壓輸出值(絕對值),用fsr(full scale range)表示。d/a轉(zhuǎn)換器由數(shù)碼寄存器、模擬電子開關(guān)電路、解碼網(wǎng)絡(luò)、求和電路及基準電壓幾部分組成。數(shù)字量以串行或并行方式輸入、存儲于數(shù)碼寄存器中,數(shù)字寄存器輸出的各位數(shù)碼,分別控制對應(yīng)位的模擬電子開關(guān),使數(shù)碼為1的位在位權(quán)網(wǎng)絡(luò)上產(chǎn)生與其權(quán)值成正比的電流值,再由求和電路將各種權(quán)值相加,即得到數(shù)字量對應(yīng)的模擬量。 圖2 電壓模式輸出 2.4. 模數(shù)轉(zhuǎn)換器模數(shù)轉(zhuǎn)換器即a/d轉(zhuǎn)換器,或簡稱adc,通常是指一個將模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號的電子元件。通常的模數(shù)轉(zhuǎn)換器是將一個輸入電壓信號轉(zhuǎn)換為一個輸出的數(shù)字信號。由于數(shù)字信號本身不具有實際意義,僅僅表示一個相對大小。故任何一個模數(shù)轉(zhuǎn)換器都需要一個參考模擬量作為轉(zhuǎn)換的標準,比較常見的參考標準為最大的可轉(zhuǎn)換信號大小。而輸出的數(shù)字量則表示輸入信號相對于參考信號的大小。2.4.1.模數(shù)轉(zhuǎn)換器轉(zhuǎn)換原理模擬數(shù)字轉(zhuǎn)換器的分辨率是指,對于允許范圍內(nèi) 的模擬信號,它能輸出離散數(shù)字信號值的個數(shù)。這些信號值通常用二進制數(shù)來存儲,因此分辨率經(jīng)常用比特作為單位,且這些離散值的個數(shù)是2的冪指數(shù)。例如,一個具有8位分辨率的模擬數(shù)字轉(zhuǎn)換器可以將模擬信號編碼成256個不同的離散值(因為28= 256),從0到255(即無符號整數(shù))或從-128到127(即帶符號整數(shù)),至于使用哪一種,則取決于具體的應(yīng)用。模數(shù)轉(zhuǎn)換器是將模擬信號轉(zhuǎn)換成數(shù)字信號的系統(tǒng),是一個濾波、采樣保持和編碼的過程。模擬信號經(jīng)帶限濾波,采樣保持電路,變?yōu)殡A梯形狀信號,然后通過編碼器,使得階梯狀信號中的各個電平變?yōu)槎M制碼。3. 數(shù)控直流電流源方案設(shè)計數(shù)控直流電流源主要由單片機模塊,a/d模塊,d/a模塊,存儲模塊,顯示模塊,鍵盤控制模塊,恒流電流模塊構(gòu)成。以下內(nèi)容給出了各模塊硬件電路設(shè)計原理圖。3.1. 單片機模塊我選擇的是atmel公司的at89c52單片機,它是一種低功耗、高性能cmos8位微控制器,具有8kisp(在系統(tǒng)可編程)flash存儲器。使用atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80c51產(chǎn)品指令和引腳完全兼容。片上flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位cpu和在系統(tǒng)可編程flash,使得at89c52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。3.1.1. 單片機硬件電路設(shè)計單片機系統(tǒng)是整個數(shù)控系統(tǒng)的核心部分,它主要用于鍵盤按鍵管理、數(shù)據(jù)處理、實時采樣分析系統(tǒng)參數(shù)及對各部分反饋環(huán)節(jié)進行整體調(diào)整。主要包括at89c52單片機、振蕩電路、復(fù)位電路等。電路如下圖3所示 圖3 單片機控制電路(1)at89c52單片機的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及個專用寄存器處于一個確定的初始狀態(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。雖然對外接電容沒有嚴格要求,但電容的大小會影響振蕩頻率、振蕩器的穩(wěn)定性和起振的速度。振蕩器的這些特性對彈片機的應(yīng)用影響很大,因此在設(shè)計印刷電路板時,應(yīng)使晶體和電容盡可能與單片機靠近,以保證穩(wěn)定可靠。3.2.a/d模塊3.2.1.芯片max1241max1241是maxim公司推出的一種串行a/d轉(zhuǎn)換器,具有低功耗、高精度、高速度、體積小、接口簡單等優(yōu)點。max1241是一種單通道12位逐次逼近型串行a/d轉(zhuǎn)換器,功耗低,轉(zhuǎn)換速度快。它使用逐次逼近技術(shù)完成a/d轉(zhuǎn)換過程。最大非線性誤差小于1lsb,轉(zhuǎn)換時間9s。采用三線式串行接口,內(nèi)置快速采樣/保持電路。max1241內(nèi)部結(jié)構(gòu)(如圖3)和管腳定義(如圖4):圖4 max1241內(nèi)部結(jié)構(gòu)3.2.2. a/d模塊電路max1241的vdd供電范圍為2.75.25v,為減少來自電源的干擾,可在vdd引腳配置4.7f和0.1f的濾波電容。由于max1241內(nèi)部沒有參考電源提供,需外接參考電壓,只需將vref接在4.7f電解電容即可;特殊情況下,讓shdn懸空,此時,即可在ref引腳輸入?yún)⒖茧妷?,其范圍?.0vdd.ref引腳外接電解電容不宜選擇過大,電容越大,max1241由待機模式到正常工作模式的喚醒時間將越長。max1241的三根數(shù)據(jù)線,時鐘輸入端、片選控制端和數(shù)據(jù)輸出端分別由at89c52的p1.0、p1.1和p1.2控制。max1241芯片內(nèi)部具有采樣/保持電路,無需外部保持電容和采樣/保持電路。max1241的控制線sclk、cs、dout可與at89c52的通用i/o口直接相連,無需任何接口變換,模擬電壓經(jīng)前級放大至0vref范圍后,由ain引腳輸入。其中max1241,所用到的+2.5v基準電壓,由lm336精密的2.5v并聯(lián)的穩(wěn)壓二極管提供。其外圍電路如圖5所示 圖5 max1241外圍電路3.3. d/a模塊有前面的計算知,模擬量輸出通道我選用了ad公司的單通道12位電壓輸出d/a轉(zhuǎn)換器,單電源工作,電壓范圍為2.7v5.5v,時鐘頻率最高可達30mhz。片內(nèi)高精度輸出放大器提供滿電源幅度輸出,其基準來自電源輸入端,可以提供較大的動態(tài)輸出范圍,它利用能與標準的接口標準兼容的3線串行接口與微處理器交換數(shù)據(jù),接口簡單。工作過程中,將sync置為低電平時候啟動寫序列,在這個階段,sync線至少要保持低電平一直到sclk的第16個下降沿,dac在這第16個下降沿被更新,如果在這之前sync被拉為高電平,就意味著寫序列中斷,此時移位寄存器復(fù)位。 決定控制器件處于哪種工作方式,最后12位是數(shù)據(jù)位,它們代表著da轉(zhuǎn)換器即將輸出的電壓值。在第16個時鐘下降沿,最后一位數(shù)據(jù)隨時鐘輸入并按照給定內(nèi)容執(zhí)行已編制好的功能。其外圍電路如下圖6所示: 圖6 ad5320外圍電路3.4. 存儲模塊本系統(tǒng)的外擴存儲器主要是用來記憶用戶數(shù)據(jù),因此容量不需要很大,一般的小型存儲器芯片就可以。然而從方便系統(tǒng)擴展來和價格來考慮,我選用了eeprom24c02,它是采用2c接口的一種常用2kbit(2568bit)的存儲器。3.4.1.芯片24c02c24c02c是一種串行存儲器,其容量2kbit。a0、a1和a2引腳用于多器件工作。將這些輸入引腳上的電平與從器件地址中的相應(yīng)位作比較,如果比較結(jié)果為真,則該器件被選中。sda串行數(shù)據(jù)引腳為雙向引腳,用于把地址和數(shù)據(jù)輸入/輸出器件。該引腳為漏極開路。因此,sda總線要求在該引腳與vcc之間接入上拉電阻。對于正常的數(shù)據(jù)傳輸,只允許在scl為低電平期間改變sda電平。而sda電平在scl高電平期間若發(fā)生變化,表明起始和停止條件產(chǎn)生。wp寫保護引腳必須連接到vss或者vcc。如果連接到vss,寫操作使能。如果連接到vcc,寫操作被禁止,但讀操作不受影響。vcc電源輸入引腳,標稱條件下在vcc低于3.8v時,則vcc閾值檢測電路會禁止內(nèi)部的擦寫邏輯。3.4.2.存儲模塊電路將a0、a1、a2全部接地,即決定了該模塊的地址為0xa0,24c02c的外圍電路如圖7所示: 圖7 24c02c外圍電路3.5. 顯示模塊3.5.1. 1602lcd顯示液晶顯示器由于體積小、質(zhì)量輕、功耗低等特點,已成為各種便攜式電子信息產(chǎn)品的理想顯示器。液晶顯示器通??煞譃閮纱箢悾皇屈c陣型,二是字符型。一般的字符型液晶只有兩行,面積較小,能顯示字符和一些很簡單的圖形;而點陣型液晶通常面積較大,可以顯示圖形和更多的字符。為了方便設(shè)計,同時又能滿足設(shè)計的需要及盡可能降低設(shè)計成本。因此,我選擇1602lcd液晶顯示器。目前常用16*1,16*2,20*2和40*2行等的模塊。針對此設(shè)計,我選用16*2模塊。1602引腳功能說明: 液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符。3.5.2. lcd顯示硬件電路1602lcd的讀寫控制引腳是第5引腳r/w;在本次設(shè)計中,為了降低程序設(shè)計,我只用lcd作顯示器,在此只對其寫操作,所以設(shè)計時直接將r/w接地。其電路原理圖如圖8所示: 圖8 lcd電路3.6. 鍵盤模塊鍵盤的作用是對單片機輸入數(shù)據(jù),設(shè)計中要求能使電流進行“+”,“-”及電流值的設(shè)定,所以采用鍵盤為44的矩陣鍵盤,用mm74c922芯片進行識別按鍵后送at89c52的并行口p2,p2.0p2.3作為鍵盤輸入口。傳統(tǒng)的44矩陣鍵盤識別處理程序的編寫相對煩瑣。所以采用mm74c922芯片來將44矩陣鍵盤的鍵值轉(zhuǎn)換成4位二進制碼以簡化程序的編寫。3.6.1. mm74c922mm74c922是一款集成了鍵盤防抖動技術(shù)和按鍵檢測功能的16位按鍵的譯碼芯片。由cmos工藝技術(shù)制造,工作電壓3-15v,“二鍵鎖定”功能,編碼輸出為三態(tài)輸出,可直接與微處理器數(shù)據(jù)總線相連,內(nèi)部振蕩器能完成44矩陣鍵盤掃描,亦可用外部振蕩器使鍵盤操作與其他處理同步,通過外接電容避免開關(guān)發(fā)生前、后沿彈跳所需的延時。有按鍵按下時數(shù)據(jù)有效線變高,同時封鎖其他鍵,片內(nèi)鎖存器將保持鍵盤矩陣的4位編碼,可由微處理器讀出。其引腳圖如圖9所示:圖9mm74c9223.6.2. 鍵盤電路由x1x4,y1y4的連接方式,即可確定每一個按鍵的編碼。如圖10所示,從鍵盤的左下角開始,依次編碼為0、1、2e、f。我將a作為設(shè)置鍵,b作為恢復(fù)鍵,c作為加法鍵,d作為減法鍵,e作為確認鍵,f作為取消鍵。再加上09剛好16個按鍵。通過da信號觸發(fā)中斷,由于有按鍵時,da為高電平,而單片機的中斷信號為低電平,故需在da信號引腳上接上一個非門,再與單片機的int0引腳相連。 圖10 鍵盤電路3.7. 恒流源模塊用“運放+大功率三極管”的結(jié)構(gòu)構(gòu)成恒流源。大功率三極管選用tip122型號,它是應(yīng)用范圍廣、功率小、頻率低的達林頓,npn極性型,特征頻率:1000(mhz),集電極允許電流:8(a),集電極最大允許耗散功率:48(w)。其性能滿足本設(shè)計要求,同時可以通過功率管的不同容量來滿足不同的應(yīng)用要求。采用常用的大功率電阻作為采樣電阻,輸出電流波動比較大,而康錳銅絲是一種溫度特性佳的阻性元件,選其作為取樣電阻,其兩端電壓正比于流過的電流,因此該電壓的反饋就是負載電流的反饋。其原理如圖11所示: 圖11 恒流源電路 4. 方案實現(xiàn)在組裝硬件之前,做足軟件的仿真是硬件能夠正常工作的保障!為此,我在設(shè)計時,就采用proteus仿真,這樣便于我在編程時,能夠及時的發(fā)現(xiàn)程序的不足,及時的修改,使我編寫的程序更加完美。首先,我在proteus里編輯原理圖(如圖22所示),然后在單片機的屬性中導(dǎo)入由在keil軟件里編輯的程序生成的hex文件,即可執(zhí)行仿真! 圖12 仿真原理圖由于設(shè)計要求規(guī)定輸出為200ma2000ma。因此我在初始化是就默認初始值為200ma。我接著單擊鍵盤上的“加”鍵,設(shè)置值加1,輸出值也加1的變化。連續(xù)單擊幾次加鍵,再單擊“減”鍵,也達到我想要的結(jié)果。單擊設(shè)置鍵,我輸入0200,即要求輸出為200ma的電流,單擊確認鍵,發(fā)現(xiàn)輸出值也達到了200ma。由于我選取的取樣電阻值為1歐,因此,我檢測的電壓值理論上就是輸出電流值。如圖13所示: 圖13 proteus仿真結(jié)果圖 5.個人小結(jié) 通過此次學(xué)科基礎(chǔ)課群綜合訓(xùn)練課程設(shè)計,我的理論知識和實際操作能力都得到了很大的提高。我做的題目是數(shù)控直流電流源的設(shè)計,盡管這個題目只是電力電子裝置中很小的一部分,但我還是從中學(xué)到了不少。對于以前電力電子裝置的一些疑惑,在這次實踐中都迎刃而解了,并且更深切地體會到了一些應(yīng)用軟件在實際工作中的重要作用。而且此次程設(shè)計將我們所學(xué)的書本只是串起來,使我對這一門課有了一個整體上的了解。像這種設(shè)計性的課程,它是一個從無到有的過程,盡管其過程是坎坷的,但是我體會到了成功之后的喜悅。這次課程設(shè)計使我知道理論和實際的結(jié)合十分重要,盡管在理論上行的通,也許在實際操作中會就會出現(xiàn)許多困難,但如果通過團隊和個人的努力解決了所遇到的困難,會更加激我對電路設(shè)計及仿真的興趣。通過這次設(shè)計,我學(xué)到了很多書本上不曾學(xué)到的東西。這次的學(xué)科基礎(chǔ)課群綜合訓(xùn)練課程設(shè)計是一次綜合性的實驗設(shè)計,它將它將各種知識結(jié)合到一起綜合運用到實踐上來擴展、彌補、串聯(lián)所學(xué)的知識。通過本次設(shè)計我得到了很多收獲。首先,明確了單片機的構(gòu)造以及工作原理單片機是一門非常重視實踐的技術(shù),不能總是看書,但要學(xué)習(xí)它首先應(yīng)看書,對單片機引腳、內(nèi)部結(jié)構(gòu)、寄存器和原理有一定地了解和感官認識。其次掌握了c語言的編寫程序,能夠熟練使用protutes和keil的仿真來實現(xiàn),同時掌握了如何收集、查閱、應(yīng)用文獻資料,如何根據(jù)實際需要有選擇的閱讀書籍和正確確定系統(tǒng)所要使用的元器件的類型。最后感謝老師和同學(xué)們的大力支持和幫助。6. 參考文獻1 康華光. 電子技術(shù)基礎(chǔ)模擬部分.高等教育出版社. 20052 吳友宇. 模擬電子技術(shù)基礎(chǔ).清華大學(xué)出版社. 20093 李群芳. 單片微型計算機與接口技術(shù).電子工業(yè)出版社. 20054 樊昌信. 通信原理(第五版).北京:國防工業(yè)出版社,2005.5 謝自美. 電子線路設(shè)計實驗測試.武漢:華中科技大學(xué)出版社6 周雪. 模擬電子技術(shù)m .西安:西安電子科技大學(xué)出版社.2004附錄 程序代碼: 系統(tǒng)完整程序如下:#include#include #define uint unsigned int#define uchar unsigned char sbit lcdrs=p24;sbit lcde=p25; sbit keyda=p32;sbit adcs=p10;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為鍵入允許標志控制,s為鍵入次數(shù)計數(shù)uint adata1,data2;/延時程序void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;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_();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 bitcounter=8;uchar temp;do temp=data;scl=0;_nop_();_nop_();_nop_();_nop_();_nop_();if(temp&0x80)=0x80)sda=1;elsesda=0;scl=1;temp=data1;data=temp;bitcounter-;while(bitcounter);scl=0;/讀一個字節(jié)并返回uchar read(void)uchar temp=0;uchar temp1=0;uchar bitcounter=8;sda=1;doscl=0;_nop_();_nop_();_nop_();_nop_();_nop_();scl=1;_nop_();_nop_();_nop_();_nop_();_nop_();if(sda)temp=temp|0x01;elsetemp=temp&0xfe;if(bitcounter-1)temp1=temp1;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=0;jnum;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;jnum;j+)start();/寫入芯片地址send(0xa0);ack();send(address+j);/寫入存儲地址?ack();start();send(0xa1);/讀入地址ack();*(pdata+j)=read();/讀數(shù)據(jù)scl=0;noack();stop();/ad轉(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;/da轉(zhuǎn)換void da_conver(uint dignum)uint dig=0;uchar k=0;dasync=1;_nop_();_nop_();dasync=0;for(k=0;k16;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;p0=date;delay(1);lcde=1;delay(1);/e 下降沿-執(zhí)行指令lcde=0;/顯示器寫程序void write_com(uchar com) lcdrs=0;p0=com;delay(1);lcde=1;delay(1);lcde=0;/數(shù)據(jù)顯示void xianshi(uchar z)int j;write_com(0x0c);/d2=1:開顯示;d1=0:不顯示光標;d0=0:光標不閃爍if(z=1)write_com(0x80+0x09);for(j=0;j4;j+)write_date(numberj+0x30);if(z=2)write_com(0x80+0x49);for(j=0;j4;j+)write_date(number1j+0x30);write_date(m);write_date(a);write_date( );/數(shù)據(jù)處理void chuli()float data3=0.0;data3=data2/2500.0*4095;adata1=(int)data3;adata1=adata1+m;da_conver(adata1);delay(200);adata1=ad_conver();data3=adata1/4095.0;data3=data3*2500;adata1=(uint)data3;number10=(adata1/1000)%10;number11=(adata1/100)%10;number12=(adata1/10)%10;number13=(adata1/1)%10;xianshi(2);if(adata1data2) m-;if(adata1=data2) m=m;/lcd1602初

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論