你可以用定时器来控制输出脉冲的频率,脉冲个数可以通过外部中断0或1来计数,达到控制效果。 硬件方面就是将脉冲输出端反馈到外部中断输入端。
(以上是以80C51内核的单片机)
其他单片机可以做类似编程处理。
hope it be helpful to you
uint Numb(uint x) //以子程序的形式写,方便调用
{ uint count = 0;
while(count!=x)
{ m = ~m;
if(m)
count++;
if(count>x) //计数值超过设定值,错误,退出循环
break;
}
return count; // 返回值再做判断是否发送正确
}
用时间中断控制输出点取反。
建议 去 我的领地 5d6d 的 proteus 论坛看看
那里有很多 单片机仿真实例,包括仿真图 和 源码
搜 5d6d 和 proteus 2个关键词