找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5517|回复: 5
打印 上一主题 下一主题
收起左侧

用Proteus 8.8学习stm32点亮LED

[复制链接]
跳转到指定楼层
楼主
Proteus 8.8支持KAIL编译器。用Proteus 8.8绑架KAIL就免除KAIL配置编程环境的步骤,可直接在Proteus代码窗口写程序。
如下图:
此图是调试Debug模式,要生成Hex文件可在页面工具栏下拉框中选择Release发布模式。





程序代码:
/* 由新项目向导生成的空白Main.c 文件后向其中添加代码
*
*  创建:  2020年2月20日
* 处理器:STM32F103T6
* 编译器:  Proteus 8 .8绑架Keil for ARM(Keil uVision5)
*/
#include <stm32f103x6.h>
#include  <stdint.h>
void delay(unsigned int a)
{
    while(a--);
}
//(1)打开这些GPIO口所对应端口的时钟;
//(2)配置PB5,PB0,PB1这三个GPIO口的工作模式;
//(3)令PB5,PB0,PB1这三个GPIO口输出高低电平以熄灭或点亮对应的LED发光管。
//因此我们第一步首先要把GPIOB端口的时钟使能。
//通过查找微控制器参考手册。找到和GPIOB端口相关的寄存器RCC_APB2ENR,
//通过查找我们发现,这个寄存器中的第三位为GPIOB端口的使能位
int main (void)
{
//(1)那么我们想使用这个端口的三个引脚PB5,PB0,PB1,就先要把端口B的时钟打开。
RCC->APB2ENR |= (1<<3); //GPIOB端口时钟使能
//(2)由于这三个引脚是用来点亮LED发光管的,因此要设置成推挽输出的模式;同时将其输出的最大频率设置为50MHz。
//GPIOx_CRL这个寄存器管的是0~7这低八个引脚的配置,而GPIOx_CRH这个寄存器管的是8~15这个高八个引脚的配置
//我们分别对GPIOB_CRL的0~3位(PB0)、4~7位(PB1)、20~23位(PB5)进行配置
//初始化PB0 PB1 PB5为推挽输出,输出频率最大为50MHz
//先清零,再赋值。以下三行为将对应位清零操作
GPIOB->CRL &= ~( 0x0F<< (4*0));
GPIOB->CRL &= ~( 0x0F<< (4*1));
GPIOB->CRL &= ~( 0x0F<< (4*5));
//以下三行分别将PB0 PB1 PB5,设置为推挽输出50MHz
GPIOB->CRL |= (3<<4*0);
GPIOB->CRL |= (3<<4*1);
GPIOB->CRL |= (3<<4*5);
//(3)让PB5,PB0,PB1这三个引脚输出一个低电平信号
//GPIOB_ODR的用法:将对应的位写0,其对应的管脚输出低电平信号。反之,输出高电平信号。
while(1)
{
GPIOB->ODR &= ~(1<<5); //PB5输出低电平,点亮LED
delay(0xfffff);
GPIOB->ODR |= (1<<5); //PB5输出高电平,熄灭LED
GPIOB->ODR &= ~(1<<0); //PB0输出低电平,点亮LED
delay(0xfffff);
GPIOB->ODR |= (1<<0); //PB0输出高电平,熄灭LED
GPIOB->ODR &= ~(1<<1); //PB1输出低电平,点亮LED
delay(0xfffff);
GPIOB->ODR |= (1<<1); //令PB1输出高电平,熄灭LED
}
}   
工程文件见压缩包:
stm32.zip (510.15 KB, 下载次数: 80)



评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:608154 发表于 2020-2-21 12:12 来自手机 | 只看该作者
为什么我从51转不过来
回复

使用道具 举报

板凳
ID:342822 发表于 2020-2-22 09:53 | 只看该作者
加一句避免开机时三个LED全亮。
//以下三行分别将PB0 PB1 PB5,设置为推挽输出50MHz
GPIOB->CRL |= (3<<4*0);
GPIOB->CRL |= (3<<4*1);
GPIOB->CRL |= (3<<4*5);
GPIOB->ODR=0XFFFF;//此行为新加:端口置位led不亮
回复

使用道具 举报

地板
ID:265664 发表于 2020-3-6 21:31 | 只看该作者
能否百度云分享一下proteus8.8
回复

使用道具 举报

5#
ID:342822 发表于 2020-3-6 21:54 | 只看该作者
到吾爱破解一搜就有~~~~或者百度Proteus8.8 白菜直装版
回复

使用道具 举报

6#
ID:727103 发表于 2020-4-11 18:22 | 只看该作者
搞不定这个
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表