基于單片機的數字可調穩壓電源_第1頁
基于單片機的數字可調穩壓電源_第2頁
基于單片機的數字可調穩壓電源_第3頁
基于單片機的數字可調穩壓電源_第4頁
基于單片機的數字可調穩壓電源_第5頁
已閱讀5頁,還剩23頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

畢業設計論文基于單片機的數字可調穩壓電源的設計:指導教師:完成日期:蚌埠學院教務處制基于單片機的數字可調穩壓電源的設計摘要:基于單片機的數字可調直流穩壓電源由于原理簡單、便于操作、穩定性好、精度高、本錢低、易于實現等諸多優點而受到越來越廣泛的重視。其性能比傳統的可調直流穩壓電源好,非常適合一般教學和科研使用。本文通過對一個基于單片機的數控直流穩壓電源的設計,將單片機數字控制技術、有機地融入直流穩壓電源的設計中,設計出一款數字化通用直流穩壓電源,詳細介紹了AT89C52單片機應用中的鍵盤掃描原理、數碼管動態顯示原理、定時器中斷原理,從而了解單片機相關指令在各方面的應用,同時還介紹了數模轉換芯片DAC0832的工作原理。系統由模擬電源、控制電路、數模轉換電路、放大電路、顯示電路等局部構成,輸出0-12V電壓范圍,步進值為0.1V的直流電源。電源的數字化控制是人們追求的目標之一,人們對它的要求也越來越高,數控直流穩壓電源能給人們帶來很大的方便,為我們工作、科研、生活提供更好、更方便的效勞。此題采用單片機和其他元件及外圍電路,開發一個數字可調式穩壓電源,能夠設定輸出電壓值、電壓輸出顯示等功能。關鍵詞:單片機、直流、穩壓、數模轉換Basedonsingle-chipdigitaladjustableregulatedpowersupplydesignAbstract:Microcontroller-baseddigitaladjustableDCpowersupplyassimpleinprinciple,easyoperation,goodstability,highaccuracy,lowcost,easytoimplement,andmanyotheradvantagesofbeingmorewidelyappreciated.PerformancethanthetraditionaladjustableDCpowersupplyisgood,verysuitableforgeneralteachingandresearchuse.Inthispaper,amicrocontroller-baseddigitalcontrolledpowersupplydesign,thesinglechipdigitalcontroltechnology,organicintegrationintotheDCpowersupplydesign,digitaldesignofauniversalDCpowersupply,detailsoftheAT89C52microcontrollerapplicationsThekeyboardscanningprinciple,thedigitaldynamicdisplayprinciple,thetimerinterruptprinciple,tounderstandinstructioninallaspectsofSCM-relatedapplications,butalsointroducestheDAC0832digital-analogconverterchipworks.Systemconsistsofanalogpowersupply,controlcircuits,digitaltoanalogconversioncircuit,amplifiercircuit,displaycircuitandotherparts,output0-12Vvoltagerange,stepvalueof0.1VDCpowersupply.Digitalcontrolofpowerisoneofthegoalspeoplepursue,peopledemandmoreandmoreofit,NCDCpowersupplycangivethemgreatconvenienceforourwork,scientificresearchandtoprovidebetterandmoreconvenientservice.Theproblemwithsinglechipandothercomponentsandperipheralcircuits,thedevelopmentofanumberofadjustablepowersupply,cansettheoutputvoltage,thevoltageoutputdisplay.Keywords:microcontroller;DC;regulators;digitaltoanalogconversion目錄第一章緒論11.1研究目的及意義11.2國內外開展狀況21.3論文構成及研究內容3第二章數字式可調穩壓電源原理介紹42.1方案選擇及總體原理介紹42.2單片機AT89C52原理及其介紹52.3矩陣鍵盤掃描原理介紹62.4LCD-1602顯示原理介紹72.5數模轉換電路原理介紹9第三章數字式穩壓電源硬件電路設計123.1穩壓電源數字局部設計12單片機主體電路設計12鍵盤局部電路設計133.1.3DAC0832數模轉換局部電路設計13電路圖如下143.2電壓輸出單元電路15第四章數字式可調穩壓電源軟件程序設計語言164.1系統軟件流程圖164.2系統程序介紹174.2.1初始化硬件程序174.3主程序程序語言18結論25謝詞...............................................................26參考文獻27附錄一數字局部電路總圖28第一章緒論1.1研究目的及意義在當代科技與經濟高速開展的過程中,電源技術尤其是數控電源技術是一門實踐性很強的工程技術,效勞于各行各業.電力電子技術是電能的最正確應用技術之一.當今電源技術融合了電氣、電子、系統集成、控制理論、材料等諸多學科領域。隨著計算機和通訊技術開展而來的現代信息技術革命,給電力電子技術提的現代信息技術革命,同時也給電源提出了更高的要求。隨著數控電源在電子裝置中的普遍使用,普通電源在工作時產生的誤差,會影響整個系統的精確度。電源在使用時會造成很多不良后果,因此電源的數字化控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否認的,其中數控直流穩壓電源就是一個很好的典型例子,人們對它的要求也越來越高,要想為現代人工作、科研,在當代科技與經濟高速開展的過程中,電源起到關鍵性的作用。隨著計算機和通訊技術開展而為生活、提供更好的,更方便的設施就需要從數字電子技術入手,一切向數字化,智能化方向開展。對我們學生而言,在大學的實驗室里和課程設計里面,有一個穩定可調的直流電源是很有必要的。因傳統的直流穩壓電源輸出電壓是通過粗調波段開關及細調電位器來調節的,并由電壓表指示電壓值的大小。這種直流穩壓電源存在讀數不直觀、電位器易磨損、穩壓精度不高、不易調準、電路構成復雜、體積大等缺點,而基于單片機控制的數字式可調穩壓電源能較好地解決了以上問題。此題采用單片機和其它元器件及外圍電路,開發一個數字式可調穩壓電源。能夠設定輸出電壓值、電壓值輸出顯示、存儲等功能。通過此系統的設計,讓開發者更深刻的掌握單片機根本原理,并熟悉一些外圍電路的擴展,以及進一步提高C語言的硬件編程能力。1.2國內外開展狀況電力電子技術已開展成為一門完整的、自成體系的高科技技術,電源技術屬于電力電子技術的范疇。電源技術主要是為信息產業效勞的,信息技術的開展又對電源技術提出了更高的要求,從而促進了電源技術的開展,兩者相輔相成才有了現今蓬勃開展的信息產業和電源產業。迄今為止,電源已成為非常重要的根底科技和產業,并廣泛應用于各行業,從日常生活到最尖端的科學都離不開電源技術的參與和支持,其開展趨勢為高頻、高效、高密度化,低壓、大電流化和多元化。同時,封裝結構、外形尺寸日趨接近國際標準化,以適應全球一體化市場的要求。

當前在國內外電源產業中,占主導地位的產品有各種線性穩壓電源、通訊用的AC/DC開關電源、DC/DC開關電源、交流變頻調速電源、電解電鍍電源、高頻逆變式整流焊接電源、中頻感應加熱電源、電力操作電源、正弦波逆變電源、UPS、可靠高效低污染的光伏逆變電源、風光互補型電源等。而產品價格、性能指標、品牌效應及使用壽命一直是用戶最關心的問題。這就促使國內外電源生產商朝著應用技術數字化、硬件結構模塊化、產品性能綠色化智能化的方向開展。數字化:在傳統直流穩壓電源中,控制局部是按模擬信號來設計和工作的。在六、七十年代,電力電子技術完全是建立在模擬電路根底上的。但是,現在數字式信號、數字電路顯得越來越重要,數字信號處理技術日趨完善成熟,顯示出越來越多的優點:便于計算機處理控制、防止模擬信號的畸變失真、減小雜散信號的干擾(提高抗干擾能力)、便于軟件包調試和遙感遙測遙調,也便于自診斷、容錯等技術的植入。模塊化:電源的模塊化有兩方面的含義,其一是指功率器件的模塊化;其二是指電源單元的模塊化。模塊化的目的不僅在于使用方便,縮小整機體積,更重要的是取消傳統連線,把寄生參數降到最小,從而把器件承受的電應力降至最低,提高系統的可靠性。大功率的電源,由于器件容量的限制和增加冗余提高可靠性方面的考慮,一般采用多個獨立的模塊單元并聯工作,采用均流技術,所有模塊共同分擔負載電流,一旦其中某個模塊失效,其它模塊再平均分擔負載電流。極大的提高系統可靠性,即使萬一出現單模塊故障,也不會影響系統的正常工作。綠色化:電源系統的綠色化有兩層含義:首先是顯著節電,這意味著發電容量的節約,而發電是造成環境污染的重要原因,所以節電就可以減少對環境的污染;其次這些電源不能(或少)對電網產生污染,國際電工委員會(IEC對此制定了一系列標準,如工EC555,IEC917,IECI000等。20世紀末,各種有源濾波器和有源補償器的方案誕生,為21世紀批量生產各種綠色直流穩壓電源產品奠定了根底。1.3論文構成及研究內容本系統研究的直流穩壓電源主要是符合智能化、數字化以及模塊化的特點。只能話主要是指系統有可編程模塊可以對系統進行智能控制。數字化主要是指系統輸出電壓通過8段數碼管顯示,并且可以通過按鍵對輸出電壓進行連續步進數字化調節。模塊化是指系統由各個相關模塊組成,提高了系統的穩定性以及可靠性。本文總體概括了單片機實現數字式可調穩壓電源的原理、著重介紹了單片機實現數字式可調穩壓電源的硬件電路設計和軟件設計。在各章節中,突出講述了各功能模塊的設計思路,具體設計情況,以及模塊之間的聯系。本系統主要研究數字式可調穩壓電源如何實現數控、穩壓和輸出電壓顯示,其中包含一些必要的硬件設計和軟件設計。第二章數字式可調穩壓電源原理介紹在實驗室里通常所用到的直流電源都是用調節電位器來到達調節電壓的目的,由于電位器的溫漂較大,使得輸出的電壓會有所漂移,而且用電位器調節電壓操作起來不是很方便。本文所介紹的數字式可調穩壓電源與傳統的穩壓電源相比,具有操作方便,電壓穩定度高的特點。它由單片機AT89S52、LCD-1602、數模轉換芯片DAC0832、放大電路等局部構成,能實現輸出電壓顯示、設定等功能,其原理包括鍵盤掃描原理、模數轉換原理,在本章,主要介紹在設計過程中所涉及到的原理。2.1方案選擇及總體原理介紹本系統采用最常用的AT89C52單片機為核心控制器件,利用鍵盤輸入數字量,經過控制單片處理后將數字量送入LCD-1602顯示局部和DAC0832輸出模擬量,然后經過運算放大器轉換成電壓信號后進行隔離放大,控制輸出功率管的基極,隨著輸出功率管基極電壓的變化,間接地改變輸出電壓的大小。系統方案框圖如圖2.1所示。系統框圖2.2單片機AT89C52原理及其介紹AT89C52是美國ATMEL公司生產的低電壓、高性能COMS8位單片機,片內含8kbytes的可反復擦寫的只讀程序存儲器〔PEROM〕和256bytes的隨機存取數據存儲器〔RAM〕,器件采用ATMEL公司的高密度、非易失性存儲技術生產,與標準MCS-51指令系統及8052產品引腳兼容,片內置通用8位中央處理器〔CPU〕和Flash存儲單元,功能強大AT89C52單片機適合于許多較為復雜控制應用場合。AT89C52主要性能參數:1、與MCS-51產品指令和引腳完全兼容2、8k字節可重擦寫Flash閃速存儲器3、1000次擦寫周期4、全靜態操作:0Hz-24MHz5、三級加密程序存儲器6、256*8字節內部RAM7、32個可編程I/O口線8、3個16位定時/計數器9、8個中斷源10、可編程串行LART通道11、低功耗空閑和掉電模式AT89C52提供以下標準功能:8k字節可重擦寫Flash閃速存儲器、256字節內部RAM、32個可編程I/O口線、3個16位定時/計數器、一個六向量兩級中斷結構、一個全雙工串行通信口、片內振蕩器及時鐘電路。同時,AT89C52可降至0Hz的靜態邏輯操作,并支持兩種軟件可選的節電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數器,串行通信口及中斷系統繼續工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復位。AT89C52引腳如圖2.2所示。圖2.2AT89C52引腳圖AT89C52單片機引腳介紹:1.主電源引腳和。電源輸入端,〔GND〕公用接地端。2.時鐘電路引腳XATL1和XATL2分別用作晶體振蕩電路的反相器輸入端和輸出端。在使用外部振蕩電路時,這兩個端子用來外接石英晶體,這個局部給單片機提供工作節拍,可稱為單片機的主頻。3.控制信號引腳,,和。由于單片機的很多引腳的使用方法相同,所以常把引腳分為控制總線、地址總線和數據總線。總線是指一類在使用方法上功能相同的引腳。這里講到得4條引腳可看成是單片機的控制總線。4.4個8位I/O端口:P0、P1、P2和P3。P0口第一功能是一個8位漏極開路型的雙向I/O口這時P0口可看成是用戶數據總線,第二功能是在訪問外部存儲器時,分別提供低8位地址和8位雙向數據總線。P1口是一個內部帶上拉電阻的8位準雙向I/O口。P2口第一功能是內部帶上拉電阻的8位準雙向I/O口〔使用前有一個準備動作〕,第二功能是在訪問外部存儲器時,輸出高8位地址。P3口第一功能是一個內部帶上拉電阻的8位準雙向I/O口。在系統中,這8個引腳都有各自的第二功能。2.3矩陣鍵盤掃描原理介紹鍵盤是由假設干按鍵所組成的開關矩陣,它是微型計算機最常用的輸入設備,用戶可以通過鍵盤向計算機輸入指令,地址和數據。通常單片機系統采用非編碼鍵盤。非編碼鍵盤通過軟件來識別鍵盤上的閉合鍵,它具有結構簡單、使用靈活等特點,因此被廣泛應用于單片機系統。在系統中當按鍵數目較多時,假設每一個按鍵都占用一條I/O口線,就要使用大量的I/O口線。為了減少鍵盤與單片機接口時所占用I/O口線數目,通常設置兩組互相不連接的行線和列線,在行線與列線的交叉處設置一個按鍵開關。無鍵按下時,行線與列線不連接,有鍵按下時,行線與列線接通。組成鍵盤的按鍵一般有接觸式和非接觸式兩種,單片機中的按鍵一般由接觸式按鍵構成。按鍵的讀取容易引起誤操作,抖動時間的長短由按鍵的機械特性決定,一般為5ms-10ms,為了使單片機能正確讀出口線的狀態,對于每一次按鍵只做一次響應,這就必須考慮如何去抖動,由于鍵盤的觸點在閉合和斷開時會產生抖動,這是觸點的邏輯電平是不穩定的,必須采取妥善的處理,本設計。2.4LCD-1602顯示原理介紹液晶顯示原理液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規模集成電路直接驅動、易于實現全彩色顯示的特點,目前已經被廣泛應用在便攜式電腦、數字攝像機、PDA移動通信工具等眾多領域。液晶顯示器的分類液晶顯示的分類方法有很多種,通常可按其顯示方式分為段式、字符式、點陣式等。除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等。如果根據驅動方式來分,可以分為靜態驅動〔Static〕、單純矩陣驅動〔SimpleMatrix〕和主動矩陣驅動〔ActiveMatrix〕三種。液晶顯示器各種圖形的顯示原理:線段的顯示點陣圖形式液晶由M×N個顯示單元組成,假設LCD顯示屏有64行,每行有128列,每8列對應1字節的8位,即每行由16字節,共16×8=128個點組成,屏上64×16個顯示單元與顯示RAM區1024字節相對應,每一字節的內容和顯示屏上相應位置的亮暗對應。例如屏的第一行的亮暗由RAM區的000H——00FH的16字節的內容決定,當〔000H〕=FFH時,那么屏幕的左上角顯示一條短亮線,長度為8個點;當〔3FFH〕=FFH時,那么屏幕的右下角顯示一條短亮線;當〔000H〕=FFH,〔001H〕=00H,〔002H〕=00H,……〔00EH〕=00H,〔00FH〕=00H時,那么在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的根本原理。字符的顯示用LCD顯示一個字符時比擬復雜,因為一個字符由6×8或8×8點陣組成,既要找到和顯示屏幕上某幾個位置對應的顯示RAM區的8字節,還要使每字節的不同位為“1〞,其它的為“0〞,為“1〞的點亮,為“0〞的不亮。這樣一來就組成某個字符。但由于內帶字符發生器的控制器來說,顯示字符就比擬簡單了,可以讓控制器工作在文本方式,根據在LCD上開始顯示的行列號及每行的列數找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。漢字的顯示漢字的顯示一般采用圖形的方式,事先從微機中提取要顯示的漢字的點陣碼〔一般用字模提取軟件〕,每個漢字占32B,分左右兩半,各占16B,左邊為1、3、5……右邊為2、4、6……根據在LCD上開始顯示的行列號及每行的列數可找出顯示RAM對應的地址,設立光標,送上要顯示的漢字的第一字節,光標位置加1,送第二個字節,換行按列對齊,送第三個字節……直到32B顯示完就可以LCD上得到一個完整漢字。1602LCD主要技術參數:顯示容量:16×2個字符,芯片工作電壓:4.5—5.5V,工作電流:2.0mA(5.0V),模塊最正確工作電壓:5.0V,字符尺寸:2.95×4.35(W×H)mm。編號符號引腳說明編號符號引腳說明1VSS電源地9D2數據2VDD電源正極10D3數據3VL液晶顯示偏壓11D4數據4RS數據/命令選擇12D5數據5R/W讀/寫選擇13D6數據6E使能信號14D7數據7D0數據15BLA背光源正極8D1數據16BLK背光源負極這里采用液晶1602來顯示數據,LCD1602支持總線接口,數據線D7~D0,控制線有RS〔數據命令選擇〕,RW〔讀寫選擇〕,E〔時能信號〕。根據它的時序圖可以對它進行操作〔下載關于LCD1602的資料〕。第一行顯示設計者的名字“BBXYzhangchao〞第二行顯示輸出電壓的數值“Voltage:0.0V〞.2.5數模轉換電路原理介紹在設計D/A轉換時,主要涉及到以下幾個方面的參數,同時也是選用D/A轉換器件時必須考慮的參數。1.分辨率。分辨率是指最小輸出電壓〔對應于輸入數字量最低位增1所引起的輸出電壓增量〕和最大輸出電壓〔對應于輸入數字量所有有效位全為1時的輸出電壓〕之比,2.轉換精度。如果不考慮D/A轉換的誤差,DAC轉換精度就是分辨率的大小,因此,要獲得高精度的D/A轉換結果,首先要選擇有足夠高分辨率的DAC。D/A轉換精度分為絕對和相對轉換精度,一般是用誤差大小表示。DAC的轉換誤差包括零點誤差、漂移誤差、增益誤差、噪聲和線性誤差、微分線性誤差等綜合誤差。絕對轉換精度是指滿刻度數字量輸入時,模擬量輸出接近理論值的程度。它和標準電源的精度、權電阻的精度有關。相對轉換精度指在滿刻度已經校準的前提下,整個刻度范圍內,對應任一模擬量的輸出與它的理論值之差。它反映了DAC的線性度。通常,相對轉換精度比絕對轉換精度更有實用性。相對轉換精度一般用絕對轉換精度相對于滿量程輸出的百分數來表示,有時也用最低位〔LSB〕的幾分之幾表示。例如,設VFS為滿量程輸出電壓5V,n位DAC的相對轉換精度為±0.1%,那么最大誤差為±0.1%VFS=±5mV;假設相對轉換精度為±1/2LSB,LSB=1/2n,那么最大相對誤差為±1/2n+1VFS。3.非線性誤差。D/A轉換器的非線性誤差定義為實際轉換特性曲線與理想特性曲線之間的最大偏差,并以該偏差相對于滿量程的百分數度量。轉換器電路設計一般要求非線性誤差不大于±1/2LSB。4.建立時間是D/A轉換速率快慢的一個重要參數。很顯然,建立時間越大,轉換速率越低。不同型號DAC的建立時間一般從幾個毫微秒到幾個微秒不等。假設輸出形式是電流,DAC的建立時間是很短的;假設輸出形式是電壓,DAC的建立時間主要是輸出運算放大器所需要的響應時間。本系統的數模轉換局部采用通用芯片DAC0832。DAC0832的原理框圖如下列圖所示。DAC0832主要由8位輸入存放器,8位DAC存放器,8位D/A轉換器以及輸入控制電路四局部組成。8位輸入存放器用于存放主機送來的數字量,使輸入數字量得到緩沖和鎖存;8位DAC存放器用于存放待轉換的數字量;8位D/A轉換器輸出與數字量成正比的模擬電流;由與門、與非門組成的輸入控制電路來控制兩個存放器的選通或鎖存狀態。圖2.5DAC0832引腳及內部電路圖DAC0832的引腳功能如下:Vcc:芯片電源電壓,+5V~+15V;Vref:參考電壓,-10V~+10V;Rfb:反應電阻引出端,此端可接運算放大器輸出端;AGND/DGND:模擬信號地/數字信號地;DI7~DI0:數字量輸入信號;ILE:輸入鎖存允許信號,高電平有效;CS:片選信號,低電平有效;WR1:寫信號1,低電平有效;WR2:寫信號2,低電平有效;XFER:轉移控制信號,低電平有效;Iout1、Iout2:電流輸出引腳。;DAC0832屬于電流輸出型,兩輸出電流之和是常數。當要與輸入數字成正比的電壓,可把此兩引腳輸出的電流信號轉換為電壓形式,這可以通過一個高輸入阻抗的線性運算放大器實現。運算放大器的反應電阻可通過Rfb端引用片內固有電阻,也可外接。DAC0832邏輯輸入滿足TTL電平,可直接與TTL電路或微機電路連接。DAC0832的工作方式有三種:DAC0832進行D/A轉換,可以采用兩種方法對數據進行鎖存。第一種方法是使輸入存放器工作在鎖存狀態,而DAC存放器工作在直通狀態。具體地說,就是使和都為低電平,DAC存放器的鎖存選通端得不到有效電平而直通;此外,使輸入存放器的控制信號ILE處于高電平、處于低電平,這樣,當端來一個負脈沖時,就可以完成1次轉換。第二種方法是使輸入存放器工作在直通狀態,而DAC存放器工作在鎖存狀態。就是使和為低電平,ILE為高電平,這樣,輸入存放器的鎖存選通信號處于無效狀態而直通;當和端輸入1個負脈沖時,使得DAC存放器工作在鎖存狀態,提供鎖存數據進行轉換。根據上述對DAC0832的輸入存放器和DAC存放器不同的控制方法,DAC0832有以下三種工作方式。1、直通方式:直通方式是資料不經兩級鎖存器鎖存,即,,,均接地,ILE接高電平。此方式適用于連續反應控制線路,不過在使用時,必須通過另加I/O接口與CPU連接,以匹配CPU與D/A轉換。2、單緩沖方式:單緩沖方式是控制輸入存放器和DAC存放器同時接收資料,或者只用輸入存放器而把DAC存放器接成直通方式。此方式適用于只有一路模擬量輸出或幾路模擬量異步輸出的情形。3、雙緩沖方式:雙緩沖方式是先使輸入存放器接收資料,再控制輸入存放器的輸出將資料送到DAC存放器,即分兩次所存輸入資料。此方式適用于多個D/A轉換同步輸出的情節。在此設計中,考慮到所需轉換的數據量不大,DAC0832采用直通方式的硬件接法。第三章數字式穩壓電源硬件電路設計PROTEUS設計軟件進行設計仿本系統的硬件電路設計主要是圍著AT89C52單片機作為整機的控制局部用真的,本系統將穩壓電源分為數字局部和模擬局部,其中數字局部包括單片機以及控制、顯示、轉換等外圍電路,模擬局部包括為數字局部提供工作電壓的電源局部和模擬電壓輸出局部。3.1穩壓電源數字局部設計穩壓電源數字局部電路主要包括AT89C52單片機、LCD-1602數碼顯示、DAC0832數模轉換電路、鍵盤接口電路、復位電路、晶振電路等。單片機主體電路設計為了防止畫出的原理圖繁雜,畫圖時統一使用網絡標號。鍵盤局部電路設計獨立式鍵盤所需的硬件電路結構和軟件結構都比擬簡單,應用它不僅可以向單片機輸入開關量的控制信號,而且也可以輸入數據。如上圖四個按鍵對應四個P0口,key1=P1.0Key2=P1.1,key3=P1.2,key4=P1.3四個按鍵分別扮演四個不同的“角色〞:按鍵key0是功能選擇按鍵,當按第一下后可以調整電壓的十分位,key2是增加的按鍵,key3是減小的按鍵。再按一下key1后可以調整電壓的個位,同樣key2增加key3減少。Key4是確定鍵,當按下這個鍵后就就可以把數據送到DAC0832.圖3.24×4矩陣鍵盤硬件圖圖3.3數碼顯示局部電路3.1.3DAC0832數模轉換局部電路設計本系統中利用通用型數模轉換芯片DAC0832將鍵盤輸入經單片機處理的數字量轉換成模擬量電流,以實現數控功能。DAC0832是一種電流型芯片,前面已經介紹過它的工作原理,按照數據的輸入模式,數字/模擬轉換器有并行數如模式和串行輸入模式。我這里采用并行的DAC0832,采用單緩沖方式的接口電路。其電路連接如圖3.4所示。圖3.4DAC0832連接圖。3.1.4電路圖如下由DAC0832數字/模擬轉換器電路測量數據,當它的輸入數據為00~99時,對應的輸出模擬電壓為0.02V~1.93V電壓因此需要電壓放大電路,它將輸出滿足數控電源要求的的0.0V~9.9V的電壓。此放大電路采用的是反相放大電路。電壓增益Av=-R2/R3.3.2電壓輸出單元電路在本系統中,矩陣鍵盤輸入數字信號經AT89C52處理后輸出給DAC0832,數字信號經過數模轉換后輸出的是電流量因此必須將電流量接電阻后接反應放大電路以實現穩壓輸出。本設計的模擬局部利用了OPAMP作為放大器采用二級放大電路,第一級為同相比例放大電路,第二級為閉環反應放大電路。下面就將二級放大電路做詳細介紹。同相比例運算放大電路如圖3.12所示,根據運放的虛短和虛段兩個重要概念可得式〔3.1〕、〔3.2〕,又由式〔3.1〕、〔3.2〕、〔3.3〕可推出式〔3.4〕,式〔3.4〕即為同相比例放大器增益的計算公式。(3.1)(3.2)(3.3)(3.4)(3.5)圖3.12同相比例運算放大電路第四章數字式可調穩壓電源軟件程序設計語言本系統軟件設計主要實現的功能是:鍵盤對單片機輸入數據,單片機對得到的數據進行處理后送給LCD數碼顯示局部,然后再送給DAC0832,以實現數字量對模擬量電壓的控制。軟件局部的主程序主要完成鍵盤的掃描、判斷、處理和電壓值的輸出,而數碼顯示局部主要在中斷處理程序中完成。4.1系統軟件流程圖否程序開始圖4.1為主程序流程圖,程序一開始對硬件進行初始化,包括對單片機端口的定義,開中斷及對定時器0進行置初值,然后進入鍵盤判斷程序,首先通過鍵盤掃描判斷是否有按鍵按下,假設有按鍵按下那么進入鍵盤效勞程序,假設沒有那么繼續多鍵盤進行掃描。否程序開始是鍵盤效勞程序有按鍵?初始化硬件是鍵盤效勞程序有按鍵?初始化硬件圖4.1軟件流程圖另外,程序中還有中斷程序,主要是用于隔一段時間執行一次數碼顯示程序,具體設計將在后面介紹。跟據前面介紹,鍵盤在軟件設計中實現的功能如下:1、按設置鍵開始設定電壓,數碼管不顯示,依次對十位、個位、十分位進行設置,每輸入一個有效按鍵數碼管亮一位,輸入錯誤按設置鍵可重新開始,超過0.0V~9.9V視為無效操作,按下確認鍵后電壓輸出。2、在正常情況下即沒有按下設置鍵時按數字鍵無效,但是可以直接按步進鍵對輸出電壓進行設置,設置完仍要按下確認鍵才能將設置的電壓值輸出。4.2系統程序介紹本系統軟件系統使用C語言編寫。C語言的單片機的應用中,由于其邏輯性強,可讀性好,比匯編語言靈活,目前越來越多的人從普遍使用匯編語言到逐漸使用C語言開發,市場上幾種常見的單片機均有其C語言開發環境。因此,在本系統中,考慮到C語言的這些優點,采用了C語言作為軟件的設計語言。在本文前幾章介紹了數字式可調穩壓電源的原理圖及硬件設計的根底上,進行軟件局部的設計。本程序包含初始化程序、主程序、鍵盤掃描判斷程序、鍵盤效勞程序、數字電壓送數模轉換器程序、數碼管顯示程序、中斷效勞程序。下面就如何通過C語言編程實現數控可調作簡要說明。初始化硬件程序 初始化硬件包括對單片機端口的定義,對P1口作為數字電壓輸出端口的定義:#defineDAP1;對設置標志位的定義:staticunsignedcharshezhi=0;在沒有按下設置鍵時,標志位shezhi為0,按下設置鍵后shezhi=1。另外還有其他全局變量的定義、子函數的聲明、數碼管字符顯示表格的定義等。在主程序中,初始化程序如下:TMOD=0x11; //初始化定時器TH0=(65536-5000)/256; //對定時器0置初值TL0=(65536-5000)%256;EA=1; //開總中斷ET0=1; //開T0中斷TR0=1; //啟動T0shuchu(); //輸出初始電壓定時器0中斷主要用于向數碼顯示局部送數據,由于單片機一直工作于鍵盤掃描程序,故無法在主程序中不斷地將數據送到數碼管,根據數碼管動態顯示原理,當數碼管在20Hz-50Hz之間顯示時,人眼分辨不出,會認為數碼管一直顯示,所以可以采用中斷的方式,每進入一次中斷,對數碼管進行動態輸出一次,合理的調整時間參數,就會使人眼分辨不出,認為數碼管常亮,定時器0中斷效勞程序如下:voiddisp(void)interrupt1{TH0=(65536-25000)/256; //對定時器0重新置初值TL0=(65536-25000)%256;led(); //執行數碼顯示程序} 4.3主程序程序語言#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitkey1=P1^0;//端口定義sbitkey2=P1^1;sbitkey3=P1^2;sbitkey4=P1^3;sbitrs=P1^4;sbiten=P1^5;sbitw1=P1^6;sbitw2=P1^7;sbitDAC_CS=P3^2;sbitDAC_WR=P3^6;ucharcodetable1[]="BBXYZhangchao";ucharcodetable2[]="voltage:0.0V";ucharge,shifen,keynum,volt;voiddelay(uintz)//延時函數{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidwrite_com(ucharcom)//寫指令到1602{rs=0;en=0;P0=com;delay(5);w1=1;en=1;delay(5);en=0;}voidwrite_date(uchardate)//寫數據到1602{rs=1;en=0;P0=date;delay(5);w1=1;en=1;delay(5);en=0;}voidInit()//初始化{ucharnum;en=0;write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80);for(num=0;num<16;num++) { write_date(table1[num]); delay(50); } write_com(0x80+0x40); for(num=0;num<14;num++) { write_date(table2[num]); delay(50); }}voidwrite_voltage(ucharadd,uchardat)//寫電壓到1602{write_com(0x80+0x40+add);write_date(0x30+dat);}voidda0832out(uchardadata)//寫電壓數據到DAC0832{w1=0;w2=1;DAC_CS=0;P0=dadata;DAC_WR=0;delay(5);DAC_WR=1;DAC_CS=1;w2=0;}voidkeyscan()//鍵盤掃描{if(key1==0){delay(5);if(key1==0){keynum++;while(!key1);if(keynum==1){write_com(0x80+0x40+12);write_com(0x0f);}}if(keynum==2){write_com(0x80+0x40+10);write_com(0x0f);}if(keynum==3){keynum=0;write_com(0x0c);}}if(keynum!=0){if(key2==0){delay(5);if(key2==0){while(!key2);if(keynum==1){shifen++;if(shifen==10)shifen=0;write_com(0x80+0x40+11);write_com(0x0c);write_voltage(12,shifen);}if(keynum==2){ge++;if(ge==10)ge=0;write_com(0x80+0x40+9);write_com(0x0c);write_voltage(10,ge);}}}if(key3==0){delay(5);if(key3==0){while(!key3);if(keynum==1){shifen--;if(shifen==-1)shifen=9;write_com(0x80+0x40+11);write_com(0x0c);write_voltage(12,shifen);}if(keynum==2){ge--;

溫馨提示

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

評論

0/150

提交評論