畢業(yè)設(shè)計(jì)論文(三相正弦變頻發(fā)電裝置)_第1頁(yè)
已閱讀1頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  三相正弦波變頻模擬裝置</p><p>  摘要:本設(shè)計(jì)模擬裝置是由正弦波與三角波通過比較器產(chǎn)生的SVPWM波通過6個(gè)IR2110驅(qū)動(dòng)和12個(gè)MOS開關(guān)管逆變構(gòu)成的三相電路,并由單片機(jī)控制頻率,頻率40Hz~60Hz可調(diào);并利用單片機(jī)模數(shù)轉(zhuǎn)換采集的電壓值匯饋給FPGA,再通過FPGA進(jìn)行數(shù)據(jù)處理,并加以對(duì)SVPWM波的控制,來實(shí)現(xiàn)對(duì)輸出電壓的實(shí)時(shí)控制,切爾,進(jìn)一步對(duì)輸出功率的跟蹤。</

2、p><p>  關(guān)鍵字:三相 正弦變頻 SVPWM FPGA 逆變</p><p><b>  一、緒論</b></p><p><b>  1.1前言</b></p><p>  隨著電力電子技術(shù)的快速發(fā)展,將使電源技術(shù)更加成熟、經(jīng)濟(jì)、實(shí)用,實(shí)現(xiàn)高效率。變頻電源隨即出現(xiàn),并被廣泛運(yùn)用于各個(gè)領(lǐng)

3、域,是變頻調(diào)速的核心所在。主要還是用于交流電機(jī)的變頻調(diào)速,其再電氣傳動(dòng)系統(tǒng)中占據(jù)的地位也日趨重要,已獲得巨大的節(jié)能效果。該題目是設(shè)計(jì)一個(gè)新型工業(yè)用的三相正弦變頻發(fā)電裝置。</p><p>  1.2題目背景及研究意義</p><p>  電力電子技術(shù)就是施用電力半導(dǎo)體器件及電子技術(shù)對(duì)電能進(jìn)行變換和控制的技術(shù)。它以實(shí)現(xiàn)“高效率用電和高品質(zhì)用電”為目標(biāo),是一門綜合了電力半導(dǎo)體器件、電力變換技術(shù)

4、、現(xiàn)代電子技術(shù)、AUTO控制技術(shù)等許多學(xué)科的交織學(xué)科。隨著科學(xué)技術(shù)的成長(zhǎng),電力電子技術(shù)又與現(xiàn)代控制理論、材料科學(xué)、電機(jī)工程、微電子技術(shù)等許多領(lǐng)域密切相關(guān)。目前,它已逐步成長(zhǎng)成為一門包羅更多學(xué)科的綜合性技術(shù)學(xué)科,并在為現(xiàn)代通訊、電子攝譜儀、計(jì)算機(jī)工業(yè)AUTO化、電網(wǎng)優(yōu)化、電力工程、國(guó)防及某些高新技術(shù)供給高質(zhì)量、高效率、高可靠性的電能方面起著關(guān)鍵的效用。</p><p>  電力電子技術(shù)的成長(zhǎng)主要是兩個(gè)方面:一是電力

5、電子半導(dǎo)體器件的成長(zhǎng),因?yàn)殡娏﹄娮悠骷请娏﹄娮蛹夹g(shù)的基礎(chǔ)和源頭,電力電子器件的機(jī)能的提高,增進(jìn)了電力電子技術(shù)的應(yīng)用,提高了電力電子裝置的功率,減小了體積。另一方面是電力電子技術(shù)在不同應(yīng)用領(lǐng)域詳細(xì)控制技術(shù)的成長(zhǎng)。尤其是功率變換技術(shù)的成長(zhǎng)與應(yīng)用。功率變換技術(shù)是電力電子技術(shù)中最重要、最基本的共性技術(shù)。為了滿足高效、高能量密度、高精度、快速相應(yīng)、寬調(diào)節(jié)范圍、低諧波掉真和低成本的要求,功率變換技術(shù)從不控、半控強(qiáng)迫換流技術(shù)成長(zhǎng)到普遍采用PWM控制

6、和采用自關(guān)斷器件的換流技術(shù)。</p><p>  1.3國(guó)內(nèi)外研究現(xiàn)狀及發(fā)展方向</p><p>  由于我國(guó)市電頻率固定為50Hz,因而對(duì)于一些要求頻率大于或小于50Hz的應(yīng)用場(chǎng)合,則必須設(shè)計(jì)一個(gè)能改變頻率的變頻電源系統(tǒng)。目前最常用的就是三相正弦變頻發(fā)電裝置。</p><p>  70年代出現(xiàn)了通用變頻器的系列場(chǎng)頻,可將工頻電源轉(zhuǎn)變?yōu)轭l率連續(xù)可調(diào)的變頻電源,這就為

7、交流電機(jī)的變頻調(diào)速創(chuàng)造了有利的條件。這些變頻器在頻率設(shè)定后都有軟啟動(dòng)功能,頻率會(huì)以一定的速率從零上升設(shè)定的頻率,而且此上升速率可以在很大的范圍任意調(diào)整,這對(duì)同步電動(dòng)機(jī)而言就是解決了啟動(dòng)問題。八十年代初期,日本東芝公司最先將交流變頻調(diào)速技術(shù)用于空調(diào)器中。至1997年,其占有率已達(dá)到日本家用空調(diào)的70%以上。變頻空調(diào)具有舒適、節(jié)能等優(yōu)點(diǎn)。國(guó)內(nèi)于90年代初期開始研究變頻空調(diào),96年引進(jìn)生產(chǎn)線生產(chǎn)變頻空調(diào)器,逐漸形成變頻空調(diào)開發(fā)生產(chǎn)熱點(diǎn)。<

8、;/p><p>  1.4本文研究的主要內(nèi)容</p><p>  設(shè)計(jì)并制作一個(gè)三相正弦波變頻發(fā)電模擬裝置,其示意圖如圖1所示。用直流穩(wěn)壓電源供電,US=12~60V中的任意一區(qū)間電壓,輸出相壓~220V,輸出頻率為50Hz;T為三相工頻隔離變壓器,變比自定,將uF作為輸出電流的反饋信號(hào);負(fù)載電阻RLA=RLB =RLC=1100Ω~4400Ω。(11W~44W×3)</p&g

9、t;<p>  圖1 三相正弦波變頻發(fā)電模擬裝置示意圖</p><p>  (1)輸出頻率范圍為50Hz的三相對(duì)稱交流電,相位差1200誤差小于±30,各相電壓有效值之差小于5V;</p><p>  (2)輸出電壓波形應(yīng)盡量接近正弦波,用示波器觀察無明顯失真;</p><p>  (3)當(dāng)輸入電壓變化值為10%時(shí),或負(fù)載電流有效值為0.0

10、5~0.2A三相對(duì)稱交流電時(shí),輸出相電壓有效值應(yīng)保持在220V±5%以內(nèi);</p><p>  (4)具有過流保護(hù)(輸出電流有效值達(dá)0.3A時(shí)動(dòng)作)、負(fù)載缺相保護(hù)及負(fù)載不對(duì)稱保護(hù)(三相電流中任意兩相電流之差大于0.05A時(shí)動(dòng)作)功能,保護(hù)時(shí)自動(dòng)切斷輸入電源;</p><p>  (5)具有輸入欠壓保護(hù)功能,動(dòng)作電壓20%;</p><p>  (6)本變換

11、器的效率≥50%。</p><p>  二、方案設(shè)計(jì)和系統(tǒng)整體框架</p><p>  系統(tǒng)包括光伏電池、DC-AC變換電路、控制、反饋、測(cè)量和顯示六個(gè)部分。IR2110驅(qū)動(dòng)開關(guān)管的逆變電路是核心部分,控制部分利用閉環(huán)反饋法實(shí)現(xiàn)輸出電壓的穩(wěn)定,采用反饋電壓經(jīng)過乘法器來調(diào)節(jié)SPWM波的占空比實(shí)現(xiàn)電壓的峰值控制,采用頻率跟蹤法和沿觸發(fā)同步跟蹤法實(shí)現(xiàn)頻率和相位的跟蹤功能。當(dāng)系統(tǒng)檢測(cè)到輸入欠壓或輸

12、出過流動(dòng)作時(shí),通過控制繼電器切斷光伏電池輸出,當(dāng)故障解除后,系統(tǒng)利用試觸法實(shí)現(xiàn)自動(dòng)恢復(fù)正常工作狀態(tài)的功能。體統(tǒng)基本框圖如圖1所示。</p><p>  圖1 系統(tǒng)基本原理框圖</p><p><b>  二、系統(tǒng)方案論證</b></p><p> ?。?)SPWM控制波實(shí)現(xiàn)方案</p><p>  方案一:模擬調(diào)制法。用

13、硬件電路產(chǎn)生正弦波和三角波,其中正弦波作為調(diào)制信號(hào),三角波作為載波,兩路信號(hào)經(jīng)模擬比較器比較后輸出SPWM波形。如圖2:</p><p><b>  圖2</b></p><p>  方案二:數(shù)字采樣法,以正弦波為調(diào)制波,等腰三角波為載波進(jìn)行比較,在兩個(gè)波形的自然交點(diǎn)時(shí)刻控制開關(guān)器件的通斷,利用VHDL語(yǔ)言在Quartus II軟件平臺(tái)上生成正弦波和三角波,再通過數(shù)字

14、比較器產(chǎn)生所需要的波形。如圖3:</p><p><b>  圖3</b></p><p>  方案一電路簡(jiǎn)單,響應(yīng)速度快,但參數(shù)漂移大,集成度低,波形易受外界噪聲干擾,設(shè)計(jì)不靈活,且需要很復(fù)雜的硬件來控制逆變器功率器件的死區(qū)。方案二可靠性高,可重復(fù)編程,響應(yīng)快,精度高,控制簡(jiǎn)單,故選用方案二。</p><p>  (2)DC-AC主回路與器件

15、選擇</p><p>  方案一:采用半橋逆變電路,原理圖如圖1。其電路簡(jiǎn)單,使用器件少,開關(guān)較少。但是有直通問題,可靠性低。</p><p>  方案二:采用全橋逆變電路。原理圖如圖2。整個(gè)電路容易達(dá)到大功率,且損耗低、效率高、工作頻率高、驅(qū)動(dòng)容易、可靠性大大提高,我們選用方案二。</p><p>  圖4 半橋逆變電路圖 圖5全橋逆變電路圖<

16、;/p><p>  (3)MOSFET驅(qū)動(dòng)電路方案</p><p>  方案一:采用MOSFET柵極驅(qū)動(dòng)控制專用集成電路芯片IR2110。該芯片為8引腳封裝,可驅(qū)動(dòng)同橋臂的兩個(gè)MOSFET,內(nèi)部自舉工作,允許在600V電壓下直接工作,柵極驅(qū)動(dòng)電壓范圍寬(10~20V),施密特邏輯輸入,輸入電平與TTL及COMS電平兼容,死區(qū)時(shí)間內(nèi)置,輸入、輸出同相,低邊輸出死區(qū)時(shí)間調(diào)整后與輸入反相,最高可達(dá)4

17、0KHZ。</p><p>  方案二:利用分立元件驅(qū)動(dòng)MOSFET。直接用MOS管驅(qū)動(dòng)功率MOSFET,他們可以共用一組電源,柵極電壓小于10V時(shí),功率MOSFET將處于電阻區(qū),不需要外接電阻,電路非常簡(jiǎn)單。</p><p>  比較上述兩種方案,方案一采用了MOSFET專用的集成電路,可以說性能極其優(yōu)越,但由于經(jīng)驗(yàn)不足,我們沒能把預(yù)先設(shè)計(jì)的IR2110驅(qū)動(dòng)電路調(diào)試成功。考慮方案二電路簡(jiǎn)

18、單,易于實(shí)現(xiàn)控制,我們最終采用了方案二。</p><p><b>  三、電路與程序設(shè)計(jì)</b></p><p><b>  1、硬件主要部分</b></p><p>  (3)系統(tǒng)DC-AC逆變橋設(shè)計(jì)</p><p>  由此系統(tǒng)知MOSFET管漏源兩端的最大電壓為60V,直流母線上的最大電流為3

19、A。故我們選用N溝道功率MOSFET管IRF530,它具有開關(guān)速度快、導(dǎo)通電阻小、柵極電容小和無二次擊穿等顯著特點(diǎn)。其耐壓100V,漏極最大電流28A,導(dǎo)通電阻為0.077Ω,柵極電容為1700PF,充分滿足題目要求。另外選用IR2110作為半橋驅(qū)動(dòng)芯片,它具有自舉浮動(dòng)電源,最大驅(qū)動(dòng)電流2A,驅(qū)動(dòng)電壓10-20V,能驅(qū)動(dòng)的最大直流母線電壓為500V,最大工作頻率500KHz,具有電源欠壓保護(hù)關(guān)斷邏輯和低壓延時(shí)封鎖功能。VD1、VD2采用

20、肖特基二極管,加快充放電速度,并采用RC緩沖吸收回路對(duì)MOSFET管進(jìn)行保護(hù),逆變器主回路A相電路圖如圖3所示。B相、C相與A相電路基本上一致。如下圖6:</p><p><b>  圖6</b></p><p><b>  3、保護(hù)電路</b></p><p>  采用單片機(jī)實(shí)時(shí)監(jiān)控輸入電壓和輸出電流的值,在輸入電壓降低

21、到Ud=(25±0.5)V或輸出電流上升到IO=0.3A時(shí)啟動(dòng)控制程序切斷繼電器使光伏電池輸出開路,從而實(shí)現(xiàn)輸入欠壓保護(hù)和輸出過流保護(hù)功能,采用試觸法實(shí)現(xiàn)欠壓、過流故障排除后,裝置自動(dòng)恢復(fù)正常狀態(tài)的功能。其電路如圖7所示:</p><p><b>  圖7</b></p><p> ?。ǘ?、軟件主要部分</p><p>  1、SV

22、PWM的產(chǎn)生</p><p>  利用FPGA 圖形法,并在Sin_rom和Saw_row中存儲(chǔ)正弦波和三角波的采樣點(diǎn),并通過計(jì)數(shù)器為它們提供時(shí)鐘信號(hào),最后在末端通過一個(gè)比較器進(jìn)行幅值比較,當(dāng)正弦波的幅值大于三角波的幅值時(shí),比較器就會(huì)產(chǎn)生一個(gè)高電平,否則,相反。</p><p>  在輸出端口對(duì)比較后的數(shù)據(jù)進(jìn)行處理輸入驅(qū)動(dòng)橋,控制開關(guān)管開關(guān)。</p><p>  框

23、圖和原理圖如圖8所示:</p><p><b>  圖8</b></p><p><b>  2、單片機(jī)控制</b></p><p>  利用帶有A/D的單片機(jī)STC125A16S2進(jìn)行電壓、電流數(shù)據(jù)轉(zhuǎn)換處理,并在LCD1602上顯示三相的電壓值、電流值;利用單片機(jī)產(chǎn)生可控40Hz—60Hz的時(shí)鐘信號(hào)并發(fā)送到FPGA,同時(shí)

24、將采樣回來的電壓值經(jīng)過串口通信發(fā)送到FPGA,由FPGA控制處理數(shù)據(jù),來調(diào)控SVPWM寬度,調(diào)整電壓的峰值,程序框圖如下;部分主程序如附錄。</p><p><b>  五、總結(jié)</b></p><p>  針對(duì)靜止補(bǔ)償器主電路,需要產(chǎn)生出三個(gè)相位彼此互差120 的SPWM脈沖信號(hào)。而通過一個(gè)正弦函數(shù)表來發(fā)出三相正弦信號(hào),不僅需要考慮三個(gè)正弦信號(hào)的起始相位,而且需要三

25、個(gè)計(jì)數(shù)器分別來控制查找正弦函數(shù)表。</p><p>  Abstract: This design simulation device is a sine wave through the comparison with the triangle of SVPWM wave IR2110 driven by 6 and 12 MOS switch tube convertor constitute the thr

26、ee-phase circuit, and the frequency of single-chip microcomputer control, frequency adjustable 40Hz - 60Hz, Frequency-field microcontroller and collected voltage to collect feedback on FPGA, again through FPGA and data p

27、rocessing of SVPWM wave, the control of the output voltage of the real-time control, cher, further t</p><p>  Key words:Three-phase Sine frequency SVPWM FPGA Inverter</p><p><b>  附

28、錄:</b></p><p><b>  SVPWM波原理圖</b></p><p><b>  部分主程序:</b></p><p><b>  LCD顯示程序:</b></p><p>  uchar ua,ub,uc,ia,ib,ic;</p>

29、<p>  void dis_main()//顯示主界面</p><p><b>  {</b></p><p>  LCD_INIT();</p><p>  keyscan();</p><p>  position(4,0);</p><p>  wrstring(&qu

30、ot;Welcome!");</p><p>  position(0,1);</p><p>  wrstring("Made BY FJDXYGXY");</p><p><b>  }</b></p><p>  void dis_f()//顯示、調(diào)節(jié)頻率</p>

31、<p><b>  {</b></p><p><b>  {</b></p><p>  LCD_INIT();</p><p>  position(5,0);</p><p>  wrstring("f= Hz");</p><p>

32、  position(0,1);</p><p>  wrstring("intr:add-3,dec-4");</p><p>  while(!(key==16))</p><p><b>  {</b></p><p>  keyscan();</p><p>  if(

33、key==3) </p><p><b>  {</b></p><p>  delay(500);</p><p>  keyscan();</p><p>  if(key==3)</p><p><b>  {</b></p><p><

34、;b>  f++;</b></p><p>  if(f>60) f=60;</p><p><b>  key=2;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  

35、if(key==4)</p><p><b>  {</b></p><p>  delay(500);</p><p>  keyscan();</p><p>  if(key==4)</p><p><b>  {</b></p><p>&l

36、t;b>  f--;</b></p><p>  if(f<40) f=40;</p><p><b>  key=2;</b></p><p><b>  }</b></p><p><b>  }</b></p><p> 

37、 position(5,0);</p><p>  wrchar(f/10+0x30);</p><p>  delay(50);</p><p>  position(6,0);</p><p>  wrchar(f%10+0x30);</p><p>  delay(50);</p><p>

38、;<b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void dis_a()//顯示a電壓、電流</p><p><b>  {</b></p><p&

39、gt;<b>  {</b></p><p>  LCD_INIT();</p><p>  position(0,0);</p><p>  wrstring("ua=220.0V w=0");</p><p>  position(0,1);</p><p>  wrstr

40、ing("ia= . A");</p><p>  while(!(key==16))</p><p><b>  {</b></p><p>  keyscan();</p><p>  ia=get_AD_result(0);</p><p>  ia=(ia*0.117

41、6);</p><p>  position(3,1);</p><p>  wrchar(ia/100+0x30);</p><p>  position(5,1);</p><p>  wrchar(ia%100/10+0x30);</p><p>  position(6,1);</p><p

42、>  wrchar(ia%10+0x30);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void dis_b()//顯示b電壓、電流</p><

43、p><b>  {</b></p><p><b>  {</b></p><p>  LCD_INIT();</p><p>  position(0,0);</p><p>  wrstring("ub=220.0V w=120");</p><p&

44、gt;  position(0,1);</p><p>  wrstring("ib= . A");</p><p>  while(!(key==16))</p><p><b>  {</b></p><p>  keyscan();</p><p>  ib=get_A

45、D_result(1);</p><p>  position(3,1);</p><p>  wrchar(ib/100+0x30);</p><p>  position(5,1);</p><p>  wrchar(ib%100/10+0x30);</p><p>  position(6,1);</p&g

46、t;<p>  wrchar(ib%10+0x30);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void dis_c()//顯示c電壓、電流</p&

47、gt;<p><b>  {</b></p><p><b>  {</b></p><p>  LCD_INIT();</p><p>  position(0,0);</p><p>  wrstring("uc=220.0V w=240");</p>

48、;<p>  position(0,1);</p><p>  wrstring("ic= . A");</p><p>  while(!(key==16))</p><p><b>  {</b></p><p>  keyscan();</p><p> 

49、 ic=get_AD_result(2);</p><p>  position(3,1);</p><p>  wrchar(ic/100+0x30);</p><p>  position(5,1);</p><p>  wrchar(ic%100/10+0x30);</p><p>  position(6,1)

50、;</p><p>  wrchar(ic%10+0x30);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  LCD1602頭文件:</p>&l

51、t;p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  #define IO P0</p><p>  sbit RS = P3^4;</p><p>  sbit RW = P3^5;</p><p>

52、  sbit EN = P3^6;</p><p>  void delay(unsigned int time)//延時(shí)</p><p><b>  {</b></p><p>  unsigned int tmp1, tmp2;</p><p>  tmp1 = time;</p><p> 

53、 while(tmp1--)</p><p><b>  {</b></p><p>  tmp2 = 100;</p><p>  while(tmp2--);</p><p><b>  }</b></p><p><b>  }</b></p

54、><p>  void LCD_READ_SIGN()//讀狀態(tài)</p><p><b>  {</b></p><p>  unsigned char temp;</p><p><b>  RS = 0;</b></p><p><b>  RW = 1;</

55、b></p><p><b>  EN = 0;</b></p><p><b>  delay(1);</b></p><p><b>  EN = 1;</b></p><p><b>  delay(2);</b></p><

56、;p>  temp = IO;</p><p>  while(temp >= 0x80);</p><p><b>  }</b></p><p>  void LCD_WRITE_COM(uchar LCD_COM) //寫命令</p><p><b>  {</b></p&g

57、t;<p><b>  RS = 0;</b></p><p><b>  RW = 0;</b></p><p><b>  EN = 0;</b></p><p>  IO = LCD_COM;</p><p><b>  delay(1);<

58、/b></p><p><b>  EN = 1;</b></p><p><b>  delay(3);</b></p><p><b>  EN = 0;</b></p><p><b>  }</b></p><p> 

59、 void LCD_WRITE_DATA(uchar LCD_DATA)//寫數(shù)據(jù)</p><p><b>  {</b></p><p><b>  RS = 1;</b></p><p><b>  RW = 0;</b></p><p><b>  EN = 0

60、;</b></p><p>  IO= LCD_DATA;</p><p><b>  delay(1);</b></p><p><b>  EN = 1;</b></p><p><b>  delay(3);</b></p><p>&

61、lt;b>  EN = 0;</b></p><p><b>  }</b></p><p>  void LCD_INIT() //初始化</p><p><b>  {</b></p><p>  delay(15);</p><p>  LCD_WR

62、ITE_COM(0x38);</p><p><b>  delay(5);</b></p><p>  LCD_WRITE_COM(0x38);</p><p><b>  delay(5);</b></p><p>  LCD_WRITE_COM(0x38);</p><p&

63、gt;  LCD_WRITE_COM(0X38);</p><p>  LCD_READ_SIGN();</p><p>  LCD_WRITE_COM(0X08);</p><p>  LCD_READ_SIGN();</p><p>  LCD_WRITE_COM(0X01);</p><p>  LCD_READ

64、_SIGN();</p><p>  LCD_WRITE_COM(0X06);</p><p>  LCD_READ_SIGN();</p><p>  LCD_WRITE_COM(0X0C);</p><p>  LCD_READ_SIGN();</p><p>  LCD_WRITE_COM(0X80);</

65、p><p>  LCD_READ_SIGN();</p><p><b>  }</b></p><p>  void position(uchar x,uchar y) //y=行;0=第一行;1=第二行</p><p><b>  {</b></p><p>  uchar

66、 position;</p><p>  if(y&0x01) position=0xc0+(x&0x0f);</p><p>  else position=0x80+(x&0x0f);</p><p>  LCD_WRITE_COM(position);</p><p><b>  }<

67、;/b></p><p>  void wrchar(uchar dat)</p><p><b>  {</b></p><p>  LCD_WRITE_DATA(dat);</p><p><b>  }</b></p><p>  void wrstring(uc

68、har *str)</p><p><b>  {</b></p><p>  register i=0;</p><p>  while(str[i]!=0)</p><p><b>  {</b></p><p>  LCD_WRITE_DATA(str[i]);<

69、/p><p><b>  i++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  3、鍵盤部分:</b></p><p>  #define uchar unsig

70、ned char</p><p>  #define uint unsigned int</p><p>  #define IO P0</p><p>  sbit RS = P3^4;</p><p>  sbit RW = P3^5;</p><p>  sbit EN = P3^6;</p>

71、<p>  void delay(unsigned int time)//延時(shí)</p><p><b>  {</b></p><p>  unsigned int tmp1, tmp2;</p><p>  tmp1 = time;</p><p>  while(tmp1--)</p><

72、;p><b>  {</b></p><p>  tmp2 = 100;</p><p>  while(tmp2--);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void LCD_REA

73、D_SIGN()//讀狀態(tài)</p><p><b>  {</b></p><p>  unsigned char temp;</p><p><b>  RS = 0;</b></p><p><b>  RW = 1;</b></p><p><

74、;b>  EN = 0;</b></p><p><b>  delay(1);</b></p><p><b>  EN = 1;</b></p><p><b>  delay(2);</b></p><p>  temp = IO;</p>

75、<p>  while(temp >= 0x80);</p><p><b>  }</b></p><p>  void LCD_WRITE_COM(uchar LCD_COM) //寫命令</p><p><b>  {</b></p><p><b>  RS =

76、0;</b></p><p><b>  RW = 0;</b></p><p><b>  EN = 0;</b></p><p>  IO = LCD_COM;</p><p><b>  delay(1);</b></p><p>&l

77、t;b>  EN = 1;</b></p><p><b>  delay(3);</b></p><p><b>  EN = 0;</b></p><p><b>  }</b></p><p>  void LCD_WRITE_DATA(uchar LC

78、D_DATA)//寫數(shù)據(jù)</p><p><b>  {</b></p><p><b>  RS = 1;</b></p><p><b>  RW = 0;</b></p><p><b>  EN = 0;</b></p><p&

79、gt;  IO= LCD_DATA;</p><p><b>  delay(1);</b></p><p><b>  EN = 1;</b></p><p><b>  delay(3);</b></p><p><b>  EN = 0;</b>&l

80、t;/p><p><b>  }</b></p><p>  void LCD_INIT() //初始化</p><p><b>  {</b></p><p>  delay(15);</p><p>  LCD_WRITE_COM(0x38);</p><

81、;p><b>  delay(5);</b></p><p>  LCD_WRITE_COM(0x38);</p><p><b>  delay(5);</b></p><p>  LCD_WRITE_COM(0x38);</p><p>  LCD_WRITE_COM(0X38);<

82、/p><p>  LCD_READ_SIGN();</p><p>  LCD_WRITE_COM(0X08);</p><p>  LCD_READ_SIGN();</p><p>  LCD_WRITE_COM(0X01);</p><p>  LCD_READ_SIGN();</p><p>

83、  LCD_WRITE_COM(0X06);</p><p>  LCD_READ_SIGN();</p><p>  LCD_WRITE_COM(0X0C);</p><p>  LCD_READ_SIGN();</p><p>  LCD_WRITE_COM(0X80);</p><p>  LCD_READ_SI

84、GN();</p><p><b>  }</b></p><p>  void position(uchar x,uchar y) //y=行;0=第一行;1=第二行</p><p><b>  {</b></p><p>  uchar position;</p><p&g

85、t;  if(y&0x01) position=0xc0+(x&0x0f);</p><p>  else position=0x80+(x&0x0f);</p><p>  LCD_WRITE_COM(position);</p><p><b>  }</b></p><p> 

86、 void wrchar(uchar dat)</p><p><b>  {</b></p><p>  LCD_WRITE_DATA(dat);</p><p><b>  }</b></p><p>  void wrstring(uchar *str)</p><p>

87、;<b>  {</b></p><p>  register i=0;</p><p>  while(str[i]!=0)</p><p><b>  {</b></p><p>  LCD_WRITE_DATA(str[i]);</p><p><b>  i

88、++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  4、主程序部分:</b></p><p>  #include <STC_NEW_8051.h></p><p

89、>  #include <intrins.h></p><p>  #include <AD.h></p><p>  #include <lcd1602.h></p><p>  #include <keyscan.h></p><p>  #include <f_out.h>

90、;</p><p>  #include <display.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  void main()</p><p><b>  {&l

91、t;/b></p><p>  initTimer();</p><p>  EA=1;//允許中斷</p><p>  TR0=1;//開啟定時(shí)器0</p><p>  ET0=1;//允許</p><p>  EA=1;//開中斷總開關(guān)

92、</p><p>  LCD_INIT(); //液晶初始化</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  keyscan();</p><p>  if(key==2) dis_f();<

93、/p><p>  if(key==5) dis_a();</p><p>  if(key==6) dis_b();</p><p>  if(key==7) dis_c();</p><p>  dis_main();</p><p><b>  }</b></p><

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論