打印
[PIC®/AVR®/dsPIC®产品]

PIC16(L)F1826使用——GPIO配置

[复制链接]
2250|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
#技术资源# #申请原创#
硬件平台:PIC16(L)F1826
软件平台:MPLAB X IDE V5.5、MPLAB Code Configurator V4

工程源代码: Test.X.zip (217.69 KB)

参考资料:
PIC16(L)F1826数据手册:https://www.microchip.com/content/dam/mchp/documents/OTH/ProductDocuments/DataSheets/41391D.pdf

芯片手册查看

1. 查看时钟
确认芯片时钟
查看芯片手册第5章时钟,从时钟树图中可以看出CPU和外设时钟由3部分组成(外部晶振、Timer1、内部时钟)。
此例程中,我们选择内部16MHZ时钟作为CPU和外设时钟


查看相关寄存器
从芯片手册5.2.2节可以知道,内部时钟由FOSC寄存器决定。同时INTOSC是内部时钟的一种模式


2. 查看IO
查看芯片手册第12章的关于IO描述。我们可以看到控制IO的寄存器只有两个(TRISx、LATx)。其中TRISx为IO口模式配置寄存器,LATx为IO口输出寄存器。
所以我们只需要先配置TRISx将PortA口设置为输出,然后再控制LATx来设置输出高、低电平即可。


使用MCC(MPLAB Code Configurator)配置芯片外设
MCC插件安装
打开MPLAB X IDE软件,点击Tools >> Plugins Download

在弹出的窗口中选择插件下载方式(在线、离线)。这里选择在线,点击“转到MPLAB X插件管理器”按钮

在弹出的窗口,右上角的Search栏输入“MCC”,然后勾选MCC插件。点击Install

打开MCC配置工具
点击MPLAB X IDE中的MCC图标,打开MCC插件。



配置芯片
1. 时钟配置
点击System Module,打开时钟的配置界面。按照下图所示将CPU和外设时钟设置为16MHZ


2. IO配置
点击右边芯片图片窗口,将鼠标移到需要设置的IO引脚上,点击鼠标右键选择"Pin Module | GPIO | output"设置RA2引脚为输出模式,此时RA2引脚显示颜色为绿色。依次设置其他引脚
(RA0、RA1、RA3)


点击Pin Module打开引脚配置窗口,将勾选Outpu引脚设置为输出。同时也可以勾选Start High将引脚初始化值设置为高电平




注:没有使用的引脚颜色为浅蓝色,被使用的引脚显示绿色。

生成代码
点击左边Tree View窗口中的“Generate”按钮,生成工程


代码编写
外设初始化代码,我们使用MCC已经自动生成了。现在需要编写用户代码来实现我们控制IO口输出我们想要的电平。
从前面手册中我们可以知道,如需要控制IO口电平。我们应该直接操作LATx寄存器
LATAbits.LATA0 = 1; // 控制RA0引脚输出高电平
    LATAbits.LATA1 = 0; // 控制RA1引脚输出低电平
    LATAbits.LATA2 = 1; // 控制RA2引脚输出高电平
    LATAbits.LATA3 = 0; // 控制RA3引脚输出低电平


工程设置
在Projects窗口中选中工程,点击鼠标右键选择Properties打开工程设置窗口。


在Configurate窗口选择Simulator


代码编译
点击编译按钮,完成代码的编译。下图按钮,点击任意一个即可完成代码编译


代码调试
点击Window菜单,打开IO View


设置断点
将鼠标移动在需要设置断点的代码的行号前,此时光标变成左箭头,然后点击鼠标左键设置一个断点


启动调试器


点击IO View中的Port A查看Port A的引脚状态


点击调试按钮,使用单步调试查看引脚输出电平




使用特权

评论回复
沙发
chenjun89| | 2021-9-8 20:49 | 只看该作者
现在用PIC单片机的越来越少了吧

使用特权

评论回复
板凳
lcczg| | 2021-9-9 15:24 | 只看该作者
赞,很详细

使用特权

评论回复
地板
redone| | 2021-9-9 16:58 | 只看该作者
现在家家都有代码生成工具啊!
真好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

60

帖子

0

粉丝