51单片机中延时程序

51单片机中延时程序,第1张

1  sleep()是以毫秒计算的,延时5秒是sleep(51000);,延时5分是sleep(5100060);

2包含的头文件看你用的什么编辑软件。

3我用的VC++是用包含在#include<windowsh>头文件中。

#include<stdioh>#include<windowsh>//Sleep()的头文件  main()  {   int i;

int n=10;for(i=1;i<=n;i++)  {printf("%d",i);Sleep(5100060);}  //    

这里修改延时时间,

有些人说是用#include<dosh>做头文件你自己试下吧。

还用Sleep的S是大写的,不是小写的。

既然是技巧的话那就不提供详细的代码了,首先要看你这个小车是几轮几驱动的,首先假设你只用一个L298n驱动板的话,那么再假设只含左右两个轮,只对左右两个轮进行控制的话,那么就简单了,首先你要知道L298N驱动板怎么用,不同的驱动板功能都不一定相同,不过控制引脚一般来说都是4根,可以控制两个直流电机的正反转,同时还有两个PWM接口,可以控制两个电机的转速。

假设4个控制引脚分为A1、A2和B1、B2,A1、A2控制第一个直流电机,B1、B2控制第二个直流电机,当A1和A2接不同方向的电流后直流电机会正转或反转,同理B1和B2也是一样。PWM是通过控制占有率来控制电机速度的,即控制高电平和低电平的时间的,不同,这样在规定时间内,如果高电平的时间占有比例越高则电机转速越快,输出功率越高。

知道以上内容了那么之后的内容就更容易理解了

前进:两个直流电机朝正方向同时转动即可

后退:两个直流电机朝反方向同时转动即可

原地左转:类似原地打转,只需让两个电机一个正转一个反转即可,即左转为左边电机反转,右边电机正转

原地右转:与原地左转相反即可

固定轮转:固定左边令右侧轮前进即可实现固定轮转向的目的,例如左转的话令左边电机停止,右侧电机正向转动即可,向右转的话与左转相反。

至于keil程序,这个要根据具体的硬件来写,别人的无法通用,不过这些都不难,只要原理弄懂了,稍微花一点儿时间还是能很容易写出来的,先从控制电机的转向开始。别人的程序的话可能会越看越难理解,还是自己动手比较好,先不考虑调速的情况下完成了之后再去看看有关PWM调速的内容。

#include<reg51h>

#define uchar unsigned char

uchar step[]={0x08,0,0x02,0x66,0x04,0x05,0x01,0x09};//根据实际电路调整数据

sbit key=P1^0;

uchar num;

main()

{

uchar i;

num=0;

while(1)

{

while(key);//等待按键

while(!key);//等待键抬起

num++;//计数值加1

num&=0x07;//计数值调整,使之不大于7

P0=step[num];//送步进数据

for(i=0;i<120;i++);//延时约1毫秒

}

}

以上就是关于51单片机中延时程序全部的内容,包括:51单片机中延时程序、51单片机控制两路直流电机转速的c程序技巧、求keil-c51单片机控制步进电机运行的点动程序,一定要是点动功能的程序,最好是C语言程序,汇编也可以。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/9346268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存