标题:
51单片如何实现输出一个脉宽和脉间都可调的方波?请大侠指点指点
[打印本页]
作者:
Tmtz.jack
时间:
2021-7-28 09:26
标题:
51单片如何实现输出一个脉宽和脉间都可调的方波?请大侠指点指点
如题
作者:
AUG
时间:
2021-7-28 10:29
定时器作为信号的周期,就假设1ms的定时器吧,如果你将你的信号设置为0-100可调脉宽的话,那么通过定时器计数,计数到了你要的脉宽值就进行变换。
time()//定时器函数
{
Time_num++;
if(time_num == 100) time_num = 0;
}
main() //主函数
{
while(1)
{
if(time_num ==0)
{
OUT = 1;//输出高电平
}
if(duty == time_num ) OUT = 0; // 输出低电平
}
}
差不多就这样个原理吧,里面的变量就全局都行。
作者:
wfqxgw
时间:
2021-7-28 12:11
51好多型号都内置PWM吧.仔细看看说明书.容易操作的.
作者:
isyido
时间:
2021-7-28 12:29
用PWM最好
作者:
lkc8210
时间:
2021-7-28 14:31
void timer0_int (void) interrupt 1
{
TR0 = 0;
if(PWM_Swap)
{
TL0 = PWM_H_TL;
TH0 = PWM_H_TH; }else
{
TL0 = PWM_L_TL;
TH0 = PWM_L_TH; }
PWM_Swap = !PWM_Swap;
P27 = PWM_Swap;
TR0 = 1;
}
作者:
Tmtz.jack
时间:
2021-7-30 17:32
先谢谢各位的指点,我试试,后续继续请教
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1