【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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/94988.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/94988.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/94988.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Q1 Top IF 18.7 | 基于泛基因組揭示植物NLR進化

文章DOI: 10.1016/j.chom.2025.07.011 標題&#xff1a;Pangenomic context reveals the extent of intraspecific plant NLR evolution 期刊&#xff1a;Cell Hose & Microbe (https://i-blog.csdnimg.cn/direct/0e31f86b94d348b0a1adb084ec4e49b7.png)(https://i-blog.cs…

技術干貨|Prometheus PromQL查詢語言之聚合操作內置函數

聚合操作 Prometheus還提供了下列內置的聚合操作符,這些操作符作用域瞬時向量。可以將瞬時表達式返回的樣本數據進行聚合,形成一個新的時間序列。 sum (求和) min (最小值) max (最大值) avg (平均值) stddev (標準差) stdvar (標準差異) count (計數) count_values …

Redis 哨兵(Sentinel)全面解析

在2025年的數字化浪潮中&#xff0c;想象這樣一個場景&#xff1a;凌晨3點&#xff0c;電商平臺流量突然暴增&#xff0c;主Redis服務器因硬件故障突然宕機。幾年前&#xff0c;這意味著緊急電話、慌亂的運維人員和不可避免的業務中斷。而今天&#xff0c;用戶甚至沒有察覺任何…

【數學史冷知識】關于行列式的發展史

學習的途中會遇到一些有意思的東西&#xff0c;我想著做一個專欄《艾薩克紀行簡報》&#xff0c;專門寫這些知識發展歷史。可以讓您從繁忙的學習生活中放松&#xff0c;添些耀彩。行列式和微積分一樣&#xff0c;都是兩個人獨立發現的。而且還都有萊布尼茨。1683 年&#xff0c…

【python】python進階——生成器

目錄 一、生成器介紹 1.1 生成器與迭代器的關系 1.2 生成器與return比較 二、創建生成器 方法1: 生成器函數 方法2: 生成器表達式 三、生成器的實際應用場景 3.1 處理大型文件 3.2 生成無限序列 3.3 數據管道處理 四、生成器的高級用法 4.1 使用send()方法傳遞值 …

【Pytorch】生成對抗網絡實戰

GAN框架基于兩個模型的競爭&#xff0c;Generator生成器和Discriminator鑒別器。生成器生成假圖像&#xff0c;鑒別器則嘗試從假圖像中識別真實的圖像。作為這種競爭的結果&#xff0c;生成器將生成更好看的假圖像&#xff0c;而鑒別器將更好地識別它們。 目錄 創建數據集 定…

Java基礎第7天總結(代碼塊、內部類、函數式編程)

代碼塊靜態代碼塊&#xff1a;有static修飾&#xff0c;屬于類&#xff0c;與類一起優先加載&#xff0c;自動執行一次實例代碼塊&#xff1a;無static修飾&#xff0c;屬于對象&#xff0c;每次創建對象時&#xff0c;都會優先執行一次。package com.itheima.code;import java…

文獻綜述寫作指南:從海量文獻到邏輯閉環的實戰模板

文獻綜述往往是學術寫作的“第一關難題”&#xff1a;面對成百上千篇文獻&#xff0c;如何避免“簡單羅列”的陷阱&#xff0c;梳理出有邏輯、有洞見的論述體系&#xff1f;本文結合學術寫作實踐&#xff0c;總結出一套模塊化的文獻綜述“實戰模板”&#xff0c;通過結構化方法…

CuTe C++ 簡介01,從示例開始

這里先僅僅關注 C 層的介紹&#xff0c;python DSL 以后再說。在 ubuntu 22.04 X64 中&#xff0c;RTX 50801. 環境搭建1.1 安裝 cuda1.2 下載源碼git clone https://github.com/NVIDIA/cutlass.git1.3 編譯mkdir build/ cmake .. -DCUTLASS_NVCC_ARCHS"120" -DCMAK…

Python實現異步多線程Web服務器:從原理到實踐

目錄Python實現異步多線程Web服務器&#xff1a;從原理到實踐引言第一章&#xff1a;Web服務器基礎1.1 Web服務器的工作原理1.2 HTTP協議簡介1.3 同步 vs 異步 vs 多線程第二章&#xff1a;Python異步編程基礎2.1 異步I/O概念2.2 協程與async/await2.3 事件循環第三章&#xff…

Deep Think with Confidence:llm如何進行高效率COT推理優化

1. 引言:大模型的推理解碼優化 大型語言模型(LLM)在處理數學、編碼等復雜推理任務時,一種強大但“耗能巨大”的技術是self-consistency,也稱并行思考(parallel thinking)。其核心思想是讓模型對同一個問題生成多條不同的“思考路徑”(reasoning traces),然后通過多數…

vscode克隆遠程代碼步驟

一、直接使用VsCode1.復制git的https鏈接代碼2.在vscode中點擊 代碼管理-克隆倉庫3.粘貼&#xff08;在git里面復制的https鏈接&#xff09;4.選擇需要存儲的文件位置5.確認6.代碼克隆成功二、使用命令行克隆1.確定文件放置位置&#xff0c;右鍵2.復制git的https鏈接代碼3.粘貼…

spi總線

一、介紹SPI總線&#xff08;Serial Peripheral Interface&#xff0c;串行外設接口&#xff09;是一種高速全雙工同步串行通信總線&#xff0c;核心通過“主從架構同步時鐘”實現設備間數據傳輸&#xff0c;因結構簡單、速率高&#xff0c;廣泛用于MCU與傳感器、存儲芯片、顯示…

COLA:大型語言模型高效微調的革命性框架

本文由「大千AI助手」原創發布&#xff0c;專注用真話講AI&#xff0c;回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我&#xff0c;一起撕掉過度包裝&#xff0c;學習真實的AI技術&#xff01; 1 COLA技術概述 COLA&#xff08;Chain of LoRA&#xff09;是一種創…

數據結構與算法:線段樹(三):維護更多信息

前言 這次的題思維上倒不是很難&#xff0c;就是代碼量比較大。 一、開關 洛谷的這種板子題寫起來比cf順多了&#xff08;&#xff09; #include <bits/stdc.h> using namespace std;typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,ll&…

【LeetCode_27】移除元素

刷爆LeetCode系列LeetCode27題&#xff1a;github地址前言題目描述題目思路分析代碼實現算法代碼優化LeetCode27題&#xff1a; github地址 有夢想的電信狗 前言 本文用C實現LeetCode 第27題 題目描述 題目鏈接&#xff1a;https://leetcode.cn/problems/remove-element/ …

C++11語言(三)

一、引言上期我們介紹了C11的大部分特性。C11的初始化列表、auto關鍵字、右值引用、萬能引用、STL容器的的emplace函數。要補充的是右值引用是不能取地址的&#xff0c;我們程序員一定要遵守相關的語法。操作是未定義的很危險。二、 仿函數和函數指針我們先從仿函數的形…

性能優化三劍客:`memo`, `useCallback`, `useMemo` 詳解

性能優化三劍客&#xff1a;memo, useCallback, useMemo 詳解 作者&#xff1a;碼力無邊各位React性能調優師&#xff0c;歡迎來到《React奇妙之旅》的第十二站&#xff01;我是你們的伙伴碼力無邊。在之前的旅程中&#xff0c;我們已經掌握了如何構建功能豐富的組件&#xff0…

好用的電腦軟件、工具推薦和記錄

固態硬盤讀寫測試 AS SSD Benchmark https://gitee.com/qlexcel/common-resource-backup/blob/master/AS%20SSD%20Benchmark.exe 可以測試SSD的持續讀寫、4K隨機讀寫等性能。也可以測試HDD的性能。 操作非常簡單&#xff0c;點擊Start(開始)即可測試。 體積小&#xff0c;免安…

Spring Task快速上手

一. 介紹Spring Task 是Spring框架提供的任務調度工具&#xff0c;可以按照約定的時間自動執行某個代碼邏輯&#xff0c;無需依賴額外組件&#xff08;如 Quartz&#xff09;&#xff0c;配置簡單、使用便捷&#xff0c;適合處理周期性執行的任務&#xff08;如定時備份數據、定…