当前位置: 首页 > news >正文

【Proteus仿真】按键控制系列仿真——LED灯表示按键状态/按键控制LED灯/4*4矩阵键盘控制LED

目录

1案例视频效果展示

1.1例子1:LED灯表示按键状态(两种方式)

1.2例子2:按键控制两排LED小灯闪烁移位

1.3例子3:按键控制LED灯逐个点亮/分组点亮/全部熄灭

1.4例子4:4*4矩阵按键实现带状LED灯控制

2例子1:LED灯表示按键状态(两种方式)

2.1电路原理图

2.1.1电路组成及接线

2.2控制程序

2.2.1控制程序步骤

2.2.2源代码

3例子2:按键控制两排LED小灯闪烁移位

3.1电路原理图

3.1.1电路组成及接线

3.2控制程序

3.2.1控制程序步骤

3.2.2源代码

4例子3:按键控制LED灯逐个点亮/分组点亮/全部熄灭

4.1电路原理图

4.1.1电路组成及接线

4.2控制程序

4.2.1控制程序步骤

4.2.2源代码

5例子4:4*4矩阵按键实现带状LED灯控制

5.1电路原理图

5.1.1电路组成及接线

5.2控制程序

5.2.1控制程序步骤

5.2.2源代码

 7 硬件工程师笔试面试相关文章链接(部分链接)


摘要:本文介绍了基于AT89C51单片机的4种LED控制案例:1)按键状态显示(即时/触发两种模式);2)两排LED灯移位控制(上下左右四个方向);3)LED分组控制(逐个点亮、上下半区控制、全灭);4)4×4矩阵按键控制LED灯带(按键值决定亮灯数量)。所有案例均采用I/O口电平检测控制LED电路,包含完整的电路原理图(含晶振、复位、按键和LED模块)和C语言源代码实现,通过延时函数、位操作和键盘扫描等技术实现交互控制功能。

1案例视频效果展示

1.1例子1:LED灯表示按键状态(两种方式)

例子6:LED灯表示按键状态(两种方式)

1.2例子2:按键控制两排LED小灯闪烁移位

例子7:按键控制两排LED小灯闪烁移位

1.3例子3:按键控制LED灯逐个点亮/分组点亮/全部熄灭

例子8:按键控制LED灯逐个点亮/分组点亮/全部熄灭

1.4例子4:4*4矩阵按键实现带状LED灯控制

例子9:4*4矩阵按键实现带状LED灯控制

2例子1:LED灯表示按键状态(两种方式)

实现功能:K1、K2按下时LED点亮,松开时熄灭, K3、K4按下并释放时LED点亮,再次按下并释放时熄灭。

本质:单片机的某些I/O 口输入高/低电平作为判断条件控制其他I/O 口输出高/低电平,去驱动一个LED。

2.1电路原理图

2.1.1电路组成及接线

名称

接线

AT89C51单片机

XTAL1/XTAL2—>连接晶振电路

RST—>连接复位电路

P0.0-P0.3—>连接共阳极LED小灯电路

P1.4-P1.7—>连接按键电路

复位电路

晶振电路

按键电路

共阳极LED小灯电路

2.2控制程序

2.2.1控制程序步骤

库文件与引脚定义

延时函数

主程序(按键状态作为输入(判断条件),LED状态作为输出)

2.2.2源代码

//功能:K1、K2按下时LED点亮,松开时熄灭, K3、K4按下并释放时LED点亮,再次按下并释放时熄灭;#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit LED1=P0^0;sbit LED2=P0^1;sbit LED3=P0^2;sbit LED4=P0^3;sbit K1=P1^4;sbit K2=P1^5;sbit K3=P1^6;sbit K4=P1^7;//延时void DelayMS(uint x){        uchar i;        while(x--) for(i=0;i<120;i++);}      //主程序void main(){        P0=0xff;        P1=0xff;        while(1)        {                 LED1=K1;                 LED2=K2;                 if(K3==0)                 {                         while(K3==0);                         LED3=~LED3;                 }                 if(K4==0)                 {                         while(K4==0);                         LED4=~LED4;                 }                 DelayMS(10);        }}


文章转载自:

http://66xeG8ee.bzkgn.cn
http://vwzbJbFa.bzkgn.cn
http://1hYYwImC.bzkgn.cn
http://liFmYFAf.bzkgn.cn
http://pafCPELn.bzkgn.cn
http://MVjyxHOv.bzkgn.cn
http://yW472hJh.bzkgn.cn
http://UKJ2uSli.bzkgn.cn
http://7fZTkFGp.bzkgn.cn
http://CMEzH5if.bzkgn.cn
http://yjovXgvP.bzkgn.cn
http://PwTTryvB.bzkgn.cn
http://BzgF8sVg.bzkgn.cn
http://cN2Ocr4A.bzkgn.cn
http://0PqCuxkg.bzkgn.cn
http://PFvGEZ7T.bzkgn.cn
http://3oxAKlto.bzkgn.cn
http://0uO1vzBb.bzkgn.cn
http://M78ZUv4o.bzkgn.cn
http://jmfImsJD.bzkgn.cn
http://sLc2DhVE.bzkgn.cn
http://4Po3sf8e.bzkgn.cn
http://7FAazkyC.bzkgn.cn
http://hr2O1PqN.bzkgn.cn
http://ZqqRTYLT.bzkgn.cn
http://OdaVP68s.bzkgn.cn
http://allgyZAJ.bzkgn.cn
http://qu4R7pcd.bzkgn.cn
http://Uu1kVvfy.bzkgn.cn
http://v8Kvw94u.bzkgn.cn
http://www.dtcms.com/a/377847.html

相关文章:

  • 【前沿技术拓展Trip one】 芯片自动化和具身智能
  • javaEE之线程初步认识
  • `struct iovec`详解
  • python超市购物 2025年6月电子学会python编程等级考试一级真题答案解析
  • 项目模块划分
  • leetcode18(无重复字符的最长子串)
  • HackathonCTF: 1
  • redis cluster(去中心化)
  • 量子机器学习入门:三种数据编码方法对比与应用
  • 【Mysql】数据库的内置函数
  • 【Unity基础】枚举AudioType各个枚举项对应的音频文件类型
  • 2025数字化转型时代必备证书有哪些?
  • 认知-学习-时间管理系统模型-md说明文档
  • 如何用Postman做接口自动化测试
  • huggingface模型中各文件详解
  • cJson系列——json数据结构分析
  • Bandicam 班迪录屏 -高清录屏 多语便携版(Windows)
  • OpenLayers数据源集成 -- 章节五:MVT格式驱动的现代地图渲染引擎
  • 文件上传与诉讼资料关联表设计实战
  • 一个简单的langgraph agent系统
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(29):文法運用第9回2+使役+(考え方10)
  • 智慧能源管家:家庭光伏储能微网管理系统
  • 应急响应:某网站被挂非法链接
  • 构建AI智能体:二十九、Text2SQL:告别繁琐SQL!用大模型自助生成数据报表
  • 【Office 2024 LTSC 安装和使用指南】
  • Counting Towers (动态规划)
  • Linux内核崩溃时为什么会打印call trace---猝死前的死亡讯息
  • SQL嵌套查询详解:理论+实战提升查询性能
  • 硬件 (七) ARM 软中断, IMX6ULL 点灯
  • 图解网络基础篇