航模控制器来个大神看下这段51单片机代码
这是航模灯带控制器的代码,只需要三个元件,原贴http://www.moz8.com/forum.php?mod=viewthread&tid=38765我已经焊好,刷好程序成功了,第五通道可以开关,输出4.5v,但是,我想给他做成会闪烁吧,请问代码在哪里改!求大神
程序也很简单,如下:
#include<REG52.H> //51单片机头文件
#define count 1500 //定时1.5毫秒
#define TH_M1 (65536-count)/256 //定时器T0模式1,高8位初值
#define TL_M1 (65536-count)%6 //定时器T0模式1,低8位初值
sbit PWM_IN=P3^4; //PWM波形输入端口
sbit LED_OUT=P3^3; //LED控制端口
//*************主函数**************
void main()
{
IE=0x82; //启用T0中断
TMOD=0x01; //定时器T0工作模式1
LED_OUT=0; //先设置LED输出为关
while(1) //无限循环检测
{
if(!PWM_IN) //如果脉冲是低电平
{
while(!PWM_IN); //等待脉冲到高电平
TH0=TH_M1; //初始定时器高8位
TL0=TL_M1; //初始定时器低8位
TR0=1; //启动定时器
while(!TF0); //等待1.5ms后定时器中断
TF0=0; //中断标志清零
if(PWM_IN==1) //1.5ms后检测PWM脉冲是不是高电平
{
LED_OUT=1;//如果是高电平,输出打开
}
else LED_OUT=0; //否则是低电平,输出关闭
}
}
}
既然都用到中断了,就在中断那里改吧,网上用中断做定时器的代码多得很,研究一下加进去。 在LED_OUT=1;//如果是高电平,输出打开 后面加一个闪烁子程序
页:
[1]