當前位置:首頁 » 數據倉庫 » 單片機io口推挽模式怎麼配置
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

單片機io口推挽模式怎麼配置

發布時間: 2022-05-18 04:09:38

『壹』 單片機io口設置推挽和開漏的區別

設置推挽模式,只能是輸出模式,而輸出高低電平的驅動電流都很大。
而開漏模式,即可作為輸出,也可作為輸入。
作輸出時,要輸出高電平,需要外加上拉電阻。
作輸入時,要求處理高電平狀態,才能讀外部引腳。

『貳』 STC單片機IO口怎麼設置成強上拉

剛查了stc的文檔,STC89C52RC是不能配置埠的,只有stc12、stc11等一些新的系列有這個功能。
設置成推挽/強上拉,高電平輸出時,和接一個NPN三極體的效果一樣的,輸出電流很大。低電平時,是灌入電流,不是輸出電流,這個是由你所接的設備決定的。注意灌入和輸出電流都不要太大,否則會燒壞單片機的。

『叄』 單片機的io的推挽輸出是怎樣實現的

STC90LE58AD io口只有準雙向口和開漏極輸出;沒有推挽輸出;我用的stc12c5A16S2的io口是4種工作方式。

『肆』 stc單片機怎麼設置強推挽輸出

STC的部分增強型單片機支持將IO設置為推挽模式,並不是所有STC單片機都支持。
一般來說STC12、STC15系列都是支持的,STC89系列都是不支持的。
設置方法在DataSheet文檔中有詳細說明,通常是修改PxM0和PxM1(x代表第幾組埠)寄存器來設置。

『伍』 STC單片機怎麼設置推挽輸出模式

STC15系列的手冊上有的,你要學習這類單片機,就應該先去研究其手冊、通用資料等等,熟悉其結構和工作原理,這是必須的,不能為了編程而編程;

給你個參考網頁鏈接

『陸』 請教一下關於stc的15系列51的推挽輸出模式

stc15系列單片機I/O引腳有四種模式,由兩個寄存器來設置。P3.4和P3.5設置成強推挽輸出模式,P3M0=0x00,P3M1=0x30,所以,你的程序是對的。要知道,你這樣設置,引腳輸出高電平,光耦是導通的,所以,在單片機上電(復位狀態)開機時,光耦就導通了。
如果光耦驅動的是繼電器,那就會在復位狀態下就吸合的。所有,通常,用I/O的低電平驅動光耦比較好。當然了,如果就需要在復位狀態下就導通,這樣就可以的。

『柒』 如何實現gpio口模式的配置

一、 STM32的輸入輸出管腳有下面8種(4輸入 2輸出 2復用輸出)可能的配置:

① 浮空輸入_IN_FLOATING

② 帶上拉輸入_IPU

③ 帶下拉輸入_IPD

④ 模擬輸入_AIN

⑤ 開漏輸出_OUT_OD

⑥ 推挽輸出_OUT_PP

⑦ 復用功能的推挽輸出_AF_PP

⑧ 復用功能的開漏輸出_AF_OD

1.1 I/O口的輸出模式下,有3種輸出速度可選(2MHz、10MHz和50MHz),這個速度是指I/O口驅動電路的響應速度而不是輸出信號的速度,輸出信號的速度與程序有關(晶元內部在I/O口 的輸出部分安排了多個響應速度不同的輸出驅動電路,用戶可以根據自己的需要選擇合適的驅動電路)。通過選擇速度來選擇不同的輸出驅動模塊,達到最佳的雜訊控制和降低功耗的目的。高頻的驅動電路,雜訊也高,當不需要高的輸出頻率時,請選用低頻驅動電路,這樣非常有利於提高系統的EMI性能。當然如果要輸出較高頻率的信號,但卻選用了較低頻率的驅動模塊,很可能會得到失真的輸出信號。

輸出速度又稱輸出驅動電路的響應速度,可理解為:輸出驅動電路的帶寬,即一個驅動電路可以不失真地通過信號的最大頻率。

如果一個信號的頻率超過了驅動電路的響應速度,就有可能信號失真。如果信號頻率為10MHz,而你配置了2MHz的帶寬,則10MHz的方波很可能就變成了正弦波。就好比是公路的設計時速,汽車速度低於設計時速時,可以平穩地運行,如果超過設計時速就會顛簸,甚至翻車。

關鍵是: GPIO的引腳速度跟應用相匹配,速度配置越高,雜訊越大,功耗越大。

帶寬速度高的驅動器耗電大、雜訊也大,帶寬低的驅動器耗電小、雜訊也小。使用合適的驅動器可以降低功耗和雜訊。
GPIO的引腳速度跟應用匹配(推薦10倍以上)。比如:

1.1.1 對於串口,假如最大波特率只需115.2k,那麼用2M的GPIO的引腳速度就夠了,既省電也雜訊小。

1.1.2 對於I2C介面,假如使用400k波特率,若想把餘量留大些,那麼用2M的GPIO的引腳速度或許不夠,這時可以選用10M的GPIO引腳速度。

1.1.3 對於SPI介面,假如使用18M或9M波特率,用10M的GPIO的引腳速度顯然不夠了,需要選用50M的GPIO的引腳速度。

1.2 GPIO口設為輸入時,輸出驅動電路與埠是斷開,所以輸出速度配置無意義。

1.3 在復位期間和剛復位後,復用功能未開啟,I/O埠被配置成浮空輸入模式。

1.4 所有埠都有外部中斷能力。為了使用外部中斷線,埠必須配置成輸入模式。

1.5 GPIO口的配置具有上鎖功能,當配置好GPIO口後,可以通過程序鎖住配置組合,直到下次晶元復位才能解鎖。

二、GPIO的翻轉速度指:輸入/輸出寄存器的0 ,1 值反映到外部引腳(APB2上)高低電平的速度.手冊上指出GPIO最大翻轉速度可達18MHz。通過簡單的程序測試,用示波器觀察到的翻轉時間是綜合的時間,包括取指令的時間、指令執行的時間、指令執行後信號傳遞到寄存器的時間(這其中可能經過很多環節,比如AHB、APB、匯流排仲裁等),最後才是信號從寄存器傳輸到引腳所經歷的時間。如有上拉電阻,其阻值越大,RC延時越大,即邏輯電平轉換的速度越慢,功耗越大。

三、在STM32中如何配置片內外設使用的IO埠

首先,一個外設經過 ①配置輸入的時鍾和 ②初始化後即被激活(開啟);③如果使用該外設的輸入輸出管腳,則需要配置相應的GPIO埠(否則該外設對應的輸入輸出管腳可以做普通GPIO管腳使用);④再對外設進行詳細配置。

對應到外設的輸入輸出功能有下述三種情況:

① 外設對應的管腳為輸出:需要根據外圍電路的配置選擇對應的管腳為復用功能的推挽輸出或復用功能的開漏輸出。
② 外設對應的管腳為輸入:則根據外圍電路的配置可以選擇浮空輸入、帶上拉輸入或帶下拉輸入。
③ ADC對應的管腳:配置管腳為模擬輸入。

如果把埠配置成復用輸出功能,則引腳和輸出寄存器斷開,並和片上外設的輸出信號連接。將管腳配置成復用輸出功能後,如果外設沒有被激活,那麼它的輸出將不確定。

四、 通用IO埠(GPIO)初始化

4.1 GPIO初始化

41.1 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | B | C, ENABLE):使能APB2匯流排外設時鍾;

41.2 RCC_ APB2PeriphResetCmd (RCC_APB2Periph_GPIOA | B | C, DISABLE):釋放GPIO復位。

4.2 置各個PIN埠(模擬輸入_AIN、輸入浮空_IN_FLOATING、輸入上拉_IPU、輸入下拉_IPD、開漏輸出_OUT_OD、推挽式輸出_OUT_PP、推挽式復用輸出_AF_PP、開漏復用輸出_AF_OD)。

4.3GPIO初始化完成。

五、 的GPIO操作函數

uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//讀GPIO某一位的輸入

uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);//讀GPIO的輸入

uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//讀GPIO某一位的輸出

uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);//讀GPIO的輸出

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//將GPIO的某個位置位

void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//將GPIO的某個位復位

void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);//寫GPIO的某個位

void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);//寫GPIO

六、管腳的復用功能 重映射

1、復用功能:內置外設是與I/O口共用引出管腳(不同的功能對應同一管腳)

STM32 所有內置外設的外部引腳都是與標准GPIO引腳復用的,如果有多個復用功能模塊對應同一個引腳,只能使能其中之一,其它模塊保持非使能狀態。

2、重映射功能:復用功能的引出腳可以通過重映射,從不同的I/O管腳引出,即復用功 能的引出腳位是可通過程序改變到其他的引腳上!

直接好處:PCB電路板的設計人員可以在需要的情況下,不必把某些信號在板上繞一大圈完成聯接,方便了PCB的設計同時潛在地減少了信號的交叉干擾。

如:USART1: 0: 沒有重映像(TX/PA9,RX/PA10); 1: 重映像(TX/PB6,RX/PB7)。

(參考AFIO_MAPR寄存器介紹)[0,1為一寄存器的bit值]

【注】 下述復用功能的引出腳具有重映射功能:

- 晶體振盪器的引腳在不接晶體時,可以作為普通I/O口

- CAN模塊; - JTAG調試介面;- 大部分定時器的引出介面; - 大部分USART引出介面

- I2C1的引出介面; - SPI1的引出介面;

舉例:對於STM32F103VBT6,47引腳為PB10,它的復用功能是I2C2_SCL和 USART3_TX,表示在上電之後它的默認功能為PB10,而I2C2的SCL和USART3的TX為它的復用功能;另外在TIM2的引腳重映射後,TIM2_CH3也成為這個引腳的復用功能。

(1)要使用STM32F103VBT6的47、48腳的USART3功能,則需要配置47腳為復用推挽輸出或復用開漏輸出,配置48腳為某種輸入模式,同時使能USART3並保持I2C2的非使能狀態。

(2)使用STM32F103VBT6的47腳作為TIM2_CH3,則需要對TIM2進行重映射,然後再按復用功能的方式配置對應引腳。

『捌』 IO口的開漏和推挽輸出如何使用

將埠引腳置成推挽輸出方式,這將使能埠引腳驅動器。總體上來講,數據輸入埠引腳置成開漏方式、數據輸出埠引腳置成推挽方式。當引腳用於輸出連接上拉電阻(也就是說當與5V系統介面時)時配置成開漏輸出。

『玖』 簡述stm32單片機I/O口位輸出函數的配置方法

例如: P3M0=0; P3M1=127;//0-6推挽輸出 P1M0=0; P1M1=255; //all 推挽輸出 而51單片機的所有IO引腳,在啟動後默認都是1。因此,如之前沒有對此引腳進行過置0操作的話,可以直接讀該引腳。但為了保險起見,也為了使程序通用、可移植,最好在讀取之前對此引腳置1。

『拾』 stc單片機如何將IO口設為強推挽輸出C程序怎麼設置比如我設P1.1口為強推挽輸出高手指教一下

1、首先在電腦上打開keil軟體,如下圖所示。