实例3,stc8a利用内置的PWM模块,控制小车直流电机运动

本文详细介绍了如何使用TB6612模块控制直流电机,并通过STC8A8K单片机内置的PWM功能实现电机速度调控。包括控制原理、硬件接线方法及示例程序。

1、控制原理
2、硬件接线
3、实例程序

1、控制原理,

利用TB6612模块控制直流电机,TB6612模块的基本使用,在我的博客上面写有。先看看里面的控制。再次简单说一下。

(1)一个TB6612模块,可以驱动两个直流电机。
(2)TB6612驱动其中一个电机,需要三个引脚一般。
第一个引脚:PWM,作用,控制电机速度,单片机产生(定时器、硬件PWM,PCA产生PWM等);
第二个引脚和第三个引脚分别接AIN2和AIN1,如果是0,0那么停止,10正转,01反转,11也是停止。单片机的普通IO引脚就可以。在这里插入图片描述
在这里插入图片描述

同理,另外一个电机也一样。
看我之前的博客。循迹小车讲解一:原理分析_lmf666的博客-CSDN博客_循迹小车原理
https://blog.csdn.net/lmf666/article/details/109208816

(二)stc8a8k内置PWM模块的使用。
我已经写好代码,封装起来了,大家包好头文件,之后就能直接用了,只需要知道括号内部三个参数的意思。
//请认真阅读,理解
(注意)不过,建议有心学习单片机,想成为大神的,用到这款单片机的,一定要认真了解这个原理。对寄存器的访问和设置会有很大的收获。懂得这个,基本就知道怎么访问寄存器了。(见文末介绍)
//
************
对于新手,直接先使用着,后面再理解。
使用流程必须要按照这个步骤:
1、把HPWM这个文件夹,复制到工程目录里面,和工程文件放在一起。
在这里插入图片描述

1,包含头文件

在主程序中,必须写#include<hpwm.h>,这个文件我已经写好了,但是必须要包含进去。另外下载的时候,记得选择晶振是11.0592Mhz,不然要重新修改里面的代码。
![!](https://img-blog.csdnimg.cn/20201120101958853.png#pic_center)
这个文件夹有.c和.h文件。
在这里插入图片描述

2、将头文件的路径包含进去

在这里插入图片描述
在这里插入图片描述
新建一个路径,然后添加这个文件的路径进去。
在这里插入图片描述

3、在工程目录里面,添加hpwm.c文件。

在这里插入图片描述

4、配置好上面三个步骤之后,就能使用这个PWM了。

注意特别提醒,
我这个PWM是配套本训练板子的,是利用P20,P21,P22和P23产生PWM,如果要到其他场合,那么需要自己修改里面的hpwm.c的函数内容,比如端口切换,pwm的脉冲来源修改,等等。
5、简单介绍我这个模块的两个函数。

#
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值