【Curiosity Nano测评报告】PIC16F13145 使用CLB驱动7段数码管
本帖最后由 paparazziuav 于 2024-9-27 01:48 编辑首先非常高兴能参加这次评测,拿到板子后,从包装到板子,做工细节 非常惊艳
排针是镀锡的,第一次见{:lol:}
排针可以免焊接使用,太惊艳了,考虑的太周全了。
=====================开箱完毕================
环境搭建:
MCC刚开始 使用一直不是很顺利,电脑换了两台,MPLAB重新装了七八遍,还准备用虚拟机搞。 还是没有解决根本问题。
在论坛一顿学习,发现改源 Tools --> Option -->Plugins --->MCC Content Registries https://registry.npmmirror.com/
一下子就顺畅了,爽翻天{:lol:}
==============开始===================================================
打开IDE连接上板子,就会显示相关板子的信息,这个是做的真好。 自己做IDE的优势 完美展现了 {:victory:}
点击圈起来的链接 会有官方的教程,我就参考例程 学了一遍。
自己焊接了一个4位的数码管,官方的例程是1位的。 下图是数码管的 引脚图
接线如图所示
实物如图
新建工程
界面好像有更新
增加一个CLB模块
搭建LUT模块
连接线的时候,有四根总线,连接多个LUT模块,点击连接的时候出线位置默认是在两个模块的中间。
如果四个输入垂直方向对齐的话,那四根线连出来就叠在一块了,虽然可以通过手工拉线,修改位置,但极其耗费时间,拉的时候自己会分成好多段,不好操作。
如下图所示,四个输入错开一定的位置,这样连接出来不用调整,也不会堆叠在一起。
根据真值表 ,把每个LUT的 值填进去
填完以后,点击
配置 CLBIO口
时钟配置,参考官方例程
配置位参考官方例程
增加一个delay 模块做时间控制
配置 4个片选IO
生成一下看看
主函数里增加如下代码
while(1)
{
H1_SetLow();
H2_SetLow();
H3_SetLow();
H4_SetLow();
CLBSWINL = 0; // starts with digit "0"
for(uint8_t counter = 0x00; counter <= 0x0F; counter++) // loop for incrementing between 0h and Fh
{
__delay_ms(1000); // waits until displays
CLBSWINL = CLBSWINL + 1; // increments the displayed hexadecimal number
}
}
https://www.bilibili.com/video/BV1mdxJe4E2f/?vd_source=edc3d34c7a317f2489a4a5693c22ec70
ok 可以通过设置 H1-H4的高低电平来选择需要显示的位
演示完毕
总结:
目前使用下来,整个开发过程非常迅速,体验非常好。CLB模块 真的是太厉害了,后续继续探索其他应用。
8421码直接转换成7段码?
dongnanxibei 发表于 2024-9-29 21:18
8421码直接转换成7段码?
是的,每个LUT都有对应的编码,按照真值表设置进去就可以。 有没有电路图,分享一下。 段式数码管的应用范围很广 单片小菜 发表于 2024-9-30 13:57
有没有电路图,分享一下。
文档里有个图片,按照那个接线就可以 学习一下 这个用法有意思,可以解码8421码 内部查表模块。 还没试过这种用法,回头找个数码管试试 本帖最后由 paparazziuav 于 2024-10-30 18:14 编辑
自己看视频发现个bug "5" 的 e 段应该是0
至少节省了移位寄存器 MCC 插件无法加载或打开缓慢 原因是原始源服务器访问不稳定,换成镜像源后即可。 这个外设用起来真灵活
页:
[1]