9.7 电机控制程序基础

本文介绍了如何使用C语言编写步进电机控制程序,通过定时器T0中断服务函数驱动电机按照设定的角度转动。程序中设定了初始参数,使得电机转动2圈半,并详细展示了中断服务函数和步进电机节拍输出的逻辑处理。
摘要由CSDN通过智能技术生成
解决了精度问题,让我们再次回到我们的电机控制程序上吧。上面给出的两个例程都不是实用的程序,为什么?因为程序中存在大段的延时,而在延时的时候是什么其它的事都干不了的,想想第二个程序,整整 200 秒什么别的事都干不了,这在实际的控制系统中是绝对不允许的。那么怎么改造一下呢?当然还是用定时中断来完成了,既然每个节拍持续时间是2ms,那我们直接用定时器定时 2ms 来刷新节拍就行了。改造后的程序如下:
   
   
   
  1. #include <reg52.h>
  2. unsigned long beats = 0; //电机转动节拍总数
  3. void StartMotor(unsigned long angle);
  4. void main(){
  5. EA = 1; //使能总中断
  6. TMOD = 0x01; //设置 T0 为模式 1
  7. TH0 = 0xF8; //为 T0 赋初值 0xF8CD,定时 2ms
  8. TL0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值