标题:
51单片机按键控制LED亮度-PWM实现
[打印本页]
作者:
cxyingljyu
时间:
2020-6-6 15:46
标题:
51单片机按键控制LED亮度-PWM实现
#include "reg52.h"
sbit LED=P2^0 ;
unsigned char count; //计数
unsigned char PWM_VLAUE; //占空比比对值
typedef unsigned int uint16;
typedef unsigned char uint8;
sbit k1=P1^0;
void delay10ms(uint8 i)
{
uint16 j=100;
while(i--)
while(j--);
}
void timer0_init()
{
TMOD=0x02;
TH0=0x47; //定时器溢出值设置,每隔200us发起一次中断。
TL0=0X47;
TR0=1;
ET0=1;
EA=1;
count =0;
}
void time0() interrupt 1
{
count++;
if(!k1)
{
delay10ms(1);
if(!k1)
{
PWM_VLAUE+=1;
}
if(PWM_VLAUE>=10)
{
PWM_VLAUE=1;
}
}
if(count == PWM_VLAUE) //判断是否到了点亮LED的时候
LED = 1; //点亮LED
if(count >= 10) //当前周期结束
{
LED = 0; //熄灭LED
count = 0; //重新计时
}
}
void main()
{
count = 0;
PWM_VLAUE = 0;
LED = 1; //默认LED熄灭
timer0_init(); //定时器0初始化
while(1);
}
作者:
admin
时间:
2020-6-7 03:47
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1