看看這個,單片機用的是ADUC848,AD轉換輸出正弦波,和PWM原理類似。
2、源程序清單
DACCONEQU0xfD;定義模數轉換控制器
DACHEQU0xfc;定義模數轉換數據寄存器高8位
DACLEQU0xfb;定義模數轉換數據寄存器低8位
ORG0000H
LJMPMAIN
ORG0200H
MAIN:MOVDACCON,#0fH;DACoperation
CLRA;
MOVDACH,A;模數轉換高八位清零
PRG3:MOVR0,#09H;正弦波
MOVR4,#40H
LP11:MOVA,R0
MOVCA,@A+PC
MOVDACL,A;2
ACALLDELAY;2
INCR0;1
DJNZR4,LP11;2
SJMPPRG3;2
DATA0:
DB80H,8CH,98H,0A5H,0B0H,0BCH,0C7H,0D1H,0DAH,0E2H,0EAH
DB0F0H,0F6H,0FAH,0FDH,0FFH,0FFH,0FDH,0FAH,0F6H,0F0H
DB0EAH,0E2H,0DAH,0D1H,0C7H,0BCH,0B0H,0A5H,98H,8CH
DB80H,7FH,73H,67H,5AH,4FH,43H,38H,2EH,25H,1DH,15H
DB0FH,09H,05H,02H,00H,00H,02H,05H,09H,0FH,15H
DB1DH,25H,2EH,38H,43H,4FH,5AH,67H,73H,7FH
RET
DELAY:MOVR6,#10H
MOVR7,#0A1H
DELAYLOOP:;延時程序
DJNZR6,DELAYLOOP
DJNZR7,DELAYLOOP
RET
四、實驗板插針配置:
無需插針配置,注意DAC是從CONDACOUT1端子輸出,可用示波器觀察DAC輸出波形。若產生失真情況,請檢查開發板DA輸出端LM358運算放大器的放大倍數,適當更改所查函數表的范圍。
五、思考題
1、改變程序,使能添加輸出鋸齒波;
2、改變程序,使輸出添加三角波;
3、改變程序,使輸出添加方波;
4、改變程序,並製作一個簡單的函數發生器
② 單片機如何同時輸出三路獨立的pwm波
輸出PWM有三種方法:1、如果你的單片機里有PWM發生器就可以獨立生成。
2、用軟體實現:在程序里對要輸出PWM波的埠不斷取反。例:
#include<reg52.h>
sbit pwm=P0^0;
void delay(char i,char j)
{
for(i=100;i>0;i--)
for(j=200;j>0;j--);
}
void main()
{
while(1)
{
pwm=0;
delay();
pwm=1;
}
}
3、用單片機的定時器中斷產生。
③ 單片機pwm是什麼意思
單片機PWM是指從單片機輸出的一個恆定的直流電平,通過計算機技術,按照一定的規律控制電平的占空比來實現模擬電路的調節。PWM技術廣泛運用於電路、電機控制、智能家居控制等領域。之所以選擇使用單片機控制PWM電平是因為其高精度、低功耗、良好穩定性等特點。
通過PWM技術,單片機可以方便地控制電路的電壓大小,從而實現電機的調速、燈光的調節、音響的音量控制等功能。同時,PWM技術還可以有效地控制電路的能耗,避免不必要的能耗浪費,節省電力和降低成本。此外,PWM還可以實現數字信號和模擬信號之間的轉換,甚至可以控制電路的輸出頻率,使得設備更具靈活性和適應性。
單片機PWM技術廣泛應用於各種電子產品和嵌入式系統中,例如風扇調速、LED燈控、溫度控制等等。此外,PWM技術也可用於實現具有智能功能的家居和工業控制系統,例如窗簾控制、自動門鎖等等。這些功能的實現離不開單片機PVM技術的支持,由此可見,單片機PWM已成為電子行業一項重要的技術。