李莉


摘要:本文介紹了各個部分的軟件選用及功能。脈沖電源在當今社會是一種很主流的開關電源,脈沖電源系統(tǒng)的軟件部分主要包括兩大部分功能模塊,其中單片機AT89C51主要負責控制功能的實現(xiàn),而AT89C52則主要作為檢測芯片完成系統(tǒng)輸出電壓與電流的模數(shù)轉換及脈寬和頻率的測定功能。
脈沖電源在當今社會是一種很主流的開關電源,是一種技術含量高、知識面寬、更新?lián)Q代快的產(chǎn)品,被譽為高效節(jié)能型電源。脈沖電源技術作為電源電壓變換的一種基礎技術,由于變換方式簡單,成本低,體積重量小、容易控制 輸出電壓、變換方式等,因此,產(chǎn)生了這種電源變換技術即開關電源技術。在經(jīng)濟與科技高速發(fā)展的時代過程中,電源起到至關重要的作用。
脈沖電源系統(tǒng)的軟件部分主要包括兩大部分功能模塊,其中單片機AT89C51主要負責控制功能的實現(xiàn),例如鍵盤輸入模塊和控制脈沖產(chǎn)生程序。而AT89C52則主要作為檢測芯片完成系統(tǒng)輸出電壓與電流的模數(shù)轉換及脈寬和頻率的測定功能。與此同時,不管在控制芯片或者檢測芯片工作過程中,者都涉及到液晶顯示功能的實現(xiàn)。本系統(tǒng)主要采用模塊化的思想對系統(tǒng)的軟件模塊進行劃分。主程序主要完成對各功能塊的依次調(diào)用即可。下面將予以詳細介紹
脈沖產(chǎn)生程序
本系統(tǒng)的整體程序主要完成脈寬頻率值的設定,控制脈沖的產(chǎn)生,輸出參數(shù)的檢測和顯示等功能。此程序是系統(tǒng)軟件部分的主干,其他各個模塊的子程序都在主程序的基礎上發(fā)展起來,受主程序調(diào)用。系統(tǒng)整體程序流程見圖1。系統(tǒng)上電后,首先進行各個參數(shù)變量的初始化工作,然后在液晶上顯示系統(tǒng)歡迎界面“歡迎使用本系統(tǒng)",持續(xù)數(shù)秒延時后進入初始設定界面,在此界面用戶需設定要求的輸出脈寬和頻率值。在等待鍵盤操作的同時,液晶上一直顯示初始設定界面內(nèi)容直到有按鍵被檢測到為止。當“ENTER”鍵被按下時,說明默認參數(shù)無須修改,直接開始輸出控制脈沖;當“SURE”鍵被按下時,說明需要對默認參數(shù)進行修改,則進入?yún)?shù)設定子程序,其中包括keyboard()和key_scan()兩個函數(shù)調(diào)用,前者完成修改項選擇功能,后者實現(xiàn)鍵盤掃描以及數(shù)值修改的操作。當設定完畢之后,同樣按下“ENTER”鍵開始輸出控制脈沖。由于設計要求在運行過程中需要對輸出參數(shù)進行調(diào)整,所以設置了修改功能。當“MODIFY”鍵被按下后,單片機持續(xù)輸出高電平信號,同時進入設定界面配合鍵盤操作修改輸出參數(shù)使之滿足要求;而“MODIFY”鍵不動作時,AT89C51始終保持輸出控制脈沖并進行鍵盤掃描循環(huán)動作,AT89C52開始檢測輸出參數(shù)并且顯示在液晶屏幕上
本模塊有output()函數(shù)和output timer()函數(shù)構成。output0函數(shù)調(diào)用output timer()函數(shù)主要完成輸出高低電平工作,同時其也被主函數(shù)調(diào)用。當參數(shù)設定完畢之后,單片機AT89C51的P1.O引腳不斷輸出控制脈沖,保證系統(tǒng)的正常運行。
脈沖產(chǎn)生程序模塊用來給出控制SG3525工作時間的脈沖波形,單片機與脈寬調(diào)制芯片SG3525的關斷控制引腳10相連。在控制脈沖為高電平時間段,SG3525停止工作,系統(tǒng)輸出端為低電平。反之則為高電平。在用戶輸入了系統(tǒng)輸出端要求的脈寬和頻率值后,便可得到控制脈沖的高低電平時間。圖2為脈沖產(chǎn)生程序流程圖。由于程序語言在單片機中的執(zhí)行時間是以微秒為計量單位的,所以為了使脈沖的高低電平時間更加精確,程序中以微秒作為時間單位。由于本系統(tǒng)單片機采用12M晶振,那么其定時器最長定時只有65.535ms,但是要求的頻率變化范圍是1Hz"--50Hz,脈寬變化范圍是10%"---90%,也就是說單片機輸出脈沖的高低電平時間在2ms"-'900ms之間變化,其范圍超出了65.535ms的極限值。因此,此脈沖產(chǎn)生算法的思路為對傳遞進來的時間參數(shù)以50ms為時分為兩個流程,分別對其定時輸出高低電平。
算法具體工作流程為:若時間參數(shù)大于50ms,則變量m為50ms的整數(shù)個數(shù),。n為時間參數(shù)去掉ra個50ms剩余的時間,此時長在50ms以內(nèi)。第一步定時50ms,在中斷服務程序中設置標志位t記錄申請中斷次數(shù)使其累計計時m個50ms,第二步再對剩余時間n定時,同樣當標志位flago置位時,定時結束,立即將P1.0口電平取反,重復上述步驟;而時間參數(shù)小于50ms的情況等同于上述情況第二步,在此不再贅述
檢測芯片程序模塊
這部分包含三個主要程序模塊:A/D轉換程序,脈寬檢測與頻率檢測程序。下面具體介紹。檢測芯片為AT89C52單片機,其3個16位定時器全部得到應用,其中定時器TD和T1用于檢測頻率,定時器T2用于檢測脈寬。
脈沖高壓電源的軟件設計。主要通過兩個單片機對整個系統(tǒng)進行控制和檢測。AT89C51主要負責人機接口的實現(xiàn),鍵盤輸入和控制脈沖的產(chǎn)生。AT89C52則用來檢測輸出參數(shù)并將其及時地顯示在液晶屏幕上。我們還自行開發(fā)了脈沖發(fā)生算法,輸出脈沖的頻率和脈寬檢測算法,算法的可行性和可靠性在實驗中得到了證實。endprint