欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
51單片機pwm多級調(diào)試源程序
[打印本頁]
作者:
kqk123
時間:
2018-7-7 10:08
標(biāo)題:
51單片機pwm多級調(diào)試源程序
pwm多級調(diào)試
單片機源程序如下:
#include <reg51.h>
#include <math.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
/*PWM控制端*/
sbit DIM2 = P1^0;
sbit DIM1 = P1^1;
/*使能端*/
sbit EN1 = P3^7;
sbit EN2 = P3^6;
sbit dianyuan = P1^4;
/*按鍵*/
sbit key1 = P3^4;
sbit key2 = P3^5;
uchar t = 0; //每次定時器溢出加1
uchar PWM = 0; //占空比控制
void delayms(uint x)
{
uchar i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void Delay10ms() //@11.0592MHz
{
unsigned char i, j;
i = 108;
j = 145;
do
{
while (--j);
} while (--i);
}
void keyscan()
{
if((key1 == 0)&&(key2 == 0))
{
delayms(10);
if((key1 == 0)&&(key2 == 0))
{
PWM = 250; //0mA
}
}
else if((key1 == 0)&&(key2 == 1))
{
delayms(10);
if((key1 == 0)&&(key2 == 1))
{
PWM = 125; //60mA
}
}
else if((key1 == 1)&&(key2 == 0))
{
delayms(10);
if((key1 == 1)&&(key2 == 0))
{
PWM = 83; //80mA
}
}
else
PWM = 0;//120mA
}
void main()
{
TMOD = 0x00; //定時器0,工作模式2,8位定時模式
TH0 = 0xff; //寫入預(yù)置初值(取值1-255,數(shù)越大PWM頻率越高)
TL0 = 0xf5; //寫入預(yù)置值 (取值1-255,數(shù)越大PWM頻率越高)
TR0 = 1; //啟動定時器
ET0 = 1; //允許定時器0中斷
EA = 1; //允許總中斷
// PWM = 125; //初始速度
EN1 = 1;
EN2 = 1;
while(1)
{
/* PWM += 1;
Delay10ms();
Delay10ms();
Delay10ms();
if(PWM == 250)
{
PWM=0;
}
*/
keyscan();
}
}
/*定時器0中斷模擬PWM*/
void timer0() interrupt 1
{
t++; //每次定時器溢出加1
if(t == 250) //PWM周期 100個單位
{
t=0; //使t=0,開始新的PWM周期
DIM1=0; //輸出低
DIM2=0; //輸出低
}
if(PWM==t) //按照當(dāng)前占空比切換輸出為高電平
{
DIM1=1; //輸出高
DIM2=1;
}
}
復(fù)制代碼
所有資料51hei提供下載:
PWM.zip
(21.04 KB, 下載次數(shù): 19)
2018-7-7 10:07 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1