最近实习,需要使用CY8CKIT-05编写相应的单片机控制实验,在B站上找到了两份非常好的初学者教程视频
话不多说,下面列出地址:
1、 https://www.bilibili.com/video/BV1fZ4y1u7kg?p=6
//这份是全英文的教程解说,但有明细的实验编写流程,看一遍就会操作,听不懂英文也没有关系。
2、https://www.bilibili.com/video/BV1Bb411s7QC?from=search&seid=14082822012665607266&spm_id_from=333.337.0.0
//这份就是从0开始教基本操作用法的中文解说,第一次接触该软件的时候可以听听,熟悉一下界面
1、功能设计要求
目的功能设计:设计一款系统,在按下(按住)按键时可以使得两台舵机的角度转150度,松开按键(默认状态)时舵机角度为0度。
2、建立顶层设计界面
双击该文件,发现界面一片空白,在这里你可以添加你需要的芯片功能。那如何添加呢?
2.1、添加PWM模块
PWM模块的添加有两种:可以在右边的搜索栏中输入“PWM”
将PWM[v3.30]拖出到中间的白色界面,就可以获得PWM的模块了,这种感觉有没有像是在搭积木?
然后第二种就是直接找了,也是在该目录依次点击Digital-Functions-PWM,然后将模块拖出来即可。
观察上面的图片,可以看出,要使用这个PWM模块,我们就还需要添加clock(时钟脉冲),reset(复位),pwm1/2(脉宽输出)至少三个部分的模块;同时,因为是按键控制舵机,还需要添加按键模块,文章稍后将会阐述。
2.2、修改PWM配置参数
双击PWM模块,可以得到类似下面的界面:
有几个点需要我们重点关注:
1、Resolution:8位/16位控制,对于舵机而言,位数越大越容易控制其位置,特别是位置需要严格控制的设置。
2、Period:这里设置周期为两千(这里输入脉冲为100kHz),因为这样能看到右边黑色粗体显示的周期时间为20ms,舵机的脉冲周期为20ms,是刚好符合舵机工作要求的。如果不是这个20ms的脉冲周期,极有可能会使得舵机无法正常工作,亲历。
3、PWM Mode:修改这个参数可以进行一路/两路/边沿等输出,我这里选择两路,使得一个PWM模块可以控制两路PWM的输出,且两路输出的脉冲宽度可以自由设定。
4、CMP Type1/2:修改电平的极性/两路电平变换等操作,这里选择默认的less。
关于舵机角度的控制,可以移步“舵机使用教材”等类似文章进行学习,此处不再阐述。
2.3、添加clock模块
操作同上,将Clock [v2.20]拖出来即可。
2.4、修改clock模块的参数
clock模块是作为PWM模块的输入脉冲而起作用的。双击该模块修改参数。
将频率修改为 100kHz,以供舵机周期的修改。
2.5、添加逻辑模块“0”
在右侧 Digital—— logic —— logic Low 0 可以找到这个模块,用于输出逻辑0,将其拖出。
2.6 添加并修改按键输入模块
双击该模块,修改参数。
1、名字修改为button。
2、将HW conncection的打钩部分去掉,因为按键不需要跟PWM进行物理逻辑上的连接。
3、中间Drive mode修改为 上拉电阻 Resistive pull up,因为需要检测按键按下时候时有效,检测低电平。
4、右侧Initial drive st修改为高电平,初始化为高电平,不能是低电平,否则两端都是低电平就没有电压差,引脚就不能检测电压了。
2.7、PWM输出引脚
和上面输入是同一个目录的,就在下面。
目前先更到这,后续再补。