?? pwm.c
字號(hào):
#include <reg51.h>
#define OSC 12000000
#define C_40us (65536-OSC/(12000000/18))
#define uchar unsigned char
#define uint unsigned int
sbit pwm=P1^0;
sbit key_add=P1^1;
sbit key_dec=P1^2;
uchar cpwm=50;
uchar cpwm_x;
uint i;
//
void timer(cpwm_x)
{
TMOD=0x10;
TR1=1;
while(cpwm_x--)
{
TH1=C_40us/256;
TL1=C_40us%256;
while(!TF1);
TF1=0;
}
TR1=0;
}
//////////////////////
void pwm_add(void)
{
if(key_add==0)
{
cpwm+=10;
if(cpwm>=100)
cpwm=100;
}
while(key_add==0);
}
void pwm_dec(void)
{
if(key_dec==0)
{
cpwm-=10;
if(cpwm<=0)
cpwm=0;
}
while(key_dec==0);
}
void main(void)
{
while(1)
{
pwm_dec();
pwm_add();
pwm=1;
timer(cpwm);
pwm=0;
timer(100-cpwm);
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -