單片機加PWM芯片的開關電源設計方法
4 軟件設計
4.1 軟件流程
軟件用C語言編寫,使用HighTech公司為PIC系列單片機提供的PICC編譯器。系統上電時,單片機讀出非易失性存儲器(EEPROM)中上次設置參數,進行電流電壓輸出。在軟件設計中,采用多個任務的概念,可以模擬一個簡單的操作系統進行任務的調度。由定時器產生一個5ms的中斷,在中斷程序中激活各個任務的標志。如顯示任務主要負責A/D采樣、數碼管與LED的刷新,可每5ms執行一次。鍵盤處理任務負責按鍵的掃描、軟件去抖、鍵盤命令的解釋和掃行,可每10ms執行一次。PWM輸出任務負責按照設定的值進行PWM的輸出,可以每50ms執行一次。如果有PC機或其他電源通過串口編程,單片機將在UART中斷中接收編程數據,接收完改寫EEPROM中設置并強行復位。如果接收到通過按鍵的編程,則在按鍵處理中修改EEPROM的設置并復位。程序主流程則掃描各個任務是否到時間執行。是,則執行該任務;否則,跳過該任務。主程序流程如圖7所示。
圖7 主程序流程
4.2 串口編程軟件
在PC機上設計了軟件來實現PC機與單片機的通信。通過該軟件可以方便地實現對電源電流電壓輸出、定時等參數的設定。只要將電源上的RS232口與PC機串口相連,就可實現通信。
利用Visual Basic中的Mscomm控件進行串口通信軟件的設計(這里僅作簡要的介紹)。PC端數據接收通過Oncomm事件來實現,當接收緩沖區的數據達到rthreshold屬性設定值時,就會觸發Oncomm事件,在中斷程序中讀出接收緩沖區中的數據,將收到的字符型數據轉換成字符串后便送到各個文本框顯示。數據發送時,首先讀出文本框內字符串,再將其轉換成字符型數據,最后通過單擊“發送”按鈕,將數據送到發送緩沖區中,從而將數據從串口發送出去。
結語
采用單片機控制,克服了開關電源單一輸出的缺點,能夠提供靈活的電壓輸出。通過功率聯合擴展的功能,可以滿足不同功率場合的要求。電源也可以被當成鉛酸電池充電器來使用,能自動調整充電電流和電壓,應用場合非常廣泛。
pwm相關文章:pwm是什么
單片機相關文章:單片機教程
單片機相關文章:單片機視頻教程
單片機相關文章:單片機工作原理
pwm相關文章:pwm原理
評論