目錄
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