|
今天想找個調制pwm方波源碼
看了很多都不太理解
了解后自己寫了一份
現在把自己的送上
不太會發帖
請多海涵
/* P1.0口輸出pwm方波 P1.1口連接用來對比的led 兩個led共陽,低電平點亮 */
#include<reg51.h> //定義單片機庫函數
#define uint unsigned int //定義無符號整形
#define uchar unsigned char //定義無符號字節型
sbit pwm = P1^0; //PWM輸出端口
sbit led = P1^1; //對比輸出端口
uint count,a,b,th,tl,number,i;
void main()
{
count = 2; //占空比
a = 12/11059200; //計算機器周期
b = 1000/a; //計算每個數需要的時間 us
th = (65536-b)/256; //計算填入TH的值
tl =(65536-b)%256; //計算填入TL的值
EA = 1; //開總中斷
ET0 = 1; //打開T0中斷
TMOD = 0x01; //設置T0計數器工作方式為16位計數器
TH0 =th; //給TH0填入th
TL0 =tl; //給TL0填入tl
TF0 = 1; //表示T0有中斷產生
TR0 = 1; //表示T0開始運行
led = 0; //點亮led燈做對比
while(1){ //開啟死循環等待中斷
if( number==300){ //每進入中斷1000次就將占空比加一
number=0; //復位參考值
count=count+1; //占空比加一
}
}
}
void timer()interrupt 1{
TH0 = th; //重新填入th
TL0 = tl; //重新填入tl
i++;
if(i<count) //count為占空比
{
pwm=0; //輸出低電平點亮led燈
}else{
pwm=1; //輸出高電平熄滅led燈
}
if(i>=10){
i=0; //參考值置零
}
number++;
}
|
-
-
51單片機pwm方波輸出.zip
2018-8-14 12:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
27.15 KB, 下載次數: 43, 下載積分: 黑幣 -5
源碼文件
評分
-
查看全部評分
|