【Proteus仿真】开关控制系列仿真——开关控制LED/拨码开关二进制计数/开关和继电器控制灯灭
目录
0案例视频效果展示
0.1例子1:开关控制LED灯亮灭
0.2例子2:数码管显示拨码开关二进制计数(000~255)
0.3例子3:开关和继电器控制灯亮灭
1基础知识补充
1.1 74LS245双总线收发器
1.1.1 引脚及功能
1.1.2应用场景
1.1.3真值表
1.2继电器
1.2.1结构与工作原理
1.2.2关键术语
1.2.3 常见类型
1.2.4总结
2例子1:开关控制LED灯亮灭
2.1电路原理图
2.1.1电路组成及接线
2.2控制程序
2.2.1控制程序步骤
2.2.3源代码
3例子2:数码管显示拨码开关二进制计数(000~255)
3.1电路原理图
3.1.1电路组成及接线
3.2控制程序
3.2.1控制程序步骤
3.2.3源代码
4例子3:开关和继电器控制小灯亮灭
4.1电路原理图
4.1.1电路组成及接线
4.2控制程序
4.2.1控制程序步骤
4.2.3源代码
7 硬件工程师笔试面试相关文章链接(部分链接)
摘要:本文介绍了单片机控制的三个基础案例及关键器件知识。案例1展示开关控制LED亮灭;案例2用拨码开关实现数码管二进制计数显示;案例3通过继电器控制大功率灯泡。重点讲解了74LS245总线收发器的引脚功能、真值表及应用场景,以及继电器的工作原理、类型和参数。每个案例均包含电路原理图、接线说明和C51源代码,展现了单片机I/O口输入输出控制、总线驱动及继电器隔离控制的基本原理。这些案例为单片机入门学习提供了完整的技术参考。
0案例视频效果展示
0.1例子1:开关控制LED灯亮灭
例子14:开关控制LED灯亮灭
0.2例子2:数码管显示拨码开关二进制计数(000~255)
例子15:数码管显示拨码开关二进制计数(000~255)
0.3例子3:开关和继电器控制灯亮灭
例子16:开关和继电器控制灯亮灭
1基础知识补充
1.1 74LS245双总线收发器
74LS245是一种 8 位三态双向总线收发器,用于在 A 总线 和 B 总线 之间进行双向数据传输。
1.1.1 引脚及功能
方向控制端(AB/BA):
AB/BA = 1(高电平):数据从 A → B(发送)
AB/BA = 0(低电平):数据从 B → A(接收)
使能端(/CE):
/OE = 0(低电平有效):芯片被启用,数据传输有效
/OE = 1(高电平):芯片被禁用,A 和 B 均为 高阻态(三态输出)
数据线
A1-A8:A 总线端口(双向)
B1-B8:B 总线端口(双向)
1.1.2应用场景
总线驱动:常用于单片机(如 8051 系列)扩展总线,提升驱动能力 。
外设连接:用于连接打印机、显示器、键盘等外设,实现数据双向传输
接口电路:在微处理器与存储器(EPROM、RAM 等)之间提供数据缓冲
1.1.3真值表
/CE(使能) | AB/BA(方向) | 功能描述 |
0 | 0 | B → A(接收) |
0 | 1 | A → B(发送) |
1 | X | A 和 B 均为高阻态(禁用) |
1.2继电器
继电器(Relay)是一种电控制开关器件——用小电流控制大电流电路的通断,本质上是电磁式“远程开关”。
1.2.1结构与工作原理
线圈(Coil)——通电产生磁场——>衔铁(Armature)被吸合——>触点(Contacts)闭合或断开——>外部高压/大电流回路接通或切断
线圈回路:低电压、小电流(如 5 V、12 V、24 V)
触点回路:可切换 220 VAC、10 A、30 VDC 等负载
1.2.2关键术语
名称 | 含义 |
线圈电压 | 继电器吸合所需额定电压(3 V、5 V、12 V、24 V…) |
触点形式 | SPST(1 开)、SPDT(1 开 1 闭)、DPDT(2 组开闭) |
触点额定 | 最大切换电压、电流、功率(如 250 VAC 10 A) |
吸合/释放时间 | 通常 5 – 15 ms |
绝缘耐压 | 线圈-触点间耐压(一般 ≥ 1 kV) |
1.2.3 常见类型
电磁继电器(经典,成本低)
固态继电器 SSR(无触点,半导体开关,寿命长,无火花)
信号继电器(小型,切换毫安级信号)
汽车继电器(12 V/24 V,大电流)
功率继电器(30 A 以上,空调、充电桩)
时间继电器(通电延时/断电延时)
闭锁继电器(脉冲驱动,保持状态,节能)
1.2.4总结
继电器 = “低压控高压、小电流控大电流”的电磁开关;只要需要隔离或放大控制信号,就能见到它的身影。
2例子1:开关控制LED灯亮灭
实现功能:开关S1和S2分别控制LED1和LED2。
本质:控制I/O口高低电平输入,从而实现高低电平输出
2.1电路原理图
2.1.1电路组成及接线
名称 | 接线 |
AT89C51单片机 | XTAL1/XTAL2—>连接晶振电路 RST—>连接复位电路 P0.0-P0.1—>共阳极LED电路 P1.0-P1.1—>开关电路 |
复位电路 | |
晶振电路 | |
开关电路 | |
共阳极LED电路 |
2.2控制程序
2.2.1控制程序步骤
库文件与引脚定义
主函数(开关引脚高低电平作为输入条件,LED电路作为输出)
2.2.3源代码
//功能:开关S1和S2分别控制LED1和LED2。#include<reg51.h>sbit S1=P1^0;sbit S2=P1^1;sbit LED1=P0^0;sbit LED2=P0^1;//主程序void main(){while(1){LED1=S1;LED2=S2;}}
3例子2:数码管显示拨码开关二进制计数(000~255)
实现功能:数码管显示拨码开关所设置的编码000~255
本质:拨码开关控制I/O口高低电平输入,高电平表示1,低电平表示0,并以10进制显示到数码管
3.1电路原理图
3.1.1电路组成及接线
名称 | 接线 |
AT89C51单片机 | XTAL1/XTAL2—>连接晶振电路 RST—>连接复位电路 P0.0-P0.7—>排阻/74LS245双总线收发器 P1.0-P1.7—>拨码开关 P2.0-2.3—>四位数码管 |
复位电路 | |
晶振电路 | |
拨码开关电路 | |
四位数码管 | |
排阻 | |
74LS245双总线收发器 |
3.2控制程序
3.2.1控制程序步骤
库文件
定义数码管段码
延时函数
主函数(实现拨码开关不同状态对应不同数字输出)
3.2.3源代码
//功能:数码管显示拨码开关所设置的编码二进制数(000~255)#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//各数字的数码管段码(共阴)uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示缓冲uchar DSY_Buffer[3]={0,0,0};//延时void DelayMS(uint ms){uchar t;while(ms--)for(t=0;t<120;t++);}//主程序void main(){uchar i,m,Num;P0=0xff;P2=0xff;while(1){m=0xfe;Num=P1; //读取拨码开关的值DSY_Buffer[0]=Num/100;DSY_Buffer[1]=Num/10%10;DSY_Buffer[2]=Num%10;for(i=0;i<3;i++) //刷新显示在数码管上{m=_crol_(m,1);P2=m;P0=DSY_CODE[DSY_Buffer[i]];DelayMS(10);}}}
4例子3:开关和继电器控制小灯亮灭
实现功能:按下K1灯点亮,再次按下时灯熄灭
本质:开关通断影响输入电压高低,从而决定输出电压高低,高电压继电器导通,低电压继电器断开。
4.1电路原理图
4.1.1电路组成及接线
名称 | 接线 |
AT89C51单片机 | XTAL1/XTAL2—>连接晶振电路 RST—>连接复位电路 P0.0-P0.7—>排阻/74LS245双总线收发器 P1.0-P1.7—>拨码开关 P2.0-2.3—>四位数码管 |
复位电路 | |
晶振电路 | |
拨码开关电路 | |
四位数码管 | |
排阻 | |
74LS245双总线收发器 |
4.2控制程序
4.2.1控制程序步骤
库文件和引脚定义
延时函数
主函数(将开关的状态与继电器的状态对应)
4.2.3源代码
//功能:按下K1灯点亮,再次按下时灯熄灭#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit K1=P1^0;sbit RELAY=P2^4;//延时void DelayMS(uint ms){uchar t;while(ms--)for(t=0;t<120;t++);}//主程序void main(){P1=0xff;RELAY=1;while(1){if(K1==0){while(K1==0);RELAY=~RELAY;DelayMS(20);}}}
7 硬件工程师笔试面试相关文章链接(部分链接)
更多文章可前往主页观看
1、硬件工程师笔面试真题汇总(2025版本)_硬件工程师面试题-CSDN博客https://blog.csdn.net/XU157303764/article/details/140742900?spm=1011.2415.3001.5331硬件工程师笔试面试高频考点汇总——(2025版)_电容或者电感对锁存器的影响-CSDN博客
https://blog.csdn.net/XU157303764/article/details/1488349782、硬件工程师笔试面试汇总(2025版本)_硬件工程师面试题-CSDN博客
https://blog.csdn.net/XU157303764/article/details/1419048583、硬件工程师笔试面试学习汇总——器件篇目录(2025版本)_【【硬件工程师炼成之路】器件篇(更新中。。。)-CSDN博客
https://blog.csdn.net/XU157303764/article/details/142316204
硬件工程师笔记——电子器件汇总大全-CSDN博客https://blog.csdn.net/XU157303764/article/details/147342935?spm=1011.2415.3001.5331Multisim14使用教程详尽版--(2025最新版)-CSDN博客
https://blog.csdn.net/XU157303764/article/details/147197406?spm=1011.2415.3001.5331