基于單片機的數(shù)控恒流源設計(共43頁)_第1頁
基于單片機的數(shù)控恒流源設計(共43頁)_第2頁
基于單片機的數(shù)控恒流源設計(共43頁)_第3頁
基于單片機的數(shù)控恒流源設計(共43頁)_第4頁
基于單片機的數(shù)控恒流源設計(共43頁)_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上 本 科 畢 業(yè) 論 文(設 計)題目(中文) 基于單片機的數(shù)控恒流源設計 a(英文)Design of constant current voltage source based on SCM 完 成 日 期 2016 年 4 月摘要恒流源是一種高精度的電源,具有響應速度快,恒流精度高,能長期穩(wěn)定工作,適合各種性質負載等優(yōu)點,而具有了越來越廣泛的應用。本文主要論述了一種基于51單片機為控制核心的數(shù)控直流源的設計與實現(xiàn)。本電源具有可預設電流,電流步進,顯示電流的功能。主要由單片機控制模塊、鍵盤輸入模塊、A/D轉換模塊、恒流源模塊、D/A轉換模塊和顯示模塊六部分組成。系

2、統(tǒng)由單片機設定預置電流信號,經過D/A轉換器TLC5615輸出模擬電壓信號,該信號控制達林頓管的基極,使其集電極輸出相應的電流。再通過A/D轉換芯片,實時把采樣電路上的模擬信號轉換成數(shù)字信號,形成反饋,顯示出實際的輸出電流。關鍵詞:壓控恒流源;單片機;數(shù)控電源AbstractConstant current source is a kind of common power source with high precision with fast response, high precision of constant current. It can also work stably for a

3、 long time and has various properties of the load. So now it is used more and more widely. This paper mainly discusses the design and implementation of a digital constant current source based on 51 MCU as the control core of the system. The power supply has a preset current, current step, current di

4、splay function. It has 6 parts: Control module, keyboard input module, A/D transform module, D /A transform module , display module and constant current source module. The current signal set by the SCM. Then it through D / A converter TLC5615 , which output to the voltage analog signal and control t

5、he Darlington tube base, and output the corresponding current. Finally through the A/D conversion chip, real-time sampling circuit analog signal is converted into digital quantity, feedback form, show the actual output current.Keywords: voltage controlled constant current source; single chip microco

6、mputer; digital power supply目 錄上海師范大學本科畢業(yè)論文(設計)誠信聲明 I上海師范大學本科畢業(yè)論文(設計)選題登記表II上海師范大學本科畢業(yè)論文(設計)指導記錄表中文摘要及關鍵詞 英文摘要及關鍵詞 1 前言11.1 研究背景及意義11.2 國內外研究現(xiàn)狀12 基本原理與方案對比22.1 總體框圖22.2 恒流源方案對比32.2.1 晶體管恒流源32.2.2 場效應管恒流源42.2.3 集成電路恒流源52.2.4 總結5 2.3 單片機簡介62.4 液晶顯示屏簡介82.5 數(shù)模轉換芯片92.6 模數(shù)轉換芯片93 各模塊實現(xiàn) 103.1 鍵盤模塊 103.2 液晶顯

7、示模塊 113.3 D/A轉換模塊123.4 A/D轉換模塊123.5 恒流源模塊 133.6 電路整體工作原理 144 系統(tǒng)軟件實現(xiàn) 154.1 綜述 154.2 鍵盤輸入流程圖 164.3 A/D轉換流程圖174.4 D/A轉換流程圖184.5 液晶顯示流程圖 195 整體測試與分析 206 總結與展望 22參考文獻 23附錄A 仿真原理圖 24附錄B 程序部分 25專心-專注-專業(yè)1 前言 1.1 研究背景及意義隨著電子技術的發(fā)展,我們身邊出現(xiàn)了越來越多的智能化數(shù)字化的精密電子設備,消費者在關注設備的性能、價格、功能、設計的同時,設備的質量和穩(wěn)定性越來越成為人們關注的重點。而設備的穩(wěn)定性

8、的最關鍵部分之一便是電源的穩(wěn)定性。劣質電源的危害時有發(fā)生,如大到特斯拉電動車電池爆炸門,小到身邊的劣質手機電源導致的火災、爆炸,均可造成巨大財產損失甚至危害人們的安全。所以一個優(yōu)質安全的電源是智能化數(shù)字化電子設備不可或缺的重要部分。 1.2 國內外研究現(xiàn)狀目前而言,生活中乃至部分實驗室使用的電源多采用電位器來調整輸出的電壓及電流值搭配指針式顯示。存在著非線性,調整誤差較大,顯示讀數(shù)誤差,可靠性低等較大缺陷。數(shù)字化智能電源應運而生,它針對傳統(tǒng)電源的不足,有效減少了各種器件等不確定因素和人為因素而引起的誤差,從而極大提高了電源模塊的穩(wěn)定性,縮小了電源的誤差。從20世紀90年代以來,人們對于系統(tǒng)的效

9、率越來越高,功耗要求越來越低,隨著電子技術和數(shù)據(jù)通信設備的技術發(fā)展更新,電源行業(yè)開始由以前的分立元件和集成電路控制轉變?yōu)橛晌C的控制趨勢,開始了電源行業(yè)的智能化。20多年的發(fā)展之后,數(shù)控恒壓技術已經較為成熟,但是恒流源的發(fā)展特別是數(shù)控恒流源還較為落后,高性能的數(shù)控恒流源的發(fā)展和應用都還存在著較為巨大的發(fā)展空間。本次畢設設計的數(shù)控直流源可以輸出穩(wěn)定電流的直流恒流源,不隨外界負載等因素影響。輸出穩(wěn)定度好,誤差小,可以直接數(shù)字設定電流大小,具有較好的應用價值。2 基本原理與方案對比2.1 總體框圖圖1 總體框圖本設計共分6個模塊(見圖1):1.鍵盤輸入模塊:通過4*4矩陣鍵盤設置輸入電流,步進為1m

10、A,輸入電流范圍為20-2000mA。并可通過“+”“-”進行微調。2.液晶顯示模塊顯示預置電流與實際的輸出電流。3.D/A轉換模塊:將單片機輸出的數(shù)字量轉換成模擬量,送入恒流源模塊。4.A/D轉換模塊將實際輸出的電流轉化為數(shù)字量,送入單片機5.恒流源模塊實現(xiàn)電流的輸出。6.單片機主控模塊整個設計的控制部分。連接電源,鍵盤模塊,D/A轉換模塊,A/D轉換模塊及液晶顯示模塊。2.2恒流源方案對比基本的恒流源電路按照組成器件的不同,主要可以分為晶體管恒流源,場效應管恒流源和集成電路恒流源三類。 2.2.1 晶體管恒流源以晶體管為主要組成,因為晶體三極管集電極電壓變化對電流的影響很小,所以可以基本達

11、到輸出電流恒流的要求,但是通常還需要一定的溫度補償和穩(wěn)壓措施,否則會存在較大的誤差,其基本電路如下:圖2 晶體管恒流源的基本形式如圖2, 電阻R1、R2分壓,b點的電位為VB,RE形成電流負反饋,可以計算輸出電流Io=(Vb-Vbe)ReVbRe (VbVbe)圖2中的電路的不足在于晶體管的集電級和射極間電阻一般在幾十千歐以上,當只需幾伏的工作電壓,這種恒流源電路的等效內阻很大,功耗很大,并且精度不高。2.2.2場效應管恒流源由場效應晶體管作為主要組成器件構成的恒流源電路如圖2所示:b圖3 場效應管恒流源圖3中 ,R1,R2分壓,使b點的電位穩(wěn)定 , Vb=R2×Vcc÷(

12、R1+R2),而 Vgs=Vb-Id×Rs; Id=2Idss(1-Vgs×Vp)式中Vp表示為夾斷電壓 ,Idss為飽和漏極電流。這種恒流源電路使用的場效應管為JEFT,具有超低噪聲的有點,輸出的電流由JEFT決定,檢測的電壓與JEFT有關。2.2.3集成電路恒流源為了能夠精確的控制輸出電流,通常會使用個運放作為反饋,再使用場效應管減小三極管的BE電流導致的誤差。常用的運放恒流源如圖4所示,在工作時,輸入電壓Vref與輸出電流成比例的檢測電壓,VsVs=Rs×Iout相等, Is=Ib+Iout=Iout(1+1Hfe)其中1Hfe為誤差。圖4 集成電路恒流源圖

13、4這個電路通常可以作為恒流源的標準電路,不但具有足夠的精度,易于調節(jié)的優(yōu)勢,而且使用到的期間也很普遍,便于應用。缺點是運放部分需要額外的供電電源。2.2.4 總結從上面的電路中我們可以發(fā)現(xiàn),恒流源就是利用個參考電壓,然后在電阻上形成固定電流。恒流源的搭建就可以擴展到所有可以提供這個"電壓基準"的器件上。所以三端穩(wěn)壓芯片也通常會應用于恒流源,這些三端穩(wěn)壓芯片本身就具有很高的精度,需要維持的電流也很小所以具有很好的性價比,如圖5:圖5 穩(wěn)壓芯片組成的恒流源電路該電路的電流計算公式為:I=VR5,其中V是三端穩(wěn)壓的穩(wěn)壓數(shù)值。但是這種結構的恒流源,不適合太小的電流,因為這個時候,三

14、端穩(wěn)壓自身的維持電流會導致較大的誤差。恒流源的實質是利用器件對電流進行反饋,動態(tài)調節(jié)設備的供電狀態(tài),從而使得電流趨于恒定。只要能夠得到電流,就可以有效形成反饋,從而建立恒流源。從上面四種常見電路分析后,本次畢設我選擇了方案3。 2.3 單片機簡介作為控制核心的單片機,本設計選擇了ATMEL的AT89C51,這是一款高效微控制器,具有高度的靈活性,同時價格低廉。這是一種帶4K字節(jié)閃爍可編程可擦除的低電壓、高性能CMOS8位:它包括一個8位的微型處理器cpu;1個256K的RAM存儲器;1個片內存儲器rom;4個8位雙向輸入輸出的并行IO接口,5個中斷;2個定時/計數(shù)器;片內振蕩器和時鐘產生電路,

15、最高振蕩頻率12MHZ。一個單片機可以看做是一個完整的微型計算機。當我們配上適當?shù)耐鈬骷拖鄳能浖r,就能成為一個獨立的應用系統(tǒng)。本設計中,我們也以其為核心,進行了相應的配置。89c51的管腳說明如圖6:圖6 AT89C51管腳示意圖P0口(32-39):8位漏級開路雙向io口,輸出高電平大電流時需要被外部拉高。P1口(1-8):一個內部可以提供上拉電阻的8位雙向IO口P2口(21-28):一個內部可以提供上拉電阻的8位雙向IO口,當在給出地址“1”時,它利用內部上拉的優(yōu)勢,對外部八位地址數(shù)據(jù)存儲器進行讀寫時,輸出特殊功能寄存器的內容。P3口(10-17):一個內部可以提供上拉電阻的雙向I

16、O口,也可以作為一些特殊的功能口如下所示:P3.0 RXD 串行輸入口P3.1 TXD 串行輸出口P3.2 /INT0 0P3.3 /INT1 外部中斷1P3.4 T0 記時器0外部輸入P3.5 T1 記時器1外部輸入P3.6 /WR 存儲器寫選通P3.7 /RD 外部數(shù)據(jù)存儲器讀選通RST(9):復位輸入。XTAL1(19):反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2(18):來自反向振蕩器的輸出。2.4 液晶顯示屏簡介液晶顯示模塊選用了LCD1602,它是一種工業(yè)字符型液晶,能夠同時顯示16*02個字符。是一種專門用來顯示字母、數(shù)字、符號等的點陣型。市面上的字符液晶通常基于H

17、D44780液晶芯片,控制原理相同,移植性較好方便應用。LCD1602通常需要5V電壓供電,可以調節(jié)對比度。內部自帶復位電路。提供了各種如清屏、字符閃爍、顯示移位等功能。具有80字節(jié)的顯示數(shù)據(jù)存儲器的DDRAM,具有微功耗,顯示內容豐富,方便靈活的特點而常被應用在袖珍式儀表和低功耗應用系統(tǒng)中。(如圖7)圖7 LCD16022.5 數(shù)模轉換芯片本設計數(shù)模轉換芯片選用的是美國德州儀器公司生產的TLC5615,它是一個具有串行接口的數(shù)模轉換器,輸出為電壓型,輸出的最大電壓是基準電壓值的兩倍,帶有上電復位功能。具有易和工業(yè)標準的微控制器相連接的優(yōu)點,常用語電池供電的測試儀表,也適用于數(shù)字失調與增益調整

18、以及工業(yè)控制場合。(如圖8)圖8 TLC56152.6 模數(shù)轉換芯片 本次畢設選用了德州儀器公司的數(shù)模轉換器TLC2543,它是使用開關電容逐次逼近的方法完成A/D的轉換,分辨率較高,且價格較為便宜,因此在儀表儀器中使用較為常見。該芯片的分辨率為12位,具有11個模擬輸入通道,轉換時間是10us。(如圖9)圖9 TLC25433 各模塊實現(xiàn)3.1輸入電路圖10 鍵盤模塊輸入采用4*4鍵盤,鍵盤橫向連接分別接入單片機AT89c51的P1.0-P1.3口,縱向連接接入單片機P1.4口-P1.7口。依圖10所示,各鍵作用如下:3.2液晶顯示電路圖11 LCD顯示模塊LCD1602可以在LCD顯示屏上

19、完整,清晰顯示32個英文字符,這方便我們在其上顯示出電流單位“mA”。在設計過程中通過單片機編程控制第4腳RS(數(shù)據(jù)/命令選擇端),第5腳R/W(讀寫選擇端),第6腳E(使能端),從而實現(xiàn)顯示效果。其顯示運行原理如下:寫指令: RS=L,RW=L,D0D7=指令碼,E=HL寫數(shù)據(jù): RS=H,RW=L,D0D7=數(shù)據(jù),E=HL讀忙狀態(tài): RS=L,RW=H, E=HL讀數(shù)據(jù): RL=H,RW=H, E=HL3.3 D/A轉換電路選擇D/A芯片為TLC5615,它的轉換精度為10位,為了計算方便,我們選擇參考電壓為2.048v。又因為最大輸出電壓為參考電壓的兩倍,所以最小輸出電壓的分辨率為:4.

20、096/210=0.004V圖12 D/A轉換模塊3.4 A/D轉換電路我們由前面的分析得tlc2543是串行輸入的12位模數(shù)轉換器,有節(jié)約Io資源,分辨率較高且價格較低的優(yōu)點而選用。具體電路如圖13分辨率為:4.096/212=0.001V圖13 A/D轉換模塊3.5恒流源模塊圖14 恒流源模塊穩(wěn)定的恒流源電路是本次設計的關鍵部分,經過前面的分析,我們這次選擇了集成運放組成的恒流源作為整個系統(tǒng)的恒流源部分。其中運算放大器選擇TL084,它的電源電壓范圍在8v到36伏之間,屬于JFET運放,輸入偏移電壓最大5.5mv,額定電源電壓36v。另外選擇了達林頓管TIP142以輸出需要的恒流。TIP1

21、42存在的關鍵指標有最大集電極-發(fā)射集電壓為100v。最大集電極-基極電壓100v。最大發(fā)射極-基極電壓為5v,最大承受功率125w。完全符合設計的要求。3.6 電路整體工作原理如附錄1所示。電路接通電源后。通過輸入電路(4*4矩陣鍵盤)將預置電流輸入單片機控制電路(單片機AT89C51)。單片機將預置的電流信號,經過D/A轉換電路(芯片TLC5615)輸出模擬電壓信號,進入恒流源模塊。該信號控制達林頓管的基極,輸出相應的電流。同時,通過A/D轉換電路(芯片TLC2543),實時把采樣電路上的模擬信號轉換成數(shù)字信號,反饋給單片機控制電路。單片機主控電路將預置電流及反饋回的實際電流信號,輸入液晶

22、顯示電路(芯片LCD1602),顯示輸入與輸出的電流值,單位為mA,顯示精度為1mA。4 系統(tǒng)軟件實現(xiàn)4.1 綜述本次畢設的軟件部分主要配合硬件來完成以下功能1. 設定恒流源數(shù)值2. 控制tlc5615的工作3. 控制tlc2543的工作4. 控制液晶顯示設定與實際輸出電流值為了完成以上功能,我們選擇了c語言來對89c51芯片進行編程,使用keil 4軟件。整個軟件分為鍵盤掃描模塊,液晶顯示模塊,數(shù)模轉換模塊,模數(shù)轉換模塊。 單片機微機控制 D/A轉換處理液晶顯示模塊A/D轉換處理鍵盤輸入圖15 軟件部分框圖4.2 鍵盤輸入流程圖是否開始逐行掃描有鍵按下保存行號逐列掃描保存列號根據(jù)行號和列號計

23、算鍵值根據(jù)鍵值查表得到對應段碼輸出段碼顯示圖16 鍵盤輸入流程圖圖16 鍵盤輸入流程圖否是讀取完畢返回A/D轉換開始初始化A/D轉換讀取電壓4.3 A/D轉換流程圖圖17 A/D轉換流程圖4.4 D/A轉換流程圖讀取完畢返回讀取數(shù)據(jù)D/A轉換開始初始化D/A轉換轉換否是圖18 D/A轉換流程圖4.5 液晶顯示流程圖否開始初始化LCD有鍵按下LCD1602寫命令顯示延遲結束是圖19 D/A轉換流程圖5 整體測試與分析設計完成后,用對電路進行了仿真,其結果如下部分仿真截圖(第一行為鍵盤輸入值,第二行為實際值):20mA時:50mA時:100mA時:500mA時:1000mA時:2000mA時:表1

24、 輸入/輸出誤差表經檢驗,總體誤差較小,尤其是當輸出電流較大時,符合設計要求。誤差分析:恒流源電路中達林頓管需要一定的導通電壓,若在實際應用中還要考慮器件由于工藝以及溫度而產生的誤差A/D轉換器和D/A轉換器因為分辨率原因而存在固有的誤差。6 總結與展望 本次畢設基本完成了一個較為簡易,相對精確的數(shù)控恒流源的目標,但是還存在著較多需要改善的地方。因為時間和個人能力因素,在硬件部分,恒流源模塊的設計還有較大的改善空間,可以從功耗,以及輸出電流電壓范圍可以進一步的優(yōu)化。軟件方面,我考慮了可以充分利用A/D模塊采集的電壓從而引入PID控制算法,與預設的電流相比較,若存在差距,可以通過微處理器進一步進

25、行調整,從而可以進一步控制輸出恒流的精度以及穩(wěn)定程度。 在這次畢設的過程中,我的收獲要遠大于遺憾。通過這次的實際應用,我充分感受到了電子專業(yè)的魅力所在。完成這份畢設同時,我綜合了運用了所學的數(shù)電,模電,微機原理,C語言編程等多種課程,在鞏固大學所學專業(yè)知識的同時,更進一步梳理了知識網絡,提高了我對于電子信息這個專業(yè)的認識。最后我要向我的導師與四年學習中教導我的各位老師致以最崇高的敬意。也謝謝陪伴我四年成長和生活、學習各位同學。感謝上海師范大學提供了我這樣一個美好學習成長的平臺。參考文獻1 康光華 電子技術基礎 數(shù)字部分(第五版):高等教育出版社,2006年1月.2 康光華 電子技術基礎 模擬部

26、分(第五版):高等教育出版社,2008年1月3 林占江,林放 電子測量技術(第3版):電子工業(yè)出版社,2012年5月4 邱關源,羅先覺 電路(第五版):高等教育出版社,2011年5月5 胡漢才 單片機原理與接口技術 :清華大學出版社,2008年2月6 張齊,朱寧西,畢盛 : 電子工業(yè)出版社 2011年9月;7 周明德 微型計算機系統(tǒng)原理及應用(第五版):清華大學出版社 2007莫按摩1月8 Ayala, Kenneth J ,The 8051 Microcontroller and Embedded Systems Using Assembly :Thomson Learning ,2005

27、年7月9 Newnes Designing Embedded Systems with PIC Microcontrollers 2003.1110Maxim integrated Products Inc Specifying Quartz Crystal 2000.2附錄A 仿真原理圖附錄B 程序部分#include <reg52.h> #include<stdio.h> #include <intrins.h> #include <absacc.h> #define uchar unsigned char #define uint unsi

28、gned int #define Vref 2.048 /tlc5615 sbit cs=P24; /片選 sbit clk=P23; /時鐘 sbit din=P25; /SPI口 /tlc2543 sbit clock = P31; /輸入、輸出時鐘端 sbit input = P27; /數(shù)據(jù)輸入端 sbit output = P26; /數(shù)據(jù)輸出端 sbit CS1 = P30; /片選端,負電平有效 /lcd sbit RS=P20; sbit RW=P21; sbit En=P22; /uchar code table16='0','1','

29、2','3','4','5','6','7','8','9','a','b','c','d','e','f'/數(shù)字 static uchar dis_buf4=0,0,0,0; /顯示緩存 uchar n,temp1; int out_temp = 0;uchar key;/鍵順序碼 uchar key_cli=0;/數(shù)字鍵被按下的次 /* 函數(shù)聲明 */ keyscan(); v

30、oid TLC56 (unsigned long dav); void delay56(); void Write(uchar address,uchar dat); void delayms(unsigned int x); void jianz(uchar key) ; void ADCchu(unsigned long aa); void DispCharacter(uint x, uint y, uint data1); void LCDReset(); void ShortDelay(uchar i); void LongDelay(uint i); void SetRS(bit i

31、); void SetRW(bit i); void SetE(bit i); void InitP0(bit i) ; void WriteInstruc(uint Instruc); uint Read_BF_AC(); void WriteData(uint data1); uint ReadData(void); bit StatusCheck(); void InitLCD(); void jianchu(uchar jianz,uint r); /* 鍵盤程序 */ keyscan() P1=0xef; if(P1&0x0f)!=0x0f) ShortDelay(100);

32、/ 函數(shù)調用消抖動 if(P1&0x0f)!=0x0f) temp1=P1; switch(temp1) case 0xee: key=0; break; case 0xed: key=4; break; case 0xeb: key=8; break; case 0xe7: key=12; break; while(P1&0x0f)!=0x0f); jianz(key); /函數(shù)調用 P1=0xdf; if(P1&0x0f)!=0x0f) ShortDelay(100);/ 函數(shù)調用消抖動 if(P1&0x0f)!=0x0f) temp1=P1; switch

33、(temp1) case 0xde: key=1; break; case 0xdd: key=5; break; case 0xdb: key=9; break; case 0xd7: key=13; break; while(P1&0x0f)!=0x0f); jianz(key); /函數(shù)調用 P1=0xbf; if(P1&0x0f)!=0x0f) ShortDelay(100);/ 函數(shù)調用消抖動 if(P1&0x0f)!=0x0f) temp1=P1; switch(temp1) case 0xbe: key=2; break; case 0xbd: key=6

34、; break; case 0xbb: key=10; break; case 0xb7: key=14; break; while(P1&0x0f)!=0x0f); jianz(key);/ 函數(shù)調用 P1=0x7f; if(P1&0x0f)!=0x0f) ShortDelay(100);/ 函數(shù)調用消抖動 if(P1&0x0f)!=0x0f) temp1=P1; switch(temp1) case 0x7e: break; case 0x7d: key=7; break; case 0x7b: key=11; break; case 0x77: key=15; b

35、reak; while(P1&0x0f)!=0x0f); jianz(key); /* 鍵盤按鍵功能函數(shù) */ void jianz(uchar key) /鍵盤值處理中調用lcd顯示 if(key<=9) dis_bufkey_cli=key; /得鍵值存儲在其中 key_cli+; if(key=12)/確定鍵送數(shù) unsigned long out_set=0; /十六位 uint j,i; uchar dis_buf14=0,0,0,0; for(j=0;j<4;j+) dis_buf1j=dis_bufj; jianchu(dis_buf10,0); jianch

36、u(dis_buf11,1); jianchu(dis_buf12,2); jianchu(dis_buf13,3); for(i=0;i<key_cli;i+) out_set=out_set*10+(dis_bufi); /給out-temp賦值為整數(shù) TLC56(out_temp+5)/2); / /(重點地方)數(shù)字信號從單片機來,這里可以傳鍵盤值和鍵盤聯(lián)系 TLC5615DAC的鍵盤值 ShortDelay(1); if(key=13) /取消鍵 uint j; uchar dis_buf24=0,0,0,0; for(j=0;j<4;j+) dis_bufj=dis_bu

37、f2j ; jianchu(dis_buf20,0); jianchu(dis_buf21,1); jianchu(dis_buf22,2); jianchu(dis_buf23,3); TLC56(0x0000); /(重點地方)數(shù)字信號從單片機來,這里可以傳鍵盤值和鍵盤聯(lián)系 TLC5615DAC的鍵盤值 ShortDelay(1); key_cli=0; if(key=10) /步進+鍵 uint j; uchar dis_buf34; for(j=0;j<4;j+) dis_buf3j=dis_bufj;/是保護dis_buf中的數(shù)據(jù) n=3; /向前一兩位來改變dis_buf的值

38、 dis_buf3n=dis_buf3n+0x02; /步進值為0x02 if(dis_buf3n>=0x09) /輸入值滿十進位 dis_buf3n=0; n=2; dis_buf3n=dis_buf3n+0x01; for(j=0;j<4;j+) dis_bufj=dis_buf3j;/將修改后的值傳到dis_buf中 jianchu(dis_buf30,0); jianchu(dis_buf31,1); jianchu(dis_buf32,2); jianchu(dis_buf33,3); if(key=11) /步進-鍵 uint j; uchar dis_buf44; f

39、or(j=0;j<4;j+) dis_buf4j=dis_bufj; n=3; dis_buf4n=dis_buf4n-0x02; if(dis_buf4n<=0x01) n=2; dis_buf4n=dis_buf4n-0x01; n=3; dis_buf4n=0x09; for(j=0;j<4;j+) dis_bufj=dis_buf4j; jianchu(dis_buf40,0); jianchu(dis_buf41,1); jianchu(dis_buf42,2); jianchu(dis_buf43,3); /LCD初始化 void InitLCD() WriteI

40、nstruc(0x06); LCDReset(); / InputMode(0x06); /增量方式,不移位 WriteInstruc(0x0c) ; / DispControl(0x0c); /顯示開,光標關,閃爍關 WriteInstruc(0x38) ; / FunctionSet(0x38); /8位,2行,5×7 /短延時函數(shù):ShortDelay() void ShortDelay(uchar i) for(;i>0;i-) ; /寄存器選擇信號:SetRS() void SetRS(bit i) if(i=1) RS = 1; else RS = 0; /讀寫操作

41、控制信號:SetRW() void SetRW(bit i) if(i=1) RW = 1; else RW = 0; /使能信號:SetE() void SetE(bit i) if(i=1) En = 1; else En = 0; /IO輸入輸出控制 void InitP0(bit i) if(i=1) P0 = 0xff; else P0 = 0x00; /寫指令函數(shù):WriteInstruc() void WriteInstruc(uint Instruc) while(StatusCheck(); InitP0(0); SetRS(0); SetRW(0); /ShortDelay

42、(1); SetE(0); P0 = Instruc; /ShortDelay(1); SetE(1); ShortDelay(10); SetE(0); /ShortDelay(1); SetRW(1); SetRS(1); /讀BF以及AC的值函數(shù):Read_BF_AC() uint Read_BF_AC() uint temp; InitP0(1); SetRS(0); SetRW(1); /ShortDelay(1); SetE(0); /ShortDelay(1); SetE(1); ShortDelay(1); temp = P0; ShortDelay(10); SetE(0);

43、 /ShortDelay(1); SetRW(0); SetRS(1); return(temp); /寫數(shù)據(jù)到RAM函數(shù):WriteData() void WriteData(uint data1) InitP0(0); SetRS(1); SetRW(0); /ShortDelay(1); SetE(0); P0 = data1; /ShortDelay(1); SetE(1); ShortDelay(10); SetE(0); /ShortDelay(1); SetRW(1); SetRS(0); /檢測LCD控制器狀態(tài)函數(shù):StatusCheck() /返回一bit數(shù):1 - 忙;0 - 閑 bit StatusCheck() return(bit)(Read_BF_AC() & 0x80); /在指定位置顯示字符函數(shù): DispCharacter()/ x為行號,

溫馨提示

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

最新文檔

評論

0/150

提交評論