STC -PWM

   一.STC8H1K16初始化,以下一步配置后就会有波形输出.

   

//========================================================================
// 函数: PWMB_Output_init
// 描述: 用户初始化程序.
// 参数: None.
// 返回: None.
// 版本: V1.0, 2020-09-28
//========================================================================u16   PWM8__setDuty=25000;u16  PWM8__setPeriod=50000;
void  PWMB_Output_init(void)
{PWMx_InitDefine		PWMx_InitStructure;
//	PWMB_Duty.PWM5_Duty = 128;
//	PWMB_Duty.PWM6_Duty = 256;
//	PWMB_Duty.PWM7_Duty = 512;
//	PWMB_Duty.PWM8_Duty = 1024*10;PWMB_Duty.PWM8_Duty = 25000;
//	PWMx_InitStructure.PWM_Mode    =	CCMRn_PWM_MODE1;	//模式,		CCMRn_FREEZE,CCMRn_MATCH_VALID,CCMRn_MATCH_INVALID,CCMRn_ROLLOVER,CCMRn_FORCE_INVALID,CCMRn_FORCE_VALID,CCMRn_PWM_MODE1,CCMRn_PWM_MODE2
//	PWMx_InitStructure.PWM_Duty    = PWMB_Duty.PWM5_Duty;	//PWM占空比时间, 0~Period
//	PWMx_InitStructure.PWM_EnoSelect   = ENO5P;					//输出通道选择,	ENO1P,ENO1N,ENO2P,ENO2N,ENO3P,ENO3N,ENO4P,ENO4N / ENO5P,ENO6P,ENO7P,ENO8P
//	PWM_Configuration(PWM5, &PWMx_InitStructure);				//初始化PWM,  PWMA,PWMB//	PWMx_InitStructure.PWM_Mode    =	CCMRn_PWM_MODE1;	//模式,		CCMRn_FREEZE,CCMRn_MATCH_VALID,CCMRn_MATCH_INVALID,CCMRn_ROLLOVER,CCMRn_FORCE_INVALID,CCMRn_FORCE_VALID,CCMRn_PWM_MODE1,CCMRn_PWM_MODE2
//	PWMx_InitStructure.PWM_Duty    = PWMB_Duty.PWM6_Duty;	//PWM占空比时间, 0~Period
//	PWMx_InitStructure.PWM_EnoSelect   = ENO6P;					//输出通道选择,	ENO1P,ENO1N,ENO2P,ENO2N,ENO3P,ENO3N,ENO4P,ENO4N / ENO5P,ENO6P,ENO7P,ENO8P
//	PWM_Configuration(PWM6, &PWMx_InitStructure);				//初始化PWM,  PWMA,PWMB//	PWMx_InitStructure.PWM_Mode    =	CCMRn_PWM_MODE1;	//模式,		CCMRn_FREEZE,CCMRn_MATCH_VALID,CCMRn_MATCH_INVALID,CCMRn_ROLLOVER,CCMRn_FORCE_INVALID,CCMRn_FORCE_VALID,CCMRn_PWM_MODE1,CCMRn_PWM_MODE2
//	PWMx_InitStructure.PWM_Duty    =  PWMB_Duty.PWM7_Duty;	//PWM占空比时间, 0~Period
//	PWMx_InitStructure.PWM_EnoSelect   = ENO7P;					//输出通道选择,	ENO1P,ENO1N,ENO2P,ENO2N,ENO3P,ENO3N,ENO4P,ENO4N / ENO5P,ENO6P,ENO7P,ENO8P
//	PWM_Configuration(PWM7, &PWMx_InitStructure);				//初始化PWM,  PWMA,PWMBPWMx_InitStructure.PWM_Mode    =	CCMRn_PWM_MODE1;	//模式,		CCMRn_FREEZE,CCMRn_MATCH_VALID,CCMRn_MATCH_INVALID,CCMRn_ROLLOVER,CCMRn_FORCE_INVALID,CCMRn_FORCE_VALID,CCMRn_PWM_MODE1,CCMRn_PWM_MODE2PWMx_InitStructure.PWM_Duty    = PWMB_Duty.PWM8_Duty;	//PWM占空比时间, 0~PeriodPWMx_InitStructure.PWM_EnoSelect   = ENO8P;					//输出通道选择,	ENO1P,ENO1N,ENO2P,ENO2N,ENO3P,ENO3N,ENO4P,ENO4N / ENO5P,ENO6P,ENO7P,ENO8PPWM_Configuration(PWM8, &PWMx_InitStructure);				//初始化PWM,  PWMA,PWMBPWMx_InitStructure.PWM_Period   = 50000;						//周期时间,   0~65535PWMx_InitStructure.PWM_DeadTime = 0;								//死区发生器设置, 0~255PWMx_InitStructure.PWM_MainOutEnable= ENABLE;				//主输出使能, ENABLE,DISABLEPWMx_InitStructure.PWM_CEN_Enable   = ENABLE;				//使能计数器, ENABLE,DISABLEPWM_Configuration(PWMB, &PWMx_InitStructure);				//初始化PWM通用寄存器,  PWMA,PWMB//NVIC_PWM_Init(PWMB,DISABLE,Priority_0);
//NVIC_PWM_Init(PWMB,PWM_CC8IE,Priority_0);//P0_MODE_IO_PU(GPIO_Pin_LOW);		//P0.0,P0.1,P0.2,P0.3 设置为准双向口
//P3_MODE_IO_PU(GPIO_Pin_4);		  //P0.0,P0.1,P0.2,P0.3 设置为准双向口P3_MODE_OUT_OD(GPIO_Pin_4);		  //T12 
//	P0_MODE_IO_PU(GPIO_Pin_LOW);		//P0.0,P0.1,P0.2,P0.3 设置为准双向口
}

二.设置开关

         

 P3_MODE_OUT_PP(GPIO_Pin_4); //定时器

三.开启关闭.

  

		PWM8P_OUT_DIS();     // 关闭PWM8P的PWM输出PWMB_ENO &= ~0x40 ;  // 关闭PWM8P的PWM输出PWMB_Duty8(0)	;EAXRAM();//	  if(testdata==110){
//		EAXSFR();		/* MOVX A,@DPTR/MOVX @DPTR,A指令的操作对象为扩展SFR(XSFR) */
//		PWM8P_OUT_DIS();     // 关闭PWM8P的PWM输出
//		PWMB_ENO &= ~0x40 ;  // 关闭PWM8P的PWM输出
//	  EAXRAM();
//		 }
//		 //		 if(testdata==111){EAXSFR();		/* MOVX A,@DPTR/MOVX @DPTR,A指令的操作对象为扩展SFR(XSFR) */PWMB_ENO |= ENO8P;  // 打开PWM8P的PWM输出EAXRAM();TX1_write2buff('A');TX1_write2buff('D');TX1_write2buff('C');TX1_write2buff('1');
//	TX1_write2buff(2+'0');TX1_write2buff('=');TX1_write2buff('=');TX1_write2buff(j/1000 + '0');TX1_write2buff(j%1000/100 + '0');TX1_write2buff(j%100/10 + '0');TX1_write2buff(j%10 + '0');TX1_write2buff(' ');TX1_write2buff('T');TX1_write2buff('C');PrintString1("\r\n");
//	PrintString1("ADC_RES_12BIT:");
//	TX1_write2buff(ADC_RES_12BIT + '0');
//  PrintString1("ADC_CONTR");
//	TX1_write2buff(ADC_CONTR + '0');
//disply_three_digitBlack(current_temperature,111);

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

如何让组织充满活力?你需要做好这七步

组织活力,通俗点说就是: 从竞争对手角度看,组织活力强的组织能做到竞争对手做不到的事情; 从客户角度看,组织活力强的组织,客户感受好; 从员工角度看,组织活力强的组织&#xff0c…

Mapreduce | 案例

根据提供的数据文件【test.log】 数据文件格式:姓名,语文成绩,数学成绩,英语成绩 完成如下2个案例: (1)求每个学科的平均成绩 (2)将三门课程中任意一门不及格的学生过滤出来 (1)求每…

抖音小店怎么做?做店笔记分享来了,新手可学习!

大家好,我是电商糖果 抖音小店怎么做?这个问题是所有新手商家都会提问的问题。 很多朋友可能店开好几个月了,一直都不会运营,店铺没有流量,迟迟不出单。 下面糖果就来分享一下我自己做店总结的笔记,新手…

半小时搞懂STM32面经知识点——系统架构与启动流程

1.Cortex-M系统 1.1系统结构 1.处理器核心: Cortex-M3 2.存储器系统: Flash,SRAM,FSMC等 3.总线接口: 核心通过总线接口与外设设备和存储器进行通信。 总线矩阵:总线矩阵是一种硬件结构,用于连…

Java——类与对象

目录 一、面向对象的初步认识 1.1 什么是面向对象 1.2 面向对象与面向过程 二、类的定义与使用 2.1 简单认识类 2.2 类的定义格式 三、类的实例化 3.1 什么是实例化 3.2 类和对象的说明 四、this引用 4.1 为什么要有this引用 4.2 什么是this引用 ​编辑 4.3 this引用…

揭秘全网都在搜索的抖音快速涨10000粉的方法,打造真实粉丝海洋!巨量千川投流

抖音作为当下最热门的社交媒体平台之一,拥有数以亿计的用户。对于许多用户来说,快速涨粉成为了一个追逐的目标。在这篇文章中,我们将揭秘一些全网都在搜索的抖音快速涨粉方法,帮助你打造属于自己的真实粉丝海洋。巨量千川投流&…

决策管理中的数学方法

需要注意的是,用excel求解的时候需要导入线性规划加载项如下: pert分析需要DecisionTools中的RiskSolver插件 1.链接:https://pan.baidu.com/s/1wKhUFWgNmQ7U33kl5AypZw 提取码:zqkn 2.“Palisade_Book_expires_Aril_10_2025.lic”文件复制到以下路径: C:\Program Files …

我必须要吹一波MATLAB 2024a,太牛逼了!|福利:附安装教程及下载地址

最近逛MATLAB官网,发现MATLAB 2024a版本已经Pre-release了,翻了下release note,不得不感叹,实在是太强了! 这次重点更新了四个工具箱: Computer Vision Toolbox Deep Learning Toolbox Instrument Contro…

没有公网ip,如何实现外网访问内网?

目前拨号上网是最广泛的上网方式,这种方式优点是价格便宜,缺点是没有固定公网ip,每次重新您拨号ip地址都会变。如果有一台服务器,需要实现外网访问,在没有固定公网ip的环境下,该如何实现呢?使用…

14.跳跃游戏Ⅱ

文章目录 题目简介题目解答解法一:贪心算法动态规划代码:复杂度分析: 题目链接 大家好,我是晓星航。今天为大家带来的是 跳跃游戏Ⅱ 相关的讲解!😀 题目简介 题目解答 解法一:贪心算法动态规划…

【MySQL 数据宝典】【事务锁】- 002 事务控制的演进

一、事务处理思路 1.1 排队 排队处理是事务管理最简单的方法,就是完全顺序执行所有事务的数据库操作,不需要加锁,简单的说就是全局排队。序列化执行所有的事务单元,数据库某个时刻只处理一个事务操作,特点是强一致性…

用HAL库改写江科大的stm32入门例子8-1 DMA数据转运

实验目的:通过DMA把buffer的数据搬运到buffer2当中 //declare a buffer to store the data uint32_t buffer[3] {1,2,3};//declare a buffer to store the data uint32_t buffer2[3] {0,0,0}; DMA:是个搬运数据的小助手。 相关设置: main…

探索国外静态住宅代理:保护网络安全与隐私的利器

随着互联网的日益发展,网络安全和隐私保护成为越来越多用户关注的焦点。在这个信息爆炸的时代,如何确保网络活动的匿名性和安全性成为了我们必须面对的问题。国外静态住宅代理作为一种新兴的网络技术,为我们提供了有效的解决方案。 &#xf…

接口自动化入门: Requests请求头设置详解!

在进行接口自动化测试时,设置请求头是非常重要的一步。请求头可以包含各种信息,例如身份验证、内容类型、接受语言等。在实际的测试中,我们使用Python的Requests库来发送HTTP请求,并设置请求头来模拟不同的场景和需求。 下面将通…

C#二维数组(矩阵)求伴随矩阵和逆矩阵

程序框架及winform窗体 窗体控件: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace Matrix {internal class Algorithm_Gallery{// <summary>/// 计算 A[p,q] 位于 [,]temp 的块辅因子…

STL——deque容器【双端动态数组】

deque容器的基本概念&#xff1a; 功能&#xff1a;双端数组&#xff0c;可以对头端进行插入删除操作 deque与vector的区别&#xff1a; vector队友头部的插入删除效率低&#xff0c;数据量越大&#xff0c;效率越低deque相对而言&#xff0c;对头部的插入删除速度会比vecto…

面试官:SPA(单页应用)首屏加载速度慢怎么解决

一、什么是首屏加载 首屏时间&#xff08;First Contentful Paint&#xff09;&#xff0c;指的是浏览器从响应用户输入网址地址&#xff0c;到首屏内容渲染完成的时间&#xff0c;此时整个网页不一定要全部渲染完成&#xff0c;但需要展示当前视窗需要的内容 首屏加载可以说是…

喜报|才聚荣获“2024年度PMI(中国)注册教育机构杰出机构奖”!

5月10日&#xff0c;“2024PMI&#xff08;中国&#xff09;注册教育机构合作伙伴大会”隆重举行&#xff0c;才聚集团受邀参加此次盛会。 本次大会就项目管理职业生态、发展趋势等热门问题进行了深入探讨分析。 PMP认证自1999年引入中国&#xff0c;为国家培养了大量项目管理…

单细胞分析:多模态 reference mapping (2)

引言 本文[1]介绍了如何在Seurat软件中将查询数据集与经过注释的参考数据集进行匹配。我们展示了如何将来自不同个体的人类骨髓细胞&#xff08;Human BMNC&#xff09;的人类细胞图谱&#xff08;Human Cell Atlas&#xff09;数据集&#xff0c;有序地映射到一个统一的参考框…

总结 UDP 的报文结构和注意事项

UDP协议端格式 UDP报文主体分为两个部分:UDP报头(占8个字节)UDP数据/UDP载荷UPD报头:源端口号目的端口号包长度校验和 1.源端口号&#xff1a;一般是客户端程序程序请求时&#xff0c;由系统自动指定&#xff0c;端口号范围是0~65535&#xff0c; 0 ~ 1023为知名端口号——占16…