武漢理工大學《學科基礎課群課設》報告-數字電流源報告.doc
《武漢理工大學《學科基礎課群課設》報告-數字電流源報告.doc》由會員分享,可在線閱讀,更多相關《武漢理工大學《學科基礎課群課設》報告-數字電流源報告.doc(41頁珍藏版)》請在裝配圖網上搜索。
《課程設計》任務書 學生姓名: 專業(yè)班級: 通信1103 指導教師: 周建新 工作單位: 信息工程學院 題 目: 數控直流電流源 初始條件: 1.《單片機》基本理論知識 2.《數字電路》基本理論知識 3.《模擬電路》基本理論知識 4.Proteus、Keil編程基礎知識 5.裝有Proteus、Keil的PC機 要求完成的主要任務: 設計并制作數控直流電流源。輸入交流200~240V,50Hz;輸出直流電壓≤10V。 要求: 1)輸出電流范圍:200mA~2000mA; 2)可設置并顯示輸出電流給定值,要求輸出電流與給定值偏差的絕對值≤給定值的1%+10 mA; 3)具有“+”、“-”步進調整功能,步進≤10mA; 4)改變負載電阻,輸出電壓在10V以內變化時,要求輸出電流變化的絕對值≤輸出電流值的1%+10 mA; 5)紋波電流≤2mA; 時間安排: 1、理論講解,老師布置課程設計題目,學生根據選題開始查找資料; 2、課程設計時間為2周 (1)確定技術方案、電路,并進行分析計算, 時間2天; (2)選擇元器件、安裝與調試,或仿真設計與分析,時間6天; (3)總結結果,寫出課程設計報告,時間2天。 指導教師簽名: 年 月 日 系主任(或責任教師)簽名: 年 月 日 目錄 《課程設計》任務書 1 摘 要 3 Abstract 5 第一章 緒論 6 1.1目的 6 1.2任務 6 1.3要求 6 第二章 相關理論知識 6 2.1理論分析 6 2.2 系統介紹 7 2.3 AT89C52芯片介紹 8 第三章 硬件設計 11 3.1 恒流源模塊 11 3.2 單片機模塊 11 3.2.1 AT89C52 硬件電路設計 11 3.3 鍵盤模塊 13 3.3.1 MM74C922 13 3.3.2 鍵盤電路 13 3.4 顯示模塊 14 3.4.1 1602LCD顯示 14 3.4.2 LCD顯示硬件電路 14 3.5 A/D模塊 15 3.5.1 芯片MAX1241 15 3.5.2 A/D模塊電路 16 3.6 D/A模塊 16 3.7 存儲模塊 17 3.7.1 芯片24C02C 17 3.7.2 存儲模塊電路 17 3.8穩(wěn)壓電源模塊 18 第四章 軟件設計 19 4.1 編程語言描述 19 4.2 系統軟件的功能模塊 20 4.2.1 主程序設計 20 4.2.2 中斷程序設計 20 第五章 軟件仿真及硬件調試 24 5.1 軟件仿真 24 5.2 硬件調試 25 5.2.1 單片機最小系統調試 25 5.2.2 鍵盤及液晶顯示調試 25 5.2.3 數模轉換與功放電路調試 26 5.2.4 模數轉換電路調試 26 5.2.5 存儲器電路調試 26 第六章 設計總結 27 參考文獻 28 附錄A 29 附錄B 30 摘 要 本系統由單片機程控設定數字信號,經過D/A轉換器AD5320輸出模擬量,控制輸出功率管的基極,隨著功率管基極電壓的變化而輸出不同的電流。單片機系統還兼顧對恒流源進行實時監(jiān)控,輸出電流經過電流/電壓轉換后,通過A/D轉換芯片MAX1241,實時把模擬量轉化為數字量,再經單片機分析處理,通過數字量形式的反饋環(huán)節(jié),使電流更加穩(wěn)定,這樣構成穩(wěn)定的壓控電流源。 關鍵詞:壓控恒流源; AT89C52; 數控電源; Abstract In the system, the digitally programmable signal from SCM is converted 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 that output current is converted voltage, then its analog value is converted to digital value by ADC MAX1241, 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-controlled constant current source;AT89C52;Numerical controlled source; 第一章 緒論 1.1目的 1、在實踐中對《通信原理》、《微機原理》、《模擬電子技術基礎》、《數字電子技術基礎》、《電磁場與電磁波》等學科基礎課的課堂理論知識做進一步鞏固; 2、鍛煉對學科基礎課的綜合運用能力。 1.2任務 設計并制作數控直流電流源。輸入交流200~240V,50Hz;輸出直流電壓≤10V。其原理示意如圖所示。鍵盤 控制器 電流源 負載 顯示器 電 源 1.3要求 (1)輸出電流范圍:200mA~2000mA; (2)可設置并顯示輸出電流給定值,要求輸出電流與給定值偏差的絕對值≤給定值的1%+10 mA; (3)具有“+”、“-”步進調整功能,步進≤10mA; (4)改變負載電阻,輸出電壓在10V以內變化時,要求輸出電流變化的絕對值≤輸出電流值的1%+10 mA; (5)紋波電流≤2mA; 第二章 相關理論知識 2.1理論分析 首先,在數控方面采用單片機比CPLD和FPGA等可編程邏輯器件好,因為此處只是一般用途的控制,沒有必要選用價格昂貴的CPLD和FPGA,而且他們用在此處并不合適,控制起來顯得很麻煩。而單片機則不同,他有著非常成熟的技術,這方面的參考文獻也很多,而且他從來就是用于控制方面的,在這方面有著天生的優(yōu)勢。還有他價格也不貴,僅幾元人民幣。對于這樣的應用系統比較劃得來。其次在恒流源方面,我的方案也很好。從理論上看,運放是接成比較器的,作為模擬反饋的,這樣只要運放的輸入不變,那么三極管的是不變的,根據三極管的共射極輸入特性可知,不變時,和也保持不變,而且,。當比較大時。當運放的輸入改變時,也改變了值,這樣也就改變了和的值,而且這個變化基本也是呈線性的。這也就是本系統的恒流原理。由于器件受溫度的影響以及局部非線性的存在,這樣的恒流源不能做到真正的恒流,因此,當外界條件發(fā)生變化時,我要及時給予補償,只有這樣才能做到真正的恒流。這也就是為什么要加入模數轉換器的真正原因,他能實時測量電流的變化并按照一定的算法及時給予補償,采用數字補償逐次逼近的方式作為反饋調整環(huán)節(jié),由程序控制調節(jié)功率管的輸出。當改變負載大小時,基本上不影響電流的輸出。模數轉換器還起到測量的作用,同時送顯示讓我知道實際的電流輸出值。 2.2 系統介紹 本系統以AT89C52單片機為主控制器,通過鍵盤來設置直流電源的輸出電流,設置步進等級可達1mA,并可由液晶模塊顯示實際輸出電流值和電流設定值。首先,采用單片穩(wěn)壓芯片實現直流穩(wěn)壓,然后采用了分立元器件實現穩(wěn)流。為實現對輸出電流控制:一方面,通過 D/A轉換器(AD5320)輸出實現電流的預置,再經過運算放大器控制晶體管的輸出電流。另一方面,單片機系統還兼顧對恒流源進行實時監(jiān)控,輸出電流經過電流/電壓轉變后,通過A/D轉換(MAX1241)芯片,實時把模擬量轉化為數字量,再經單片機分析處理, 通過數據形式的反饋環(huán)節(jié),使電流更加穩(wěn)定,這樣構成穩(wěn)定的壓控電流源。此外,系統還增加了存儲設備,能夠保存掉電前的數據,使系統更加方便使用。系統原理框圖如下圖1: 圖1 系統原理框圖 2.3 AT89C52芯片介紹 我選擇的是ATMEL公司的AT89C52單片機,它是一種低功耗、高性能CMOS8位微控制器,具有8K ISP(在系統可編程)Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術制造,與工業(yè)80C51 產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統可編程Flash,使得AT89C52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。 AT89C52主要引腳的主要功能: VCC:接+5V電源。 GND:接地。 P0口:P0口為一個8位漏極開路雙向I/O口,作為輸出口,每位能驅動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數據存儲器時,P0口也被作為低8位地址/數據復用。在這種模式下,P0口具有內部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。 P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口輸出緩沖器能驅動4個TTL邏輯電平。對P1端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.1分別作定時器/記數器2的外部記數輸入(P1.0/T2)和定時器/記數器2的觸發(fā)輸入(P1.1/T2EX),具體如下表1所示。 在flash編程和校驗時,P1口接收低8位地址字節(jié)。 P2口:P2口是一個具有內部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅動4個TTL邏輯電平。對P2口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如MOVX @DPTR)時,P2口送出高八位地址。在這種應用中,P2口P2 口使用很強的內部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪問外部數據存儲器時,P2口輸出P2鎖存器的內容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。 P3口:P3 口是一個具有內部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅動4 個 TTL 邏輯電平。對P3 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。 P3口亦作為AT89C52特殊功能(第二功能)使用,如下表2所示。 在flash編程和校驗時,P3口也接收一些控制信號。 RST:復位輸入。晶振工作時,RST腳持續(xù)2 個機器周期高電平將使單片機復位??撮T狗計時完成后,RST 腳輸出96 個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復位高電平有效。 ALE/ :地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳()也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調,在每次訪問外部數據存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置 “1”,ALE操作將無效。這一位置 “1”,ALE僅在執(zhí)行MOVX 或MOVC指令時有效。否則,ALE將被微弱拉高。這個ALE使能標志位(地址為8EH的SFR的第0位)的設置對微控制器處于外部執(zhí)行模式下無效。 :外部程序存儲器選通信號。 當AT89C52從外部程序存儲器執(zhí)行外部代碼時,在每個機器周期被激活兩次,而在訪問外部數據存儲器時,將不被激活。 /VPP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,必須接GND。 為了執(zhí)行內部程序指令,應該接VCC。 在flash編程期間,也接收12伏VPP電壓 XTAL1:振蕩器反相放大器和內部時鐘發(fā)生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端。 AT89C52引腳圖 第三章 硬件設計 3.1 恒流源模塊 用“運放+大功率三極管”的結構構成恒流源。大功率三極管選用TIP122型號,它是應用范圍廣、功率小、頻率低的達林頓, NPN極性型,特征頻率:1000(MHz),集電極允許電流:8(A),集電極最大允許耗散功率:48(W)。其性能滿足本設計要求,同時可以通過功率管的不同容量來滿足不同的應用要求。采用常用的大功率電阻作為采樣電阻,輸出電流波動比較大,而康錳銅絲是一種溫度特性佳的阻性元件,選其作為取樣電阻,其兩端電壓正比于流過的電流,因此該電壓的反饋就是負載電流的反饋。其原理如圖2所示: 圖2 恒流電路 3.2 單片機模塊 3.2.1 AT89C52 硬件電路設計 單片機系統是整個數控系統的核心部分,它主要用于鍵盤按鍵管理、數據處理、實時采樣分析系統參數及對各部分反饋環(huán)節(jié)進行整體調整。主要包括AT89C52單片機、振蕩電路、復位電路等。電路如下圖3所示: 圖3 單片機控制電路 (1) AT89C52單片機的P0口是個雙向口,可以作輸出輸入口,在本系統中用作顯示部分,P1口也是個雙向口,主要接A/D、 D/A和24C02C。P2口的P2.0、 P2.1、 P2.2、P2.3接鍵盤輸入,P2.4、 P2.5用于鍵盤控制是能端。而P3口主要用于中斷。 (2) 復位電路 復位是單片機初始化操作。復位將單片機復到初始化狀態(tài),目的是使CPU及個專用寄存器處于一個確定的初始狀態(tài)。如前面介紹,在單片機的復位信號RST上保持2個機器周期以上的高電平,單片機就會復位。本次設計采用的是手動復位方式,利用按鍵閉合是單片機復位端上保持接通高電平狀態(tài)兩個機器周期以上。 (3) 振蕩電路 該電路是由內部反相放大器通過引腳XTAL1和引腳XTAL2與外接的晶體以及電容C3和C4構成,產生出晶體振蕩信。此晶振信號接至內部的時鐘電路。圖中的晶振頻率為11.0592MHz,外接晶體時,電容C3和C4通常選30pF。雖然對外接電容沒有嚴格要求,但電容的大小會影響振蕩頻率、振蕩器的穩(wěn)定性和起振的速度。振蕩器的這些特性對彈片機的應用影響很大,因此在設計印刷電路板時,應使晶體和電容盡可能與單片機靠近,以保證穩(wěn)定可靠。 3.3 鍵盤模塊 鍵盤的作用是對單片機輸入數據,設計中要求能使電流進行“+”,“-”及電流值的設定,所以采用鍵盤為44的矩陣鍵盤,用MM74C922芯片進行識別按鍵后送AT89C52的并行口P2, P2.0~P2.3作為鍵盤輸入口。傳統的44矩陣鍵盤識別處理程序的編寫相對煩瑣。所以采用MM74C922芯片來將44矩陣鍵盤的鍵值轉換成4位二進制碼以簡化程序的編寫。 3.3.1 MM74C922 MM74C922是一款集成了鍵盤防抖動技術和按鍵檢測功能的16位按鍵的譯碼芯片。由CMOS工藝技術制造,工作電壓3-15V,“二鍵鎖定”功能,編碼輸出為三態(tài)輸出,可直接與微處理器數據總線相連,內部振蕩器能完成44矩陣鍵盤掃描,亦可用外部振蕩器使鍵盤操作與其他處理同步,通過外接電容避免開關發(fā)生前、后沿彈跳所需的延時。有按鍵按下時數據有效線變高,同時封鎖其他鍵,片內鎖存器將保持鍵盤矩陣的4位編碼,可由微處理器讀出。其引腳圖如圖4所示: 圖4 MM74C922 3.3.2 鍵盤電路 由X1~X4,Y1~Y4的連接方式,即可確定每一個按鍵的編碼。如圖5所示,從鍵盤的左下角開始,依次編碼為0、1、2……E、F。我將A作為設置鍵,B作為恢復鍵,C作為加法鍵,D作為減法鍵,E作為確認鍵,F作為取消鍵。再加上0~9剛好16個按鍵。通過DA信號觸發(fā)中斷,由于有按鍵時,DA為高電平,而單片機的中斷信號為低電平,故需在DA信號引腳上接上一個非門,再與單片機的INT0引腳相連。 圖5 鍵盤電路 3.4 顯示模塊 3.4.1 1602LCD顯示 液晶顯示器由于體積小、質量輕、功耗低等特點,已成為各種便攜式電子信息產品的理想顯示器。液晶顯示器通??煞譃閮纱箢?,一是點陣型,二是字符型。一般的字符型液晶只有兩行,面積較小,能顯示字符和一些很簡單的圖形;而點陣型液晶通常面積較大,可以顯示圖形和更多的字符。為了方便設計,同時又能滿足設計的需要及盡可能降低設計成本。因此,我選擇1602LCD液晶顯示器。目前常用16*1,16*2,20*2和40*2行等的模塊。針對此設計,我選用16*2模塊。 1602引腳功能說明: 編號 符號 引腳說明 編號 符號 引腳說明 1 VSS 電源地 9 D2 數據 2 VDD 電源正極 10 D3 數據 3 VL 液晶顯示偏壓 11 D4 數據 4 RS 數據/命令選擇 12 D5 數據 5 R/W 讀/寫選擇 13 D6 數據 6 E 使能信號 14 D7 數據 7 D0 數據 15 BLA 背光源正極 8 D1 數據 16 BLK 背光源負極 液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符。 3.4.2 LCD顯示硬件電路 1602LCD的讀寫控制引腳是第5引腳R/W;在本次設計中,為了降低程序設計,我只用LCD作顯示器,在此只對其寫操作,所以設計時直接將R/W接地。其電路原理圖如圖6所示: 圖6 LCD電路 3.5 A/D模塊 3.5.1 芯片MAX1241 MAX1241是MAXIM公司推出的一種串行A/D轉換器,具有低功耗、高精度、高速度、體積小、接口簡單等優(yōu)點。MAX1241是一種單通道12位逐次逼近型串行A/D轉換器,功耗低,轉換速度快。它使用逐次逼近技術完成A/D轉換過程。最大非線性誤差小于1LSB,轉換時間9s。采用三線式串行接口,內置快速采樣/保持電路。 MAX1241內部結構(如圖7)和管腳定義(如圖8): 圖7 MAX1241內部結構 管腳 名稱 功能 參數 1 VDD 電源輸入 +2.7~+5.2V 2 VIN 模擬電壓輸入 0~ 3 SHDN 節(jié)電方式控制端 “0”——節(jié)電方式;“1”——工作 4 REF 參考電壓輸入端 1.0V~VDD 5 GND 電源地 6 DOUT 串行數據輸出 三態(tài) 7 CS 芯片選通 “0”——選通;“1”——禁止 8 SCLK 串行輸出驅動時鐘輸入 頻率范圍:0~2.1MHz 圖8 MAX1241管腳定義 3.5.2 A/D模塊電路 MAX1241的VDD供電范圍為2.7~5.25V,為減少來自電源的干擾,可在VDD引腳配置4.7μF和0.1μF的濾波電容。由于MAX1241內部沒有參考電源提供,需外接參考電壓,只需將Vref接在4.7μF電解電容即可;特殊情況下,讓懸空,此時,即可在REF引腳輸入參考電壓,其范圍為1.0~VDD.REF引腳外接電解電容不宜選擇過大,電容越大,MAX1241由待機模式到正常工作模式的喚醒時間將越長。MAX1241的三根數據線,時鐘輸入端、片選控制端和數據輸出端分別由AT89C52的P1.0、P1.1和P1.2控制。MAX1241芯片內部具有采樣/保持電路,無需外部保持電容和采樣/保持電路。MAX1241的控制線SCLK、、DOUT可與AT89C52的通用I/O口直接相連,無需任何接口變換, 模擬電壓經前級放大至0~VREF 范圍后,由AIN引腳輸入。其中MAX1241,所用到的+2.5V基準電壓,由LM336精密的2.5V并聯的穩(wěn)壓二極管提供。其外圍電路如圖9所示: 圖9 MAX1241外圍電路 3.6 D/A模塊 有前面的計算知,模擬量輸出通道我選用了AD公司的單通道12位電壓輸出D/A轉換器,單電源工作,電壓范圍為2.7V~5.5V,時鐘頻率最高可達30MHz。片內高精度輸出放大器提供滿電源幅度輸出,其基準來自電源輸入端,可以提供較大的動態(tài)輸出范圍,它利用能與標準的接口標準兼容的3線串行接口與微處理器交換數據,接口簡單。 工作過程中,將SYNC置為低電平時候啟動寫序列,在這個階段,SYNC線至少要保持低電平一直到SCLK的第16個下降沿,DAC在這第16個下降沿被更新,如果在這之前SYNC被拉為高電平,就意味著寫序列中斷,此時移位寄存器復位。來自DIN線的數據在SCLK的下降沿隨時鐘送入16位移位寄存器,輸入移位寄存器的數據位數為16位寬,前兩位是無關位,接下來2為是控制位,決定控制器件處于哪種工作方式,最后12位是數據位,它們代表著DA轉換器即將輸出的電壓值。在第16個時鐘下降沿,最后一位數據隨時鐘輸入并按照給定內容執(zhí)行已編制好的功能。其外圍電路如下圖10所示: 圖10 AD5320外圍電路 3.7 存儲模塊 本系統的外擴存儲器主要是用來記憶用戶數據,因此容量不需要很大,一般的小型存儲器芯片就可以。然而從方便系統擴展來和價格來考慮,我選用了EEPROM—24C02,它是采用C接口的一種常用2Kbit(2568bit)的存儲器。 3.7.1 芯片24C02C 24C02C是一種串行存儲器,其容量2Kbit。 A0、A1 和A2引腳用于多器件工作。將這些輸入引腳上的電平與從器件地址中的相應位作比較,如果比較結果為真,則該器件被選中。 SDA串行數據引腳為雙向引腳,用于把地址和數據輸入/ 輸出器件。該引腳為漏極開路。因此,SDA 總線要求在該引腳與VCC 之間接入上拉電阻。對于正常的數據傳輸,只允許在SCL為低電平期間改變SDA 電平。而SDA 電平在SCL 高電平期間若發(fā)生變化,表明起始和停止條件產生。 WP寫保護引腳必須連接到 VSS 或者 VCC。如果連接到 VSS, 寫操作使能。如果連接到VCC,寫操作被禁止,但讀操作不受影響。 VCC電源輸入引腳,標稱條件下在VCC 低于3.8V 時,則VCC 閾值檢測電路會禁止內部的擦寫邏輯。 3.7.2 存儲模塊電路 將A0、A1、A2全部接地,即決定了該模塊的地址為0xA0,24C02C的外圍電路如圖11所示: 圖11 24C02C外圍電路 3.8穩(wěn)壓電源模塊 本系統要求自制5V,12V穩(wěn)壓電源,滿足對系統的供電。 對于5V電源,我們制作了使用7805芯片的穩(wěn)壓電源。電路主要包括:整流電路、濾波電路、穩(wěn)壓電路組成。整流電路采用四個二極管整流,經2200uf電容使電流平緩后用0.1uf電容濾波,然后接至7805,輸出是紋波較小的5V直流電壓。 電路圖如下所示: 圖六:5V電源制作圖 對于12V的穩(wěn)壓電源,類似的,本系統使用以7815、7915為三端穩(wěn)壓器的電源。電源外接的是由220—12V變壓器輸出的交流電壓。這里整流電路已省去。 第四章 軟件設計 4.1 編程語言描述 本設計我采用的是C51,其編譯器是Keil C51,它是德國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統。Keil C51軟件提供了豐富的庫函數和功能強大的集成開發(fā)調試工具。 C51語言編程方法是:1.啟動uvision4(Keil C51基于Windows下的開發(fā)環(huán)境),創(chuàng)建一個項目文件,并從器件數據庫里選擇一款CPU芯片;2.根據應用要求,在PC上用文本編輯軟件編寫C語言源程序;利用C51編譯工具軟件對源程序進行編譯,生成目標文件(.obj文件);利用C51連接工具對目標程序進行連接定位,生成絕對程序,即可以裝載到開發(fā)裝置仿真運行。在某些情況下,也可以將絕對程序轉化為十六進制代碼程序(.hex文件)。 4.2 系統軟件的功能模塊 根據本系統的實際及鍵盤設置要求,軟件設計可分為以下2個功能模塊:主程序和中斷程序。 4.2.1 主程序設計 主程序主要完成的是一些初始化的設置(比如液晶顯示和鍵盤),和監(jiān)控程序。主程序流程圖如圖12所示。其中監(jiān)控程序流程圖如圖13所示: 圖12 主程序流程圖 圖13 監(jiān)控程序流程圖 4.2.2 中斷程序設計 中斷程序主要是對不同的按鍵做出不同的處理,其中斷流程圖如圖14所示: 圖14 中斷程序流程圖 其中數字程序流程圖如圖15所示。設置程序流程圖如圖16所示: 圖15 數字程序流程圖 圖16 設置程序流程圖 恢復程序流程圖如圖17所示。加法程序流程圖如圖18所示: 圖17 恢復程序流程圖 圖18 加法程序流程圖 減法程序流程圖如圖19所示。確認程序流程圖如圖20所示: 圖19 減法程序流程圖 圖20 確認程序流程圖 . 取消程序流程圖如圖21所示: . 圖21 取消程序流程圖 如上述流程圖所示,本系統的程序是分為很多功能小模塊,只要完成每個小程序的編寫,整個系統的程序也就隨之完成。這樣做大大減小了編程難度! 系統的完整程序見附錄B。 第五章 軟件仿真及硬件調試 在組裝硬件之前,做足軟件的仿真是硬件能夠正常工作的保障!為此,我在設計時,就采用Proteus仿真,這樣便于我在編程時,能夠及時的發(fā)現程序的不足,及時的修改,使我編寫的程序更加完美。 5.1 軟件仿真 首先,我在Proteus里編輯原理圖(如圖22所示),然后在單片機的屬性中導入由在keil軟件里編輯的程序生成的HEX文件,即可執(zhí)行仿真! 圖22 仿真原理圖 由于設計要求規(guī)定輸出為200mA~2000mA。因此我在初始化是就默認初始值為200mA。我接著單擊鍵盤上的“加”鍵,設置值加1,輸出值也加1的變化。連續(xù)單擊幾次加鍵,再單擊“減”鍵,也達到我想要的結果。單擊設置鍵,我輸入0200,即要求輸出為200mA的電流,單擊確認鍵,發(fā)現輸出值也達到了200mA。由于我選取的取樣電阻值為1歐,因此,我檢測的電壓值理論上就是輸出電流值。如圖23所示: 圖23 Proteus仿真圖 電路初始時,LCD初始顯示是輸入200ma,輸出200ma。在按下鍵盤的“加”鍵是,輸入顯示是201ma,說明步進是1ma,輸出顯示201ma,符合要求。按下鍵盤”減”鍵是,輸入顯示回200ma,輸出顯示20ma,符合要求。當輸入顯示在2000ma時,再按下“加”鍵,輸入和輸出還是2000ma;當輸入顯示在200ma時,再按下“減”鍵,輸入和輸出還是200ma;說明,輸出的范圍是200--2000ma的電流。按下“設置”鍵,在輸入0700,再按下“確認”和“恢復”鍵,輸入顯示700ma,輸出也顯示700ma,大設置輸出電流的目的。 5.2 硬件調試 5.2.1 單片機最小系統調試 先查看電源,然后利用示波器測單片機ALE引腳,以晶振六分之一的固定頻率輸出脈沖,即為正常工作。如果正常,基本上就沒問題,就可以下載簡單的程序加以驗證了。 5.2.2 鍵盤及液晶顯示調試 為了直觀的測試鍵盤,我先調試了液晶顯示模塊,在液顯調通后,然后用鍵盤輸入進行調試,看鍵值是否正確。經測試,鍵盤所有功能正常,顯示器也能正常工作。 5.2.3 數模轉換與功放電路調試 我直接編寫程序,并給定某個確定的數值,看轉換結果是否正確。若正確就可以接上功放電路進行功放電路的調試,甚至還可以改變程序中的定值,來看輸出是否恒流。 由于時間和硬件的原因,這部分只是我在軟件調試上的方法。 5.2.4 模數轉換電路調試 對于這部分我采用電位器輸出接到芯片的模擬輸入端,將電位器可調的最大電壓接到AD芯片上的基準電壓,然后將轉換結果送到單片機I/O口,利用顯示器顯示出I/O口的值,旋動電位器,若將電位器調節(jié)輸出最小電壓,則顯示0,若調節(jié)電位器輸出最大電壓,則顯示4095(該芯片是12位模數轉換器),即說明該部分電路正常。 5.2.5 存儲器電路調試 存儲器芯片只要硬件連接不出錯,一般是不會出問題的。我使用的是C總線的串行存儲器24C02C,我只對硬件電路做了檢查。畢竟在軟件上,我已經仿真成功。 第六章 設計總結 整個課設已經完成了,這一個星期的努力終于有了成果,在這期間我收獲了許多。 下面我對整個群課設的過程做一下簡單的總結。 整個過程中,開始階段是最難得,因為要決定切入點,想好方案,如果開始階段做的不好會影響整個制作過程。所以,我已開始查找了很多資料,通過大量閱讀資料,在進行比較,最后選出最合適的方案。在這個過程中,我更加豐富了我的課外知識。 同過查找各種芯片的功能,我更加加強了自己的閱讀芯片說明的能力。 我只有對自己有了更高的要求,才能作為動力不斷取得新的成績!在整個設計過程中,使我懂得了許多東西,也培養(yǎng)了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學習工作生活有非常重要的影響。 參考文獻 1、孫涵芳 徐愛卿.MCS—51系列單片機原理.北京:北京航空航天大學出版社,2002 2、閻石 數字電子技術基礎 高等教育出版 3、周雪. 模擬電子技術[M]. 西安: 西安電子科技大學出版社,2004. 4、梅笙,李瑋. 基于AT89C52 控制的數控直流電流源的設計[J ] . 電子測試,2007 (2) :19223. 5、張毅剛.新編MCS-51單片機應用設計[M].哈爾濱:哈爾濱工業(yè)的出版社,2008 6、全國人學牛電子設計競賽組委會.全國人學牛電子設計競賽獲獎作品選編( 2003 ) [ M ].北京:北京理工學出版社,2005. 7、黃智偉.全國大學生電子設計競賽訓練教程[M].北京:電子上業(yè)出版社,2005. 8、全國人學牛電子設計競賽組委會.全國人學牛電子設計競賽獲獎作品選編(第一屆一第五屆)[M ].北京:北京理}_人學出版社,2004. 9、趙東波,郭榮幸,趙雨斌.基于單片機的數控直流電流源設計與買現[J].儀表技術.2008 10、鐘乃元,高飛.量技術.2007, 30 (9)大電流高精度恒流源fJl.電子測176一178. 11、顧三春 仝迪.電子技術實驗.北京:化學工業(yè)出版社.2009 12、全國大學生電子設計競賽硬件電路設計.陳永真,韓梅,陳之勃.電子工業(yè)出版社.2009.4 13、感悟設計.王偉 編.北京航空航天大學出版社.2010.5 14、單片機原理課程設計 張一斌,余建坤,2009 附錄A Protues電路仿真總原理圖: 附錄B 系統完整程序如下: #include- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 學科基礎課群課設 武漢理工大學 學科 基礎課 群課設 報告 數字 電流
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.jqnhouse.com/p-9014138.html