stm32基础(keil创建、Proteus仿真、点亮LED灯,7段数码管)

一、keil的创建

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
随后点击新建(Ctrl+n),接着保存到所自己项目工程文件。.c .h都是这样操作
在这里插入图片描述

二、Proteus的简单使用

在这里插入图片描述
左上角框框内可以拖动

三、点亮LED灯代码

led.c
#include "stm32f10x.h"                  // Device headervoid led_init(void)
{GPIO_InitTypeDef GPIO_InitStructure;//GPIO_InitTypeDef GPIO_InitStructure2;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//GPIOA时钟使能// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//GPIOB时钟使能GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//初始化的引脚GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//输出速度//GPIO_InitStructure2.GPIO_Pin=GPIO_Pin_0;//初始化的引脚//GPIO_InitStructure2.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出// GPIO_InitStructure2.GPIO_Speed=GPIO_Speed_50MHz;//输出速度GPIO_Init(GPIOA,&GPIO_InitStructure);//pA5初始化// GPIO_Init(GPIOB,&GPIO_InitStructure2);//pB0初始化
}void led_on(void)
{GPIO_ResetBits(GPIOA,GPIO_Pin_5);//PA输出0// GPIO_ResetBits(GPIOB,GPIO_Pin_0);//PB输出0
}void led_off(void)
{GPIO_SetBits(GPIOA,GPIO_Pin_5);//PA输出1// GPIO_SetBits(GPIOB,GPIO_Pin_0);//PB输出1
}led.h
#ifndef LED_H
#define LED_Hvoid led_init(void);
void led_on(void);
void led_off(void);
void mydelay(int x);#endifmain.c
#include "led.h"
#include "stm32f10x.h"    // Device header
#include "7seg.h"void mydelay(int x)
{int i=0;while(x--)for(i=500;i>=0;i--);
}int main()
{led_init();seg7_init();seg7_desplay(0xC0);while(1){led_on();mydelay(500);led_off();mydelay(500);/*   seg7_desplay(0xC0);mydelay(1000);seg7_desplay(0xF9);mydelay(1000);seg7_desplay(0xA4);mydelay(1000);seg7_desplay(0xB0);mydelay(1000);seg7_desplay(0x99);mydelay(1000);seg7_desplay(0x92);mydelay(1000);seg7_desplay(0x82);mydelay(1000);seg7_desplay(0xF8);mydelay(1000);seg7_desplay(0x80);mydelay(1000);seg7_desplay(0x90);mydelay(1000);*/}//return 0;
}

这里需要注意main.c里面的延时函数需要加到led.h里面;编译器的版本需要改成5。否则在二进制程序进行方针时,LED灯可能不能够有效闪烁。

7seg.c
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

细说STM32F407单片机轮询方式读写SPI FLASH W25Q16BV

目录 一、工程配置 1、时钟、DEBUG 2、GPIO 3、SPI2 4、USART6 5、NVIC 二、软件设计 1、FALSH (1)w25flash.h (2) w25flash.c 1)W25Q16基本操作指令 2)计算地址的辅助功能函数 3)器…

sentinel笔记9- 限流规则持久化(上)

之前的在sentinel 控制台配置的规则&#xff0c;重启后就消失了&#xff0c;sentinel 限流保护-笔记-CSDN博客 本篇还是在之前的demo做验证&#xff0c;使用nacos做持久化。 规则集成Nacos 1 引入依赖 <!--nacos-discovery 注册中心依赖--><dependency><gr…

RPA系列-uipath 学习笔记3

用uipath读取excel填写表单 所有素材都搬运自uipath academy 读取数据 现在手头上有这样一份数据 需要按行依次把数据填入到浏览器中的表单中&#xff0c;首先创建一个空的process 在activity中拉入excel process scope,同时在里面点击use_excel_file,选择你要使用的file,并…

强力巨彩租赁屏技术更新,适用多种户外应用场景

现代社会&#xff0c;户外广告和活动展示是商家吸引公众注意力的主要方式之一。在这场视觉盛宴的背后&#xff0c;一款高效、稳定且适应性强的LED显示屏在其中扮演着重要角色。强力巨彩幻云户外HY3.9 H单边斜角底壳租赁屏是一款专为户外创意应用场景量身打造的LED显示屏产品&am…

SpringCloud 系列教程:微服务的未来(二)Mybatis-Plus的条件构造器、自定义SQL、Service接口基本用法

本篇博客将深入探讨 MyBatis-Plus 的三个核心功能&#xff1a;条件构造器、自定义 SQL 和 Service 接口的基本用法。通过对这些功能的学习和掌握&#xff0c;开发者能够更加高效地使用 MyBatis-Plus 进行业务开发。 目录 前言 条件构造器 自定义SQL Service接口基本用法 总结…

vue中proxy代理配置(测试一)

接口地址&#xff1a;http://jsonplaceholder.typicode.com/posts 1、配置一&#xff08;代理没起作用&#xff09; &#xff08;1&#xff09;设置baseURL为http://jsonplaceholder.typicode.com &#xff08;2&#xff09;proxy为 ‘/api’&#xff1a;’ ’ &#xff08;3&a…

Element-ui的使用教程 基于HBuilder X

文章目录 1.Element-ui简介2.使用HBuilderX 创建一个基于Vue3的项目 &#xff08;由于是使用的基于Vue3的Element-ui&#xff09;3.安装element-ui4.在项目里完全引用element-ui5.引用组件6.运行项目 1.Element-ui简介 Element&#xff0c;一套为开发者、设计师和产品经理准备…

C语言从入门到放弃教程

C语言从入门到放弃 1. 介绍1.1 特点1.2 历史与发展1.3 应用领域 2. 安装2.1 编译器安装2.2 编辑器安装 3. 第一个程序1. 包含头文件2. 主函数定义3. 打印语句4. 返回值 4. 基础语法4.1 注释4.1.1 单行注释4.1.2 多行注释 4.2 关键字4.2.1 C语言标准4.2.2 C89/C90关键字&#xf…

Python OCR 文字识别

一.引言 文字识别&#xff0c;也称为光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;&#xff0c;是一种将不同形式的文档&#xff08;如扫描的纸质文档、PDF文件或数字相机拍摄的图片&#xff09;中的文字转换成可编辑和可搜索的数据的技术。随着技…

LeetCode:257. 二叉树的所有路径

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;257. 二叉树的所有路径 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有从根…

C++----------类的设计

二维点的表示&#xff08;类设计&#xff09; 知识点讲解&#xff1a; 封装&#xff1a;将数据成员&#xff08;x和y坐标&#xff09;设为private&#xff0c;这遵循了面向对象编程中的封装原则&#xff0c;防止外部代码随意修改类内部的数据&#xff0c;保证数据的安全性和完整…

教育行业 UI 设计基础篇:简洁直观的风格打造

在当今数字化时代&#xff0c;教育行业的线上平台如雨后春笋般涌现&#xff0c;而 UI 设计作为用户与教育产品交互的重要桥梁&#xff0c;其重要性不言而喻。对于教育行业而言&#xff0c;简洁直观的 UI 风格能够极大地提升用户体验&#xff0c;帮助学习者更高效地获取知识。 …

分布式协同 - 分布式事务_2PC 3PC解决方案

文章目录 导图Pre2PC&#xff08;Two-Phase Commit&#xff09;协议准备阶段提交阶段情况 1&#xff1a;只要有一个事务参与者反馈未就绪&#xff08;no ready&#xff09;&#xff0c;事务协调者就会回滚事务情况 2&#xff1a;当所有事务参与者均反馈就绪&#xff08;ready&a…

GFPS扩展技术原理(七)-音频切换消息流

音频切换消息流 Seeker和Provider通过消息流来同步音频切换能力&#xff0c;触发连接做切换&#xff0c;获取或设置音频切换偏好&#xff0c;通知连接状态等等。为此专门定义了音频切换消息流Message Group 为0x07&#xff0c;Message codes如下&#xff1a; MAC of Audio s…

实现 QTreeWidget 中子节点勾选状态的递归更新功能只影响跟节点的状态父节点状态不受影响

在 Qt 开发中&#xff0c;QTreeWidget 提供了树形结构的显示和交互功能。为了实现某个子节点勾选或取消勾选时&#xff0c;只影响当前节点及其子节点的状态&#xff0c;同时递归更新父节点的状态以正确显示 Qt::PartiallyChecked 或 Qt::Checked&#xff0c;我们可以借助 Qt 的…

计算机图形学知识点汇总

一、计算机图形学定义与内容 1.图形 图形分为“图”和“形”两部分。 其中&#xff0c;“形”指形体或形状&#xff0c;存在于客观世界和虚拟世界&#xff0c;它的本质是“表示”&#xff1b;而图则是包含几何信息与属性信息的点、线等基本图元构成的画面&#xff0c;用于表达…

Yolo11改策略:卷积改进|SAC,提升模型对小目标和遮挡目标的检测性能|即插即用

摘要 一、论文介绍 本文参考的论文主要介绍了DetectoRS模型&#xff0c;一个高性能的目标检测模型。DetectoRS通过引入递归特征金字塔&#xff08;RFP&#xff09;和可切换空洞卷积&#xff08;SAC&#xff09;两大创新点&#xff0c;显著提升了目标检测的精度。尽管原文并未…

Y3编辑器教程8:资源管理器与存档、防作弊设置

文章目录 一、资源管理器简介1.1 界面介绍1.2 资源商店1.3 AI专区1.3.1 AI文生图1.3.2 AI图生图1.3.3 立绘头像 二、导入导出2.1 文件格式2.2 模型导入2.2.1 模型制作后导出2.2.2 模型文件导入Y3编辑器2.2.3 Y3编辑器角色、装饰物模型要求 2.3 纹理导入2.4 材质贴图2.4.1 材质支…

【联动】【MSS】【AF】

【联动】【MSS】【AF】 一、版本要求 AF&#xff1a;不低于8.0.7&#xff1b;AF8.0.7R2不支持接入 二、接入配置 2.1、AF配置 对于AF8.0.13版本及以上&#xff0c;登录WEB控制台&#xff0c;点击[下一代安全防护体系] -> [云网联动] -> [云网接入设置]&#xff0c;然…

攻防世界 cookie

开启场景 Cookie&#xff08;HTTP cookie&#xff09;是一种存储在用户计算机上的小型文本文件。它由网站通过用户的浏览器在用户访问网站时创建&#xff0c;并存储一些用于跟踪和识别用户的信息。Cookie 主要用于在网站和浏览器之间传递数据&#xff0c;以便网站可以根据用户的…