




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 摘要本系統由單片機程控設定數字信號,經過D/A轉換器AD5320輸出模擬量,控制輸出功率管的基極,隨著功率管基極電壓的變化而輸出不同的電流。單片機系統還兼顧對恒流源進行實時監控,輸出電流經過電流/電壓轉換后,通過A/D轉換芯片MAX1241,實時把模擬量轉化為數字量,再經單片機分析處理,通過數字量形式的反應環節,使電流更加穩定,這樣構成穩定的壓控電流源。關鍵詞:壓控恒流源; AT89S52; 數控電源; AbstractIn the system, the digitally programmable signal from SCM is converted to analog value
2、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 curre
3、nt 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
4、current source;AT89S52;Numerical controlled source;目錄 TOC o 1-3 h z u HYPERLINK l _Toc295402162 摘要 PAGEREF _Toc295402162 h I HYPERLINK l _Toc295402163 Abstract PAGEREF _Toc295402163 h II HYPERLINK l _Toc295402164 引言 PAGEREF _Toc295402164 h 1 HYPERLINK l _Toc295402165 第一章 概述 PAGEREF _Toc295402165 h 2
5、 HYPERLINK l _Toc295402166 1.1 設計要求 PAGEREF _Toc295402166 h 2 HYPERLINK l _Toc295402167 1.2 理論分析 PAGEREF _Toc295402167 h 2 HYPERLINK l _Toc295402168 1.3 系統介紹 PAGEREF _Toc295402168 h 3 HYPERLINK l _Toc295402169 第二章 硬件設計 PAGEREF _Toc295402169 h 4 HYPERLINK l _Toc295402170 2.1 電源模塊 PAGEREF _Toc29540217
6、0 h 4 HYPERLINK l _Toc295402171 2.1.1 電源設計 PAGEREF _Toc295402171 h 4 HYPERLINK l _Toc295402172 2.2 恒流源模塊 PAGEREF _Toc295402172 h 5 HYPERLINK l _Toc295402173 2.3 單片機模塊 PAGEREF _Toc295402173 h 6 HYPERLINK l _Toc295402174 2.3.1 AT89S52芯片介紹 PAGEREF _Toc295402174 h 6 HYPERLINK l _Toc295402175 2.3.2 AT89S
7、52 硬件電路設計 PAGEREF _Toc295402175 h 9 HYPERLINK l _Toc295402176 2.4 鍵盤模塊 PAGEREF _Toc295402176 h 10 HYPERLINK l _Toc295402177 2.4.1 MM74C922 PAGEREF _Toc295402177 h 10 HYPERLINK l _Toc295402178 2.4.2 鍵盤電路 PAGEREF _Toc295402178 h 10 HYPERLINK l _Toc295402179 2.5 顯示模塊 PAGEREF _Toc295402179 h 11 HYPERLIN
8、K l _Toc295402180 2.5.1 1602LCD顯示 PAGEREF _Toc295402180 h 11 HYPERLINK l _Toc295402181 2.5.2 LCD顯示硬件電路 PAGEREF _Toc295402181 h 12 HYPERLINK l _Toc295402182 2.6 A/D模塊 PAGEREF _Toc295402182 h 13 HYPERLINK l _Toc295402183 2.6.1 芯片MAX1241 PAGEREF _Toc295402183 h 13 HYPERLINK l _Toc295402184 2.6.2 A/D模塊電
9、路 PAGEREF _Toc295402184 h 14 HYPERLINK l _Toc295402185 2.7 D/A模塊 PAGEREF _Toc295402185 h 14 HYPERLINK l _Toc295402186 2.8 存儲模塊 PAGEREF _Toc295402186 h 15 HYPERLINK l _Toc295402187 2.8.1 SKIPIF 1 0 C總線 PAGEREF _Toc295402187 h 15 HYPERLINK l _Toc295402188 2.8.2 芯片24C02C PAGEREF _Toc295402188 h 15 HYPE
10、RLINK l _Toc295402189 2.8.3 存儲模塊電路 PAGEREF _Toc295402189 h 16 HYPERLINK l _Toc295402190 第三章 軟件設計 PAGEREF _Toc295402190 h 17 HYPERLINK l _Toc295402191 3.1 編程語言描述 PAGEREF _Toc295402191 h 17 HYPERLINK l _Toc295402192 3.2 系統軟件的功能模塊 PAGEREF _Toc295402192 h 17 HYPERLINK l _Toc295402193 3.2.1 主程序設計 PAGEREF
11、 _Toc295402193 h 17 HYPERLINK l _Toc295402194 3.2.2 中斷程序設計 PAGEREF _Toc295402194 h 18 HYPERLINK l _Toc295402195 第四章 軟件仿真及硬件調試 PAGEREF _Toc295402195 h 21 HYPERLINK l _Toc295402196 4.1 Proteus PAGEREF _Toc295402196 h 21 HYPERLINK l _Toc295402197 4.2 軟件仿真 PAGEREF _Toc295402197 h 21 HYPERLINK l _Toc2954
12、02198 4.3 硬件調試 PAGEREF _Toc295402198 h 22 HYPERLINK l _Toc295402199 4.3.1 單片機最小系統調試 PAGEREF _Toc295402199 h 22 HYPERLINK l _Toc295402200 4.3.2 鍵盤及液晶顯示調試 PAGEREF _Toc295402200 h 22 HYPERLINK l _Toc295402201 4.3.3 數模轉換與功放電路調試 PAGEREF _Toc295402201 h 22 HYPERLINK l _Toc295402202 4.3.4 模數轉換電路調試 PAGEREF
13、_Toc295402202 h 23 HYPERLINK l _Toc295402203 4.3.5 存儲器電路調試 PAGEREF _Toc295402203 h 23 HYPERLINK l _Toc295402204 第五章 設計總結 PAGEREF _Toc295402204 h 24 HYPERLINK l _Toc295402205 致謝 PAGEREF _Toc295402205 h 25 HYPERLINK l _Toc295402206 參考文獻 PAGEREF _Toc295402206 h 26 HYPERLINK l _Toc295402207 附錄A原理圖 PAGER
14、EF _Toc295402207 h 27 HYPERLINK l _Toc295402208 附錄B硬件實物 PAGEREF _Toc295402208 h 28 HYPERLINK l _Toc295402209 附錄C系統程序 PAGEREF _Toc295402209 h 29 HYPERLINK l _Toc295402210 附錄D英文翻譯原文 PAGEREF _Toc295402210 h 39 HYPERLINK l _Toc295402211 附錄E英文翻譯譯文 PAGEREF _Toc295402211 h 43引言電源技術尤其是數控電源技術是一門實踐性很強的工程技術,效勞
15、于各行各業。當今電源技術融合了電氣、電子、系統集成、控制理論、材料等諸多學科領域。隨著計算機和通訊技術開展而來的現代信息技術革命,給電力電子技術提供了廣闊的開展前景,同時也給電源提出了更高的要求。隨著數控電源在電子裝置中的普遍使用,普通電源在工作時產生的誤差,會影響整個系統的精確度。數控電源是從80年代才真正的開展起來的,期間系統的電力電子理論開始建立。這些理論為其后來的開展提供了一個良好的根底。在以后的一段時間里,數控電源技術有了長足的開展。但其產品存在數控程度達不到要求、分辨率不高、功率密度比擬低、可靠性較差的缺點。因此數控電源主要的開展方向是針對上述缺點不斷加以改善。單片機技術及電壓轉換
16、模塊的出現為精確數控電源的開展提供了有利的條件。新的變換技術和控制理論的不斷開展,各種類型專用集成電路、數字信號處理器件的研制應用,到90年代,己出現了數控精度到達的數控電源,功率密度到達每立方英寸50W的數控電源。目前在電力電子器件方面,幾乎都為旋紐開關調節電壓,調節精度不高,而且經常跳變,使用麻煩。數字化智能電源是針對傳統電源的缺乏設計的,數字化能夠減少生產過程中的不確定因素和人為參與的環節數,有效地解決電源模塊中諸如可靠性、智能化和產品一致性等工程問題,極大地提高生產效率和產品的可維護性。從上世紀九十年代末起,隨著對系統更高效率和更低功耗的需求,電信與數據通訊設備的技術更新推動電源行業中
17、直流/直流電源轉換器向更高靈活性和智能化方向開展。整流系統由以前的分立元件和集成電路控制開展為微機控制, 從而使直流電源智能化。第一章 概述1.1 設計要求1輸出電流范圍:20mA2000mA;2可設置并顯示輸出電流給定值,要求輸出電流與給定值偏差的絕對值給定值的1+10 mA;3具有“+、“-步進調整功能,步進10mA;4改變負載電阻,輸出電壓在5V以內變化時,要求輸出電流變化的絕對值輸出電流值的1+10 mA; 5紋波電流2mA;6自制電源。1.2 理論分析首先,在數控方面采用單片機比CPLD和FPGA等可編程邏輯器件好,因為此處只是一般用途的控制,沒有必要選用價格昂貴的CPLD和FPGA
18、,而且他們用在此處并不適宜,控制起來顯得很麻煩。而單片機那么不同,他有著非常成熟的技術,這方面的參考文獻也很多,而且他從來就是用于控制方面的,在這方面有著天生的優勢。還有他價格也不貴,僅幾元人民幣。對于這樣的應用系統比擬劃得來。其次在恒流源方面,我們方案也很好。從理論上看,運放是接成比擬器的,作為模擬反應的,這樣在只要運放的輸入不變,那么三極管的 SKIPIF 1 0 是不變的,根據三極管的共射極輸入特性可知, SKIPIF 1 0 不變時, SKIPIF 1 0 和 SKIPIF 1 0 也保持不變,而且 SKIPIF 1 0 , SKIPIF 1 0 。當 SKIPIF 1 0 比擬大時
19、SKIPIF 1 0 。當運放的輸入改變時,也改變了 SKIPIF 1 0 值,這樣也就改變了 SKIPIF 1 0 和 SKIPIF 1 1000次)ISP Flash ROMAT89S52主要引腳的主要功能:VCC:接+5V電源。GND:接地。P0口:P0口為一個8位漏極開路雙向I/O口,作為輸出口,每位能驅動8個TTL邏輯電平。對P0端口寫“1時,引腳用作高阻抗輸入。當訪問外部程序和數據存儲器時,P0口也被作為低8位地址/數據復用。在這種模式下,P0口具有內部上拉電阻。在flash編程時,P0口也用來接收指令字節;在程序校驗時,輸出指令字節。程序校驗時,需要外部上拉電阻。P1口:P1口是
20、一個內部提供上拉電阻的8位雙向I/O口,P1口輸出緩沖器能驅動4個TTL邏輯電平。對P1端口寫“1時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流IIL。此外,P1.0和P1.1分別作定時器/記數器2的外部記數輸入(P1.0/T2)和定時器/記數器2的觸發輸入(P1.1/T2EX),具體如下表1所示。在flash編程和校驗時,P1口接收低8位地址字節。表1 各端口引腳與復用功能表引腳號第二功能T2(定時器/記數器T2的外部記數輸入),時鐘輸入T2EX(定時器/記數器T2的捕捉/重載觸發信號和方向控制)MOSI(在系統編程用)MI
21、SO(在系統編程用)SCK(在系統編程用)P2口:P2口是一個具有內部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅動4個TTL邏輯電平。對P2口寫“1時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流IIL。在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如MOVX DPTR)時,P2口送出高八位地址。在這種應用中,P2口P2 口使用很強的內部上拉發送1。在使用8位地址如MOVX RI訪問外部數據存儲器時,P2口輸出P2鎖存器的內容。在flash編程和校驗時,P2口也接收高8位地址字節和一些控制信號。P3口:P3 口是一
22、個具有內部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅動4 個 TTL 邏輯電平。對P3 端口寫“1時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流IIL。P3口亦作為AT89S52特殊功能第二功能使用,如下表2所示。在flash編程和校驗時,P3口也接收一些控制信號。表2 各端口引腳與復用功能表端口引腳復用功能RXD串行輸入口TXD串行輸出口 SKIPIF 1 0 外部中斷0 SKIPIF 1 0 外部中斷1T0記時器0外部輸入T1記時器1外部輸入 SKIPIF 1 0 外部數據存儲器寫選通 SKIPIF 1 0 外部
23、數據存儲器讀選通RST:復位輸入。晶振工作時,RST腳持續2 個機器周期高電平將使單片機復位。看門狗計時完成后,RST 腳輸出96 個晶振周期的高電平。特殊存放器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態下,復位高電平有效。ALE/ SKIPIF 1 0 :地址鎖存控制信號ALE是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳 SKIPIF 1 0 也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調,在每次訪問外部數據存儲器時,ALE脈沖將會跳過。如果需要,通
24、過將地址為8EH的SFR的第0位置 “1,ALE操作將無效。這一位置 “1,ALE僅在執行MOVX 或MOVC指令時有效。否那么,ALE將被微弱拉高。這個ALE使能標志位地址為8EH的SFR的第0位的設置對微控制器處于外部執行模式下無效。 SKIPIF 1 0 :外部程序存儲器選通信號。當AT89S52從外部程序存儲器執行外部代碼時, SKIPIF 1 0 在每個機器周期被激活兩次,而在訪問外部數據存儲器時, SKIPIF 1 0 將不被激活。 SKIPIF 1 0 /VPP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令, SKIPIF 1 0 必須接G
25、ND。為了執行內部程序指令, SKIPIF 1 0 應該接VCC。在flash編程期間, SKIPIF 1 0 也接收12伏VPP電壓XTAL1:振蕩器反相放大器和內部時鐘發生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。2.3.2 AT89S52 硬件電路設計 單片機系統是整個數控系統的核心局部,它主要用于鍵盤按鍵管理、數據處理、實時采樣分析系統參數及對各局部反應環節進行整體調整。主要包括AT89S52單片機、振蕩電路、復位電路等。電路如下列圖8所示:圖8 單片機控制電路(1) HYPERLINK :/ atmel /dyn/resources/prod_documents/doc19
26、19.pdf t _blank AT89S52單片機的P0口是個雙向口,可以作輸出輸入口,在本系統中用作顯示局部,P1口也是個雙向口,主要接A/D、 D/A和24C02C。P2口的P2.0、 P2.1、 P2.2、P2.3接鍵盤輸入,P2.4、 P2.5用于鍵盤控制是能端。而P3口主要用于中斷。(2) 復位電路 復位是單片機初始化操作。復位將單片機復到初始化狀態,目的是使CPU及個專用存放器處于一個確定的初始狀態。如前面介紹,在單片機的復位信號RST上保持2個機器周期以上的高電平,單片機就會復位。本次設計采用的是手動復位方式,利用按鍵閉合是單片機復位端上保持接通高電平狀態兩個機器周期以上。 (
27、3) 振蕩電路 該電路是由內部反相放大器通過引腳XTAL1和引腳XTAL2與外接的晶體以及電容C3和C4構成,產生出晶體振蕩信。此晶振信號接至內部的時鐘電路。圖中的晶振頻率為11.0592MHz,外接晶體時,電容C3和C4通常選30pF。雖然對外接電容沒有嚴格要求,但電容的大小會影響振蕩頻率、振蕩器的穩定性和起振的速度。振蕩器的這些特性對彈片機的應用影響很大,因此在設計印刷電路板時,應使晶體和電容盡可能與單片機靠近,以保證穩定可靠。2.4 鍵盤模塊鍵盤的作用是對單片機輸入數據,設計中要求能使電流進行“+,“-及電流值的設定,所以采用鍵盤為44的矩陣鍵盤,用MM74C922芯片進行識別按鍵后送A
28、T89S52的并行口P2, P2.0P2.3作為鍵盤輸入口。傳統的44矩陣鍵盤識別處理程序的編寫相對煩瑣。所以采用MM74C922芯片來將44矩陣鍵盤的鍵值轉換成4位二進制碼以簡化程序的編寫。 MM74C922MM74C922是一款集成了鍵盤防抖動技術和按鍵檢測功能的16位按鍵的譯碼芯片。由CMOS工藝技術制造,工作電壓3-15V,“二鍵鎖定功能,編碼輸出為三態輸出,可直接與微處理器數據總線相連,內部振蕩器能完成44矩陣鍵盤掃描,亦可用外部振蕩器使鍵盤操作與其他處理同步,通過外接電容防止開關發生前、后沿彈跳所需的延時。有按鍵按下時數據有效線變高,同時封鎖其他鍵,片內鎖存器將保持鍵盤矩陣的4位編
29、碼,可由微處理器讀出。其引腳圖如圖9所示: 圖9 MM74C922 鍵盤電路由X1X4,Y1Y4的連接方式,即可確定每一個按鍵的編碼。如圖10所示,從鍵盤的左下角開始,依次編碼為0、1、2E、F。我們將A作為設置鍵,B作為恢復鍵,C作為加法鍵,D作為減法鍵,E作為確認鍵,F作為取消鍵。再加上09剛好16個按鍵。通過DA信號觸發中斷,由于有按鍵時,DA為高電平,而單片機的中斷信號為低電平,故需在DA信號引腳上接上一個非門,再與單片機的INT0引腳相連。圖10 鍵盤電路2.5 顯示模塊2.5.1 1602LCD顯示液晶顯示器由于體積小、質量輕、功耗低等特點,已成為各種便攜式電子信息產品的理想顯示器
30、。液晶顯示器通常可分為兩大類,一是點陣型,二是字符型。一般的字符型液晶只有兩行,面積較小,能顯示字符和一些很簡單的圖形;而點陣型液晶通常面積較大,可以顯示圖形和更多的字符。為了方便設計,同時又能滿足設計的需要及盡可能降低設計本錢。因此,我們選擇1602LCD液晶顯示器。目前常用16*1,16*2,20*2和40*2行等的模塊。針對此設計,我們選用16*2模塊。1602字符型液晶顯示器實物如圖11所示:圖11 1602液晶顯示器1602引腳功能說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2數據2VDD電源正極10D3數據3VL液晶顯示偏壓11D4數據4RS數據/命令選擇12D5數據5R
31、/W讀/寫選擇13D6數據6E使能信號14D7數據7D0數據15BLA背光源正極8D1數據16BLK背光源負極液晶顯示模塊是一個慢顯示器件,所以在執行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否那么此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖12是1602的內部顯示地址。圖12 1602LCD內部顯示地址 LCD顯示硬件電路1602LCD的讀寫控制引腳是第5引腳R/W;在本次設計中,為了降低程序設計,我們只用LCD作顯示器,在此只對其寫操作,所以設計時直接將R/W接地。其電路原理圖如圖13所示:圖13 LCD電路2.6 A/D模塊由于本次設計的數控
32、直流電流源能夠完成設定輸出值。因此設定步進為1mA才有所意義。根據題目要求輸出20mA2000mA,以1mA為步進。需要的級數為: SKIPIF 1 0 因 SKIPIF 1 0 ,由此可見采用11的轉換芯片即可滿足要求,但市場上并沒有11位轉換器,所以系統中采用12位高精度A/D轉換芯片MAX1241。同時D/A也采用12位的轉換芯片AD5320。 芯片MAX1241MAX1241是MAXIM公司推出的一種串行A/D轉換器,具有低功耗、高精度、高速度、體積小、接口簡單等優點。MAX1241是一種單通道12位逐次逼近型串行A/D轉換器,功耗低,轉換速度快。它使用逐次逼近技術完成A/D轉換過程。
33、最大非線性誤差小于1LSB,轉換時間9s。采用三線式串行接口,內置快速采樣/保持電路。MAX1241內部結構如圖14和管腳定義如圖15:圖14 MAX1241內部結構管腳名稱功能參數1VDD電源輸入2VIN模擬電壓輸入0 SKIPIF 1 0 3SHDN節電方式控制端“0節電方式;“1工作4REF參考電壓輸入端1.0VVDD5GND電源地6DOUT串行數據輸出三態7CS芯片選通“0選通;“1禁止8SCLK串行輸出驅動時鐘輸入圖15 MAX1241管腳定義2.6.2 A/D模塊電路。由于MAX1241內部沒有參考電源提供,需外接參考電壓,只需將Vref接在4.7F電解電容即可;特殊情況下,讓 S
34、KIPIF 1 0 懸空,此時,即可在REF引腳輸入參考電壓,其范圍為1.0VDD.REF引腳外接電解電容不宜選擇過大,電容越大,MAX1241由待機模式到正常工作模式的喚醒時間將越長。MAX1241的三根數據線,時鐘輸入端、片選控制端和數據輸出端分別由AT89S52的P1.0、P1.1和P1.2控制。 MAX1241芯片內部具有采樣/保持電路,無需外部保持電容和采樣/保持電路。 MAX1241的控制線SCLK、 SKIPIF 1 0 、DOUT可與AT89S52的通用I/O口直接相連,無需任何接口變換, 模擬電壓經前級放大至0VREF 范圍后,由AIN引腳輸入。其中MAX1241,所用到的+
35、2.5V基準電壓,由LM336精密的2.5V并聯的穩壓二極管提供。其外圍電路如圖16所示:圖16 MAX1241外圍電路2.7 D/A模塊有前面的計算知,模擬量輸出通道我們選用了AD公司的單通道12位電壓輸出D/A轉換器,單電源工作,電壓范圍為2.7V5.5V,時鐘頻率最高可達30MHz。片內高精度輸出放大器提供滿電源幅度輸出,其基準來自電源輸入端,可以提供較大的動態輸出范圍,它利用能與標準的接口標準兼容的3線串行接口與微處理器交換數據,接口簡單。工作過程中,將SYNC置為低電平時候啟動寫序列,在這個階段,SYNC線至少要保持低電平一直到SCLK的第16個下降沿,DAC在這第16個下降沿被更新
36、,如果在這之前SYNC被拉為高電平,就意味著寫序列中斷,此時移位存放器復位。來自DIN線的數據在SCLK的下降沿隨時鐘送入16位移位存放器,輸入移位存放器的數據位數為16位寬,前兩位是無關位,接下來2為是控制位,決定控制器件處于哪種工作方式,最后12位是數據位,它們代表著DA轉換器即將輸出的電壓值。在第16個時鐘下降沿,最后一位數據隨時鐘輸入并按照給定內容執行已編制好的功能。其外圍電路如下列圖17所示:圖17 AD5320外圍電路2.8 存儲模塊本系統的外擴存儲器主要是用來記憶用戶數據,因此容量不需要很大,一般的小型存儲器芯片就可以。然而從方便系統擴展來和價格來考慮,我們選用了EEPROM24
37、C02,它是采用 SKIPIF 1 0 C接口的一種常用2Kbit2568bit的存儲器。首先,我們還是先介紹 SKIPIF 1 0 C總線。 SKIPIF 1 0 C總線在現代電子系統中,有為數眾多的IC需要進行相互之間以及與外界的通信。為了提供硬件的效率和簡化電路的設計,PHILIPS開發了一種用于內部IC控制的簡單的雙向兩線串行總線 SKIPIF 1 0 C。 SKIPIF 1 0 C總線支持任何一種IC制造工藝,并且PHILIPS和其他廠商提供了種類非常豐富的 SKIPIF 1 0 C兼容芯片。作為一個專利的控制總線, SKIPIF 1 0 C已經成為世界性的工業標準。 SKIPIF
38、1 0 C總線是一種用于IC器件之間的二線制總線。它通過SDA串行數據線及SCL串行時鐘線兩根線連到總線上的器件之間傳送信息,并根據地址識別每個器件,不管是單片機、存儲器、LCD驅動還是鍵盤接口。 SKIPIF 1 0 C總線的數據傳送格式是在 SKIPIF 1 0 C總線開始信號后,送出的第一個字節數據是是用來識別從器件的地址,其中前七位為地址碼,第8位為方向位R/W)。方向位為“0表示發送,每次都是先傳最高位。 芯片24C02C24C02C是一種串行存儲器,其容量2Kbit。其封裝如圖18所示。A0、A1 和A2引腳用于多器件工作。將這些輸入引腳上的電平與從器件地址中的相應位作比擬,如果比
39、擬結果為真,那么該器件被選中。圖18 24C02C引腳SDA串行數據引腳為雙向引腳,用于把地址和數據輸入/ 輸出器件。該引腳為漏極開路。因此,SDA 總線要求在該引腳與VCC 之間接入上拉電阻。對于正常的數據傳輸,只允許在SCL為低電平期間改變SDA 電平。而SDA 電平在SCL 高電平期間假設發生變化,說明起始和停止條件產生。WP寫保護引腳必須連接到 VSS 或者 VCC。如果連接到 VSS, 寫操作使能。如果連接到VCC,寫操作被禁止,但讀操作不受影響。VCC電源輸入引腳,標稱條件下在VCC 低于3.8V 時,那么VCC 閾值檢測電路會禁止內部的擦寫邏輯。 存儲模塊電路將A0、A1、A2全
40、部接地,即決定了該模塊的地址為0 xA0,24C02C的外圍電路如圖19所示:圖19 24C02C外圍電路第三章 軟件設計3.1 編程語言描述 C語言已成為當前舉世公認的高效簡潔,又貼近硬件的編程語言之一,將C語言向單片機上的移植,始于20世紀80年代的中后期,經過十幾年的努力,C語言終于成為專業化的單片機實用高級語言,人們通常把開發MCS-51使用的C語言簡稱C51。采用C51編寫的應用程序結構清楚、模塊化程度高、可讀性強,并容易移植。應用C51進行軟件開發,用戶可以不必具體考慮存放器、存儲器的分配等工作,而把這局部工作交給編譯、連接軟件,用戶只需了解MCS-51的存儲器結構,甚至不必去了解
41、51的指令系統。C51開發環境一般都提供了數學計算等子程序,為程序開發帶來方便。雖然采用C51編程形成的源代碼比不上有經驗人員編寫的匯編語言精煉,但對于相對復雜的系統開發或復雜運算,還是比用匯編語言容易得多,且易于移植及有利于系統的維護和升級。在實時要求較高的場合,可采用C51匯編混合編程。本設計我們采用的是C51,其編譯器是Keil C51,它是德國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統。Keil C51軟件提供了豐富的庫函數和功能強大的集成開發調試工具。C51語言編程方法是:1.啟動uvision4(Keil C51基于Windows下的開發環境),創立一
42、個工程文件,并從器件數據庫里選擇一款CPU芯片;2.根據應用要求,在PC上用文本編輯軟件編寫C語言源程序;利用C51編譯工具軟件對源程序進行編譯,生成目標文件(.obj文件);利用C51連接工具對目標程序進行連接定位,生成絕對程序,即可以裝載到開發裝置仿真運行。在某些情況下,也可以將絕對程序轉化為十六進制代碼程序(.hex文件)。3.2 系統軟件的功能模塊根據本系統的實際及鍵盤設置要求,軟件設計可分為以下2個功能模塊:主程序和中斷程序。 主程序設計主程序主要完成的是一些初始化的設置比方液晶顯示和鍵盤,和監控程序。主程序流程圖如圖20所示。其中監控程序流程圖如圖21所示: 圖20 主程序流程圖
43、圖21 監控程序流程圖 中斷程序設計中斷程序主要是對不同的按鍵做出不同的處理,其中斷流程圖如圖22所示:圖22 中斷程序流程圖其中數字程序流程圖如圖23所示。設置程序流程圖如圖24所示: 圖23 數字程序流程圖 圖24 設置程序流程圖恢復程序流程圖如圖25所示。加法程序流程圖如圖26所示: 圖25 恢復程序流程圖 圖26 加法程序流程圖減法程序流程圖如圖27所示。確認程序流程圖如圖28所示: 圖27 減法程序流程圖 圖28 確認程序流程圖.取消程序流程圖如圖29所示:.圖29 取消程序流程圖如上述流程圖所示,本系統的程序是分為很多功能小模塊,只要完成每個小程序的編寫,整個系統的程序也就隨之完成
44、。這樣做大大減小了編程難度!系統的完整程序見附錄B。第四章 軟件仿真及硬件調試在組裝硬件之前,做足軟件的仿真是硬件能夠正常工作的保障!為此,我們在設計時,就采用Proteus仿真,這樣便于我們在編程時,能夠及時的發現程序的缺乏,及時的修改,使我們編寫的程序更加完美。4.1 ProteusProteus HYPERLINK :/baike.baidu /view/37.htm t _blank 軟件是英國Labcenter electronics公司出版的EDA HYPERLINK :/baike.baidu /view/1928598.htm t _blank 工具軟件。它不僅具有其它EDA工
45、具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發應用的科技工作者的青睞。Proteus是世界上著名的EDA工具( HYPERLINK :/baike.baidu /view/561380.htm t _blank 仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18
46、/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2021年已增加Cortex和DSP系列處理器,并持續增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種 HYPERLINK :/baike.baidu /view/487018.htm t _blank 編譯器。4.2 軟件仿真首先,我們在Proteus里編輯原理圖如圖30所示,然后在單片機的屬性中導入由在keil軟件里編輯的程序生成的HEX文件,即可執行仿真!圖30 仿真原理圖由于設計要求規定輸出為20mA2000mA。因此我們在初始化是就默認初始值為20mA。我們接著單擊鍵盤上的“加鍵,設
47、置值加1,輸出值也加1的變化。連續單擊幾次加鍵,再單擊“減鍵,也到達我們想要的結果。單擊設置鍵,我們輸入0126,即要求輸出為126mA的電流,單擊確認鍵,發現輸出值也到達了126mA。由于我們選取的取樣電阻值為1歐,因此,我們檢測的電壓值理論上就是輸出電流值。如圖31所示:圖31 Proteus仿真圖4.3 硬件調試由于時間有限,我們沒有通過先制作PCB板,再來焊接電路的方式進行,因此,我們在直接焊板子的時候,就省略電源電路的局部,這局部可由實驗室的電源提供。 單片機最小系統調試先查看電源,然后利用示波器測單片機ALE引腳,以晶振六分之一的固定頻率輸出脈沖,即為正常工作。如果正常,根本上就沒
48、問題,就可以下載簡單的程序加以驗證了。 鍵盤及液晶顯示調試為了直觀的測試鍵盤,我們先調試了液晶顯示模塊,在液顯調通后,然后用鍵盤輸入進行調試,看鍵值是否正確。經測試,鍵盤所有功能正常,顯示器也能正常工作。 數模轉換與功放電路調試我們直接編寫程序,并給定某個確定的數值,看轉換結果是否正確。假設正確就可以接上功放電路進行功放電路的調試,甚至還可以改變程序中的定值,來看輸出是否恒流。由于時間和硬件的原因,這局部只是我們在軟件調試上的方法,在實際中沒有進行調試。 模數轉換電路調試對于這局部我們采用電位器輸出接到芯片的模擬輸入端,將電位器可調的最大電壓接到AD芯片上的基準電壓,然后將轉換結果送到單片機I
49、/O口,利用顯示器顯示出I/O口的值,旋動電位器,假設將電位器調節輸出最小電壓,那么顯示0,假設調節電位器輸出最大電壓,那么顯示4095該芯片是12位模數轉換器,即說明該局部電路正常。由于時間和硬件的原因,這局部只是我們在軟件調試上的方法,在實際中沒有進行調試。 存儲器電路調試存儲器芯片只要硬件連接不出錯,一般是不會出問題的。我們使用的是 SKIPIF 1 0 C總線的串行存儲器24C02C,我們只對硬件電路做了檢查。畢竟在軟件上,我們已經仿真成功。第五章 設計總結經過兩個多月的努力,我的畢業設計終于完成了,但是現在回想起來做畢業設計的整個過程,頗有心得,其中有苦也有甜,艱辛的同時又充滿樂趣!
50、通過本次畢業設計,沒有接受任務以前覺得畢業設計只是對這幾年來所學知識的單純總結,但是通過這次做畢業設計發現畢業設計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。下面我對整個畢業設計的過程做一下簡單的總結。第一,在選擇畢業設計的選題時,我就選擇自己比擬感興趣的數字控制方面的,這樣做起來動力很大。第二,確定好畢業設計選題后就是找資料了。查資料是做畢業設計的前期準備工作,我們到圖書館去借了相關方面的書籍,同時也在網上大量搜索相關內容。總之,不管通過哪種方式查的資料都是有利用價值的,要一一記錄下來以備后用。 第三,綜合已有的資料來更透徹的分析本次設計題目。首先,我們要閱讀大量的資料,能
51、夠是自己對畢業設計課題有更深入的理解,然后基于此,展開自己的設計,第一步要完成的是系統總體方案的設計。這一步是關鍵,因為以后的工作都是在此根底上做的! 第四,有了研究方向,就要動手實現。為了更好的編寫程序,我們選擇先利用Proteus仿真。編寫源代碼的時候是編寫一個小模塊就進行調試,這樣可以防止設計的最后出現太多的錯誤而亂成一團糟。一步步地做下去之后,你會發現要做出來并不難,只不過每每做一會兒會發現一處錯誤要修改,就這樣在不斷的修改調試,再修改再調試。 第五, 軟件仿真成功以后,我們才開始寫論文和實物電路的焊接,Word雖然是人人都知道的文字編輯軟件,但真要用它來寫論文,才發現自己懂得的一點點
52、Word知識不夠用,還好有網絡,能夠在線學習Word的使用技巧,以完成論文的編輯和排版。電路的焊接,我們也不敢輕易妄動,畢竟時間有限,并且有些芯片數量有限,燒壞就很麻煩,所以也只能在別人的指導和幫助下一步一步完成,是一個動手學習的過程!我們只有對自己有了更高的要求,才能作為動力不斷取得新的成績!在整個設計過程中,使我懂得了許多東西,也培養了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學習工作生活有非常重要的影響。 致謝四年的讀書生活在這個季節即將劃上一個句號,而對于我的人生卻只是一個逗號,我將面對又一次征程的開始。四年的艱苦跋涉,兩個月的精心準備,畢業設計終于到了快完成的時候,
53、心頭照例該如釋重負,但創作過程中常常出現的輾轉反側和力不從心之感卻揮之不去。畢業設計創作的過程并不輕松:各種壓力的時時襲擾,知識積累的尚欠火候,致使我一次次埋頭于圖書館中,一次次在深夜奮力敲打鍵盤。第一次花費如此長的時間和如此多的精力,完成一套設計作品,其中的艱辛與困難難以訴說,但曲終幕落后留下的滋味,是值得我一生慢慢品嘗的。在這里需要的感謝的人很多,是他們讓我這大學四年從知識到人格上有了一個全新的改變。感謝我的指導老師嚴輝老師,夠順利完成畢業設計,離不開他的悉心指導。他對我的設計從確定題目、修改直到完成,給予了我許多的指點和幫助。感謝他在繁忙的工作之余,擠出時間對設計提出精辟的修改意見。在此
54、,向嚴老師致以最誠摯的謝意。我也要感謝電子與信息工程學院所有教育過我的老師!你們傳授給我的專業知識是我不斷成長的源泉,也是完本錢設計的根底。感謝我的父母,是他們無微不至的關心、一貫的體諒與支持,使我能在工作和學習上不斷前進,他們是我努力工作和積極生活的精神支柱。感謝我的室友和好友們,是你們和我共同維系著彼此之間兄弟般的感情,維系著寢室那份家的融洽。能和你們相遇、相交、相知,是我人生的一大幸事,讓我們永遠記住曾在一起經歷過的歡笑與淚水!讓我們一起面對美好的未來,共同為充滿希望的前程而繼續努力奮斗!同時也感謝安徽建筑工業學院為我提供良好的做畢業設計的環境。 最后再一次感謝所有在畢業設計中曾經幫助過
55、我的良師益友和同學,以及在設計中被我引用或參考的論著的作者。參考文獻51系列單片機原理.北京:北京航空航天大學出版社,20022、閻石 數字電子技術根底 高等教育出版3、周雪. 模擬電子技術M. 西安: 西安電子科技大學出版社,2004.4、梅笙,李瑋. 基于AT89C52 控制的數控直流電流源的設計J . 電子測試,2007 (2) :19223.5、張毅剛.新編MCS-51單片機應用設計M.哈爾濱:哈爾濱工業的出版社,20216、全國人學牛電子設計競賽組委會.全國人學牛電子設計競賽獲獎作品選編( 2003 ) M .北京:北京理工學出版社,2005.7、黃智偉.全國大學生電子設計競賽訓練教
56、程M.北京:電子上業出版社,2005.8、全國人學牛電子設計競賽組委會.全國人學牛電子設計競賽獲獎作品選編(第一屆一第五屆)M .北京:北京理_人學出版社,2004.10、鐘乃元,高飛.量技術.2007, 30 (9)大電流高精度恒流源fJl.電子測176一178.14、單片機原理課程設計 張一斌,余建坤,2021原理圖硬件實物 系統程序#include#include #define uint unsigned int#define uchar unsigned charsbit lcdrs=P24;sbit lcde=P25;sbit keyda=P32;sbit adcs=P10;sbi
57、t 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為鍵入次數計數uint adata1,data2;/* 延時程序*/void delay(uint z) uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);
58、/*/ 作用:啟動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_(); S
59、cl=0;/*/ 作用:應答IIC總線 /*/void Ack() Sda=0;_nop_();_nop_();_nop_();Scl=1;_nop_();_nop_();_nop_();_nop_();_nop_();Scl=0;_nop_();_nop_();/*/ 作用:非應答IIC總線 /*/void NoAck() Sda=1; _nop_();_nop_();_nop_(); Scl=1; _nop_();_nop_();_nop_();_nop_();_nop_(); Scl=0; _nop_();_nop_();/*/ 作用:發送一個字節 /*/void Send(uchar
60、Data) uchar BitCounter=8; uchar temp; do temp=Data; Scl=0; _nop_();_nop_();_nop_();_nop_();_nop_(); if(temp&0 x80)=0 x80) Sda=1; else Sda=0;Scl=1;temp=Data1;Data=temp;BitCounter-; while(BitCounter); Scl=0;/*/ 作用:讀一個字節并返回 /*/uchar Read(void) uchar temp=0; uchar temp1=0; uchar BitCounter=8; Sda=1; do
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東華宇工學院《普通生物學動物部分》2023-2024學年第二學期期末試卷
- 山東華宇工學院《城市公交規劃與運營管理》2023-2024學年第二學期期末試卷
- 新星職業技術學院《燃燒學》2023-2024學年第二學期期末試卷
- 江西科技職業學院《磁性材料與器件》2023-2024學年第二學期期末試卷
- 南京交通職業技術學院《城市能源系統》2023-2024學年第二學期期末試卷
- 南通師范高等專科學校《遙感概論實驗》2023-2024學年第一學期期末試卷
- 山東省蘭陵縣重點達標名校2025屆中考模擬最后十套:化學試題(三)考前提分仿真卷含解析
- 公司計件工資勞動合同書
- 二零二五抖音發布協議書模板
- 二零二五版月子中心月嫂服務合同書
- 麻醉三基培訓課件
- 學生牛奶、糕點配送服務承諾及售后服務
- 垃圾分類引領綠色生活新潮流
- 排水箱涵研究報告
- 地域的永恒魅力教案
- 體制內年度工作總結
- 卡通風幼兒園餐前播報
- 2024-2025年上海中考英語真題及答案解析
- 中國聯通項目管理系統總體介紹
- 新版MACSV系統手冊
- 智慧養老服務平臺建設投標方案(技術方案)
評論
0/150
提交評論