0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何提高單片機的GPIO口驅(qū)動能力

CHANBAEK ? 來源:頭條號電子秘探 ? 作者:頭條號電子秘探 ? 2023-03-24 15:36 ? 次閱讀

單片機控制器件而不是驅(qū)動器件,因為輸出電流很小,不足以驅(qū)動某些需要大電流的外設。 單片機的GPIO口驅(qū)動能力有限,不能直接驅(qū)動較大功率的負載。

標準51的P0口(雙向口)在作為I/O口使用時,是開漏結(jié)構(gòu),在實際應用中通常要添加上拉電阻(排阻)。 P1、P2、P3都是準雙向I/O,內(nèi)部有上拉電阻,既可作為輸入又可以作為輸出。

P0三態(tài)門有三個狀態(tài),即在其的輸出端可以是高電平、低電平,同時還有一種就是高阻狀態(tài)(或稱為禁止狀態(tài))

惡補一些基礎概念,稍微了解下,原理看不懂跳過...

1.灌電流方式

LED正極接VCC,負極接IO口。 IO為高電平是LED兩極電平相同,沒有電流,LED熄滅;IO為低電平時,電流從VCC流入IO,LED點亮。

但是當你把LED正極接在IO接口,負極接GND時,將IO接口置于高電平,LED會亮,但因為IO接口上拉能力不足而使亮度不理想

2.三極管驅(qū)動

三極管全稱半導體三極管,也稱晶體三極管,是一種控制電流的半導體器件其作用是把微弱的電信號放大成幅度值較大的電信號,也用作無觸點開關,在電路中主要起開關和增大電流的作用。

截圖20230301181839.png

NPN基極高于發(fā)射極電壓是導通,PNP發(fā)射極電壓高于基極電壓則導通。

NPN高電平時導通,PNP低電平時導通;

以共陽極4位數(shù)碼管為例,共陰極感覺電路復雜繁瑣,直接用專用IC驅(qū)動就好

PNP例子代碼用自學單片機04里面的代碼即可,NPN里面有

注意:唯一的區(qū)別【使用PNP三極管,基極為低電平時,才導通】

NPN三極管基極為高電平導通

截圖20230301181746.png

3.使用專用IC提高驅(qū)動能力(74HC245)

74hc245是一種在單片機系統(tǒng)中常用的驅(qū)動器,在電路中的作用是:增加io口的驅(qū)動能力,比如說51單片機的io口本身的驅(qū)動電流較小但所帶的負載很大,這種時候就可以使用74hc245來增強io口的驅(qū)動能力

共陰極數(shù)碼管連接方式

截圖20230301181746.png

共陰極數(shù)碼管代碼稍微改動下

1.顯示數(shù)字0-9的數(shù)組和共陽極不一樣不一樣

2.位碼低電平導通,位碼高電平截至沒有壓降

#include 
#include "DelayXms.h"
#define led P2

const u8 a[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//共陰極數(shù)碼管0-9

sbit bitcode0 = P1^0;
sbit bitcode1 = P1^1;
sbit bitcode2 = P1^2;
sbit bitcode3 = P1^3;
	
void display(u16 number);
void main()
{

	u16 count=0;

	while(1){	
		count++;
		display(count);
		if(10000 ==count)
		count = 0;
	}
}

void display(u16 number)
{	
	led = a[number/1000];//千位
	bitcode0 = 0; //位碼低電平導通
	DelayXms(9);
	bitcode0 = 1;//位碼高電平導通
	
	led = a[(number/100)%10];//百位
	bitcode1 = 0;//位碼低電平導通
	DelayXms(9);
	bitcode1 = 1;//位碼高電平導通
	
	led = a[(number/10)%10];//十位
	bitcode2 = 0;
	DelayXms(9);
	bitcode2 = 1;
	
	led = a[number%10];//個位
	bitcode3 = 0;
	DelayXms(9);
	bitcode3 = 1;
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    242

    文章

    23277

    瀏覽量

    660893
  • 三極管
    +關注

    關注

    142

    文章

    3611

    瀏覽量

    121928
  • 單片機
    +關注

    關注

    6037

    文章

    44558

    瀏覽量

    635353
  • GPIO
    +關注

    關注

    16

    文章

    1204

    瀏覽量

    52104
  • 灌電流
    +關注

    關注

    0

    文章

    55

    瀏覽量

    9172
收藏 人收藏

    評論

    相關推薦

    三極管是怎樣提高單片機IO驅(qū)動LED的能力

    三極管是怎樣提高單片機IO驅(qū)動LED的能力.
    的頭像 發(fā)表于 02-22 09:23 ?2.7w次閱讀
    三極管是怎樣<b class='flag-5'>提高</b><b class='flag-5'>單片機</b>IO<b class='flag-5'>口</b><b class='flag-5'>驅(qū)動</b>LED的<b class='flag-5'>能力</b>

    常用單片機I/O端口的驅(qū)動能力介紹

    常用單片機I/O端口的驅(qū)動能力介紹摘要: 詳細分析了幾種常見單片機的I/O結(jié)構(gòu),并據(jù)此分析其驅(qū)動能力大小 關鍵詞:
    發(fā)表于 08-12 00:48

    關于51單片機IO引腳的驅(qū)動能力與上拉電阻

    和 P3,每個引腳可以都帶動 3 個 TTL 輸入端,只有 P0 能力強,它可以帶動 8 個! 分析一下 TTL 的輸入特性,就可以發(fā)現(xiàn),51 單片機基本上就沒有什么
    發(fā)表于 06-26 16:52

    單片機IO引腳驅(qū)動能力提升篇

    早期的51單片機驅(qū)動能力很低。P1、P2和P3只能驅(qū)動3個LSTTL輸入端,P0驅(qū)動8個
    發(fā)表于 10-20 22:39

    用什么芯片可以增強GPIO驅(qū)動能力

    我用f28377的GPIO做大功率可控硅的驅(qū)動,可惜GPIO的輸出電流太小,不能夠直接驅(qū)動TIP122,問用什么芯片可以增強
    發(fā)表于 05-29 15:21

    gpio驅(qū)動能力是什么意思

    gpio驅(qū)動能力是什么意思,說明:這里主要是基于Amlogic_S905X平臺上實現(xiàn)的,其實gpio的控制都是通用的,使用的都是標準的gpio操作函數(shù),跟平臺無關。通過往節(jié)點寫入1或者
    發(fā)表于 07-22 06:38

    單片機IO引腳驅(qū)動能力提高

    早期的51 單片機 ,驅(qū)動能力很低。P1、P2和P3只能驅(qū)動3個LSTTL輸入端,P0驅(qū)動
    發(fā)表于 08-08 11:14 ?279次下載
    <b class='flag-5'>單片機</b>IO引腳<b class='flag-5'>驅(qū)動能力</b>的<b class='flag-5'>提高</b>

    單片機IO引腳驅(qū)動能力提升篇

    一遍很好的單片機驅(qū)動列子單片機外圍電流控制開關,單片機IO引腳驅(qū)動能力
    發(fā)表于 08-29 15:31 ?7次下載

    單片機驅(qū)動能力不足的提高方法

    單片機GPIO驅(qū)動能力有限,不能直接驅(qū)動較大功率的負載,如果負載的功率較大必須要考慮采用驅(qū)動
    的頭像 發(fā)表于 09-30 11:17 ?2.5w次閱讀

    如何提高單片機驅(qū)動能力

    單片機只是一個控制中心,IO的驅(qū)動能力是很弱的,只能用于信號處理或者信號控制,最多是驅(qū)動一個LED作為指示燈。驅(qū)動負載需要加入三極管、場效應管、繼電器、可控硅等器件。
    的頭像 發(fā)表于 10-21 17:42 ?1.1w次閱讀

    STC15單片機GPIO驅(qū)動LED資料合集

    本文檔的主要內(nèi)容詳細介紹的是STC15單片機GPIO驅(qū)動LED資料合集包括了 :HEX文件,寄存器版程序和工程文件,庫函數(shù)版程序和工程文件,GP
    發(fā)表于 10-10 08:00 ?16次下載
    STC15<b class='flag-5'>單片機</b>的<b class='flag-5'>GPIO</b><b class='flag-5'>口</b><b class='flag-5'>驅(qū)動</b>LED資料合集

    3.STC15W408AS單片機GPIO

    既不能流入也不能流出)或開漏輸出功能。每個由2個控制寄存器中的相應位控制每個引腳工作類型。STC15系列單片機的I/O口上電復位后為準雙向/弱上拉(傳統(tǒng)8051的I/O)模式。每
    發(fā)表于 12-23 19:14 ?19次下載
    3.STC15W408AS<b class='flag-5'>單片機</b><b class='flag-5'>GPIO</b>

    STM32單片機GPIO簡介

    本篇主要介紹STM32單片機GPIO基本概念和GPIO 寄存器的使用參考資料【51/STM32】詳解單片機
    發(fā)表于 12-28 19:23 ?23次下載
    STM32<b class='flag-5'>單片機</b><b class='flag-5'>GPIO</b><b class='flag-5'>口</b>簡介

    單片機驅(qū)動能力對點亮LED燈的影響

    的。可是在現(xiàn)實操作過程中總有一種方式出現(xiàn)問題,這就不得不提到現(xiàn)實情況下單片機驅(qū)動能力對實驗結(jié)果的影響。 如圖所示第(1)種方式,單片機IO端口輸出高電平時,LED燈亮,電流方向由單片機
    發(fā)表于 01-14 14:26 ?11次下載
    <b class='flag-5'>單片機</b>的<b class='flag-5'>驅(qū)動能力</b>對點亮LED燈的影響

    如何讓單片機的IO利用最大化

    首先,LED亮起時完全由單片機GPIO輸出電流,所以對于GPIO的電流驅(qū)動能力有一定的要求。設計電路時要注意查詢自己使用的MCU的電流驅(qū)動能力
    發(fā)表于 04-29 14:29 ?1902次閱讀
    如何讓<b class='flag-5'>單片機</b>的IO<b class='flag-5'>口</b>利用最大化