此控制板使用8052的3個計時器,TIMER0 & TIMER1 跑1~16通道,使用TIMER 2做UART 。
固如果改8051可以跑8個通道。
8051運算速度實在有夠,所以產生訊號的時間 使用查表法pwm_out.H此檔案紀錄每個週期的時間。
使用此方法讓緩慢的8051不需計算。達到通道的穩定度。
電路方塊圖:
____ ________ ______
| | RS232 | | | |
| PC | =====> | MAX232 | => | 8051 |
| | | | | |
----- --------- -------
||
_____ ______ ||
| | | | /────┘|
|SERVO|<= |CD4049| \─────┘
| | | |
----- ------
這邊輸出接上CD4049,因為 8051初始值為0XFF ,為了怕啟動時SERVO接收到假訊號,固再輸出端接上反閘
使8051一開機送出的訊號為0X00,可以避免一開始的誤判。(此方法參考nichal大大)
因此本程式輸出PWM為反向 輸出訊號如下:
5V ---| |------------| |---
| | | |
| | | |
| | | |
0V --- ---
PS1:如不想反向輸出把p_out_temp的值改掉,前0~15為前8通道,後16~32為後8通道。
EX:改成0×01、0×00、0×02、0×00、0×04、0×00………..
PS2:在此感謝nichal大大的協助才能完成~^^
----------------分隔線 ----------------
SSC-16
SSC-16.rar (4.0 KiB, 224 hits)
相關文章: