欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2375|回復: 1
打印 上一主題 下一主題
收起左側

單片機PWM控制C程序語言

[復制鏈接]
跳轉到指定樓層
樓主
ID:300040 發表于 2018-3-31 20:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 Sooofia 于 2018-3-31 20:51 編輯

#include "reg52.h"
#define uint unsigned int
#define uchar unsigned char
sbit PWM = P1^1;
uchar pluse; //占空比寄存器
void Timer2() interrupt 5
{   
static uchar time;   
TF2=0;   
if(++time==pluse) PWM=0; //達到脈寬設定值時,輸出PWM低電平   
else if(time==40) //PWM的頻率為1khz左右   
{     
time=0;   
PWM=1;  
}  
}  
void InitTimer2(void) //初始化函數
{   
RCAP2H = 0xff //定時25us初值   
RCAP2L = 0x0e7;   
ET2=1;  
EA=1;  
TR2=1;
}   
void main(void)   
{      
InitTimer2();     
while(1)
{
pluse=20;  
}
}
把PWM波的周期定為1ms,占空比分40級可調(即每級差2.5%),這樣定時器T2每25us產生一個定時中斷,每40次中斷后進入下一個PWM波的周期。在程序中,pluse=20,即占空比為50%,輸出的平均電壓為12*50%=6V。PWM產生的過程是這樣的,開始時PWM為1,當計時到達pluse時(即到達了設定的脈寬寬度時間)PWM=0,隨后到達PWM周期時間后PWM=1,此時下一個PWM周期重新開始。

PWM代碼.pdf

173.98 KB, 下載次數: 12, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:301752 發表于 2018-4-11 17:35 | 只看該作者
什么意思??怎么調?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表