❶ 微型直流电机的急停控制如何实现
对于微型永磁直流电动机,要它快速停止:
1,可短接电枢,产生制动力矩,但也做不到马上停止。
2,反接,但要有方识别,当速度为0,立刻结束反接,否则会反转。
3,加包闸。
4,改用步进电机,可想让它停就马上停止。
以上四策,自主选定。
❷ 51单片机如何通过按钮实现暂停和恢复啊!
最佳有以下几种情况: 1.循环查询按键。当按键按第一次时间,进入第一层循环查询语句内部,执行恢复。不跳出该层循环,继续查询按键。当第二次按下时间,进入第二层循环查询语句内部,执行暂停。循环结束。若想反复暂停和恢复,就在外面再加一层while(1)类似的死循环,反复执行其内部的两层循环
❸ 单片机串口发送数据不及时怎么处理
不是很明白你要实现的功能。
你的中断函数里写的是如果接收到串口信息时,就将标志位置1,同时获取此时P1口的按键状态。
然后主程序检测到标志位被置1,就将刚刚获取的P1口按键状态发回给上位机是这样吗?
不用说了,肯定是这样。
我说说你程序的问题吧,首先你的P1口到底接了些什么外围电路我不知道,如果是按键,还分哪类按键呢,比如拔动开关,或者是普通按键。如果是拔动开关的话,那麽这个程序也没多大问题。因为拔动开关是可以让你的按键电平锁定在高电平或低电平的,但如果是普通按键的话,那麽你的程序就很大问题了。
首先要产生RX信号,让程序进入中断,同时你的按键要按下。两步要同时。所以导致你要不断地按,狂按。
其实如果你的单片机不接收上位机传来的串口信号,可以直接去掉中断的。
while(1)
{
if(P1!=0XFF) // 证明有按键按下
{
pd1=P1; //将值取出。
while(P1!=0xff) ; //直到松手。
SBUF=pd1; //SUBF接受/发送缓冲器
P2=pd1;
//delay(); 这句delay没多大意义。
while(TI==0);
TI=0;
Flag=0;
}
}
也可能是我误解了你的意思,有什么问题欢迎一起探讨,希望我的回答对你有帮助。
❹ 51单片机用4个按钮控制开始暂停快速慢速的流水灯。需要用C语言编程。求大神帮助
其实很简单的,随便使用一个定时/计数 器,使其工作在方式1(方便计算初值),然后写中断服务函数,使用_crol_()函数来反复循环做流水效果,然后在主函数最后写while(1),一直不停扫描键盘函数,然后键盘函数定义4个按键,开始:TRx=1,停止:TRx=0,至于快慢的控制你可以在中断函数里边写一个延时函数,然后按键3和4按下一次自增或自减1000(你可以取其他值),然后传递给延时函数。
有不懂的地方随时回复我。
希望我的回答能帮助到你。
❺ 单片机怎么用一个按钮控制步进电机启动和停止
单片机用一个按钮控制步进电机启动和停止,这很容易的,识别按键按下的程序会写吧,那定义一个位变量,即标志位,如flag,上电后flag=0,为电机停止状态。每按一次按键,flag=!flag,即取反一次,然后再判断标志位,flag=1,则启动电机。flag=0,则停止电机。
❻ 数控机床在按下急停后可不可以使主轴立即停转
现代的数控机床工作状态都是主轴高速旋转的,在机床设计之初就要考虑安全互锁的问题,如果按下急停按钮的话。机床的主轴是会立即制动刹车,但会有3-5的时间才会停下来。这是写在机床设计规范里面的。马上停下来是不现实的,无论是机械还是电气都无法达到。当然低转数是可以立刻停下来的。同时机床的直线轴也会停止运行。
❼ 两个51单片机用串口收发数据,总是停在第一个数据就不动了
我只看发送程序,发现这里有点问题
TI=0;//为了接收下一帧数据,软件清零TI
while(TI==0);//只要接收中断标志//空操作
while里面你是想判断接受中断,为什么是while(TI==0)不是while(RI==0)呢,
❽ 自动化流水线在运行过程中,按下急停按钮,流水线的速度为什么不马上停下,而是缓慢停下
这个设计主要还是为了流水线的安全考虑,急停,会造成流水线的精确度受到损害。
❾ 51单片机中断的理解
如果你单就是让单片机显示数码管的数字用不用中断都无所谓,但是普遍来讲,单片机都是有主要任务的,而显示只不过是人机界面而已,在一个中大型程序里显示不能算主要任务。那么这个时候就不能在用延时来显示了。
CPU在一个单位时间内只能做一件事,我们看CPU那么强大是因为他做事非常快,以至于我们误认为他是同时在做很多事。在延时程序中,CPU啥事都不干,就光等着,在等的时候是不会执行下一条命令的。但是利用定时器中断就不一样了。定时器是硬件实现的,因此和CPU是异步的,如果利用定时器让cpu在每时间t后的定时器中断里做一件事,在这个时间t内cpu是可以做其他事的,不然怎么叫异步呢?
再回来看你这个问题,我们假设这个单片机是产生PWM脉冲控制电机的,同时利用lcd做显示,很明显只能使用定时器利用中断使输出脚每次取反。因为如果你用延时,那么在执行显示模块的时候,执行显示的期间,会延长pwm引脚的电平时间,你的pwm脉冲就走样了。正确的做法是,每次要显示的数值变化时触发标志位,然后main函数不断循环对比标志位是不是1,如果是1则进入lcd显示的程序。因此主程序根本就没有pwm的任务,pwm的生成全权交给了定时器。
再举一个例子,假设有一个急停按键,利用外部中断,当按下这个按键,执行器立即停止。利用中断自然啥事没有。如果不用中断,靠程序本身的大循环那我就呵呵了,如果这期间一个命令要用3s的时间,那你的急停按键按下后要3s才能让cpu停止执行器,已经没有急停的意义了。