




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘要本設計是基于單片機stc而設計的純正弦波逆變電源。額定輸入電壓為12v的直流電,輸出為50hz,220v的交流電。額定輸出功率為300w。設計了全方位的保護電路。包含了可以根據溫度來控制散熱風扇的開啟。實現了輸入低壓、過壓的關斷功能。當輸入的電壓過低時,停止逆變,可以防止損壞蓄電池,當輸入的電壓過高時,停止逆變,可以防止損壞芯片。擁有輸入防反接功能,當輸入正負極接錯時,關斷輸入與后級電路的連接,不會燒壞芯片或蓄電池。采用了一個液晶屏來顯示輸出的電壓,輸出頻率等信息。采用了兩個發光二極管來指示工作狀態。采用了一個蜂鳴器,當產生錯誤時,發出蜂鳴報警。輸出的交流電為標準的正弦波,而不是方波或修正
2、波,可以實現更寬范圍的帶負載能力。根據測試,轉換效率在85%以上,輸出穩定,達到了良好的實驗效果。關鍵詞:單片機,逆變電源,正弦波,反接保護abstractthe design is based on stc microcontroller designed for pure sine wave inverter. rated input voltage of 12v dc, output is 50hz, 220v ac. rated output power of 300w. designed a full range of protection circuits. can be incl
3、uded to control the temperature on the cooling fan. achieve a input voltage, overvoltage shutdown function. when the input voltage is too low, the inverter is stopped, to prevent damage to the battery, when the input voltage is too high, the inverter is stopped to prevent damage to the chip. has the
4、 input anti-reverse function when the input is negative then the wrong time, and after the shutdown input stage circuit connections will not burn chips or batteries. uses a liquid crystal screen to display the output voltage, output frequency and other information. uses two light emitting diodes to
5、indicate the operating status. uses a buzzer when an error occurs, the alarm beeps. the standard ac output sine wave, rather than a square wave or modified wave, a wider range can be achieved with a load capacity. according to the test, the conversion efficiency of more than 85%, stable output, to a
6、chieve a good experimental results.key words:mcu, inverter, sine wave, reverse polarity protection目 錄1引言31.1系統研究的背景41.2 系統研究的意義52 系統的工作原理與結構52.1系統的工作原理52.2系統的硬件結構92.3系統的軟件設計103 系統的硬件設計113.1主控制器113.2 dc-dc模塊123.3 dc-ac模塊163.4 保護模塊213.5直流5v電路設計243.6顯示與報警模塊254.系統的軟件設計264.1開發環境介紹274.2 spwm程序設計304.4液晶驅動程
7、序設計364.5 輸出采樣程序設計405結束語42致謝43參考文獻43附錄一系統原理圖44附錄二系統源程序451 引言1.1系統研究的背景逆變電源是指將直流電源轉換為交流電源的的裝置。隨著光伏發光的推廣,汽車和車載電器數量的增加,ups的廣泛應用,逆變電源的應用場合也越來越多,成了電力電子技術中不可缺少的部件。而隨著電子技術的發展,逆變電源也有一個高速發展的歷程。最早的逆變系統采用的是,通過將直流電源供給直流電動機,直流電機通過機械傳動帶動交流發電機,來完成直交流的轉換。這種轉換方式占用空間大,重量大,產生一定的噪聲,而且效率十分低下。到二十世紀六、七十年代,晶閘管的問世使得逆變電源的技術得到
8、了發展。逆變電源開始廣泛使用晶閘管來作為主要器件,與傳統的機械式轉換相比,效率明顯提高。但缺點也十分明顯,轉換的波形為方波,而不是正弦波,無法帶動電感類負載。限于晶閘管的功率,電源的輸出功率較小。進入八十年代以后,電子元件的種類也越來越多,誕生了功率場效應管、mos管、可關斷晶閘管、電力用晶體管、絕緣柵極晶體管等類型的功率型器件。這些器件的出現為逆變電源技術的高速發展奠定了堅實的基礎。使得逆變電源從容量到頻率等參數越來越高,占用的體積減小,逆變轉換效率提高,各種品質指標也進一步提升。進入21世紀以后,隨著微電子技術的發展,逆變電源在設計上,也漸漸使用微電子元件。得益于微電子元件的精密程度,逆變
9、電源的輸出的穩定性,波形的精確度等都得到了保證。目前的逆變電源按照輸出波形可分為三種。第一種是方波逆變電源。輸出波形是標準的方波。這種逆變電源的優點是結構簡單,轉換效率較高,技術成熟。缺點是變壓器和濾波器的體積、重量較大,工作的噪音較大。而由于輸出波形是方波,上升和下降是突變的,當負載為感性負載時,由于電感對儲能特性,會產生尖峰脈沖高壓。造成負載或電源的損壞。第二種是修正波逆變電源。輸出波形是將多個方波疊加而成的修正正弦波。大大減小了輸出波形的諧波含量。與方波逆變電電源相比,性能得到了很大的提升。第三種是純正弦波逆變電源。其輸出波形為諧波含量很小的正弦波。與市電相比波形基本一致??梢詭铀蓄?/p>
10、型的負載。但缺點是技術不夠成熟。成本較高。1.2 系統研究的意義一方面目前私家車已經走進千家萬戶,而車內可使用電器卻因為電源受到諸多的限制。汽車的攜帶的蓄電池輸出直流12v,而大部分電器的額定電壓是市電交流220v。而目前常見的車載逆變電源有諸多缺點。如無輸入低壓保護,超額使用后,導致汽車無法啟動。沒有設計顯示屏,用戶無法查看輸出參數。沒有配置短路保護,過載保護等。另一方面隨著太陽能發光的大力推廣,逆變電源在太陽能發光的過程中有著不可缺少的作用。太陽能發光是將光能轉換為電能存儲在蓄電池中。而人們使用的家電無法直接通過蓄電池供電。必須通過逆變電源將直流電轉換為交流電。隨著逆變電源應用的場合越來越
11、多,對逆變電源技術的發展要求也越來越高。目前逆變電源的設計多采用純硬件設計的分立式元件組成的結構。隨著人們使用的電器數量和種類的增加,對逆變電源的波形、容量等參數的要求也越高,使得設計的逆變電源的復雜度也越來越高,采用的元件也越來越多。而由于元件數量過多,造成的電源穩定性較差,往往由于某一個元件的質量差而導致整個系統的損壞。而且傳統逆變電源基于模擬元件的設計,沒有可編程的能力,使得逆變電源的可擴展能力差,沒有顯示功能等問題。因此針對單片機來作為逆變電源主控制芯片的研究顯的十分重要。2 系統的工作原理與結構2.1系統的工作原理逆變電源是一種將低壓直流電轉換為高壓交流電的過程。一個直流電源對一個負
12、載的兩端輪流供電時便在負載的兩端形成一個交流電的過程。工作模型如圖2-1所示。圖2-1 逆變電源工作模型當圖中的s1、s4閉合,s2、s3斷開時。電流從負載的左側流向右側。負載兩端的電壓u0是一個正電壓。電流方向和波形如圖2-2所示。圖2-2 s1、s4閉合時的電流方向和波形當圖中的s2、s3閉合,s1、s4斷開時。電流從負載的右側流向左側。負載兩端的電壓u0是一個負電壓。電流方向和波形如圖2-3所示。圖2-3 s2、s3閉合時的電流方向和波形當開關開始和閉合的速度很快時,負載兩端的電壓便形成了一個交流電的過程。實際應用中,只要將圖中的開關,改為可控的開關器件,這些開關器件組成的電路稱為全橋。
13、全橋逆變電源主電路結構如圖2-4所示。圖2-4 全橋逆變電源結構圖v1、v2、v3和四個開關管以及vd1、vd2、vd3和vd4四個續流二極管構成了左右兩個橋臂。在任何時刻,左右兩個橋臂的上下兩個開關器件不可以同時打開,否則輸入電源將短路。四個開關器件也不可同時判斷,否則輸出出現不可控的狀態。這些開關器件的控制信號可以采用周期調制信號。而這些周期信號經過正弦脈寬調制,稱為spwm調制,電路結構稱為spwm全橋結構。典型的spwm調制方式有兩種,分別為單極性調制和雙極性調制。單極性調制是指全橋的輸出包括正負兩個電平,輸出載波頻率與開關工作頻率相同。單極性調制的波形圖如圖2-5所示。圖2-5 單極
14、性調制波形圖在ur和uc的交點時刻控制開關管的通斷,uof表示uo的基波分量。在波形ur的正半周,v1的狀態為通, v2的狀態為斷。在uruc時, v3的狀態為斷, v4的狀態為通。此時的uo=ud。在uruc時,v3的狀態為通, v4的狀態為斷。此時的uo=0。在uruc時,開關管v1和v4的狀態為通, 開關管v2和v3狀態為斷。此時的uo=ud。在ur2qg/(vcc101.5)。經過計算,本次設計的自舉電容為100uf/35v。自舉二極管是組成自舉電路的重要的自舉器件,主要作用是阻斷直流干線上的高壓。自舉二極管所需承受的電流是柵極電荷與開關頻率之積。本次設計采用的自舉二極管為恢復二極管f
15、m1s。該二極管擁有較小的反向漏電流,可以有效的減小電荷損失。3.3.2 開關電路的設計本次設計中開關管的輸入電壓在400v左右,輸出功率在300w以上。因此必須使用功率足夠的功率開關管。本次設計采用的是irf840作為開關管。irf840的最大漏源電壓在500v,漏極電流為8a左右,足以滿足本次設計的要求。設計的電路如圖3-8所示。圖3-8 開關電路原理圖開關管的控制信號為ir2110s隔離后的spwm正弦波,輸入電壓為400v左右的直流電,經過spwm波形調制后,輸出220v,50hz的正弦波交流電。經過后級的lc濾波電路后,使輸出波形的更加純凈。3.3.3 lc濾波電路設計為了濾除開關管
16、輸出的交流電中高頻成分,以及增強電源的emi特性。設計了一個lc濾波電路。電路原理圖如圖3-9所示。圖3-9 lc濾波電路l1采用的是磁環繞制導線而成的差模電感。磁環為直徑40mm的鐵硅鋁材料制作。采用1.18的線在磁環上繞90圈左右,使用的線長在4.5米左右。磁環的導磁率為125,電感量為1.5mh,導磁率為60。繞制時分兩層,第一層為45圈,內圈的線緊密繞制,外圈線的每圈留有一個空隙。第二層為45圈,內圈疊在第一層線上,外圈嵌在第一層的空隙中。3.4 保護模塊3.4.1 溫度保護本設計有兩路溫度控制電路。一個是當溫度超過一定值時開啟散熱風扇。另一個是作為dc-dc模塊的溫度補償模塊,當溫度
17、過高時,停止前級dc-dc的轉換。散熱風扇的控制采用的是熱保護器ksd9700。ksd9700是由兩片不同材料的金屬片組成的。正常溫度情況下,兩個金屬片斷開,相當于開關斷開。風扇不工作。當金屬片感知溫度超過40攝氏度時,兩個金屬片粘合,相當于開關閉合,此時風扇開始工作。當溫度恢復正常時,兩個金屬片又重新斷開。設計的電路如圖3-10所示。圖3-10 散熱風扇電路設計dc-dc模塊的溫度補償傳感器采用ntc熱敏電阻。熱敏電阻接入dc-dc模塊中pwm脈沖產生芯片sg3525的關斷端。當溫度過高時,sg3525停止工作。3.4.2輸入保護輸入的保護主要有三部分。一是防止輸入反接。二是防止輸入電壓過低
18、。三是防止輸入電壓過高。逆變器的輸入端為直流輸入,存在輸入接反的可能性。因此,設計了一防反接電路。當接反時,切斷電源的輸入,防止損壞后級電路。設計的電路如圖3-11所示。圖3-11 反接保護原理圖當輸入電源正確接入時,mos管體二極管正向導通,mos管的柵極電壓大于源極電壓,因此mos管導通。后級負載正常工作。當輸入電源接錯時,二極管反射截止,mos的截止,電路中沒有電流流過,切斷了后級負載與電源的連接。電路中ri1與電容ci1為緩沖電路,防止上電瞬間電壓過高損壞mos管。z1為穩壓管,防止mos管的柵極和源極兩端電壓過高,損壞mos管。輸入電壓保護采用一個lm324運放組成的電壓比較器。當輸
19、入電壓過高或過低時,關斷dc-dc模塊中pwm的產生,即可停止轉換。同時,輸出一個信號控制蜂鳴器發出蜂鳴聲報警。設計的電路如圖3-12所示。圖3-12 輸入電壓保護電路原理圖3.4.3輸出保護輸出保護的設計采用的是從開關管的輸出部分取樣,反饋到一個lm393組成的電壓比較器,一路送入單片機的ad端,經過ad轉換后修正輸出。另一路送入ir2110s的關斷端(sd端)。當ir2110s的sd端接收到信號后,停止驅動隔離,則不再輸出spwm波形。有效的保護的電路。設計的電路如圖3-13所示。3-13 輸出保護電路原理圖3.5直流5v電路設計系統輸入的電壓為直流的12v,輸出為交流220v,而系統內各
20、芯片工作電壓為直流5v。因此需要設計一個直流5v的產生電路,作為芯片的電源使用。本設計采用的方案為將輸入的12v直流電壓經過7805三端穩壓集成電路,芯片輸出穩定的直流5v電源。7805包含三條引腳,分別是輸入、輸出端和接地端。因此,所組成的穩壓電路也十分簡單,僅需配置幾個濾波電容,便可以組成一個穩壓電路。芯片內部已經集成了過流、過熱的保護電路。設計的穩壓電路如圖3-14所示。3-13 直流5v電源原理圖3.6顯示與報警模塊3.6.1液晶顯示本設計采用的液晶顯示是12832液晶模塊。常見的液晶模塊的驅動方式有三種,分別為靜態驅動、單矩陣驅動和主動矩陣驅動。矩陣驅動系統包括行驅動器,列驅動器,偏
21、壓電路,電源等電路。行寄存器在內部的數據傳輸為串行方式,列寄存器有兩種數據傳輸方式,一種是串行傳輸,一種是并行數據傳輸。12832液晶模塊引腳定義如表3-2所示。引腳名稱功能說明1vo亮度調整,外部接電阻2vr亮度調整,外部接電阻3gnd地4vcc電源5nc保留端6rs(cs)并行:選擇寄存器;串行:數據寄存器片選端7rw(sid)并行:讀寫控制器;串行:數據輸入端8e(sclk)并行:讀寫數據起始端;串行:輸入脈沖9d0數據0位,僅在并行有效10d1數據1位,僅在并行有效11d2數據2位,僅在并行有效12d3數據3位,僅在并行有效13d4數據4位,僅在并行有效14d5數據5位,僅在并行有效1
22、5d6數據6位,僅在并行有效16d7數據7位,僅在并行有效17psb控制信號,0為串行,1為并行18rst低有效的復位信號19lk液晶內部背光源負極20la液晶內部背光源正極表3-2 lcd12831管腳為了節約管腳的使用,簡化電路連接,本次設計采用的是串行口連接。當psb引腳連接低電平時,液晶進入串行工作模式。在串行工作模式下,根據同步時鐘線sclk和串行數據線sid配合完成數據的發送與接收。設計的電路如圖3-13所示。圖3-13 液晶顯示模塊原理圖3.6.2蜂鳴器報警當輸入電壓過高或過低時,會通過蜂鳴器產生蜂鳴聲,蜂鳴器的電路設計如圖3-14所示。圖3-14 蜂鳴器電路原理圖4.系統的軟件
23、設計硬件是一個設計的身體,而軟件則是一個設計的靈魂。兩者缺一不可。因此,對系統的軟件設計也很重要。系統的軟件設計步驟有三個,一是選擇開發環境的,即程序的編寫、調試、編譯等操作的環境與軟件;二是各功能模塊程序的設計;三是最終的程序調試,以實現要求的功能。4.1開發環境介紹本次設計采用keil uvision3軟件,由于keil uvision3的庫中并不包含stc系列的單片機,但stc與51系列單片機的內核相同。因此,可以選擇51的內核,在程序中加入stc12c5410ad單片機宏定義的頭文件即可使用。創建的步驟如下。首先需要新建一個文件夾,用于存放程序的工程文件。新建文件夾完成后啟動keil
24、uvision3軟件。之后新建一個工程,并將該工程保存在新建的文件夾中。創建工程的步驟為,點擊project下的new project菜單,彈出一個對話框。在對話框中選擇保存該工程的文件夾和工程名。將該工程保存在新建的文件夾中。點擊保存按鈕即可。如圖4-1所示。圖4-1 新建工程點擊保存按鈕后,需要選擇單片機型號。選擇atmel的at89c51即可。選擇之后,點擊確定按鈕。如圖4-2所示。圖4-2 選擇型號我們不需要仿真的配置文件,因此,在彈出的是否添加仿真配置文件的對話框中,選擇“no”。如圖4-3所示。圖4-3 添加仿真配置一個新的工程創建成功。工程創建完成后,需要新建一個程序文件。點擊f
25、ile下的new菜單,在軟件中彈出一個新的文本輸入窗口。默認文件名為text1,在該窗口中可以輸入源程序。如圖圖4-4所示。圖4-4 新建程序文件源程序輸入完成后,點擊保存。將該程序文件保存在工程的目錄下。文件名需要加上擴展名,本次設計的程序設計采用c語言編寫,因此,將程序文件命名為main.c。程序文件雖然創建保存成功,但并沒有與工程關聯,加入到工程中。因此,需要將程序文件加入到工程中。右擊左側目錄樹中的“source group1”,在彈出的下拉菜單中選擇“add file to group”,出現一個對話框,雙擊創建的main.c即可,關閉對話框完成向工程中添加文件。如圖圖4-5所示。圖
26、4-5 添加文件程序文件添加完成后,需要將編寫的程序編譯成單片機能識別的hex文件。右擊“target 1”,在彈出的菜單中選擇“options for target target1”。選擇“output”選項卡,將“create hex file”項打鉤,點確定。便會在編譯時,在工程文件的目錄中產生hex文件。編譯的快捷鍵是f7。每次修改程序后,按f7,都將重新產生一個hex文件,新hex文件將覆蓋舊文件。編譯完成后,在軟件的下方狀態欄中可以查看該程序生成的代碼大小。4.2 spwm程序設計單片機stc12c5410ad自帶四路可編程計數器陣列pca/pwm模塊電路,只需配置相關的寄存器便可
27、產生標準的pwm波形。spwm也是pwm的一種,是指在pwm的基礎上改變了調制方式,沖量相等形狀不同,脈沖的寬度按照正弦規律變化,輸出波形即為正弦波。stc12c5410ad單片機pca模塊輸出管腳如表4-1所示。管腳第一功能第二功能15p3.7pca0/pwm09p3.5pca1/pwm126p2.0pca2/pwm210p2.4pca3/pwm3表4-1 pca/pwm模塊管腳對應表stc12c5410ad內部的pca模塊是一個16位的特殊功能的定時器,連接了四個捕獲/比較模塊。pca定時器決定了這四個模塊的時間基準。pca模式寄存器cmod的位定義如表4-2所示。名稱地址bit7bi6b
28、it5bit4bit3bit2bit1bit0cmod0xd9cidl-cps1cps0ecf表4-2 cmod寄存器定義表中的cpsl和cps0位是pca計數脈沖選擇位。兩個位的決定了pca脈沖源輸入。pca計數脈沖選擇如表4-3所示。cps1cps0脈沖源00系統時鐘/1201系統時鐘/210t0的溢出脈沖11eci外部時鐘表4-3 pca計數脈沖選擇表pca/pwm模塊共有四種工作模式,分別為:上升/下降沿捕獲模式,pwm脈沖輸出模式,軟件定時器模式,高速輸出模式。spwm生成主要工作pwm脈沖輸出模式。 pwm輸出模式的框圖如圖4-6所示。圖4-6 pwm輸出模式的框圖當工作在pwm脈
29、沖輸出模式時。cl的值小于epcn時,輸出為低。當cl的值大于或等于epcn時,輸出為高。當cl的值為ff時,繼續增加將產生溢出,溢出時變為0,此時epcn的值裝載到epcnl和ccapnl中。從而實現了在更新pwm時,不會產生干擾。ccapmn寄存器中的pwmn位和ecomn位置位時可以使能pwm模式。本次設計采用的spwm波形通過軟件中斷的形式來實現,綜合使用了pwm模式和16位定時器模式。中斷服務子程序流程圖如圖4-7所示。圖4-7 中斷服務程序流程圖設計的中斷服務子程序如下。void int_time0(void) interrupt 1th0=0xfe;/重裝初值tl0=0x09;/
30、重裝計數值/tr0=1;/使能定時器ccap0h=pwm0;/裝入第一路脈沖寬度值/ccap1h=pwm1; /裝入第二路脈沖寬度值/ccap2h=pwm2; /裝入第三路脈沖寬度值/ ccap3h=pwm3; /裝入第四路脈沖寬度值/ k+;/中斷次累計 if(k159)/正半周/i=k;/重新賦值pwm_1=m*pwmi/216;/計算寬度值 pwm1=(unsigned char)pwm_1;/轉換為8位數值pwm2=0; /清0 else if(k318)/負半周的程序/j=k-159;pwm1=0;/清0pwm_2=m*pwmj/216; /計算寬度值 pwm2=(unsigned
31、char)pwm_2; /轉換為8位數值pwm1=0; /清0 else/周期結束/k=0;/清0i=k; /清0pwm_1=m*pwmi/216;pwm1=(unsigned char)pwm_1; pwm2=0;voltage_regulation();/占空比調整實現穩壓v_bat=ad(ad_battery)*400/256; /取得電壓的值i_out=ad(ad_iout)*i_c/256; /取得電流 stc12c5410ad產生spwm波形的基本原理是將載波周期值賦給ccap1h和ccap1l。pca定時器的ch與ccap1h,cl與ccal1l比較,兩者相等時,產生中斷。在中斷
32、的服務程序中,將下一個spwm波要求的脈沖寬度裝載到ccapol中。spwm波形脈寬示意圖如圖4-8所示。圖4-8 spwm波形脈寬示意圖脈沖寬度值需要通過matlab來計算出220v,50hz交流電的正弦表,本次設計選出了159個典型值,存入數組中。選出的正弦數組如下。unsigned char code pwm159=0,4,8,13,17,21,25,29,34,38,42,46,50,54,59,63,67,71,75,79,83,86,90,94,98,102,105,109,113,116,120,123,127,130,134,137,140,143,147,150,153,15
33、6,159,161,164,167,170,172,175,177,179,182,184,186,188,190,192,194,196,198,199,201,203,204,205,207,208,209,210,211,212,213,213,214,214,215,215,216,216,216,216,216,216,215,215,214,214,213,213,212,211,210,209,208,207,205,204,203,201,199,198,196,194,192,190,188,186,184,182,179,177,175,172,170,167,164,16
34、1,159,156,153,150,147,143,140,137,134,130,127,123,120,116,113,109,105,102,98,94,90,86,83,79,75,71,67,63,59,54,50,46,42,38,34,29,25,21,17,13,8,4;脈沖寬度值通過正弦表格的形式存入程序中的數組中,在每個載波周期,調取對應的數值。程序的設計流程如下。(1) 將pca模塊0的工作模式通過寄存器定義為8位的pwm模式。(2) 16位計數/定時器ch、cl清0。(3) pca模式輸助寄存器清0。(4) pca比較/捕獲模塊寄存ccapmn定義為使能比較模式,匹配中
35、斷設為允許。(5) 將脈沖寬度值sinn裝入ccapnh。(6) 開pca模塊中斷及總中斷。(7) 啟動pca計數。(8) 直到最大數值n,完成循環。經過以上的步驟后,在對應的pwm引腳上不斷的產生隨著正弦規律變化的脈沖寬度,顯示出來的便為準確的spwm波形。寄存器定義的實現程序如下。void pwm_init() cmod=0x02; /該指令為選擇pca計數器的工作頻率輸入源/ ccon=0x00; /將計數器和溢出標志清零/ cl=0x00; /將計數器的低8位清零/ ch=0x00;/ 將計數器的高8位清零/ ccapm0=0x42; /設置第一路pwm口/ ccapm1=0x42;
36、/設置第二路pwm口/ ccapm2=0x42; /設置第三路pwm口/ ccapm3=0x42; /設置第四路pwm口/ ccap0l=0x00; /清空第一路的比較/捕捉寄存器的低8位/ ccap0h=0x00; /清空第一路的比較/捕捉寄存器的高8位/ ccap1l=0x00; /清空第二路的比較/捕捉寄存器的低8位/ ccap1h=0x00; /清空第二路的比較/捕捉寄存器的高8位/ ccap2l=0x00; /清空第三路的比較/捕捉寄存器的低8位/ ccap2h=0x00; /清空第三路的比較/捕捉寄存器的高8位/ ccap3l=0x00; /清空第四路的比較/捕捉寄存器的低8位/
37、ccap3h=0x00; /清空第四路的比較/捕捉寄存器的高8位/ cr=1;/使能pca計數器/4.4液晶驅動程序設計本設計采用的12832液晶屏的控制器為臺灣矽創公司生產的st7920。具有較強的控制顯示功能。在程序編寫時,僅需根據指令集輸入對應的指令便可實現對液晶屏顯示的控制。常用的操作指令有如下幾個命令。(1)設定ddramddram是指display data ram,可以設置顯示地址計數器。第一行地址為80h到87h,第二行的地址為90h到97h。(2)設定cgram即輸入要顯示的字符的ascii碼。(3)設定進入點在顯示數據時,光標的移動方向,即位地址計數器是遞增還是遞減。(4)
38、顯示狀態控制顯示的開關,光標的開關,反白或正常顯示。(5)讀取忙碌標志讀取忙碌標志位bf,可以查看上條指令是否完成。返回值包含了位地址計數器的數據。在每次發送指令前,都要判斷忙碌標志位。在對液晶屏進行顯示之前要根據這些常用指令對液晶進行初始化操作。初始化的程序流程如圖4-9所示。圖4-9 液晶初始化流程圖設計的液晶屏初始化程序如下。void init_lcd (void)/lcd的初始化程序 psb=0;/置為串行工作模式 wr_lcd (comm,0x30); /*30h,選擇基本指令集模式*/ wr_lcd (comm,0x01);/*31h,清屏命令,將地址指針設在00h*/ delay
39、 (100);/延時 wr_lcd (comm,0x06); /*設置光標的移動方向為向右*/ wr_lcd (comm,0x0c); /*將顯示打開,關閉光標的顯示*/當片選端cs=0時,同步時鐘線sclk無效,數據無法輸入。當片選端cs=1時,同步時鐘線sclk有效??梢哉5妮斎霐祿?。cs從0跳變到1時,將要傳輸的一組串行數據計數重新定義第一位。12832液晶模塊的串行工作模式的時序如圖4-10所示。圖4-10 lcd 12832串行模式時序圖單片機向液晶模塊發送一個字節的數據時,一共需要24個有效的時鐘脈沖。首先傳輸5位全是1的同步位元字串,實現的功能是重置傳輸計數以及同步串行傳輸。后
40、兩個位元為rw和rs。rw代表了數據的傳輸方向,即控制讀數據或寫數據。rs代表了數據與指令的選擇,即本次發送的命令為數據或指令。第8位位元為固定的0。在前8位數據傳輸完成后,將傳輸一個字節的命令。一個有效的一字節命令分兩將傳輸,第一次傳輸命令的高4位,低4位置0,組成一個字節傳輸。第二次傳輸命令的低4位,低4位置0,組成一個字節傳輸。將這24位數據傳輸完成后,便完成一次數據的發送或接收。根據該時序圖設計的程序如下。void wr_lcd (uchar dat_comm,uchar content)/液晶屏發送數據子程序/兩個參變量,第一個定義了命令是數據還是指令,第二個為具體的內容uchar
41、a,i,j;/定義臨時變量delay (50);/延時a=content;/賦值命令的內容cs=1;/置cs為1sclk=0;/置sclk為0sid=1;/置sid為1,前5個1為同步元字串for(i=0;i5;i+)/發送5次時鐘sclk=1;/將時鐘線置1sclk=0;/將時鐘線置0/產生了一個下降沿,即為一個有效的時鐘脈沖sid=0;/置sid為0,即為寫指令sclk=1;/置sclk為1sclk=0;/置sclk為0,產生一個時鐘脈沖if(dat_comm)/判斷是指令還是數據sid=1; /如果1,則為數據,將sid置1elsesid=0; /如果0,則為命令,將sid置0sclk=1; /置sclk為1sclk=0; /置
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會計顧問考試題及答案
- 電力應急面試題及答案
- 暑期托管測試題及答案
- 導游考試題集及答案
- 大學古風面試題及答案
- 中醫橈骨骨折護理常規
- 作業治療園藝活動
- 快餐管理培訓課件
- 中國傳統團扇課件
- 中醫治未病在健康體檢中的創新應用
- 中國近代史綱要-期末考試復習重點
- 企業法務概論智慧樹知到期末考試答案2024年
- (高清版)DZT 0331-2020 地熱資源評價方法及估算規程
- GB/T 7939.1-2024液壓傳動連接試驗方法第1部分:管接頭
- 低壓配電系統維護保養及操作規程
- 肝癌科普講座課件
- 學齡兒童多動癥ADHD診治指南課件
- 石膏固定術課件
- 實習生-OFFER正式通知函
- 閑魚開店運營計劃書模板
- 雙一流大學完整版本
評論
0/150
提交評論