STM32——LED流水灯

实验任务:

以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOB、GPIOC、GPIOD这3个端口控制LED灯(最高时钟2Mhz),轮流闪烁,间隔时长1秒。

1)写出程序设计思路,包括GPIOx端口的各寄存器地址和详细参数;

2)分别用汇编语言,C语言编程实现。

实验过程:

STM32F103C8T6简介
STM32F103C8T6是一款基于ARM Cortex-M 内核STM32系列的32位的微控制器,程序存储器容量是64KB,需要电压2V~3.6V,工作温度为-40°C ~ 85°C。

寄存器简介
寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。寄存器分为基本寄存器和移位寄存器两大类。基本寄存器只能并行送入数据,也只能并行输出。

流水灯原理简述
通过对GPIO端口的初始化配置设置引脚的模式、速率,进而对寄存器的存储数据进行修改。对于确定引脚的值需要写一个16位二进制数。

C语言实现
打开keil,在 project --> new μvision project。选择STM32F103C8:

请添加图片描述

 请添加图片描述

之后勾选Creat Hex File,并在debug中配置与之前仿真调试对应的配置。

请添加图片描述 

 之后写入自己的C语言代码:

请添加图片描述

之后build并运行,会得到hex文件。
在配置好环境后打开FlyMcu,搜索串口并将bps调整至25600,在程序文件中选择对应生成的hex文件,并进行 读器件信息,最后 开始编程

请添加图片描述 

 运行可以看到:

请添加图片描述

 

汇编实现

新建项目,过程大致与C语言相同,但是在环境勾选时注意不勾选Starup:

请添加图片描述

 之后录入自己的汇编语言:

请添加图片描述

 可以得到运行结果:

请添加图片描述

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值