littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于PIC18Q83微控制器的CAN 2.0通信系统

项目简介

本项目聚焦于在PIC18-Q83系列微控制器上借助MPLAB® Code Configurator (MCC) Melody来配置与使用CAN 2.0模块。利用该软件,用户能够快速完成CAN通信的波特率、接收掩码/过滤器以及接收/发送FIFO缓冲区的配置。项目可实现周期性发送CAN帧、依据特定消息ID回显接收消息,并根据不同消息ID设置LED状态。

项目的主要特性和功能

  • CAN 2.0模块配置:借助MCC Melody能快速完成CAN 2.0模块的配置,涵盖波特率、FIFO缓冲区与过滤器设置。
  • 周期性消息发送:每秒发送一次消息ID为0x100、数据为0x0011223344556677的CAN帧。
  • 消息回显:接收到消息ID为0x111的CAN帧后,回显消息ID为0x222的相同数据帧。
  • LED控制:接收到消息ID为0x585的CAN帧后,根据数据的第一位设置LED状态。

安装使用步骤

硬件准备

  • 准备PIC18F47Q83 DIP微控制器和Curiosity High Pin Count (HPC)开发板。
  • 连接ATA6563 Click板用于CAN通信。
  • 使用K2L OptoLyzer® MOCCA FD作为CAN总线分析仪。

软件安装

  • 安装MPLAB X IDE 6.10或更新版本。
  • 安装MPLAB XC8 2.41.0或更新版本的编译器。
  • 安装MPLAB Code Configurator Melody 5.5.7或更新版本。

项目配置

  • 在MPLAB X IDE中创建新项目,选择PIC18F47Q83作为目标微控制器。
  • 使用MCC Melody配置CAN 2.0模块,设置波特率为500 Kbps,配置FIFO缓冲区和过滤器。
  • 配置Timer0模块,生成1秒的定时器中断。
  • 配置引脚,将CAN TX/RX引脚连接到ATA6563 Click板。

代码生成与编译

  • 在MCC Melody中生成应用代码。
  • can_interrupts.c文件中实现CAN FIFO中断和Timer0中断的处理函数。
  • main.c文件中初始化系统并启用中断。

程序烧录与运行

  • 使用MPLAB X IDE将程序烧录到PIC18F47Q83微控制器。
  • 上电后,微控制器将开始周期性发送CAN帧,并根据接收到的消息ID进行回显和LED控制。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】