STC8H8K64U单片机PWM配置

STC8H8K64U单片机配置PWM的通道1、通道2、通道7、通道8。STC8可以分为两组PWM,PWMA和PWMB,在使用时,如果同时使用了两组,那么两组的寄存器需要同时配置。

一、PWM输出频率计算公式

边沿对齐

PWM输出频率 = 系统工作频率 / (PWMx_PSCR + 1) * (PWMx_ARR + 1);

中间对齐

PWM输出频率 = 系统工作频率 / (PWMx_PSCR + 1) * PWMx_ARR * 2;

二、引脚重定义

STC8H8K64U单片机PWM引脚重定义对照表
符号B7B6B5B4B3B2B1B0
PWMA_PSC4PS[1:0]C3PS[1:0]C2PS[1:0]C1PS[1:0]
PWMB_PSC8PS[1:0]C7PS[1:0]C6PS[1:0]C5PS[1:0]

PWM通道 1 引脚选择
C1PS[1:0]PWM1PPWM1N
00P1.0P1.1
01P2.0P2.1
10P6.0P6.1
11
PWM通道 2 引脚选择
C2PS[1:0]PWM2PPWM2N
00P1.2P1.3
01P2.2P2.3
10P6.2P6.3
11
没有P1.2口的切换到P5.4口上
PWM通道 3 引脚选择
C3PS[1:0]PWM3PPWM3N
00P1.4P1.5
01P2.4P2.5
10P6.4P6.5
11
PWM通道 4 引脚选择
C4PS[1:0]PWM4PPWM4N
00P1.6P1.7
01P2.6P2.7
10P6.6P6.7
11P3.4P3.3
PWM通道 5 引脚选择
C5PS[1:0]PWM5
00P2.0
01P1.7
10P0.0
11P7.4
PWM通道 6 引脚选择
C6PS[1:0]PWM6
00P2.1
01P5.4
10P0.1
11P7.5
PWM通道 7 引脚选择
C7PS[1:0]PWM7
00P2.2
01P3.3
10P0.2
11P7.6
PWM通道 8 引脚选择
C8PS[1:0]PWM8
00P2.3
01P3.4
10P0.3
11P7.7

三、设置PWM输出开关和有效电平

STC8H8K64U单片机PWM捕获/比较使能寄存器
符号B7B6B5B4B3B2B1B0
PWMA_CCER1CC2NPCC2NECC2PCC2ECC1NPCC1NECC1PCC1E
PWMB_CCER1CC6PCC6ECC5PCC5E
PWMA_CCER2CC4NPCC4NECC4PCC4ECC3NPCC3NECC3PCC3E
PWMB_CCER2CC8PCC8ECC7PCC7E
CC1P0:关闭输入捕获/比较输出
1:开启输入捕获/比较输出
CC1E0:高电平有效
1:低电平有效

四、输出使能寄存器

STC8H8K64U单片机PWM输出使能寄存器
符号B7B6B5B4B3B2B1B0
PWMA_ENOENO4NENO4PENO3NENO3PENO2NENO2PENO1NENO1P
PWMB_ENOENO8PENO7PENO6PENO5P

五、程序源码

#define PWM_PSC      11     //设置预分频值
#define PWM_PERIOD   124    //设置周期值void PWM_Init(void)
{	P_SW2 |= 0x80;			 //使能XFRPWMA_PS = 0x0A; 		//PWM-1设置为 P6.0;PWM-2设置为P6.2PWMB_PS = 0xF0;			//PWM-7设置为P7.6;PWM-8设置为P7.7PWMA_CCER1 = 0x00;      //写CCMRx前必须先清零CCERx关闭通道PWMB_CCER1 = 0x00;      //写CCMRx前必须先清零CCERx关闭通道PWMA_CCER2 = 0x00;      //写CCMRx前必须先清零CCERx关闭通道PWMB_CCER2 = 0x00;      //写CCMRx前必须先清零CCERx关闭通道PWMA_CCMR1 = 0x68;      //设置CC1为PWMA输出模式 PWM模式1PWMA_CCMR2 = 0x68;      //设置CC2为PWMA输出模式 PWM模式1PWMB_CCMR3 = 0x68;      //设置CC7为PWMA输出模式 PWM模式1PWMB_CCMR4 = 0x68;      //设置CC8为PWMA输出模式 PWM模式1PWMA_CCER1 = 0x11;      //使能CC1、CC2通道PWMB_CCER2 = 0x11;      //使能CC7、CC8通道PWMA_PSCRH = (u8)(PWM_PSC >> 8); //设置分频系数PWMA_PSCRL = (u8)PWM_PSC;PWMB_PSCRH = (u8)(PWM_PSC >> 8); //设置分频系数PWMB_PSCRL = (u8)PWM_PSC;PWMA_ARRH = (u8)(PWM_PERIOD >> 8); //设置周期时间PWMA_ARRL = (u8)PWM_PERIOD;PWMB_ARRH = (u8)(PWM_PERIOD >> 8); //设置周期时间PWMB_ARRL = (u8)PWM_PERIOD;PWMA_ENO |= 0x05;       //使能PWM1P和PWM2P端口输出 PWMB_ENO |= 0x50;       //使能PWM8P和PWM7P端口输出 PWMA_BKR = 0x80;        //使能主输出PWMB_BKR = 0x80;        //使能主输出PWMA_CR1 = 0x01;        //开始计时   向上计数PWMB_CR1 = 0x01;        //开始计时   向上计数
}void Set_CHx_Speed(u8 ch,u16 Compare1)
{switch(ch){case 1:{PWMA_CCR1H = (u8)(Compare1 >> 8); //设置占空比时间PWMA_CCR1L = (u8)(Compare1);}break;case 2:{PWMA_CCR2H = (u8)(Compare1 >> 8); //设置占空比时间PWMA_CCR2L = (u8)(Compare1);}break;case 7:{PWMB_CCR7H = (u8)(Compare1 >> 8); //设置占空比时间PWMB_CCR7L = (u8)(Compare1);}break;case 8:{PWMB_CCR8H = (u8)(Compare1 >> 8); //设置占空比时间PWMB_CCR8L = (u8)(Compare1);}break;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/52992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python数据分析 | 各种图表对比总结

本期将带领大家一起对在数据可视化的过程中常用的一些图表进行下总结: 条形图 【适用场景】 适用场合是二维数据集(每个数据点包括两个值x和y),但只有一个维度需要比较,用于显示一段时间内的数据变化或显示各项之间的…

【洛谷】P2440 木材加工

原题链接:https://www.luogu.com.cn/problem/P2440 1. 题目描述 2. 思路分析 整体思路:二分答案 设置一个变量longest来记录最长木头的长度,sum记录切成的小段数量之和。 令左边界l0,右边界llongest。 写一个bool类型的check…

华为OD机试 - 采样过滤(Java JS Python)

题目描述 在做物理实验时,为了计算物体移动的速率,通过相机等工具周期性的采样物体移动距离。 由于工具故障,采样数据存在误差甚至错误的情况。 需要通过一个算法过滤掉不正确的采样值。 不同工具的故障模式存在差异,算法的各类门限会根据工具类型做相应的调整。 请实…

mysql 、sql server trigger 触发器

sql server mySQL create trigger 触发器名称 { before | after } [ insert | update | delete ] on 表名 for each row 触发器执行的语句块## 表名: 表示触发器监控的对象 ## before | after : 表示触发的时间,before : 表示在事件之前触发&am…

4.14 tcp_tw_reuse 为什么默认是关闭的?

开启 tcp_tw_reuse 参数可以快速复用处于 TIME_WAIT 状态的 TCP 连接时,相当于缩短了 TIME_WAIT 状态的持续时间。 tcp_tw_reuse 是什么? TIME_WAIT 状态的持续时间是 60 秒,这意味着这 60 秒内,客户端一直会占用着这个端口。端…

iOS HealthKit 介绍

文章目录 一、简介二、权限配置1. 在开发者账号中勾选HealthKit2. 在targets的capabilities中添加HealthKit。3. infoPlist需要配置权限 三、创建健康数据管理类1. 引入头文件2. 健康数据读写权限3. 检查权限4. 读取步数数据5. 写入健康数据 四、运行获取权限页面 一、简介 He…

java必知必会--面向对象及相关基础知识

java必知必会–面向对象及相关基础知识 一、java面向对象: 什么是面向对象以及三大特性 我们把数据和数据之间的相互操作关系放到一起总结为–对象。所有的操作都是基于对象来进行的。面向对象的的特征:封装、继承、多态封装:我们把数据访…

Sentinel流量控制与熔断降级

📝 学技术、更要掌握学习的方法,一起学习,让进步发生 👩🏻 作者:一只IT攻城狮 ,关注我,不迷路 。 💐学习建议:1、养成习惯,学习java的任何一个技术…

ARM开发,stm32mp157a-A7核PWM实验(驱动蜂鸣器,风扇,马达工作)

1.分析框图; 2.比较捕获寄存器(产生PWM方波); 工作原理: 1、系统提供一个时钟源209MHZ,需要通过分频器进行分频,设置分频器值为209分频; 2、当定时器启动之后,自动重载…

7个用于机器学习和数据科学的基本 Python 库

推荐:使用 NSDT场景编辑器 助你快速搭建3D应用场景 这篇文章针对的是刚开始使用Python进行AI的人,以及那些有经验的人,但对下一步要学习什么有疑问的人。我们将不时花点时间向初学者介绍基本术语和概念。如果您已经熟悉它们,我们鼓…

excel中两列数据生成折线图

WPS中excel的两列数据,第一列为x轴,第二列为y轴,生成折线图,并生成拟合函数。 1.选中两列数据,右击选择插入图表,选择XY(散点图),生成散点折线图 2.选中图中散点&#x…

2022年30m全国逐年土地覆被数据

1.研究背景 2023年8月,武汉大学杨杰和黄昕教授团队向公众更新发布了CLCD 2022年全国土地覆数据(V1.0.2)。而CLCD 2021年全国土地覆数据(V1.0.1)也是在去年8月向公众更新发布。 中国在过去几十年中经济和人口迅速发展,土地覆盖随之发生巨大变化,因此迫切需要对其进行连续…

配置setting.json解决vscode和vim按键冲突

vim 对于需要经常使用的vscode中的复制,粘贴,剪切,全选,查找和新建等,在vim正常模式下是不可用的,不过可以在配置文件中取消vim.handleKeys键位映射, 即保留这些原始按键功能。对于上述可能存在和正常按键…

PDF校对:让您的文件无瑕疵

无论您是企业家、学生、教育者还是作家,我们都知道,提交或发布一个充满错误的PDF文件可能会给您的声誉或品牌带来严重损害。这就是为什么PDF校对如此关键的原因。现在,让我们深入了解PDF校对的重要性,以及如何确保您的文件尽可能完…

Spring boot如何工作

越来越方便了 java技术生态发展近25年,框架也越来越方便使用了,简直so easy!!!我就以Spring衍生出的Spring boot做演示,Spring boot会让你开发应用更快速。 快速启动spring boot 请参照官网 Spring | Quic…

HTML <template> 标签

实例 使用 <template> 保留页面加载时隐藏的内容。使用 JavaScript 来显示: <button οnclick="showContent()">显示被隐藏的内容</button><template><h2>Flower</h2><img src="img_white_flower.jpg" width=&q…

windows中安装sqlite

1. 下载文件 官网下载地址&#xff1a;https://www.sqlite.org/download.html 下载sqlite-dll-win64-x64-3430000.zip和sqlite-tools-win32-x86-3430000.zip文件&#xff08;32位系统下载sqlite-dll-win32-x86-3430000.zip&#xff09;。 2. 安装过程 解压文件 解压上一步…

mysql数据导入导出参数说明

一、使用into outfile和load data infile导入导出备份数据 这种方法的好处是导出的数据格式可以自己规定&#xff0c;并且导出的是纯数据&#xff0c;不含建表信息。 1.into outfile导出 SELECT * FROM metadatakeys INTO OUTFILE D:/outfile.txt FIELDS TERMINATED BY | E…

Python爬虫 异步、缓存技巧

在进行大规模数据抓取时&#xff0c;Python爬虫的速度和效率是至关重要的。本文将介绍如何通过异步请求、缓存和代理池等技巧来优化Python爬虫的速度和性能。我们提供了实用的方案和代码示例&#xff0c;帮助你加速数据抓取过程&#xff0c;提高爬虫的效率。 使用异步请求、缓…

Java开发中Word转PDF

Java开发中Word转PDF文件5种方案横向评测 https://blog.csdn.net/aley/article/details/127914145?ops_request_misc&request_id&biz_id102&utm_termjava%20%20word%20%E8%BD%ACpdf&utm_mediumdistribute.pc_search_result.none-task-blog-2allsobaiduweb~de…