唐山蜗牛 发表于 2019-8-4 21:39:39

航模控制器来个大神看下这段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;   //否则是低电平,输出关闭
}
}
}








穿拖鞋的狼 发表于 2019-8-4 22:09:15

既然都用到中断了,就在中断那里改吧,网上用中断做定时器的代码多得很,研究一下加进去。

1037261092 发表于 2019-8-4 22:15:01

在LED_OUT=1;//如果是高电平,输出打开 后面加一个闪烁子程序
页: [1]
查看完整版本: 航模控制器来个大神看下这段51单片机代码