51单片机入门(三)

目录:

1.独立按键控制LED灯亮灭

2.独立按键控制LED状态

3.独立按键控制LED显示二进制

4.独立按键控制LED移位

1.独立按键控制LED灯亮灭

器件:

可以单独控制一位,不用写八位的方式了

写寄存器,会把这个状态送到lo口 ,如果lo口产生的电平,也会把电平的数据送回给寄存器,直接读寄存器

第一个程序的功能,通过按独立按键的第一个键实现led灯的亮灭:按下灯点亮,松手熄灭

k1和k2同时按才会亮

按位左移

按位右移

按位与、按位或:

按位异或:一样就是0,不一样就是1

按位取反:

2.独立按键控制LED状态

实现按键取反:按下的一瞬间会有抖动,会产生干扰

消斗:两种解决办法

1.硬件的消斗,加一个电路,里面经过触发器等等,把抖动进行过滤

2.通过软件,当按下按键的时候,延迟20毫秒,松开按键的时候,也延迟20毫秒

验证一下是否延迟闪烁:

就实现,按下没反应,松手亮了,再按下没反应,松手灭了

3.独立按键控制LED显示二进制

定义一个变量:

unsigned char 无符号的字符型,是8位的二进制数据,正好跟p2口和其他的寄存器都是一样的,用它来表示一个寄存器

就实现了案例,按一下加一位的效果,按一下逐渐+1

4.独立按键控制LED移位

函数要先定义,放到main的上面

如果放到下面,需要再main上面声明

定义在main函数外面的变量是全局变量,初始值是0,在里面是局部变量,初始值不为0

开始第一个灯不亮,按一下直接第二个灯亮,逐渐后面的亮

给第一个灯一个初始化:

复位后就会亮,逐渐按一下,递增的亮

实现按第二个按键向右移动

按第二个按键,向右移动

相关推荐
CODECOLLECT2 小时前
京元 I62D Windows PDA 技术拆解:Windows 10 IoT 兼容 + 硬解码模块,如何降低工业软件迁移成本?
stm32·单片机·嵌入式硬件
BackCatK Chen2 小时前
STM32+FreeRTOS:嵌入式开发的黄金搭档,未来十年就靠它了!
stm32·单片机·嵌入式硬件·freertos·低功耗·rtdbs·工业控制
全栈游侠5 小时前
STM32F103XX 02-电源与备份寄存器
stm32·单片机·嵌入式硬件
Lsir10110_5 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
深圳市九鼎创展科技7 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计7 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
小龙报9 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业9 小时前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
Industio_触觉智能9 小时前
瑞芯微RK3566开发板规格书,详细参数配置,型号EVB3566-V1,基于RK3566核心板SOM3566邮票孔封装
嵌入式硬件·开发板·rk3568·rk3566·核心板·瑞芯微
czwxkn9 小时前
4STM32(stdl)TIM定时器
stm32·单片机·嵌入式硬件