目录

一、I/O端口的分析

① STM32F103xC8(来自杜洋电子补习班解说)

②灌电流和拉电流

③ STM32F103xC6(对照翻译+仿真实验验证io特性)

二、Proteus仿真电路的搭建和分析(使用单片机STM32F103xC6)

① Proteus仿真电路搭建

②Proteus仿真电路测试分析

三、程序讲解


一、I/O端口的分析

① STM32F103xC8(来自杜洋电子补习班解说)

数据手册下载地址:https://www.st.com/resource/en/datasheet/stm32f103c8.pdf

 

②灌电流和拉电流

推荐文章:https://www.docin.com/p-475975098.html

③ STM32F103xC6(对照翻译+仿真实验验证io特性)

数据手册下载地址:https://www.st.com/resource/en/datasheet/stm32f103c6.pdf

给单片机写了一些代码,其中最后的结果为:

PA1 PA2 PA3三个端口分别输出高电平、高电平、低电平

代码片段如下:

考虑驱动电压——仿真实验电路如下:

考虑驱动电流——仿真实验电路如下:

根据实验结果,我姑且可以判断:

我认为这个电平状态的指示灯是根据电压大小的范围来判断是否为高低电平的,这个灰色的状态指示灯就是处于高低电平之间的电压状态。

由于内置高电平估计为约5V,可以理解为当电压表电压约为2.5v时,其单片机内部的上拉电阻为100k左右,故2.5v以上即为高电平,1v的时候为无控的时候的电压,相当于外接电路短路,判断驱动电流约为7mA左右

以上的数据和数据手册还是有一些出入的,但是具体的解释我表示很难……

二、Proteus仿真电路的搭建和分析(使用单片机STM32F103xC6)

① Proteus仿真电路搭建

Proteus下的stm32仿真:参考文章https://blog.csdn.net/lucario1/article/details/109547302

如果出现这个错误,需要按照下面的操作对stm32选择pcb封装

②Proteus仿真电路测试分析

阅读好文章:单片机简介 & 点亮LED & 流水灯 & 电路基础

下面是高低电平两种驱动方式:

场效应管的相关性质:

三、程序讲解

具体的工程项目搭建需要参考前面的一篇博客,

工程结构:

 这里列出一些重要的文件:

main.c


#include "stm32f10x.h" //STM32头文件
#include "sys.h"
#include "led.h"int main (void){//主程序RCC_Configuration(); //时钟设置LED_Init();while(1){GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1)); //LED1接口输出高电平1GPIO_WriteBit(LEDPORT,LED2,(BitAction)(1)); //LED2接口输出高电平1GPIO_WriteBit(LEDPORT,LED3,(BitAction)(0)); //LED3接口输出低电平0}
}

led.h

#ifndef __LED_H
#define __LED_H
#include "sys.h"#define LEDPORT   GPIOA   //定义IO接口
#define LED1    GPIO_Pin_1  //定义IO接口
#define LED2    GPIO_Pin_2  //定义IO接口
#define LED3    GPIO_Pin_3  //定义IO接口void LED_Init(void);//初始化#endif

led.c

#include "led.h"void LED_Init(void){ //LED灯的接口初始化GPIO_InitTypeDef  GPIO_InitStructure;     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);       GPIO_InitStructure.GPIO_Pin = LED1 | LED2 | LED3; //选择端口号(0~15或all)                        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //选择IO接口工作方式       GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置IO接口速度(2/10/50MHz)    GPIO_Init(LEDPORT, &GPIO_InitStructure);
}

其他的点灯方式:

​​​​​​​

 

结果如下:

如下:

加油!!!

YoungTalk-STM32入门100步-通过I/O口点亮LED灯(Proteus仿真电路分析)相关推荐

  1. 【STM32入门100步--学习笔记】USART串口接收程序(含教学视频)

    STM32串口接收的程序和8051单片机一样,有2种接收方式:中断处理和查询方式. 试过两种方式之后发现,中断处理方式更方便,可以扩展多个数据的接收.推荐中断方式. 我已经将本资料内容整理后录制了视频 ...

  2. 杜洋STM32入门100步入门的10条金标准

    必备标准 (1)知道什么是ARM.STM32,了解单片机内部功能,熟悉洋桃1号开发板上的各种功能和它们的作用. (2)成功安装Keil. Flymcu.串口助手.超级终端等软件. (3)会用Kei打开 ...

  3. STM32入门100步 第4期 STM32内部重要功能全记录

    文 / 杜洋  洋桃电子 到洋桃电子全部文章:http://www.doyoung.net/YT/index.html  这篇文章PDF百度云下载:https://pan.baidu.com/s/1h ...

  4. STM32入门100步 第2期 STM32家族大起底

    文 / 杜洋 洋桃电子 到洋桃电子全部文章:http://www.doyoung.net/YT/index.html  这篇文章PDF百度云下载:https://pan.baidu.com/s/1hs ...

  5. 【洋桃电子】STM32入门100步-03

    文章目录 一.CRC校验 二.芯片ID 三.补充 四.接口定义 五.最小系统电路 总结 一.CRC校验 二.芯片ID 三.补充 四.接口定义 五.最小系统电路 总结 以上是P14~P19的视频.

  6. STM32入门100步 第5期 STM32内部通信功能

    文 / 杜洋  洋桃电子 到洋桃电子全部文章:http://www.doyoung.net/YT/index.html  这篇文章PDF百度云下载:https://pan.baidu.com/s/1h ...

  7. STM32入门100步 第1期 是时候学ARM了!

    文 / 杜洋 洋桃电子 一,为啥学? 标题的意思是"现在是学习ARM最好的时机".什么是ARM?(读英文单词arm,不要读字母A-R-M)简单来说就一种性能出众的32位处理器的内核 ...

  8. 【STM32学习笔记-点亮LED灯】

    STM32学习笔记-点亮LED灯 文章目录 STM32学习笔记-点亮LED灯 一.原理图分析 二.代码分析 1.mian函数 2.led.c函数 3.led.h函数 4.函数文件整理 5.LED_In ...

  9. stm32点亮led灯。

    新手学习stm32 学习32第一个程序就是点亮led灯.本人用的是野火的指南者开发板.先上电路图. 如图所示,为led模块电路图,由图可知,此模块为共阳极.只需将引脚变成低电平即可使led灯亮.此次代 ...

  10. 单片机stm32LED流水灯C语言,STM32单片机入门 篇二:单片机编程:从点亮LED灯开始(二)...

    STM32单片机入门 篇二:单片机编程:从点亮LED灯开始(二) 2019-04-26 13:21:48 19点赞 73收藏 19评论 写在前面的话:本篇是承接上一篇文章,属于小白向. 没看过的朋友点 ...

最新文章

  1. 机器学习(8)朴素贝叶斯算法(20条新闻分类)
  2. 申工智能有没有作弊?
  3. 【数字信号处理】相关函数应用 ( 正弦信号 的 自相关函数 分析 | 在白噪声中检测正弦信号 )
  4. python快速排序解析_快速排序python实现总结
  5. JPEG压缩matlab实现
  6. Oracle® Database Performance Tuning Guide 11g Release 2 (11.2)----Configuring and Using Memory
  7. 玹疯:这些年我走过的弯路
  8. c++ 一维数组长度_每天一点C / 一维数组和指针
  9. OpenVINO主要工作流程
  10. ASP.NET Core的身份认证框架IdentityServer4--(5)自定义用户登录(通过接口登录,无UI版本)...
  11. python编写简易超市系统_简易控制台超市销售系统|Python练习系列[1]
  12. 计算机网络体系结构整理-第九单元移动IP
  13. 工厂模式(描述语言PHP)
  14. 软件测试人员培养计划
  15. 极小化极大(Minimax)算法原理
  16. 构建自己企业的邮箱验证服务
  17. 工业蒸汽_到底什么是蒸汽机,我想要一个吗?
  18. azw3格式的电子书在kindle中怎么打开
  19. jsp是java的一种吗_jsp是什么
  20. 如何做好积分商城运营?

热门文章

  1. 嵌入式 Linux 入门 环境篇(一、开发板初体验)
  2. Scrapy实例__链家租房爬虫
  3. ArcGIS数据生产与精细化制图之中国年降水量分布图的制作
  4. 本地文件秒搜工具 Everything
  5. Everthing最强文件搜索神器
  6. Behavior Designer 行为树中文版教程
  7. 【Mark】转正述职答辩
  8. 章节1 概述 - Segger SystemView使用手册(译文)
  9. 8 款免费的 MySQL 数据库建模工具
  10. Android MVVM框架搭建(一)ViewModel + LiveData + DataBinding