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

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

给第一个灯一个初始化:

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

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

按第二个按键,向右移动

相关推荐
piaoyiren5 分钟前
51单片机播放音乐
单片机·嵌入式硬件·51单片机
执迷不悟82314 分钟前
51单片机
单片机·嵌入式硬件·51单片机
zjxtxdy40 分钟前
TIM输入捕获
单片机·嵌入式硬件
西城微科方案开发1 小时前
西城微科蓝牙电子秤PCBA方案设计
单片机·嵌入式硬件
hongmai66688810 小时前
FH8856V310芯片详解:6M高清+0.5TOPS算力,赋能智能安防新方案
人工智能·单片机·嵌入式硬件·物联网·智能家居
三易串口屏13 小时前
串口屏是什么
单片机·嵌入式硬件
冰茶丿16 小时前
嵌入式安全第一关:Secure Boot是怎么保护你的设备的?
嵌入式硬件·安全
卖萌的斜阳16 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
单片机·网络协议·tcp/ip
Kuakewei88816 小时前
4056充电芯片:28V高耐压+电池反接保护+热调节功能
嵌入式硬件
三品吉他手会点灯17 小时前
嵌入式机器学习 - 学习笔记1.1.1 - 什么是机器学习?
c语言·人工智能·笔记·嵌入式硬件·学习·机器学习