風淋室系統調試之軟件調試
風淋室軟件系統程序全部采用C語音就行編程,首先確定板子無誤后就進行程序驅動調整,程序的編譯和調整配合著硬件的調試,根據風淋室硬件的動作進行調整程序,直至硬件滿足要求為止。
確認好風淋室各個模塊的程序調整無誤后,就整體進行調整,各模塊程序作為子程序,編輯主函數,然后按照流程圖就行編輯和處理,通過調試達到了系統預期的功能。
首先調試的是單片機最小系統和數碼管顯示的主板,采用的是AT89S52的芯片,所以選用reg52.h的頭文件進行編程,宏定義無符號型整型,無符號型。首先定義變量,P0口定義為數碼管的段位,a定義為P2^6, b定義為P2^7, c定義為P2^5,其中P2^6為個位數字顯示,P2^7為十位數字顯示,
uchar code table[]={
0x
0x66,0x6d,0x7d,0x07,
0x
0x39,0x5e,0x79,0x71}; 此為數碼管顯示的數組。
延時函數取y=110,延時為10毫秒。第一步做的是先驗證數碼管是否質量完好和風扇是否能夠正常運行。令P0=1;a=1;b=1;c=1;燒入程序之后,數碼管全亮,風扇也正常運行,經過初步驗證后,就令a=0x06,b=0x5b,使數碼管顯示1、2兩個數字,第二步靜態顯示也很順利的完成,后面就是第三步,能夠實現動態顯示。
b=1;a=0;
P0=table[shi];
delay(1);//設置顯示十位
a=1;b=0;
P0=table[ge];
delay(1);//設置顯示個位
temp定義為數碼管顯示的數字,temp=12,首先動態掃描使數碼管顯示該數字,給的脈沖為500ms,即delay(50),數碼管斷碼出現斷斷續續,看不清楚。然后給的脈沖為200ms,即delay(20),數碼管已經能夠看清顯示為12,不過有些閃爍,讓眼睛感覺很不舒服,后來經過最終確定,選用10ms,即delay(1),這時數碼管看上去就比較舒服,最后設置temp=15,temp--,這樣就實現了數碼管倒計時,結合風扇的運轉,這個模塊就調試成功。
其次調試語音模塊,使用單片機的P3^0~P3^3進行控制,J1為小功放的接口,J2為麥克風的接口,內容較多,在附錄五中對模塊的運行進行了主要詳細的闡述,這里就不多作解釋。
再次調試步進電機模塊,使用P2^0控制脈沖,P2^1控制電機方向,即sbit mc=P2^0;//脈沖輸出;sbit fx=P2^1;//電機方向;前面已經確定步進電機的各相序,現在根據5804內部驅動進行接線,首先要做的是使風淋室步進電機動起來,
fx=0;
mc=0;
delay(10);
mc=1;
delay(10);
這幾步完成跟定方向為逆時針轉,同時給定100ms的脈沖,很順利的讓電機動了起來,然后就是讓它能夠運轉90度左右,采用的步進電機為四相電機,步距角為1.8°,給定60個脈沖,轉角108°,剛好完成開門動作,然后停留3秒,使其關門,語句如下:
delay(3000);
for(num=0;num<60;num++)
{ fx=1;mc=0; delay(10);
mc=1; delay(10);}
本文所說明的風淋室軟件系統調試相對比較難懂,需要有一定的C語言編程基礎。
文章來源:http://www.klcfilter.com/ TEL:蘇小姐-13570963006 黃生-13570963007