配置STM32寄存器控制按键

本文详细介绍了基于STM32的实验电路,包括按键控制蜂鸣器、LED灯和数码管的操作。通过分析电路原理图,阐述了各IO端口配置、寄存器设置以及源代码实现,展示了如何利用GPIO端口和外设总线APB2进行控制。同时,提供了关键函数和源代码实现,实现了按键对显示器件的实时控制。
该文章已生成可运行项目,

1、实验电路原理图

1)实验要求说明

主要实现按键对各种简单显示器件的控制。

Key_up:控制蜂鸣器鸣响,当按键被按下时蜂鸣器鸣响

Key_left:控制LED灯,当按键被按下一次时,亮起的一颗LED灯左移一个。

Key_right:控制LED灯,当按键被按下一次时,亮起的一颗LED灯右移一个。

Key_down:控制数码管,按键按下一次时增加数码管的显示数字。

原理图

   

 

原理图分析

按键部分的硬件电路涉及的GPIO端口有:

Key_up:PA0  输入高电平有效

Key_left:PE2  输入低电平有效

Key_right:PE4 输入低电平有效

Key_down:PE3 输入低电平有效

涉及的外设总线  APB2

2、电路涉及IO端口分析

1)端口模式

按键涉及的IO口都必须配置位输入模式。

各种现实外设的IO口都必须设置为输出模式。

2)端口寄存器描述

配置IO口为输入模式涉及的寄存器叫端口配置寄存器,输入数据传输到端口输入数据寄存器。

端口配置寄存器(CRL),这里涉及到的IO端口都是端口配置低寄存器的配置。

 

端口输入数据寄存器(IDR),端口输入数据寄存器只有低16有效,而且这些位只能以字(16位)的形式读出。读出的值为对应的IO口的状态。

        

 

PA端口的基地址:0x40010800

PA端口的CRL寄存器地址  0x40010800 + 0x00

PA端口的IDR寄存器地址  0x40010800 + 0x08

PE端口的基地址:0x40011800

PE端

本文章已经生成可运行项目
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星顶照

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值