5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
标题:
PWM转开关控制程序
[打印本页]
作者:
pp1942
时间:
2021-3-18 20:59
标题:
PWM转开关控制程序
最近需要高低电平控制外设,飞控的继电器输出没弄明白。刚好手头有闲置单片机,简单写了个PWM转IO控制程序。原程序为STC15F104E(对,就是那个外部中断有问题的单片机),程序仅1个延时参数,如有需要可根据不同单片机自行调整延时参数和扩展输出。
思路:死循环以下内容{内首先定义计数Count为0,输入PWM信号为低电平时无动作,输入PWM信号为高电平时以100us为单位计数,如果计数为15~25之间(1500us至2500us之间),则输出高电平,否则输出低电平}。
修改建议:1、不同单片机、时钟频率需更改100us延时参数;2、根据输出需要,可以将1000us至2000us之间分为若干时间段分别控制不同输出端口。
程序如下:
/*STC1F104E PWM->IO*/
//@11.0592MHz
#include<reg51.h>
sfr P3M1 = 0xb1 ;
sfr P3M0 = 0xb2 ;
sbit P_IN = P3^5 ;
sbit P_OUT = P3^4 ;
unsigned char Count;
void Delay100us()
{
unsigned char i, j;
i = 2;
j = 15;
do
{
while (--j);
} while (--i);
}
void main()
{
P3M0 = 0x10 ;
P3M1 = 0x20 ;
while(1)
{
Count = 0;
while(P_IN == 0);
while(P_IN == 1)
{
Count++;
Delay100us();
}
if(25>Count&&Count>15)
{
P_OUT =1;
}
else
{
P_OUT =0;
}
}
}
作者:
lcw_0504
时间:
2021-3-18 21:06
不错不错,程序够简洁。
我更喜欢STC15W204S-SOP8。
作者:
sha_hong
时间:
2021-3-18 22:07
现在片机的高级语言很好用啊。。。
作者:
mvp1982
时间:
2021-11-14 09:19
我想把监控摄像头后方得五向按键模拟出来。遥控器可以用飞控模式切换模块,一路PWM控制五路开关分成五段控制分控的五种飞行模式,就是用这个思路,控制五路开关,把监控摄像头的五向案件模拟出来。
作者:
我又来了
时间:
2021-12-13 15:25
多谢楼主的慷慨,对于不会单片机程序来说是个天书,有它的电路图吗?幸苦楼主了!!!
欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://bbs.5imx.com/)
Powered by Discuz! X3.3