Proteus仿真STM32F103R6(一)
Proteus仿真STM32F103R6-LED仿真
- Proteus环境配置
- keil环境下库函数相关设置。
- Proteus和keil联合实现STM32F103R6的仿真。
Proteus环境配置
一、使用软件proteus 8.9(这个软件是网友提供的,直接安装,如果以前安装过proteus需要将原来的卸载,卸载方法网上有很多,要将原来的删除干净才可以安装新的版本,8.9可以仿真F407,不过我仿真的是F103).
keil环境下库函数相关设置。
这里主要包括五个文件夹,这里面的文件夹主要关心的是,启动文件里的选择。不同型号的芯片需要选择不同的启动文件完成库函数的配置。
1、例如STM32F103R6,
命名规则
F表示通用闪存型号
103代表基于ARM Cortex-M3内核增强型子系列
R代表64个引脚
6代表小容量Flash(32KB Flash)
所以选择启动文件的时候就需要根据自己的型号选择所对应的启动文件。这里选择的是低密度产品。这是基于STM32F103R6已经配置好的库文件,也是包含led驱动的测试文件。
链接:https://pan.baidu.com/s/1MPaXwwSIxeYb51oAqZ7jXA
提取码:ggqt
复制这段内容后打开百度网盘手机App,操作更方便哦
ld:低密度产品,FLASH小于64K
md:中等密度产品,FLASH=64 or 128
hd:高密度产品,FLASH大于128
另外还有其他类型的芯片,可以根据名字查一下使用哪个启动文件,从官方的固件库里面选择配置。
其他文件里的东西就是内核文件和外设文件。f1系列通用的,直接包含进去就可以了。
另外还需要写两个宏:
USE_STDPERIPH_DRIVER;
To use or not the peripheral drivers in application code ,this option is controlled by “#define USE_STDPERIPH_DRIVER”;根据stm32f10x.h中描述这个宏是用来控制使用或不使用外设驱动程序的。
STM32F10X_LD;
这个宏是根据所使用的芯片的型号需要编写的宏,具体是通过宏和条件编译实现一个开关的作用,在stm32f10x.h。具体的过程暂时没有分析,以后有时间一定补充一下。
Proteus和keil联合实现STM32F103R6的仿真。
一、将Proteus 8.9环境配置好之后直接新建项目,选择芯片型号,我选的是STM32F103R6,具体过程网上有很多教程。新建完之后最小系统已经配置好了,可以根据需要添加外围器件和电路。
二、将keil下的库函数配置好之后,就可以基于库写程序了。程序写完没问题,生成.hex文件之后直接添加到Proteus的芯片中,点击运行就可以了。
最终效果是三个灯依次闪烁。
Proteus仿真STM32F103R6(一)相关推荐
- Proteus仿真STM32F103R6微控制器的GPIO(按键控制LED开关)
Proteus仿真STM32F103R6微控制器的GPIO,检查按键,控制LED灯的反转.. 输入:按键检测:输出:高低电平,控制LED. 一.原理图: 二.源码: #include "st ...
- Proteus仿真STM32F103R6的寄存器版跑马灯程序
STM32最简单的外设莫过于IO口的高低电平控制了, Proteus仿真STM32F103R6的跑马灯程序. 一.原理图 二.跑马灯C程序 // 粗略延时函数 static void delay(un ...
- Proteus仿真STM32F103R6输出正弦波
(1)简介 本文介绍基于Proteus软件仿真实现STM32F103R6单片机输出正弦波波形(其他子型号单片机类似) Proteus软件选用Proteus8.8版本及以上 完整仿真文件及程序代码链接 ...
- Proteus仿真STM32F103R6微控制器的EXTI
STM32微控制器的外部中断/事件控制器(External Interrupt/Event Controller,EXTI)管理了控制器的中断/事件线.每个中断/事件线都对应有一个边沿检测器,可以实现 ...
- Proteus仿真STM32F103R6的寄存器版跑马灯程序(存储器宏定义)
跑马灯程序,存储器映像.用宏定义,增强程序的可读性.. 头文件: #ifndef __STM32F10x_H #define __STM32F10x_H#define PERIPH_BASE (0X4 ...
- STM32 基于正电原子开发板,改换芯片为STM32F103R6,Proteus仿真的一些问题
最近在学STM32,网上收集了一些信息,最后用正点原子的开发板来学习. MDK的配置请参考原子哥的资料,我主要的学习方法是参考原子哥的开发板与实验案例,改换不一样的芯片,也要做出的一样的效果.但在最基 ...
- STMCubeMX+Proteus仿真DHT11(LCD1602显示)
本文说明 开发工具:STM32CubeMX+Keil5 开发芯片:STM32F103R6 采温模块:DHT11 数显屏幕:LCD1602 仿真软件:Proteus 8.12 项目目标:DHT11读取温 ...
- 基于STM32F103的红外循迹避障小车设计(含Proteus仿真)
基于STM32F103的红外循迹避障小车设计 红外循迹及红外避障实现较简单,无论是51单片机还是STM32单片机,其例程随处可见.但是完全可以运行的Proteus仿真,开源的并不多,更不要说基于STM ...
- STM32 Proteus仿真GP2Y101红外测距温度湿度DHT11内部RTC-0010
STM32 Proteus仿真GP2Y101红外测距温度湿度DHT11内部RTC-0010 Proteus仿真小实验: STM32 Proteus仿真GP2Y101红外测距温度湿度DHT11内部RTC ...
最新文章
- php5.3源码,php5.3介绍
- asp.net访问被拒绝,程序集无法加载原因与解决方法[摘录]
- ironpython使用opencv_如何在Dynamo(PythonScript中导入第三方模块)
- PHP的上传文件思路及其代码
- at指令获取网络连接类型_【新手】ESP8266模块 AT指令详解
- android studio 运行 Java Application
- java通讯录工程_JAVA通讯录管理小项目
- php7 $GLOBALS['HTTP_RAW_POST_DATA']接收不到值
- 监听程序当前无法识别连接描述符中请求的服务_Linux I/O复用中select poll epoll模型的介绍及其优缺点的比较...
- 自动锁定计算机怎么设置,win10如何设置自动锁定屏幕_win10设置自动锁屏的步骤...
- php时间转换位周月,php日周月统计代码
- 如何保证战略落地_【管理前沿】保障战略规划落地的三大措施
- 仿微信朋友圈点击评论自动定位到对应位置
- vue的keep-alive属性
- Spring MVC原理解析
- hexo博客的备份和迁移
- 今天收到了WinZip发来的免费License
- Kivy App开发之登录界面Demo
- 国开电大 比较初等教育 形考任务阶段性测验1-4
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 I-填空题
热门文章
- [VB.NET] - Rs232 通讯 COM口
- vue路由守卫beforeEach和afterEach
- 最长上升子序列(O(nlogn))算法并输出最长上升子序列
- 多模态特征表示和融合
- 什么软件可以测试提速,谁是手机加速神器?三款常用加速软件横评
- MOOC微信小程序开发从入门到实践~笔记
- 对已有apk进行重新签名
- 对称加密和非对称加密原理
- 计算机毕业设计Java金融业撮合交易系统(源码+系统+mysql数据库+lw文档)
- spring hateoas 1.0改动