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

【源码】基于PIC16F18076的无毛刺时钟信号生成系统

项目简介

本项目聚焦于在PIC16F18076芯片上配置可配置逻辑单元(CLC)外设,以此创建无毛刺的时钟信号。通过利用该芯片的相关模块,有效解决了数字设计里常见的毛刺问题,避免了因毛刺信号导致时钟线锁存器更新不一致的情况。

项目的主要特性和功能

  1. 无毛刺时钟信号生成:借助PIC16F18076的CLC和NCO模块,生成稳定且无毛刺的时钟信号。
  2. 多模块协同工作:对CLC1、CLC2、CLC3和CLC4进行不同配置,实现特定逻辑功能,共同完成无毛刺信号的创建。
  3. 系统时钟输出:使用CLC4输出系统时钟,保障系统时钟的稳定性。
  4. 可扩展性:项目的配置方式和代码结构具备一定的可扩展性,方便根据不同需求进行调整和优化。

安装使用步骤

开发环境准备

确保已安装以下软件: - MPLAB® X IDE 6.10.0或更高版本 - MPLAB XC8编译器2.41或更高版本 - MPLAB Code Configurator (MCC) 5.3.7或更高版本 - Microchip PIC16F1xxxx系列设备支持包1.19.363或更高版本

项目配置

  1. 打开MPLABX v6.0.0或更高版本,选择“文件” - “新建项目”,按以下设置创建项目:
    • 选择“Microchip Embedded”类别和“Standalone Project”项目。
    • 选择“All Families”系列和“PIC16F18076”设备,选择连接到计算机的Curiosity Nano开发板(也可先选“No Tool”,但后续需选择工具以对设备进行编程)。
    • 选择XC8 2.36或更高版本的编译器。
    • 输入项目名称,确认项目位置和文件夹,勾选“设置为主项目”,点击“完成”。
  2. 从顶部工具栏打开“MCC”,若工具栏中没有“MCC”,点击“MPLAB Code Configurator”并按照“Easy Installation”视频操作后再打开。
  3. 在MCC内容管理器向导中点击“Select MCC Melody”,然后点击“Finish”。
  4. 从窗口左侧的“Device Resources”列表中添加四个CLC模块和NCO模块到项目,添加后打开“Project Resources”列表,确保所有模块已成功添加。

模块配置

  1. CLC1配置:在“Project Resources”列表中点击CLC1,修改逻辑单元模式为“OR - XOR”,设置第二输入为“Fosc”,第三输入为“CLC2_OUT”等。
  2. CLC2配置:点击CLC2,将逻辑单元模式设为“1 - input D flip - flop with S and R”,启用CLC中断和下降沿中断等。
  3. CLC3配置:点击CLC3,选择逻辑单元模式为“4 - input AND”,设置各输入和OR门的参数。
  4. CLC4配置:点击CLC4,同样选择逻辑单元模式为“4 - input AND”,并进行相应输入和OR门的设置。
  5. 系统设置:在“Project Resources”列表中分别点击“Clock Control”“Configuration Bits”“Interrupt Manager”,按要求修改时钟源、配置位和中断管理器的设置。
  6. NCO1配置:点击NCO1,将CLC时钟频率设为16MHz,请求的NCO输出频率设为11Hz,时钟源选择“CLC3_OUT”。
  7. 引脚配置:点击“Pins”,在引脚网格视图中修改指定引脚的配置,并取消所有引脚的“Analog”复选框。

代码生成与编程

  1. 点击“Project Resources”菜单中的“Generate”按钮生成代码,若出现弹出窗口,点击“Yes”继续。
  2. 打开main.c源文件,在int main(void)循环中,在SYSTEM_Initialize();行之后、while(1)循环之前插入CLCDATA = 0x4;NCO1CONbits.EN = 0;代码;在while(1)循环中插入相关代码以设置NCO模块和处理中断标志。
  3. 点击任务栏上的“Make and Program Device Main Project”按钮对设备进行编程,等待输出标签显示“Programming Complete”。

操作运行

本示例需要一个外部异步信号源,可使用函数发生器、另一个微控制器等产生高低脉冲。在启动异步信号之前,确保设备之间有公共接地,并将CLC的输入连接到RA1引脚。完成连接后,启动异步脉冲即可观察无毛刺时钟信号的输出。

下载地址

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