Download presentation
Presentation is loading. Please wait.
1
遙控車程式流程圖規劃 學號:B 姓名:楊 穎 穆 老師:田 慶 誠
2
大綱 Main( ) :主程式 System_Initial( ):系統初始化副程式 A2D( ) :ADC副程式
PPM( ) :輸出PPM訊號副程式 Output_high( ) :輸出PPM的high訊號 Output_low( ) :輸出PPM的low訊號
3
撰寫程式輸出PPM訊號 T 1.煞車 2.方向盤 3.油門 4.未設定
4
Main( ) 系統初始化設定 分別對煞車、方向盤、油門3個channel 做A/D轉換 開始計數總週期22ms
使用 Timer 開始計數22ms Main( ) System_Initial( ) A2D( ) PPM( ) 22ms計數完成? NO YES A B C D E F 系統初始化設定 分別對煞車、方向盤、油門3個channel 做A/D轉換 開始計數總週期22ms 開始輸出3個channel的PPM 分別對下一個煞車、方向盤、油門 3個channel 做A/D轉換 等待總週期22ms計數完成 跳至步驟3重覆動作
5
主程式時序圖 PPM( ) C D F D A2D( ) A2D( ) A B E E 22ms 22ms
System_Initial( ) 22ms計數完成
6
C8051F320 Block Diagram Timer區域 穩壓區域 Oscillator區域 I/O區域 A/D區域
7
System_Initial ( ) 設定 Oscillator 關閉 PCA0 WDT 設定 Timer 設定 ADC0
I/O Port Return 設定 Oscillator 關閉 PCA0 WDT 設定 Timer 設定 ADC0 設定 I/O Port Return
8
測量遙控車油門、煞車、方向盤可變電阻變化
圖(2)實際量測阻值過程 圖(1)量測阻值電路 根據圖(1)我們可以量出在不同動作時,R1和R2的電阻值。這些數值可供我們分析Vo和A/D關係式。
9
發射機之系統架構圖 油門的機制: 當前進時,switch上面接上面,下面接下面。 當後退時,switch反過來接,上面接下面,下面接上面。 Input為3個channel的輸入:油門(前進、後退)、煞車、方向。 Output為PPM編碼輸出,RST是Reset。 動作: F320分別對3個channel做A/D轉換,每轉換一次就判別 輸出一組PPM編碼。
10
ADC0 Function Block Diagram
Analog 輸入端 Digital 輸出端
11
A2D ( ) n=1 設定 channel n 做A/D轉換 開啟A/D轉換 等待A/D轉換完成 將A/D數值存入矩陣[n]之中 n++
Return 設定 channel n 做A/D轉換 n<4? YES 開啟 A/D 轉換 NO Return A/D 轉換完成? NO YES 將 A/D數值 存入至矩陣[n]
12
遙控車發射端PPM訊號 1. 煞 車 2. 方 向 盤 3. 油 門
13
PPM( ) n=1 Output_high( ) Output_low(矩陣[n] ) n++ n<4則跳至步驟2
Return NO YES Output_high( ) Output_low(矩陣[n]) PPM output = 0 n<4? n=1 Output_high( ) Output_low(矩陣[n] ) n++ n<4則跳至步驟2 PPM output輸出‘0’ Return
14
遙控車發射端PPM訊號為High的部分 1. 煞 車 2. 方 向 盤 3. 油 門
15
Output_High( ) PPM Output 輸出’1’ 設定TL1和TH1 開啟計數器 等待計數完成 關閉計數器 清除溢位旗標
RET NO YES 計數完成? 溢位旗標=1? PPM output = 1 設定 TL1 和 TH1 開啟計數 關閉計數 清除溢位旗標 PPM Output 輸出’1’ 設定TL1和TH1 開啟計數器 等待計數完成 關閉計數器 清除溢位旗標 Return
16
遙控車發射端PPM訊號為Low的部分 1. 煞 車 2. 方 向 盤 3. 油 門
17
Output_Low PPM Output 輸出’0’ 經由矩陣[n]內的A/D數值換算出TL1和TH1的設定值 開啟計數器 等待計數完成
Return NO YES 計數完成? 溢位旗標=1? PPM output = 0 經由矩陣[n]換算 設定 TL1 和 TH1 開啟計數 關閉計數 清除溢位旗標 PPM Output 輸出’0’ 經由矩陣[n]內的A/D數值換算出TL1和TH1的設定值 開啟計數器 等待計數完成 關閉計數器 清除溢位旗標 Return
18
END
Similar presentations