littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于PIC18F47Q10的SPI主从通信系统

项目简介

本项目实现了两个PIC18F47Q10微控制器之间的SPI通信。其中一个Q10 MCU作为SPI主设备,另一个作为SPI从设备。通过从设备请求主设备启动SPI通信,实现数据从从设备向主设备的传输。项目运用中断机制让从设备发起通信,并借助UART将交换的数据串行发送到终端窗口,方便观察通信数据。

项目的主要特性和功能

  • 主从设备均采用PIC18F47Q10微控制器,支持SPI通信。
  • 从设备可通过中断向主设备发起通信请求,由主设备控制时钟并启动通信。
  • 支持不同数据量(小于16字节或16字节)的传输。
  • 利用UART将交换的数据发送到终端窗口,便于调试和观察。

安装使用步骤

环境准备

确保已安装以下软件工具,且版本应相同或更新: - MPLAB® X IDE v5.30 - XC8 Compiler v2.10 - MPLAB® Code Configurator (MCC) v3.85.1 - MCC Device Libraries PIC10 / PIC12 / PIC16 / PIC18 MCUs v1.78.0 - Microchip PIC18F-Q Series Device Support 1.3.89

创建项目

  1. 打开MPLAB X IDE最新版本。
  2. 选择“File > New Project”。
  3. 在“Categories”中选“Microchip Embedded”,在“Projects”中选“Standalone Project”,点击“Next”。
  4. 输入设备名称“PIC18F47Q10”,点击“Next”。
  5. 工具选择可选,点击“Next”。
  6. 选择最新的XC8编译器,点击“Next”。
  7. 输入项目名称和文件位置,点击“Finish”。
  8. 点击MCC符号配置外设。

配置硬件外设

  1. 配置系统模块:在资源管理选项卡选系统模块,选“Easy Setup”,设振荡器为“HFINTOSC”,高频内部时钟为“4_MHz”,时钟分频器为“1”,禁用看门狗定时器,启用低压编程。
  2. 添加SPIMASTER基础服务驱动和MSSP1外设:在设备资源中添加“SPIMASTER”,在其“easy setup”选项卡添加驱动,自动添加“MSSP1”,并配置SPI参数,调整引脚。
  3. 添加和配置EUSART外设:在设备资源中添加“EUSART2”,配置UART,禁用接收,启用重定向“STDIO to USART”,调整引脚。
  4. 配置设备使用的引脚:在引脚管理器网格视图中验证MSSP1和ESUART2引脚,设置其他引脚的输入输出。
  5. 引脚模块配置:在项目资源中点击引脚模块,更改自定义名称,配置引脚为数字I/O,设置引脚初始状态。

生成项目文件

点击“保存所有”按钮,再点击“Generate”按钮生成固件,验证输出消息。

硬件连接与测试

  1. 使用跳线连接主从设备SPI外设的端口引脚(SDI、SDO、SCK和SS),并连接一个I/O引脚用于从设备向主设备发起通信请求。
  2. 运行程序,按下从设备上的开关触发数据交换,通过终端模拟器观察交换的数据。

下载地址

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