Proteus仿真stm32f103r6输出PWM/正弦波

资料下载地址:Proteus仿真stm32f103r6输出PWM/正弦波

一、仿真图

Proteus仿真stm32f103r6输出PWM/正弦波

 

二、程序 

#include "pbdata.h"u16 fre;
void RCC_Configuration(void);
void GPIO_Configuration(void);
void TIM3_Configuration();void  Delay (uint32_t nCount)
{for(; nCount != 0; nCount--);
}int main(void)
{u16 arr=42000;u16 led_dt = arr/2;RCC_Configuration();        //系统时钟初始化GPIO_Configuration();//端口初始化TIM3_Configuration(arr);//定时器和pwm配置 while(1){        TIM_SetCompare2(TIM3,led_dt); //用的是TIM3的通道2,输出PWM         送到相应的寄存器中   //满占空比为900                GPIO_SetBits(GPIOB,GPIO_Pin_5);        //LED 发光Delay(0x2ffff);GPIO_ResetBits(GPIOB,GPIO_Pin_5);//LED 熄灭Delay(0x2ffff);//                                        if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_7)== Bit_RESET)
//                                                        {
//                                                                //LED 发光
//                                                                GPIO_SetBits(GPIOB,GPIO_Pin_5);
//                                                         }
//                                        else
//                                                        {
//                                                                //LED 熄灭                                 
//                                                                GPIO_ResetBits(GPIOB,GPIO_Pin_5);
//                                                         }}        
}void RCC_Configuration(void)
{SystemInit();RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);//这个是必须的,仿真软件必须的RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//端口复用,一定在APB2的时钟线RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
}void GPIO_Configuration(void)
{GPIO_InitTypeDef GPIO_InitStructure;//PWMGPIO_InitStructure.GPIO_Pin= GPIO_Pin_7;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;      //通过PWM控制,端口为复用方式输出GPIO_Init(GPIOA,&GPIO_InitStructure);//LEDGPIO_InitStructure.GPIO_Pin= GPIO_Pin_5;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;      GPIO_Init(GPIOB,&GPIO_InitStructure);//BUTTONGPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;GPIO_Init(GPIOC,&GPIO_InitStructure);
}void TIM3_Configuration(arr)
{TIM_TimeBaseInitTypeDef TIM_TimeBaseStruct;TIM_OCInitTypeDef TIM_OCInitStructure;             //PWM的结构体GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3,ENABLE);//TIM3 复用功能部分映射,可以此找到对应的管脚//关于部分映射可以参考“STM32参考手册”119面//定时器初始化TIM_TimeBaseStruct.TIM_Period=arr;//初值TIM_TimeBaseStruct.TIM_Prescaler=2;//预分频//不分频,在晶振为72MHz的情况下,定时器执行到899后即会溢出,表示计数满TIM_TimeBaseStruct.TIM_ClockDivision=0;TIM_TimeBaseStruct.TIM_CounterMode=TIM_CounterMode_Up;//向上TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStruct);//pwm初始化TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;             //使用模式1TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable; //使能位TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;     //设置输出极性,一定注意TIM_OC2Init(TIM3,&TIM_OCInitStructure);TIM_OC2PreloadConfig(TIM3,TIM_OCPreload_Enable);            //与装载使能,不会说执行一次后就不执行了TIM_Cmd(TIM3,ENABLE);}
/*PWM不是中断,所以不需要设置中断优先级 */

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

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

相关文章

SQL-分组查询

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL 🍹文章作者技术和水平很有限,如果文中出现错误&am…

12、JVM高频面试题

1、JVM的主要组成部分有哪些 JVM主要分为下面几部分 类加载器:负责将字节码文件加载到内存中 运行时数据区:用于保存java程序运行过程中需要用到的数据和相关信息 执行引擎:字节码文件并不能直接交给底层操作系统去执行,因此需要…

基于JavaWeb+BS架构+SpringBoot+Vue基于hive旅游数据的分析与应用系统的设计和实现

基于JavaWebBS架构SpringBootVue基于hive旅游数据的分析与应用系统的设计和实现 文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 文末获取源码 Lun文目录 1 概 述 5 1.1 研究背景 5 1.2 研究意义 5 1.3 研究内容…

计算机毕业设计 基于SpringBoot的物资综合管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

Vue3项目引入canvaskit-wasm库(skia库的wasm版)

1 安装canvaskit-wasm npm install canvaskit-wasm 或者 yarn add canvaskit-wasm 2 将文件node_modules/canvaskit-wasm/bin/canvaskit.wasm复制到public目录 3 引入到组件中 <template><img :src"imgData"/> </template><script setup>…

MongoDB索引详解

概述 索引是一种用来快速查询数据的数据结构。BTree 就是一种常用的数据库索引数据结构&#xff0c;MongoDB 采用 BTree 做索引&#xff0c;索引创建 colletions 上。MongoDB 不使用索引的查询&#xff0c;先扫描所有的文档&#xff0c;再匹配符合条件的文档。使用索引的查询&…

【漏洞复现】天融信TOPSEC static_convert 远程命令执行

漏洞描述 天融信TOPSEC Static_Convert存在严重的远程命令执行漏洞。攻击者通过发送精心构造的恶意请求,利用了该漏洞,成功实现在目标系统上执行任意系统命令的攻击。成功利用漏洞的攻击者可在目标系统上执行恶意操作,可能导致数据泄露、系统瘫痪或远程控制。强烈建议立即更…

单片机中的PWM(脉宽调制)的工作原理以及它在电机控制中的应用。

目录 工作原理 在电机控制中的应用 脉宽调制&#xff08;PWM&#xff09;是一种在单片机中常用的控制技术&#xff0c;它通过调整信号的脉冲宽度来控制输出信号的平均电平。PWM常用于模拟输出一个可调电平的数字信号&#xff0c;用于控制电机速度、亮度、电压等。 工作原理 …

3D模型UV展开原理

今年早些时候&#xff0c;我为 MAKE 杂志写了一篇教程&#xff0c;介绍如何制作视频游戏角色的毛绒动物。 该技术采用给定的角色 3D 模型及其纹理&#xff0c;并以编程方式生成缝纫图案。 虽然我已经编写了一般摘要并将源代码上传到 GitHub&#xff0c;但我在这里编写了对使这一…

力扣日记1.11-【二叉树篇】450. 删除二叉搜索树中的节点

力扣日记&#xff1a;【二叉树篇】450. 删除二叉搜索树中的节点 日期&#xff1a;2024.1.11 参考&#xff1a;代码随想录、力扣 450. 删除二叉搜索树中的节点 题目描述 难度&#xff1a;中等 给定一个二叉搜索树的根节点 root 和一个值 key&#xff0c;删除二叉搜索树中的 key…

多测师肖sir___ui自动化测试po框架讲解版

po框架 一、ui自动化po框架介绍 &#xff08;1&#xff09;PO是Page Object的缩写 &#xff08;2&#xff09;业务流程与页面元素操作分离的模式&#xff0c;可以简单理解为每个页面下面都有一个配置class&#xff0c; 配置class就用来维护页面元素或操作方法 &#xff08;3&am…

XTuner 大模型单卡低成本微调实战

XTuner 大模型单卡低成本微调实战 Finetune简介增量预训练微调指令跟随微调LoRA XTuner介绍功能亮点 8GB显存玩转LLMFlash AttentionDeepSpeed ZeRO 上手操作平台激活环境微调 参考教程&#xff1a;XTuner Finetune简介 LLM的下游应用任务中&#xff0c;增量预训练和指令跟随…

【python】python新年烟花代码【附源码】

欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 新年的钟声即将敲响&#xff0c;为了庆祝这个喜庆的时刻&#xff0c;我们可以用 Python 编写一个炫彩夺目的烟花盛典。本文将详细介绍如何使用 Pygame 库创建一个令人惊叹的烟花效果。 一、效果图&#xff1a; 二…

互联网加竞赛 基于卷积神经网络的乳腺癌分类 深度学习 医学图像

文章目录 1 前言2 前言3 数据集3.1 良性样本3.2 病变样本 4 开发环境5 代码实现5.1 实现流程5.2 部分代码实现5.2.1 导入库5.2.2 图像加载5.2.3 标记5.2.4 分组5.2.5 构建模型训练 6 分析指标6.1 精度&#xff0c;召回率和F1度量6.2 混淆矩阵 7 结果和结论8 最后 1 前言 &…

Linux 部署 AI 换脸

我使用的系统是 Ubuntu 20.04 文章实操主要分为以下几个部分 1、python 环境安装 2、下载 FaceFusion 上传服务器 3、创建 python 虚拟环境 4、下载 FaceFusion 依赖&#xff08;这里的命令执行时间会很长&#xff0c;够你睡午觉了&#xff09; 5、运行 FaceFusion 6、开…

基于css实现动画效果

介绍 本文将会基于css&#xff0c;实现各种动画效果&#xff0c;接下来会从简单几个例子入手。 案例 三颗球 <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8" /><title>React App</title><style>…

初识Hadoop-概述与关键技术

一.大数据概述 1.什么是大数据 高速发展的信息时代&#xff0c;新一轮科技革命和变革正在加速推进&#xff0c;技术创新日益成为重塑经济发展模式和促进经济增长的重要驱动力量&#xff0c;而“大数据”无疑是核心推动力。 那么&#xff0c;什么是“大数据”呢&#xff1…

0基础学习VR全景平台篇第137篇:720VR全景,DJI无人机遥控器调参

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 这节课以御2为例 介绍的是无人机调参 步骤一&#xff1a;下载DJI Go 4并注册账号 步骤二&#xff1a;拿下遥杆并装好&#xff0c;展开遥控天线。将无人机与遥控器相连&#xff…

Elasticsearch倒排索引详解

倒排索引&#xff1a; 组成 term index(词项索引 &#xff0c;存放前后缀指针) Term Dictionary&#xff08;词项字典&#xff0c;所有词项经过文档与处理后按照字典顺序组成的一个字典&#xff08;相关度&#xff09;&#xff09; Posting List&#xff08;倒排表&#xf…

conda环境下cannot write keep file问题解决

1 问题描述 conda环境下执行如下命令报错&#xff1a; pip install githttps://github.com/wenet-e2e/wenet.git 错误信息如下&#xff1a; (pt) PS D:\code\ptcontainer> pip install githttps://github.com/wenet-e2e/wenet.git Looking in indexes: http://pypi.doub…