本帖最后由 hu9jj 于 2024-9-29 14:25 编辑
#申请原创#
难者不会,会者不难。象没头的苍蝇一样折腾了两天都没有头绪,愣是摸不着CLB的大门。在抄cc1989summer的作业、并在其指导下,终于完成了根据按键状态确定LED亮灭的实验。总结一下之前失败的原因,最主要有两点:一是不清楚操作的步骤;二是线路搭建时只是将图标放在了一起,没有手动通过连线将其接通。
下面复述一下操作步骤:
新建项目框架略过......
进入MCC后先添加外设CLB,点击新添加的CLB,在Easy Setup窗口内先放置好蓝色的输入图标和果绿色的输出图标,中间添加所需要的逻辑器件,我们先添加一个非门,然后将其连好线:
两个相邻的器件放在一起并不一定能保证其正确连接,可以适当分开一点,然后手动进行连接,这样更可靠。手动连接时先点击器件的端口,当其出现红方框时再拖到另一个器件的商品,或者同一个器件的另一个端口,连线即告完成。见下图:
用鼠标将小方框拖至另一个端口:
连线正确后,这个按键由灰变蓝,即可以点击生成文件:
在此之前需要将Pin Grid View窗口内CLB行的RC2设置为输出(LED引脚)、RC3设置为输入(按键引脚)。
保存好CLB的设置后,就可以按照常规将MCC配置生成代码,然后退出MCC,编译并烧录到开发板上。此时LED灯常亮,按下按键时,LED灯熄灭,松开按键时,LED灯亮起。之所以是这种状态,是因为板上的按键按下时引脚为低电平,而LED也是低电平才点亮的,这两个引脚之间接入的是‘非门’,即前后端电平相反。
为了让按键和LED同步,我将上述的非门换成了或门(当然也可以用与门),并将两个输入端连接在一起,这样前后的电平将保持一致,如下图所示:
生成代码并烧录后测试,LED就和按键同步了,按下按键LED亮起,松开按键LED熄灭。实验完全达到了预期的目的。
这是本次实验的项目压缩文件:
CLB_Test.X.rar
(462.57 KB)
这是本次实验的视频:
1、按键与LED灯反相
2、按键与LED灯同步
|