如果芯片本身不具備 8 路 PWM 輸出功能,那么,就只能軟件模擬這種功能了!
軟件模擬可能會讓 PWM 的最高輸出頻率受到影響,而實現(xiàn)卻很容易.找一組端口不是 8 個端口嗎?同時輸出就是 8 路了!
實際示例:
定時器中斷一次間隔 100us .輸出 8 位分辨力=256 次.
MEM DATA 30H ;定義一個輸出計數(shù)器
MES DATA 31H ;定義一個中斷次數(shù)計數(shù)器
MOV MEM,#127 ;50% PWM 波形
;中斷一次 MES 就 +1 !
;如果 MES < MEM ,8端口就輸出=1
;如果 MES ≥ MEM ,8端口就輸出=0.
;如果 MES 溢出(255 到 00H),又重新開始8端口輸出=1
;改變 MEM 就改變占空比 ,改變總計數(shù)值就改變分辨力.
100*256=25600
輸出頻率=1000000/25600=39.063HZ
僅供參考!
|