第一篇:基于MSP430單片機的太陽能LED自行車顯示系統設計論文
摘 要:本文介紹了太陽能LED自行車顯示系統的硬件構成、主要部件和器件的選型原則及系統的軟件框架。在MSP430單片機系統控制下,4條LED燈條實現文字,圖片的穩定顯示,并且配合傳感器可以進行車速檢測,穩定顯示等作用。整個系統充分利用了LED壽命長、光效高、無輻射與低功耗的特點,最大程度地簡化了硬件電路,使系統具有較高的性價比和可靠性。
關鍵詞:動屏顯示;自行車LED裝飾;POV LED
0 引言
LED壽命長、光效高、無輻射與低功耗,基于太陽能LED的自行車顯示系統穩定可靠、方便快捷,以自行車作為傳媒載體,打破了目前市場上的廣告大多通過平面報刊、電視電臺、手機網絡等進行宣傳的傳統方法,較之更有廣泛的群眾基礎和性價比。本作品充分考慮了LED在我國的良好市場前景,以及自行車的廣大群眾基礎,將兩者完美的結合在一起,相得益彰。
1.自行車LED顯示系統簡介
本文介紹的自行車車輪LED顯示系統是通過安裝在自行車輪輻上的LED旋轉形成較清晰畫面的裝置。其工作原理是:在自行車車輪上對稱地安裝4條LED燈條,每條燈條上有32個獨立的高亮LED以及燈條外側有一霍爾傳感器,燈條上的LED采用矩陣形式使得線路簡化I/O口占用較少,白天的時候太陽能電池通過TP4056充電芯片為鋰離子電池充電,晚上時整個系統開始工作,LED燈條彼此配合利用人眼的視覺惰性在自行車輪輻上顯示出畫面來。
自行車車輪LED顯示系統結構框圖如圖2所示,由太陽能電池、充電電路、鋰電池、電源穩壓電路、MSP430單片機控制系統、LED燈條、傳感器等主要部分組成。該系統具有充電過程自動調節、根據環境光強自動啟動顯示電路,顯示畫面隨車輪轉速自動調節等功能。
2.系統硬件設計
2.1 系統電源設計
在系統的整體設計時,估算本系統的總功耗為0.264W(系統電壓3.3V電流0.08A)。市面上一塊50X50mm的太陽能電池,一般輸出功率為0.35W(5V/0.07A),因為白天充電時間大于晚上使用時間,所以滿足系統要求。充電電路白天為系統鋰電池充電,同時提供太陽能電池電壓信號給單片機,單片機通過辨別外界光強從而確定是否啟動LED燈條。
2.2 系統主控芯片
主控芯片選用MSP430F149單片機,采用精簡指令集(RISC)結構,數據存儲器都可以參加多種運算,功能強,運行速度快,在3V工作電壓主頻為1MHz下最大功耗為430uA,在低功耗模式下最小功耗可以降為0.1uA,功耗極低。同時MSP430有6組I/O口滿足系統需要。
2.3 LED燈條設計
本系統利用人眼的視覺暫留,讓LED燈條快速在人的眼前形成畫面。LED燈條以陣列的形式,通過本身的移動來顯示文字,依靠車輪轉動帶動燈條移動,實現文字或圖案的顯示。
在LED燈條數的選取上,以人眼的視覺暫留時間為0.1秒計自行車一般行駛的速度為20km/h,為獲得良好的顯示效果則需要LED顯示的刷新率為0.1s也就是10次每秒,自行車輪每轉一圈前進2m,自行車速v=20km/h=5.56m/s。若自行車輪周長l=2m,刷新率為 10次/秒,車速為20km/h則自行車輪安裝LED燈條條數n=10*l/v,經過計算得出n為4時成本最低,效果較好。
LED燈條采用4X4矩陣布局,在每個節點上安裝兩個極性相反的LED,即在一個節點的兩端控制電流的方向就能控制在該節點是哪個LED點亮。用該種LED陣列可以讓32個獨立的LED用8根導線控制,大大減少了成本已經系統端口的占用。
2.4 傳感器設計
為了使每一次顯示的畫面都能穩定,且顯示的位置相對自行車固定則需要在系統上加裝傳感器,因為自行車輪相對自行車是旋轉的,所以采用非接觸式傳感器--霍爾傳感器,在自行車車架上安裝磁鐵,當霍爾傳感器接近磁鐵時則會有一次電平跳變,單片機檢測這一電平跳變進行數據顯示輸出,以及進行測速和顯示的調整。
3.系統軟件設計
3.1系統主程序軟件設計
本系統由主程序、LED顯示子程序和顯示校正子程序組成。系統供電后進入到低功耗模式,充電電路與單片機連接,外界無陽光時停止充電,此時低電平觸發單片機中斷,退出低功耗模式,系統開始工作,檢測LED燈條是否經過磁鐵。若檢測到LED燈條的傳感器電平跳變時則執行LED燈條子程序。
在LED燈條1檢測到傳感器信號跳變時單片機還啟動內部的計數器,等到LED燈條2傳來跳變信號時停止計數器,進入顯示校正子程序。系統的主程序流程圖如圖3所示。
3.2燈條顯示子程序
在系統進入到LED顯示子程序后,從內存中讀取需要顯示的數據,顯示數據為四組2位16進制數,對應燈條上的每一個LED。程序從LED1到LED32依次與顯示數據進行比較,相同的點亮該LED。當1列LED比較完畢后進入到循環程序,循環次數越多,字的顯示時間越長。通過控制循環的次數就能控制在不同的車速下都能顯示出穩定的圖像來。
當循環結束后在從內存中讀取下一列需要顯示的數據,直到顯示結束。
3.3顯示校正子程序
因為自行車車速是實時變化的,固定方法顯示的畫面肯定不穩定。于是采用計算兩個傳感器反饋的電平信號的時差計算出當前的車速,修改燈條顯示子程序內的循環變量的辦法,達到校正的目的。同時當自行車車輪轉速較慢或不轉時,內部計數器溢出,此時系統進入低功耗模式LED燈關閉。
4.結束語
本系統能源利用低碳環保。太陽能光電池的安裝使本系統清潔,高效,無污染,完全符合全球倡導的低碳理念。同時文字顯示穩定可靠。整個系統充分利用了LED壽命長、光效高、無輻射與低功耗的特點最大程度地簡化了硬件電路,使系統具有較高的性價比和可靠性。
參考文獻:
[1] 徐開蕓,汪木蘭,邵宇峰,鄧 樂等.可折疊便攜式微型太陽能光伏電站控制系統設計[J].1002-6673(2008)TP273.5,TK514
[2] 沈建華,楊艷琴等.MSP430系列16位超低功耗單片機原理與實踐[M].北京:北京航空航天大學出版社,2008.
第二篇:基于單片機的逆變電源系統設計
第一章 逆變電源的數字化控制 2 1.1逆變電源數字化控制技術的發展 2 1.2傳統逆變電源控制技術 2 1.2.1傳統逆變電源控制技術的缺點 2 1.2.2傳統逆變電源控制技術的改進 2 1.3逆變電源數字化控制技術的現狀 2 1.3.1逆變電源控制技術數字化、智能化、網絡化 2 1.3.2逆變電源數字化需要解決的一些難題 2 1.4逆變電源數字化的各種控制策略 2 1.4.1數字PI控制 2 1.4.2滑模變結構控制 2 1.4.3無差拍控制 2 1.4.4重復控制 2 第二章 推挽型逆變器的基礎知識 2 2.1 開關型逆變器 2 2.2 推挽型電路 2 2.2.1 線路結構 2 2.2.2 工作原理 2 2.2.2推挽型逆變器的變壓器設計 2 第三章 基于單片機的控制系統設計 2 3.1 系統硬件電路的設計 2 3.1.1 AT89C52單片機 2 3.1.2顯示電路 2 3.1.3 A/D轉換電路 2 3.1.4 SPWM波形電路 2 3.1.5 SA828主要特點 2 3.1.6 SA828工作原理 2 3.1.7內部結構及工作原理 2 3.1.8 SA828 初始化寄存器編程 2 3.1.9 SA828控制寄存器編程 2 3.2 系統軟件的設計 2 3.2.1 初始化程序 2 3.2.2 主程序 2 3.2.3 SA838初始化及控制子程序 2 3.2.4 ADC0809的控制及數據處理子程序 2 3.2.5 數據處理及電壓顯示子程序 2 3.2.6 輸出頻率測試計算及顯示子程序部分 2 第四章 聯機調試及結果分析 2 4.1 聯機調試情況 2 4.2 實驗驗證及結果分析 2 4.3結論 2 參考文獻 2 第一章 逆變電源的數字化控制
1.1逆變電源數字化控制技術的發展 隨著網絡技術的發展,對逆變電源提出了更高的要求,高性能的逆變電源必須滿足:高輸入功率因數,低輸出阻抗;暫態響應快速,穩態精度高;穩定性高,效率高,可靠性高;電磁干擾低等。要實現這些功能,離不開數字化控制技術。1.2傳統逆變電源控制技術
1.2.1傳統逆變電源控制技術的缺點 傳統的逆變電源多為模擬控制系統。雖然模擬控制技術已經非常成熟,但其存在很多固有的缺點:控制電路的元器件比較多,電路復雜,所占的體積較大;靈活性不夠,硬件電路設計好了,控制策略就無法改變;調試不方便,由于所采用器件特性的差異,致使電源一致性差,且模擬器件的工作點的漂移,導致系統參數的漂移。模擬方式很難實現逆變電源的并聯,所以逆變電源數字化控制是發展的趨勢,是現代逆變電源研究的一個熱點。1.2.2傳統逆變電源控制技術的改進
為了改善系統的控制性能,通過模擬、數字(A/D)轉換器,將微處理器與系統相連,在微處理器中實現數字控制算法,然后通過輸入、輸出口或脈寬調制口(pulse width modulation, PWM)發出開關控制信號。微處理器還能將采集的功率變換裝置工作數據,顯示或傳送至計算機保存。一些控制中所用到的參考值可以存儲在微處理器的存儲器中,并對電路進行實時監控。微處理器的使用在很大程度上提高了電路系統的性能,但由于微處理器運算速度的限制,在許多情況下,這種微處理器輔助的電路控制系統仍舊要用到運算放大器等模擬控制元件。近年來隨著大規模集成電路技術的發展,一些專用心片的產生,使逆變電源的全數字控制成為現實。實時地讀取逆變電源的輸出,并實時地處理,使得一些先進的控制策略應用于逆變電源控制成為可能,從而可對非線性負載動態變化時產生的諧波進行動態補償,將輸出諧波達到可以接受的水平。
1.3逆變電源數字化控制技術的現狀
1.3.1逆變電源控制技術數字化、智能化、網絡化
隨著電機控制專用芯片的出現和控制理論的普遍發展,逆變電源技術朝著全數化智能化及網絡化的方向發展,逆變電源的數字控制技術發生了一次大飛躍。逆變電源數字化控制的優點在于各種控制策略硬件電路基本是一致的,要實現各種控制策略,無需變動硬件電路,只需修改軟件即可,大大縮短了開發周期,而且可以應用一些新型的復雜控制策略,各電源之間的一致性很好,這樣為逆變電源的進一步發展提供了基礎,而且易組成可靠性高的大規模逆變電源并聯運行系統。
1.3.2逆變電源數字化需要解決的一些難題
數字化是逆變電源發展的主要方向,但還是需要解決以下一些難題:
a)逆變電源輸出要跟蹤的是一個按正弦規律變化的給定信號,它不同于一般開關電源的常值控制。在閉環控制下,給定信號與反饋信號的時間差就體現為明顯的相位差,這種相位差與負載是相關的,這就給控制器的設計帶來了困難。
b)逆變電源輸出濾波器對系統的模型影響很大,輸入電壓的波動幅值和負載的性質,大小的變化范圍往往比較大,這些都增加了控制對象的復雜性,使得控制對象模型的高階性、不確定性、非線性顯著增加。
c)對于數字式PWM,都存在一個開關周期的失控區間,一般是在每個開關周期的開始或上個周期之末來確定本次脈沖的寬度,即使這時系統發生了變化,也只能在下一個開關周期對脈沖寬度做出調整,所以現在逆變電源的數字化控制引起了廣泛的關注。1.4逆變電源數字化的各種控制策略
逆變電源數字控制方法成為當今電源研究領域的一個熱點,與數字化相對應,各種各樣的離散控制方法也紛紛涌現,包括數字比例-積分-微分(PI)調節器控制、無差拍控制、數字滑變結構控制、模糊控制以及各種神經網絡控制等,從而有力地推動逆變電源控制技術的發展。
1.4.1數字PI控制
數字PI控制以參數簡單、易整定等特點得到了廣泛應用。逆變器采用模擬數字PI控制時,如果只是輸出電壓的瞬時值反饋,其動態性能和非線性負載時的性能不會令人滿意;如果是輸出濾波電感或輸出濾波電容的電流瞬時值引入反饋,其性能將得到較大改進,然而,龐大的模擬控制電路使控制系統的可靠性下降,調試復雜,不易于整定。數字信號處理芯片的出現使這個問題得以迅速解決,如今各種補償措施及控制方式可以很方便地應用于逆變電源的數字PI控制中,控制器參數修改方便,調試簡單。
但是,數字PI控制算法應用到逆變電源的控制中,不可避免地產生了一些局限性:一方面是系統的采樣量化誤差,降低了算法的分辨率,使得PI調節器的精度變差;另一方面,采樣和計算延時使被控系統成為一個具有純時間滯后的系統,造成PI控制器設計困難,穩定性減小,隨著高速專用芯片及高速A/D的發展,數字PI控制技術在逆變電源的控制中會有進一步的應用。
1.4.2滑模變結構控制
滑模變結構控制(sliding mode variable structure control,SVSC)最顯著的特點是對參數變化和外部擾動不敏感,即魯棒性強,加上其固有的開關特性,因此非常適用于閉環反饋控制的電能變換器。
基于微處理器的離散滑模控制使逆變器輸出波形有較好的暫態響應,但系統的穩態性能不是很理想。具有前饋控制的離散滑模控制系統[1],暫態性能和穩態精度得到提高,但如果系統過載時,滑模控制器的負擔將變得非常重。自矯正離散滑模控制可以解決這個問題。
逆變器的控制器由參數自適應的線性前饋控制器和非線性滑模控制器組成,滑模控制器僅在負載導致輸出電壓變化時產生控制力,穩態的控制力主要由前饋控制器提供,滑模控制器的切換面(超平面)是根據優化準則進行設計的。1.4.3無差拍控制
無差拍控制(deadbeat control)是一種基于電路方程的控制方式,其控制的基本思想是將輸出正弦參考波等間隔地劃分為若干個取樣周期,根據電路在每一取樣周期的起始值,用電路理論算出關于取樣周期中心對稱的方波脈沖作用時,負載輸出在取樣周期末尾時的值。這個輸出值的大小,與方波脈沖的極性與寬度有關,適當控制方波脈沖的極性與寬度,就能使負載上的輸出在取樣周期的末后與輸出參考波形相重合[2]。不斷調整每一取樣周期內方波脈沖的極性與寬度,就能在負載上獲得諧波失真小的輸出。因此,即使在很低的開關頻率下,無差拍控制也能夠保證輸出波形的質量,這是其它控制方法所不能做到的,但是,其也有局限性:由于采樣和計算時間的延遲,輸出脈沖的占空比受到很大限制;對于系統參數的變化反應靈敏,如電源電壓波動、負載變動,系統的魯棒性差。
對于采樣和計算延時的影響,一種方法是通過修改輸出脈沖方式的方法來減小計算延時造成的占空比局限;另一種方法是通過狀態觀測器對系統狀態提前進行預測,用觀測值替代實際值進行控制,從而避免采樣和計算延時對系統的影響。為了提高系統的魯棒性,一種方法是采用負載電流預測方法來減小負載變動對電源輸出的影響,但實際改善的程度有限;另一種可行的方法是對系統參數進行在線辨識,從而實時確定控制器參數,以達到良好的控制效果。但是,在線系統辨識的計算復雜度和存儲量都非常大,一般的微處理器很難在很短的時間內完成,因此實現的可能性不大,所以還沒有一種比較好的方法來解決無差拍控制魯棒性差的問題。正是由于無差拍控制在電源控制中的不足及局限性到目前還難以解決,使得無差拍控制在工業界的應用還有待不斷的深入研究。1.4.4重復控制
逆變器采用重復控制(repetitive control)是為了克服整流型非線性負載引起的輸出波形周期性的畸變,它通常與其他PWM控制方式相結合。重復控制的思想是假定前一周期出現的基波波形將在下一基波周期的同一時間重復出現,控制器根據給定信號和反饋信號的誤差來確定所需的校正信號,然后在下一個基波周期的同一時間將此信號疊加到原控制信號上,以消除后面各周期中將出現的重復畸變[3]。
雖然重復控制使系統獲得了很好的靜態性能,且易于實現,但該技術卻不能夠獲得好的動態性能。自適應重復控制方案成功地應用于逆變器的控制中。
模糊控制(fuzzy control)能夠在準確性和簡潔性之間取得平衡,有效地對復雜的電力電子系統做出判斷和處理。將模糊控制應用于逆變器,具有如下優點:模糊控制器的設計不需被控對象的精確數學模型,并且有較強的魯棒性和自適應性;查找模糊控制表只需占有處理器很少的時間,可采用較高采樣率來補償模糊規則和實際經驗的偏差。
將輸出電壓和濾波電感電流反饋,即電壓誤差和電感電流作為輸入模糊變量,可以實現逆變器的模糊控制,整流性負載時,其輸出電壓總諧波失真(total harmonic distortion,TH)小于5%,將模糊控制與無差拍控制相結合,可用來補償由于非線性負載導致的電壓降落,[5-6]。模糊控制從模仿人的思維外特性入手,模仿人的模糊信息處理能力。它對系統的控制是以人的經驗為依據的,而人的經驗正是反映人在思維過程中的判斷、推理、歸納。理論上已經證明,模糊控制可以任意精度逼近任何線性函數,但受到當前技術水平的限制,模糊變量的分檔和模糊規則都受到一定的限制,隸屬函數的確定還沒有統一的理論指導,帶有一定的人為因素,因此,模糊控制的精度有待于進一步提高。
此外神經網絡控制是一種使用人工神經網絡的控制方法。因為人工神經網絡是建立在強有力的數學基礎上,所以它有很大的潛力,這個數學基礎包括各種各樣的已被充分理解的數學工具。在無模型自適應控制器中,人工神經網絡也是一個重要組成部分。但由于神經網絡的實現技術沒有突破,還沒有成功地應用于逆變電源的控制中。
第二章 推挽型逆變器的基礎知識 2.1 開關型逆變器 廣義地說,凡用半導體功率器件作為開關,將一種電源形態轉變為另一種形態的主電路都叫做開關變換電路,這種變換可以是交流電和直流電之間的變換,也可以是電壓或電流幅值的變換,或者是交流電的頻率、相數等的變換。按電力電子的習慣稱謂,基本的電力電子電路可以分為四大類型,即AC——DC電路、DC——AC電路、AC——AC電路、DC——DC電路。本文中的逆變電路就屬DC——AC電路。開關逆變器中的開關都是在某一固定頻率下工作,這種保持開關頻率恒定,但改變接通時間長短(即脈沖寬度),使負載變化時,負載上電壓變化不大的方法,稱脈寬調制法(Pluse Width Modulation,簡稱為PWM)[4]。由于電子開關按外加控制脈沖而通斷,控制與本身流過的電流、二端所加的電壓無關,因此電子開關稱為“硬開關”。凡用脈寬調制方式控制電子開關的開關逆變器,稱為PWM開關型逆變器。本文是用SPWM專用產生芯片控制電子開關的通斷,屬硬開關技術。相對應有另一類控制技術“軟開關”,它是一種使電子開關在其兩端電壓為零時導通電流,或使流過電子開關電流為零時關斷的控制技術。軟開關的開通、關斷損耗理想值為零,損耗很小,開關頻率可以做到很高。2.2 推挽型電路
各種變換電路按其是否具備電能回饋能力分為非回饋型和回饋型,非回饋型電路按其輸出端與輸入端是否電氣個力分為非隔離型和隔離型。隔離型電路又分為正激型、反激型、半橋型、全橋型和推挽型。帶中心抽頭變壓器原邊兩組線圈輪流工作的線路一般稱為推挽線路,它不太適合離線變換器的應用。推挽型電路的一個突出優點是變壓器雙邊勵磁,在輸入回路中僅有1個開關的通態壓降,而半橋型電路和全橋型電路都有2個,因此在同樣的條件下,產生的通態損耗較小,而且不需驅動隔離,驅動電路簡單,這對很多輸入電壓較低的電源十分有利,因此低電壓輸入類電源應用推挽型電路比較合適。但是功率開關所承受的電壓應大于2。
2.2.1 線路結構
圖1-1 推挽型電路原理圖
推挽型電路的原理圖如圖1-1所示。主變壓器 原邊繞組 接成推挽形式,副變繞組 接成全波整流形式。
2.2.2 工作原理
由于驅動電路作用,兩個功率開關管、交替導通。當 導通時,加到 上,所有帶“.” 端為正。功率開關管 通過變壓器耦合作用承受 的電壓。副邊繞組 “.” 為正,電流流經、L到負載上。原邊電流是負載折算至原邊的電流及原邊電感所定的磁化電流之和。導通期間,原邊電流隨時間而增加,導通時間由驅動電路決定。關斷時,由于原邊能量的儲存和漏電感的原因,的漏極電壓將升高.2.2.2推挽型逆變器的變壓器設計
推挽型逆變器設計在整個電源的設計過程中具有最為重要的地位,一旦完成設計,不宜輕易改變,因此設計時對各方面問題考慮周全,避免返工,造成時間和經費的浪費。下面介紹具體設計。變壓器是開關電源中的核心元件,許多其他主電路元器件的參數設計都依賴于變壓器的參數,因此應該首先進行變壓器的設計。高頻變壓器工作時的電壓、電流都不是正弦波,因此其工作狀況同工頻變壓器是很不一樣的,設計公式也有所不同。需要設計的參數是電壓比、鐵心的形式和尺寸、各繞組匝數、導體截面積和繞組結構等,所依據的參數是工作電壓、工作電流和工作頻率等[5]。另外,變壓器兼有儲能,限流,隔離的作用.在磁心大小,原邊電感,氣隙大小,原,副邊線圈匝數的選擇,以及在磁心內直流成分和交流成分之間的相互影響都應在設計中細致考慮.第三章 基于單片機的控制系統設計
按照設計的要求,基于單片機AT89C52的設計主要實現以下功能:SA828的初始化及控制、ADC0809采樣的數據的處理和輸出顯示電壓頻率。選用單片機作為主控器件,控制部分的原理框圖如下:
圖3-1 控制系統原理框圖 3.1 系統硬件電路的設計
圖3-2為控制部分的電路原理圖。電路主要由AT89C52單片機、四位顯示及驅動電路、AD采樣電路、復位電路等組成。
圖3-2 3.1.1 AT89C52單片機
AT89C52是美國ATMEL公司生產的低電壓,高性能CMOS 8為單片機,片內含8k bytes 的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,與標準MCS-51指令系統及8052善拼引腳兼容,片內置通用8位中央處理器(CPU)和Flash存儲單元,功能強大AT89C52單片機適合于許多較為復雜控制應用場合。[6] 主要性能參數:
與MCS-51產品指令和引腳完全兼容 8k字節可充擦寫Flash閃速存儲器 1000次擦寫周期
全靜態操作:0Hz—24MHz 三級加密程序存儲器 256×8字節內部RAM 32個可變成I/O口線 3個16位定時計數器 8個中斷源
可編程串行UART通道 低功耗空閑和掉電模式 功能特性概述:
AT89C52提供以下標準功能:8k字節Flash閃速存儲器,256字節內部RAM,32個I/O口線,3個16位定時/計數器,一個6向量兩極中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89C52可降至0Hz的靜態邏輯操作,并支持兩種軟件可選的節電工作模式。空閑方式停止CPU的工作,但允許RAM,定時器/計數器,串行通信口及中斷系統繼續工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復位。引腳功能: Vcc:電源電壓 GND:地
P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數據總線復用口。作為輸出口用時,每位能吸收電流的方式驅動8個TTL邏輯門電路,對端口P0寫“1”時,可作為高阻抗輸入端用。
在訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數據總線復用,在訪問期間激活內部上拉電阻。在Flash編程時,P0口接收指令字節,而在程序校驗時,輸出指令字節,校驗時,要求外接上拉電阻。
P1口:P1是一個帶有內部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口P1寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。
與AT89C51不同之處是,P1.0和P1.1還可分別作為定時/計數器2的外部技術輸入(P1.0/T2)和輸入(P1.1/T2EX)。
Flash編程和程序校驗期間,P1接收低8位地址。
P2口:P2是一個帶有內部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口P2寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。
在訪問外部程序存儲器或16位地址的外部數據存儲器(例如執行MOVX @DPTR指令)時,P2口送出高8位地址數據。在訪問8位地址的外部數據存儲器(如執行MOVX @RI指令)時,P2口輸出P2鎖存器的內容。
Flash編程或校驗時,P2亦接收高位地址和一些控制信號。
P3口:P3口是一組帶有內部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,他們被內部上拉電阻拉高可作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流。
P3口出了作為一般的I/O線外,更重要的用途是它的第二功能,如下表: 端口引腳 第二功能
P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2(外中斷0)P3.3(外中斷1)
P3.4 T0(定時/計數器0)P3.5 T1(定時/計數器1)
P3.6(外部數據存儲器寫選通)P3.7(外部數據存儲器讀選通)
此外,P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。
RST:復位輸入。當振蕩器工作時,RST引腳出現兩個周期以上高電平將使單片機復位。XTAL1:振蕩器反相放大器的及內部時鐘發生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。對于本次設計的引腳使用情況如下: P1口:控制LED數碼管8位段碼;P3.0,P3.1,P3.4,P3.5:數碼管位選通口;XTAL:接晶振;RST:接復位電路;P0: ADC0809的結果輸入;SA828的控制字口;P2.0:SA828的片選;P2.7:ADC0809的片選;P3.2:外部中斷0.AT89C52是一個低電壓,高性能CMOS 8位單片機,片內含8KB的可反復擦寫的Flash只讀程序存儲器和256×8位的隨機存取數據存儲器(RAM),3個16位定時/計數器、6個中斷源、低功耗空閑和掉電方式等特點。器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元,可以滿足系統要求。系統采用5V電源電壓,外接12M晶振。3.1.2顯示電路
顯示的方法分為動態顯示和靜態顯示。所謂靜態顯示就是在同一時刻只顯示一種字符,其顯示方法簡單,只需將顯示段碼送至段碼口,并把位控字送至位控口即可。動態顯示是利用人眼對視覺的殘留效應,采用動態掃描顯示的方法。[7]本設計采用動態顯示,顯示電路采用四位一體共陽極LED數碼管,從P1口輸出段碼,位選控制端接于P3.0,P3.1,P3.4,P3.5。段驅動采用74LS245,位選驅動采用74LS244。硬件連接圖如下: 圖3-3 顯示部分硬件連接圖 3.1.3 A/D轉換電路
A/D轉換器采用集成電路0809完成,0809是8位MOS型A/D轉換器。[] 1).主要特性
① 8路8位A/D轉換器,即分辨率8位;② 具有轉換起停控制端;
③ 轉換時間為100μs;
④ 單個+5V電源供電;
⑤ 模擬輸入電壓范圍0~+5V,不需零點和滿刻度校準;
⑥ 工作溫度范圍為-40~+85攝氏度;
⑦ 低功耗,約15mW。
2).內部結構
ADC0809是CMOS單片型逐次逼近式A/D轉換器,內部結構如圖所示,它由8路模擬開關、地址鎖存與譯碼器、比較器、8位開關樹型D/A轉換器、逐次逼近寄存器、三態輸出鎖存器等其它一些電路組成。因此,ADC0809可處理8路模擬量輸入,且有三態輸出能力,既可與各種微處理器相連,也可單獨工作。輸入輸出與TTL兼容。
圖3-4ADC0809內部結構框圖 3).外部特性(引腳功能)
ADC0809芯片有28條引腳,采用雙列直插式封裝,如圖3-5 所示。下面說明各引腳功能。
IN0~IN7:8路模擬量輸入端。
2-1~2-8:8位數字量輸出端。
ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路。如表所示。
ALE:地址鎖存允許信號,輸入,高電平有效。圖 3-5 ADC0809引腳圖
START: A/D轉換啟動信號,輸入,高電平有效。
EOC: A/D轉換結束信號,輸出,當A/D轉換結束時,此端輸出一個高電平(轉換期間一直為低電平)。
OE:數據輸出允許信號,輸入,高電平有效。當A/D轉換結束時,此端輸入一個高電平,才能打開輸出三態門,輸出數字量。
CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。REF(+)、REF(-):基準電壓。Vcc:電源,單一+5V。GND:地。
表3-6 ADDA、ADDB、ADDC真值表
ADC0809的工作過程是:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復位。下降沿啟動 A/D轉換,之后EOC輸出信號變低,指示轉換正在進行。直到A/D轉換完成,EOC變為高電平,指示A/D轉換結束,結果數據已存入鎖存器,這個信號可用作中斷申請。當OE輸入高電平時,輸出三態門打開,轉換結果的數字量輸出到數據總線上。4).AD0809與控制電路的連接如下圖:
圖 3-7 AD0809的連接電路 3.1.4 SPWM波形電路
由于逆變開關管的開關時間要由載波與調制波的交點來決定。在調制波的頻率、幅值和載波的頻率這3項參數中.不論哪一項發生變化時,都使得載波與調制波的交點發生變化。因此,在每一次調整時,都要重新計算交點的坐標。顯然,單片機的計算能力和速度不足以勝任這項任務。過去通常的作法是:對計算作一些簡化,并事先計算出交點坐標.將其制成表格,使用時進行查表調用。但即使這樣,單片機的負擔也很重。
為了減輕單片機的負擔,一些廠商推出了專用于生成三相或單相SPWM波控制信號的大規模集成電路芯片,如HEF4752、SLE4520、SA828、SA838等等。采用這樣的集成電路芯片,可以大大地減輕單片機的負擔,使單片機可以空出大量的機時用于檢測和監控。這里詳細介紹SA828三相SPWM波控制芯片的主要特點、原理和編程。3.1.5 SA828主要特點
⑴.適用于英特爾和摩托羅拉兩種總線格式,接口通用性好, 編程,操作簡單,方便,快捷。⑵.應用常用的對稱的雙邊采樣法產生PWM波形, 波形產生數字化,無時漂,無溫漂穩定性好。
⑶.在外接時鐘頻率為12.5MHZ時載波頻率可高達24KHZ,可實現靜音運行。最小脈寬和死區時間通過軟件設置完成,既節約了硬件成本,又使修改靈活方便。
調制頻率范圍寬,精度高(12位),輸出正弦波頻率可達4KHZ,可實現高頻率高精度控制及光滑的變頻.。
⑷.在電路不變的情況下, 通過修改控制暫存器參數,就可改變逆變器性能指標,驅動不同負載或工作于不同工況。
⑸.可通過改變輸出SPWM脈沖的相序實現電機的正反轉。
⑹.獨立封鎖端可瞬時封鎖輸出PWM脈沖亦使微處理器防止突然事件的發生。3.1.6 SA828工作原理
SA828是MITEL公司推出的一種專用于三相SPWM信號發生和控制的集成芯片。它既可以單獨使用,也可以與大多數型號的單片機接口。該芯片的主要特點為:全數字控制;兼容Intel系列和MOTOROLA系列單片機;輸出調制波頻率范圍0—4kHz;12位調速分辨率;載波頻率最高可達24kHz;內部ROM固化波形:可選最小脈寬和延遲時間(死區);可單獨調整各相輸出以適應不平衡負載。[8] SA828采用28腳的DIP和SOIC封裝。其引腳如圖3-8所示。各引腳的功能如下:(1)輸入類引腳說明
AD0——AD7:地址或數據輸入通道。
SET TRIP:通過該引腳,可以快速關斷全部SPWM信號輸出,高電平有效。
:硬件復位引腳,低電平有效。復位后,寄存器的、、WTE和RST各位為0。CLK:時鐘輸入端,SA828既可以單獨外接時鐘,也可以與單片機共用時鐘。:片選引腳。
、、ALE:用于“ / ”模式,分別接收寫、讀、地址鎖存指令。INTEL模式下ALE的下降沿傳送地址,的上升沿給SA828寫數據。在此模式下不用。
R/、AS、DS:用于“R/ ”模式,分別接收讀/寫、地址、數據指令。MOTOROLA模式下,AS的下降沿傳送地址,當R/ 為低電平時,DS的下降沿給SA828寫數據(接底電平)
(2)輸出類引腳說明 圖3-8 RPHB、YPHB、BPHB:這些引腳通過驅動電路控制逆變橋的R、Y、B相的下臂開關管。RPHT、YPHT、BPHT:這些引腳通過驅動電路控制逆變橋的R、Y、B相的上臂開關管。
它們都是標準TTL輸出.每個輸出都有12mA的驅動能力,可直接驅動光偶。
:該引腳輸出—個封鎖狀態。當SETTRIP有效時,為低電平、表示輸出已被封鎖。它也有12mA的驅動能力,可直接驅動一個LED指示燈。ZPPR、ZPPY、ZPPB:這些引腳輸出調制波頻率。WSS:該引腳輸出采樣波形。3.1.7內部結構及工作原理
SA828內部結構如圖3-9所示。來自單片機的數據通過總線控制和譯碼進入初始化寄存器或控制寄存器,它們對相控邏輯電路進行控制。外部時鐘輸入經分頻器分成設定的頻率,并生成三角形載波,三角載被與片內ROM中的調制波形進行比較,自動生成SPWM輸出脈沖。通過脈沖刪除電路,刪去比較窄的脈沖(如圖3-10所示),因為這樣的脈沖不起任何作用,只會增加開關管的損耗。通過脈沖延遲電路生成死區,保證任何橋臂上的兩個開關管不會在狀態轉換期間短路。
圖3-9 SA828的內部結構
片內ROM存有正弦波形。寄存器列陣包含3個8位寄存器和2個虛擬寄存器。他的虛擬寄存器R3的寫操作結果是R0,R1,R2中的數據寫入控制寄存器。虛擬寄存器R4的寫操作結果是R0,R1,R2中的數據寫入初始化寄存器。各寄存器地址如表3-11所列。
圖 3-10 脈沖序列中的窄脈沖
AD2 AD1 AD0 寄存器 功能 0 0 0 R0 暫存數據 0 0 1 R1 暫存數據 0 1 0 R2 暫存數據 0 1 1 R3 傳控制數據 1 0 0 R4 傳初始化數據 表 3-11 其工作過程可簡析如下:由于調制波形關于90度,180度,270度對稱,故波形ROM中僅有0∽90度的波形瞬時幅值,采樣間隔0.23度, 90度內共384組8位采樣值存入ROM中,每個采樣值線性的表達正弦波的瞬時值, 通過相位控制邏輯,將它組成0∽360度的完整波形.該調制波與載波比較產生三相六路雙極性PWM調制波形.其經脈沖寬度取消電路,將脈沖寬度小于取消時間的脈沖去掉,再經脈沖延時電路引入死區時間,從而保證了在轉換瞬間高,低端功率開關不會出現共同導通現象。圖3-9中24位初始化暫存寄存器,可用來設置輸出波形參數,例如載波頻率,最小脈寬,脈沖取消時間計數器置”0” 圖3-12 Intel總線時序
等。一經設置好,運行中不允許改變。24位控制寄存器,用來調整改變調制波頻率,幅值,輸出關閉,過調制選擇,開機關機等.上述設置和調整均通過微處理器或微控制器發出指令,數據先存入三個8位暫存寄存器R0,R1,R2中,然后通過R3和R4分別傳送給24位初始化寄存器和24位控制寄存器。初始化或調整時,端要置0。SA828由外配的微處理器通過復用MOTEL總線控制,并與外配的微處理器接口,該接口總線有自動適應英特爾和摩托羅拉兩種總線格式及工作時序的能力(兩種總線的工作時序如圖3-12和3-13),在電路啟動運行后,當AS/ALE端從低電平變為高電時,內部檢測電路鎖存DS/ 的狀態,若檢測結果為高電平則自動進入英特爾模式,若檢測結果為低電平,則選擇摩托羅拉模式工作,總線連接和定時信息相對所用微處理器而言,這個過程在每次AS/ALE變為高電平時要進行,實際中模式選擇由系統自動設定。
圖3-13 Motorola總線時序
3.1.8 SA828 初始化寄存器編程
初始化是用來設定與電機和逆變器有關的基本參數。它包括載波頻率設定、調制波頻率范圍設定、脈沖延遲時間設定、最小刪除脈寬設定、幅值控制。
初始化編程時,即設定各寄存器內容。下面分別介紹這些內容的設定。[9](1)載波頻率設定
載波頻率(即三角波頻率)越高越好,但頻率越高損耗會越大,另外,還受開關管最高頻率限制,因此要合理設定。設定字由CFS0--CFS2這3位組成。載波頻率 通過下式(3—1)求出。式中K為時鐘頻率,n值的二進制數即為載波頻率設定字,可以取1,2,4,8,16或32。由于K=12MHz,當n=1時,反算得 =23.4375KHz,考慮到(max)=24KHz , <(max)當n=2時,=11.71725KHz ,故n取1,實際 =23.4375KHz。(2)調制波頻率范圍設定
根據調制頻率范圍.確定設定字。設定調制波頻率范圍的目的是在此范圍內進行l2位分辨率的細分,這樣可以提高控制精度,也就是范圍越小.控制精度越高。調制被頻率范圍設定字是由FRS0—FRS2這3位組成。調制波頻率 通過下式(3—2)求得。m值的二進制數即為調制波頻率范圍設定字。上面已得 =23.4375KHz,若取 =500Hz則m=8.192 ,考慮到調制波的頻率為400Hz,則m=8 ,反算得 =488.28Hz。(3)脈沖延遲時間設定 該設定字是由PDY0—PDY5這6位組成。脈沖延遲時間 通過下式(3—3)求得。設脈沖延遲時間 則 =60(4)最小刪除脈寬設定
最小刪除脈寬設定字是由PDT0—PDT6這7位組成。最小刪除脈寬 由下式(3—4)圖3-14 延遲前后脈寬關系
求得。考慮到延遲(死區)的因素,在延遲時.通常的做法是在保持原頻率不變的基礎上,使開關管延遲開通.如圖3-7所示.實際輸出的脈寬=延遲前的脈寬--延遲時間。由結構圖 可知.SA828的工作順序是先刪除最窄脈沖,然后再延遲.所以式(3—4)給出的 應是延遲前的最小刪除脈寬。它等于實際輸出的最小脈寬加上延遲時間,即 =實際輸出的最小脈寬十 ,假設實際輸出的最小脈寬=10 那么 =15 則 =180> =128 , =10.67 s 最小脈寬為5.67 s。(5)幅值控制
AC是幅值控制位。當AC=0時,控制寄存器中的R相的幅值就是其他兩相的幅值。當AC=l時,控制寄存器中的R、Y、B相分別可以調整各自的幅值,以適應不平衡負載。
初始化寄存器通常在程序初始化時定義。這些參數專用于逆變電路中.因此,在操作期間不應該改變它們。如果一定要修改,可先用控制寄存器中的 來關斷SPWM輸出,然后再進行修改。
3.1.9 SA828控制寄存器編程
控制寄存器的作用包括調制波頻率選擇(調速)、調制波幅值選擇(調壓)、正反轉選擇、輸出禁止位控制、計數器復位控制、軟復位控制。控制數據仍然是通過Ro—R2寄存器輸入并暫存,當向R3虛擬寄存器寫操作時.將這些數據送入控制寄存器。(1)調制波頻率選擇
調制波頻率選擇字由PFS0—PFS7這8位組成。通過下式
(3-5)求得 值,它的二進制數即是調制波頻率選擇字。取 =400Hz , =488.28Hz ,得 =3355.45179(2)調制波幅值選擇
通過改變調制波幅值來改變輸出電壓有效值,達到變頻同時變壓的目的。輸出電壓的改變要根據U/f曲線,隨頻率變化進行相應的變化。調制波幅值是借助于8位幅值選擇字(RAMP、YAMP、BAMP)來實現的。每一相都可以通過計算下式 %(3-6)求出A值,它的二進制數即為幅值選擇字(即RAMP或YAMP或BAMP)。式中的 就是調壓比,注意,初始化寄存器的AC位決定了R相幅值是否代表另二相幅值。= =91.8=92(3)輸出禁止位控制
輸出禁止位。當 =0時,關斷所有SPWM信號輸出。(4)計數器復位控制
計數器復位位,當 =0,使內部的相計數器置為0(R相)。(5)軟復位控制
RST是軟復位位。它與硬復位 有相同的功能。高電平有效。
SPWM波形的產生,選擇專用的芯片SA828,如前面所講,這里不再論述。它和單片機的接口如下圖所示: 3.2 系統軟件的設計 3.2.1 初始化程序
系統上電時,初始化程序將數據存儲區清零。3.2.2 主程序
完成定時器的初始化,開各種中斷,循環調用各個子程序。包括電壓顯示子程序、AD轉換子程序、828初始化子程序。主程序流程圖見圖 程序清單如下: START: SETB IT1;選擇INT1為邊沿觸發方式 SETB EX1;開外中斷1 SETB EA;開總控制中斷
CLR PX1;外中斷1為低優先級 SETB IT0;脈沖下降沿觸發外中斷0 SETB EX0;開外中斷0 MOV TMOD,#01H;T0工作在定時,方式1 SETB PX0;外中斷0為高優先級 MOV TH0,#00H MOV TL0,#00H ACALL KAISHI ACALL INCADC AJMP START 3.2.3 SA838初始化及控制子程序
按照單片機與SA828的接線圖,P2.0作為SA828的片選控制口,因此SA828的起始地址為FE00H。系統上電復位之后首先對SA828寫初始化字和控制字。具體計算如前面所述。流程圖如下: 程序清單如下:
CLR P2.1;禁止PWM輸出
MOV A,#80H;SA828初始化寄存器 MOV DPTR,#0FE00H;SA828地址 MOVX @DPTR,A;給R0寫數據 INC DPTR MOV A,#60H MOVX @DPTR,A;給R1寫數據 INC DPTR MOV A,#04H MOVX @DPTR,A;給R2寫數據 INC DPTR INC DPTR MOVX @DPTR,A;給初始化寄存器R4寫數據 MOV A,#1BH;SA828控制寄存器 MOV DPTR,#0FE00H;SA828地址 MOVX @DPTR,A;給R0寫數據 INC DPTR MOV A,#2DH MOVX @DPTR,A;給R1寫數據 INC DPTR MOV A,#05CH MOVX @DPTR,A;給R2寫數據 INC DPTR MOVX @DPTR,A;給控制寄存器R3寫數據 SETB P2.1;允許PWM輸
單片機對采樣到的輸出如做PI調節計算轉換為電壓幅值控制字后,需要重新寫入控制字,其方法是相同的。
3.2.4 ADC0809的控制及數據處理子程序
單片機與ADC0809的接線圖所示,P2.7作為ADC0809的片選控制口,因此ADC0809的起始地址為7F00H。如圖所示,ADC0809的地址選擇線接地,固定8路模擬數據輸入端重IN-0為電壓采樣輸入端。ADC0809的CLK信號是從AT89C52的ALE端經四分頻器74LS74分頻后得到的,工作頻率為500HZ,轉換時間為128us左右,據此設計一個延時時間,延時時間一到,采用查詢方式進行數據傳送。即用軟件測試EOC(P3.1)的狀態,若測試結果為1,則轉換結束接著進行數據傳送,否則等待,直到測試結果為1。因為ADC0809的最大輸入電壓為5V,其轉換結果FFH對應5V。所以FFH對應的輸入應大于等于5V,表示輸入超過量程。本設計中FFH對應36V,其轉換公式為,X=,因此程序中有二進制轉換及乘14子程序,除以100處理為小數點固定顯示在次低位。另外,考慮到系統存在電磁干擾,采用了中值濾波子程序進行軟件抗干擾。中值濾波對于去掉由于偶然因素引起的波動或采樣器不穩定而造成的誤差所引起的脈動干擾比較有效。中值濾波之后將最優值存于6AH中再進行轉換處理。流程圖如圖下面是程序清單: INCADC: MOV R0,#2CH MOV R2,#03H SAMP: MOV DPTR,#7F00H;AD0809端口地址送DPTR MOV A,#00H;輸入通道0選擇 MOVX @DPTR,A;啟動A/D轉換 MOV R7,#0FFH;延時查詢方式 DELAY:DJNZ R7,DELAY LOOP1:JB P3.1,T1;查詢p3.1是否為1 JNB P3.1,LOOP1 T1:MOVX A,@DPTR;讀取從IN0輸入的轉換結果 MOV @R0,A INC R0 DJNZ R2,SAMP 以下是數字濾波程序流程圖及程序清單:
FILTER:MOV A,6CH CJNE A,6DH,CMP1 AJMP CMP2 CMP1:JNC CMP2 XCH A,6DH XCH A,6CH CMP2:MOV A6DH CJNE A,6EH,CMP3 MOV 6AH,A CMP3:JC CMP4 MOV 6AH,A CMP4:MOV A,6EH CJNE A,6CH,CMP5 MOV 6AH,A CMP5:JC CMP6 XCH A,6CH CMP6:MOV 6AH,A;濾波結果存于6AH RET 3.2.5 數據處理及電壓顯示子程序 DISPLAY: MOV A,6AH ACALL L1;十進制轉換 ACALL PLAY RET PLAY:;顯示程序 MOV A,R5;分離D1 ANL A,#0FH MOV 50H,A MOV A,R5;分離D2 ANL A,#0F0H SWAP A MOV 51H,A MOV A,R4;分離D3 ANL A,#0FH MOV 52H,A MOV A,R4;分離D4 ANL A,#0F0H SWAP A MOV 53H,A PLAY1: CLR P2.6 CLR P2.5 CLR P2.4 CLR P2.3 MOV R1,#50H;顯示數據首地址 MOV P1,#0FFH;清除原來的數據 SETB P2.3;顯示最低位 MOV A,@R1 MOV DPTR ,#TAB MOVC A,@A+DPTR MOV P1,A LCALL DL1MS;數據顯示1ms CLR P2.3 MOV P1,#0FFH INC R1 SETB P2.4;顯示次低位 MOV A,@R1 MOV DPTR ,#TAB MOVC A,@A+DPTR ANL A,#7FH;小數固定顯示 MOV P1,A LCALL DL1MS CLR P2.4 MOV P1,#0FFH INC R1 SETB P2.5;顯示次高位 MOV A,@R1 MOV DPTR ,#TAB MOVC A,@A+DPTR MOV P1,A LCALL DL1MS CLR P2.5 MOV P1,#0FFH INC R1 SETB P2.6;顯示最高位 MOV A,@R1 JZ NODISPLAY;若A=0,則不顯示 MOV DPTR ,#TAB MOVC A,@A+DPTR MOV P1,A LCALL DL1MS CLR P2.6 MOV P1,#0FFH NODISPLAY: MOV P1,#0FFH AJMP PLAY1 RET
L1:CLR C;十進制轉換 MOV R5,#00H MOV R4,#00H MOV R3,#08H NEXT1:RLC A MOV R2,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A MOV A,R2 DJNZ R3,NEXT1 RET
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
DL1MS: MOV R6,#14H DL1:MOV R7,#19H DL2:DJNZ R7,DL2 DJNZ R6,DL1 RET 3.2.6 輸出頻率測試計算及顯示子程序部分 ⑴.頻率測試計算子程序部分
SA828帶有頻率輸出端口,將其與單片機的中斷INT0口相接,如原理圖所示。本例中所使用的中斷源有2個:T0中斷和 中斷。中斷的功能是計算ZPPR輸出的調制波頻率。由于調制波頻率可能比較低,因此用T0溢出中斷來記錄一個ZPPR周期中T0溢出的次數,這個溢出次數保存到70H中。這樣,在一個 中斷間隔里,所用的時間(即ZPPR周期)是3個字節的數(1個字節的T0溢出次數,2個字節的T0值)。因為AT89C52使用12MHZ的時鐘頻率,一個機器周期是,所以調制波頻率的計算公式為: =0F4240H,也是一個3字節的數,因此 是一個3字節除法運算。如果對精度要求不高,的分子分母可以舍掉最低字節來簡化運算,這樣就成為雙字節除法運算。所以,當 中斷時,只取TH0,將其存放到71H中除法運算的整數商存放到72H、73H中,小數商存放到75H中,以便頻率顯示程序中調用。
中斷子程序及流程圖如下:
SUANPIN: CLR EA;關中斷 CLR TR0 PUSH ACC;保存現場 PUSH B PUSH DPL PUSH DPH PUSH PSW PUSH 50H PUSH 51H PUSH 52H PUSH 53H PUSH 60H PUSH 61H PUSH 62H PUSH 63H PUSH 6AH SETB PSW.3 MOV 70H,#00H;MOV TL0,#00H;TL0清0 MOV 71H,TH0;取TH0值 MOV TH0,#00H;TH0清0 MOV A,71H;檢查除數是否為0 ORL A,70H;不會溢出,高位永遠為零 JZ ABC;除數為0則退出 MOV R2,#00H;輸入被除數 MOV R3,#00H MOV R4,#0FH MOV R5,#42H MOV R6,70H;輸入除數 MOV R7,71H LCALL NDIV;調用雙字節除法子程序原來的程序,NDIV:MOV B,#16;雙字節無符號數除法子程序;當條件(R2R3)〈(R6R7)滿足時,;(R2R3R4R5)/(R6R7)=(R4R5),余數在(R2R3)NDVL1: CLR C MOV A,R5 RLC A MOV R5,A MOV A,R4 RLC A MOV R4,A MOV A,R3 RLC A MOV R3,A XCH A,R2 RLC A XCH A,R2 MOV F0,C CLR C SUBB A,R7 MOV R1,A MOV A,R2 SUBB A,R6 JB F0,NDVM1 JC NDVD1 NDVM1: MOV R2,A MOV A,R1 MOV R3,A INC R5 NDVD1:DJNZ B ,NDVL1 CLR F0
MOV 72H,R4;頻率整數部分存于7273H中 MOV 73H,R5;調制波頻率整數部分存72H MOV 75H,R2;將調制波頻率小數部分(小于100)存75H MOV 70H,#00H;70H清0 ABC:POP 6AH POP 63H POP 62H POP 61H POP 60H POP 53H POP 52H POP 51H POP 50H POP PSW;恢復現場 POP DPH POP DPL POP B POP ACC SETB EA;開中斷 SETB TR0 RETI
⑵.頻率顯示部分
本系統用一個四位一體的LED數碼管顯示數據,系統初始化后顯示的為電壓,按頻率顯示按鈕顯示頻率。利用中斷源 顯示,它將72H、73H中的頻率整數(二進制數)部分先進行二--十轉換存于R3R4R5中,根據經驗,轉換過來的十進制數只有百位,即R3中的值為00,R4中的值為0X。因此將R4R5中的數分離分別在最高位、次高位、次低位顯示,并且次低位帶有小數點。將75H中的小數部分在最低位顯示。至此,頻率顯示部分完成。
中斷程序及流程圖如下:
DISPLAYF:PUSH ACC;保存現場 PUSH B PUSH DPL PUSH DPH PUSH PSW PUSH 50H PUSH 51H PUSH 52H PUSH 53H PUSH 60H PUSH 61H PUSH 62H PUSH 63H PUSH 6AH SETB PSW.4;使用第二工作寄存區
MOV R6,72H;頻率整數部分存欲R6R7中調用雙字節十進制轉換程序 MOV R7,73H;;ACALL HB2;調用雙字節十進制轉換程序
HB2:CLR A;BCD碼初始化;雙字節十進制轉換 MOV R3,A MOV R4,A MOV R5,A MOV R2,#10H;轉換雙字節二進制整數
HB3:MOV A,R7;從高端移出待轉換數的一位到CY中 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV A,R5;BCD碼帶進位自身相加,相當于乘2 ADDC A,R5 DA A;十進制調整 MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A MOV A,R3 ADDC A,R3 MOV R3,A DJNZ R2,HB3 MOV A,75H;頻率小數部分在最低位顯示 ANL A,#0F0H SWAP A MOV 50H,A MOV A,R5;頻率整數部分個位數在次低位顯示 ANL A,#0FH CLR CY SUBB A,#07H MOV 51H,A MOV A,R5;頻率整數部分十位數在次高位顯示 ANL A,#0F0H SWAP A CLR CY SUBB A,#05H MOV 52H,A MOV A,R4;頻率整數部分百位數在最高位顯示 ANL A,#0FH DEC A MOV 53H,A ACALL PLAY;顯示頻率
POP 6AH POP 63H POP 62H POP 61H POP 60H POP 53H POP 52H POP 51H POP 50H POP PSW;恢復現場 POP DPH POP DPL POP B POP ACC AJMP DISPLAYF RETI
第四章 聯機調試及結果分析 4.1 聯機調試情況
系統的調試分為硬件調試和軟件調試兩個部分。硬件調試包括控制電路的調試和主電路的調試。調試時,應該先調控制部分。首先檢查電路的焊接是否正確,然后用萬用表測試或通電檢測。主電路部分硬件的檢測方法同控制部分。硬件檢查無誤后,軟件調試。軟件調試可以先編寫顯示程序并進行硬件的正確性檢驗,然后分別進行主程序、AD轉換子程序、電壓顯示子程序、頻率顯示子程序、數字濾波子程序等子程序的編程及調試。
在聯機調試前,先用偉福模擬仿真,然后利用愛思G3000在線聯機調試。聯機調試時出現了下面一些問題:
1).四位一體LED顯示管不顯示; 2).P1口沒有數據輸出; 3).AD轉換器不工作;
4).SA828的輸出波形不正確。解決的辦法及處理結果:
1).檢查各個數碼管的位控端及代碼段是否連接完好,給它加的驅動是否正確,以及各個數碼管本身是否完好。經檢測是我們的驅動連接有問題,重新連接后,顯示正常。
2).P1口沒有數據輸出的原因也是我們的顯示驅動出錯導致,當驅動錯誤排除后,P1口數據輸出正常。
3).和AD轉換器的各個連線都聯結正確,我們的焊接技術不好,出現了個別引腳虛焊,虛焊處理后,問題解決。
4).SA828的輸出波形下橋臂出現一段脈寬為1us的不正常波形,按照電路設計原理,小于5.67us的波形在脈沖刪除電路中是該刪除掉的,由于三相下橋臂均輸出這種不正常的波形,我們用到了SA828的輸出禁止端SETTRIP,把此端接上高電平即可使輸出禁止而不影響內部電路的正常工作,但是實驗結果還能看到此不正常的波形,若其是內部電路產生,即使不能刪除,在輸出禁止時理論上應該是能禁止的。又考慮到可能是干擾所至,消除掉可能存在的干擾后依然存在此波形。初次使用這系列的芯片,對其資料也不完全掌握,實驗最后,仍留此問題,亟待日后解決。另外,在絞盡腦汁之后,發現一個問題,原來認為不用的芯片端口可以按其功能相應的接高電平或接地,在這樣做之后,芯片發燙,斷開連接即恢復正常 4.2 實驗驗證及結果分析
1).1).從SA828的RPHT、PRHB輸出的驅動脈沖信號如下圖4-1所示
圖4-1 PWM輸出的上、下橋臂的驅動信號
2).經過TTL驅動電路,加在柵極的驅動電壓信號如圖4-2所示。圖4-2 MOSFET柵極的驅動信號 3).仿真交流輸出信號如圖4-3所示 圖4-3 仿真交流輸出信號 4).結果分析
實驗室搭建主電路進行實驗和調試,獲得了較好的實驗效果。該系統輸出正弦波的頻率為400HZ。試驗證明整個系統方案結構緊湊,實時性較好。4.3結論
在前面的系統硬件軟件設計下,我們在實驗室組成實際的線路進行了實驗和調試,獲得了較為良好的實驗效果。該系統輸出正弦波合成的頻率為400HZ,試驗證明整個系統結構緊湊,實時性較以完全單片機軟件編程產生SPWM波的方法要好得多,而他的功能又比用HEF4752等純硬件方法生成的SPWM波的方法完善。綜上分析及實驗驗證,可以得到下面幾點結論:
1).SA828時一個高性能的SPWM專用IC,在合適的外圍條件的支持下,它可以輸出較好的SPWM脈沖信號。
2).以單片機最小系統來完成SA828的外圍硬件支持,可以使系統的硬件結構簡化,提高可靠性,減小系統成本和體積。
3).文中介紹的以AT89C52最小系統與SA828相結合構成的全數字化SPWM脈沖形成系統,即可解決全軟件編程產生SPWM脈沖波的缺陷,又可以彌補純硬件系統完成SPWM脈沖生成方案的不足,是一種較好的方案。4).文中介紹的SPWM脈沖形成方案,不僅在開關電源的數字化制作方面是一個嘗試和創新,而且在直流調速、交流調速、變頻電源、電力回收領域,也具有通用性,它應用前景廣闊。
結束語: 本設計利用MCS-51單片機控制SA828產生SPWM調制信號,AD轉換器控制輸出頻率及電壓,電路結構簡單,可靠性高,實時性好,具有廣闊的使用前景。
第三篇:物流管理信息化系統的設計論文
摘要:隨著我國社會主義市場經濟的高速發展,電子商務的規模也逐漸擴大,從而推動了物流行業。在競爭日趨激烈的市場環境下,加強對物流管理的科學性和系統性,是物流企業當面工作的重點內容。先進的物流技術裝備,以及一套科學完善的物流管理信息系統,是物流企業保持核心競爭能力的必要因素,也為物流企業長遠發展提供了基礎保障。物流管理的信息化系統,主要就是將企業的所有物流信息以及使用數據,在一個安全穩定、準確可靠的平臺上進行管理,全面覆蓋企業的物資、資金以及商業信息,保證企業所有信息的可靠性和準確性,從而實現企業的科學生產,經濟效益的最大化。物流管理的信息化系統建設,對物流企業的重要性不言而喻,為物流企業的未來發展貢獻堅實的力量。
關鍵詞:物流管理;信息化;系統設計
1、材料與方法
1.1材料
物流信息、無線倉儲、GIS系統、訂單系統、IT支撐系統。
1.2方法
1.2.1物流的概述
物流是指在先進的設備和完善的信息技術的支持下,將物品從供應地安全可靠、及時準確同時保質保量的運輸到接受地的服務模式和服務流程。隨著社會不斷發展,以及科學技術的不斷完善,物流業也得到了迅猛的發展,通過不斷對自身的完善,逐步形成一套知識化、專業化、信息化、自動化的服務體系,更加提供優質服務,提高企業經營管理水平,滿足客戶越來越高的要求。
1.2.2物流信息化系統設計的原則
物流信息化系統設計必須遵守一定的原則,才能最大化的為企業服務。系統研發需要遵守的是戰略性原則、安全可靠的原則、可維護性原則、先進性原則。物流信息管理系統必須滿足企業戰略發展,且能夠有效保證系統的安全、可靠、穩定運行,防止數據泄密。同時,物流信息管理系統需要具備可維護性,能夠根據實際情況做出調整。此外,物流信息管理系統采用技術要先進,符合時代發展,滿足企業使用需要以及企業物流管理的發展需求,保證物流管理的信息化系統能夠不斷的發展和完善。
1.2.3無線倉儲信息系統建設
倉儲作為物流體系中非常重要的部門,具有極其全面的實用功能。利用倉儲可以進行物資的儲存與保管,也可以進行揀貨、配貨、分類和查檢工作,同時也還具有重新包裝、附加標簽等加工功能。為滿足現代社會的飛度發展,倉儲信息必須具備交互頻繁和大數據量等特點,能夠及時有效的處理大量信息的物流倉儲信息系統,其存在性具有非常重要的現實意義。
第一,根據需求設定建設目標、訂單系統以及客服系統,有利于實時同步包括訂單各個子系統。同時,要需要加強對商品訂單處理的全程跟蹤。
第二、通過需求用例確認、全面設計、無線手持系統開發、數據庫搭載、測試等階段,無線倉儲管理信息系統具備了可提交用戶測試的條件。用戶測試時,對讀取訂單數據功能、讀取車型數據、讀取倉庫數據、讀取區域數據、讀取網絡數據等功能與寫入數據到數據庫功能進行測試,從而完成整個系統功能的檢驗。
第三、用戶進行測試階段是非常關鍵的一個階段,可以檢測系統能夠具備上線運行的條件,相關的工作人員可以對業務流程和功能開展科學詳細的測試,在測試階段結束后,對倉儲管理人員、工作人員、以及用戶開展全新的倉儲流程培訓工作。
第四、在上線前設置完成初始數據,以及用戶權限等工作,部署和調試無線網絡,確保無線倉儲管理信息系統具有上線條件。第五、初始化完成之后,無線倉儲管理信息系統在經過了試運行階段的問題追蹤和解決后,無線倉儲管理信息系統正式投入生產運營。
2、結語
企業通過對物流管理的信息化系統的運用,能夠科學有效的實現了企業管理以及所有業務流程的開展,同時也保證了一系列流程的嚴謹準確、安全可靠。此外,物流管理的信息化系統也防止了傳統人為因素帶來的不準確等各種弊端的出現,運用數據庫管理的先進模式,保證業務數據更加優化,貨物管理更加安全,最大程度的服務客戶。
3、討論
物流管理的信息化系統與企業的管理系統進行充分合理的融合,確保了整個信息化系統的安全性和保密性,加強了企業的管理水平,保證企業的發展平穩有序的進行,物流管理的信息化系統對企業的長遠發展,具有非常重要的現實作用。
第四篇:超市商品銷售管理系統設計與實現_畢業設計_論文_任務書
天津科技大學本科畢業設計(論文)任務書 計算機科學與信息工程學院 2009計算機科學與技術專業
學生學號:學生姓名:指導教師姓名:
完成期限: 2013年 03月05日至 2013 年 06 月20日一、二、設計(論文)內容及要求: 題目名稱:超市商品銷售管理系統設計與實現
1.設計內容
(1)登錄模塊:該模塊主要是針對用戶,提供一個進入本系統的登錄界面,(2)庫存管理:該模塊主要是庫存管理:該模塊主要是對庫存信息資料進
(3)銷售管理:該模塊主要是對銷售記錄信息資料進行管理
(4)會員信息管理:主要是維護超市的會員信息
(5)員工信息管理:主要管理超市員工的排班信息,安排每天有多少經理、采購員和收銀員值班,可以添加、修改、刪除排班。
[1] 劉甫迎、劉光會、王蓉.C#程序設計教程(第二版).北京:電子工業出版社,2006.111-126
[2] 李蘭友 楊曉光.Visual C#.NET程序設計.北京:清華大學 北方交通大學出 版社,2005.100-123
[3] 余金山,林慧編著.SQL Server2000/2005數據庫開發實例入門與提高.北京:電子工業出版社,2005.100-120
[4] 薩師煊,王珊.數據庫系統概論(第三版).北京:高等教育出版社,2005.111-124[5] Michel de Champlain.C# 2.0[M].Morgan Kaufmann, 2005.123-124
指導教師簽名:
填寫日期:年月日
注:本任務書發給學生,畢業設計(論文)完成后裝入畢業設計(論文)檔案袋。看登錄人員身份是否合格,只有驗證通過后才能進入本系統行管理,對該信息數據進行及時的更新以及維護。