Microchip PIC系列8位单片机入门教程(七)PWM

2023-12-02 01:38

本文主要是介绍Microchip PIC系列8位单片机入门教程(七)PWM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Microchip PIC系列8位单片机入门教程(七)PWM

知识点:

(1)捕捉/ 比较/PWM (CCP)模块

PIC18F2420/2520/4420/4520 器件配有两个CCP (捕捉/ 比较/PWM)模块。每个模块包含一个16 位寄存器,它可以用作16 位捕捉寄存器、16 位比较寄存器或PWM 主/ 从占空比寄存器。

(2)PWM模式

在脉宽调制(Pulse Width Modulation,PWM)模式下,CCPx 引脚可输出分辨率高达10 位的PWM输出。 由于CCP2 引脚与PORTB 或PORTC 数据锁存器复用,因此必须清零相应的TRIS 位才能使CCP2 引脚成为输出引脚。
在这里插入图片描述

(3) PWM周期

PWM 周期可以通过写PR2 寄存器来指定。使用以下公式计算PWM 周期:
在这里插入图片描述

(4)PWM占空比

PWM 占空比可通过写入CCPRxL 寄存器和CCPxCON<5:4> 位来指定。最高分辨率可达10 位。CCPRxL 包含占空比的高8 位,CCPxCON<5:4> 包含低2 位。 由CCPRxL:CCPxCON<5:4> 表示这个10 位值。计算占空比的公式如下:
在这里插入图片描述

(5) PWM 模式设置

在为CCP 模块配置PWM 工作模式时应该遵循以下步
骤:

1). 通过写PR2 寄存器设置PWM 周期。

2). 通过写CCPRxL 寄存器和CCPxCON<5:4> 位来设置PWM 占空比。

3). 通过清零相应的TRIS 位将CCPx 引脚配置为输出。

4). 通过写T2CON 来设置TMR2 预分频值并使能Timer2。

5). 配置CCPx 模块使之工作于PWM 模式。
(6)PWM相关的寄存器
在这里插入图片描述
在这里插入图片描述
(7)PWM的系统框图
在这里插入代码片在这里插入图片描述

程序设计

(1)pwm_config.h

/* * File:   * Author: * Comments:* Revision history: */// This is a guard condition so that contents of this file are not included
// more than once.  
#ifndef _PWM_CONFIG_H_
#define	_PWM_CONFIG_H_#include <xc.h> // include processor files - each processor file is guarded.  void pwm_config_init(void);
unsigned int duty_percent(unsigned int per);
void pwm_config_duty(unsigned int duty);
#endif	/*  _PWM_CONFIG_H_ */</

这篇关于Microchip PIC系列8位单片机入门教程(七)PWM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/443480

相关文章

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering)

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering) Power Iteration Clustering (PIC) 是一种基于图的聚类算法,用于在大规模数据集上进行高效的社区检测。PIC 算法的核心思想是通过迭代图的幂运算来发现数据中的潜在簇。该算法适用于处理大规模图数据,特别是在社交网络分析、推荐系统和生物信息学等领域具有广泛应用。Spa

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订

Java基础回顾系列-第七天-高级编程之IO

Java基础回顾系列-第七天-高级编程之IO 文件操作字节流与字符流OutputStream字节输出流FileOutputStream InputStream字节输入流FileInputStream Writer字符输出流FileWriter Reader字符输入流字节流与字符流的区别转换流InputStreamReaderOutputStreamWriter 文件复制 字符编码内存操作流(