本帖最后由 mxkw0514 于 2022-7-24 01:16 编辑
最近收到了PIC18F57Q43单片机板卡,马上拿在手里开始研究。翻了之前申请的板卡,发现不知不觉总共已经申请了9块板卡了,也算是一个忠实的粉丝了吧。最开始接触微芯的单片机还是从MPLAB IDE的MCC工具入的门(利用MCC可以完成初始化工作),在我的印象里,微芯的8位单片机最先吸引人的还是它的外设资源(应该更多人看重的是PIC单片机的稳定性吧),像这款PIC18F57Q43单片机具有特色的外设是CLC(可配置逻辑单元)和ADCC(具有计算功能的模数转换器),本次想针对片内的CLC外设进行测评。
看到”逻辑“这两个字就想到了数电,面对”数电“就立马想到了组合逻辑电路,例如以下这道题:
单纯从做题的角度看很容易,用卡洛图求出逻辑函数y=AB'C+AB,再根据74LS151的逻辑函数y=D0(A2'A1'A0)'+D1(A2'A1'A0)+D2(A2'A1A0')+D3(A2'A1A0)+D4(A2A1'A0')+D5(A2A1'A0)+D6(A2A1A0')+D7(A2A1A0)得到输出的表达式为y=D5(A2A1'A0)+D6(A2A1A0')+D7(A2A1A0),根据该式对74ls151进行连线以实现真值表的功能。求解过程如下所示:
今天换一种思维,比较手上也没有74ls151芯片,但是我有PIC18F57Q43单片机呀,如下图所示,里面有CLC外设呢。利用CLC的逻辑门也能实现真值表的功能。CLC的中文名是可配置逻辑单元,PIC18F57Q43单片机中有6个CLC,使之成为了实用性极强的一个具有特色的外设。为什么这么说呢,因为这个外设是纯硬件资源,运行后是不占用CPU的资源,同时具有极高的稳定性,很多人不就看上PIC单片机的稳定性吗。使用MPLAB IDE的MCC工具可直接对CLC外设、单片机时钟、GPIO口等进行图形化的初始化配置,非常方便。
PIC18F57Q43单片机板卡
CLC外设框图
先利用MCC配置好系统时钟,使能全局中断,然后对CLC外设进行配置(主要是Logis function的组合逻辑门的编辑,我也不知道为什么只有那8种组合逻辑门)。根据上述真值表得到的逻辑函数,我们选择2个4-input AND和1个AND-OR,总共3个CLC,并进行简单连线,其配置界面如下所示。接着配置输入输出引脚(CLC输入引脚模式选择WPU),之后在右侧工具栏中点击generate生成初始化程序,点击最上方RUN按钮进行下载和运行。
CLC外设框图
输入输出引脚配置
引脚模式
本次焊接了一个3开关电路来验证效果,开关闭合代表输入为0,开关断开代表输入为1,LED灯亮代表输出结果为1,反之则为0,该电路图如下所示。运行程序后的实验结果如下所示,根据真值表一一对应以后未发现错误。
说说本次测评的体会吧,我卸载了之前安装的5.4的版本的MPLAB IDE,并重新安装了6.0版本的MPLAB IDE以及最新的MCC工具包,考虑到所使用电脑的配置不是特别高,只安装了8位单片机的相关内容,结果电脑打开MPLAB后反反复复卡死,没有办法,只好换了性能更强的工作站才解决这个问题,觉MPLAB IDE太吃电脑配置了。
|