设计分享|单片机按键控制多个LED灯

本文介绍了使用51单片机实现的两个按键控制8位LED灯的设计,涉及51单片机特性、设计思路(文献研究、调查分析、比较分析和软硬件设计)、Protues8.7的仿真图以及Keil5中的C语言程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

具体实现功能

设计介绍

51单片机简介

设计思路

设计内容

仿真图(protues8.7)

程序(Keil5)


具体实现功能

两个按键控制8位​LED灯。

设计介绍

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,具有8K可编程Flash存储器,使得其为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

51系列单片机具有以下标准功能:

8k字节Flash,512字节RAM,

32位I/O口线,看门狗定时器,

内置4KB EEPROM,

MAX810复位电路,

三个16位定时器/计数器,

一个6向量2级中断结构,

全双工串行口。

另外, 51系列在空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机停止工作,直到下一个中断或硬件复位为止。本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

设计思路

文献研究法:搜集整理相关研究资料,阅读文献,为研究做准备;

调查研究法:通过调查、分析、具体实验等方法,发现相关存在问题和解决办法;

比较分析法:比较不同设计的具体原理,以及同一类传感器性能的区别,分析系统的研究现状与发展前景;

软硬件设计法:通过软硬件设计实现硬件,最后测试各项功能是否满足要求。

设计内容

仿真图(protues8.7)

本设计利用protues8.7软件实现仿真设计,具体如图。

注:免费分享,请按照下图自行绘制仿真!!

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

注:全部代码免费分享,请自行建立工程!!

本设计由C语言编写,全部代码如下:

#include<reg51.h>  //包含单片机寄存器的头文件
sbit S1=P1^4;     //将S1位定义为P1.4
sbit S2=P1^5;     //将S2位定义为P1.5
/*****************************
函数功能:主函数
*****************************/
void main(void)
{  
   while(1)
	 {
	  if(S1==0)   //如果按键S1按下
	    P0=0x0f;  //P0口高四位LED点亮
	  if(S2==0)   //如果按键S2按下
	    P0=0xf0;  //P0口低四位LED点亮
	  }      
}

运行结果如图:

STOMP(Simple Text Oriented Messaging Protocol)是一种基于文本的协议,用于在客户端和服务器之间进行异步通信。它是WebSocket协议的一个子协议,提供了一种简单的消息传递模式,支持点对点和发布/订阅模式。 Spring Boot提供了一个名为spring-boot-starter-websocket的starter,它为我们提供了使用STOMP的基本配置和依赖。这个starter依赖了spring-messaging和spring-websocket模块,以及一个STOMP消息代理。 底层原理如下: 1. 客户端通过WebSocket连接到服务器,并发送CONNECT帧。 2. 服务器接受连接请求,并返回CONNECTED帧,表示连接已建立。 3. 客户端发送SUBSCRIBE帧,请求订阅一个目的地(destination)。 4. 服务器接受订阅请求,并返回SUBSCRIBED帧,表示订阅成功。 5. 当有消息到达目的地时,服务器将消息发送给所有订阅该目的地的客户端。服务器发送的消息采用MESSAGE帧,其中包含消息头、消息体和目的地。 6. 客户端可以随时取消订阅,发送UNSUBSCRIBE帧。 7. 当客户端关闭连接时,客户端发送DISCONNECT帧,关闭连接。 在Spring Boot应用中,我们可以使用@MessageMapping注解定义STOMP的请求处理器,同时使用@SendTo注解定义发送消息的目的地。当有客户端发送消息到指定目的地时,就会调用@MessageMapping注解所标注的方法进行处理,并将处理结果发送到@SendTo注解所标注的目的地。 总之,STOMP是一个基于文本的协议,提供了一种简单的消息传递模式,Spring Boot通过提供spring-boot-starter-websocket starter和相关注解,使得我们可以轻松地使用STOMP进行异步通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

电子工程师成长日记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值