導航:首頁 > 操作系統 > 單片機的輸入口和移位鎖存器

單片機的輸入口和移位鎖存器

發布時間:2025-07-17 01:14:45

單片機的I/O口是什麼意思

單片機的I/O口指的是輸入/輸出埠,簡稱為I/O。這些埠為單片機與外部設備之間的數據交換提供了通道。每個I/O口都有其獨特的地址,以便CPU能夠識別並控制相應的輸入或輸出操作。
I/O口在單片機系統中扮演著重要角色,它們不僅連接著單片機和各種外部設備,還負責處理數據傳輸。在不同的應用場景中,I/O口可以被配置成不同的輸出模式,以適應不同的需求。
1. 准雙向口輸出:這種模式的I/O口既可以作為輸入也可以作為輸出。它們通常具備三個上拉晶體管,分別提供強上拉、極弱上拉和弱上拉功能,允許根據具體需求調整I/O口的狀態,無需重新設置輸出狀態。
2. 推挽輸出:這類輸出模式利用兩個互補的三極體,一個導通時另一個截止,從而能夠驅動電流較大的負載。推挽輸出能夠提供高電平或低電平信號,當鎖存器設置為「1」時,可以持續提供強上拉。
3. 開漏輸出:開漏輸出的I/O口需要外部上拉電阻來實現其功能,通常連接到VCC電源。這種輸出模式在作為邏輯輸出時,可以用來讀取外部設備的狀態,同時也可以作為外部輸入I/O口使用。

② 單片機的I/O口是什麼意思

單片機的I/O口的意思是:I/O是 input/output的縮寫,即輸入輸出埠。

每個設備都會有一個專用的I/O地址,用來處理自己的輸入輸出信息。CPU與外部設備、存儲器的連接和數據交換都需要通過介面設備來實現,前者被稱為I/O介面,而後者則被稱為存儲器介面。


(2)單片機的輸入口和移位鎖存器擴展閱讀:

單片機I/O口的輸出模式:

1、准雙向口輸出

准雙向口輸出就是可作為輸出也可作為輸入口,因此這個口是不定的,是准雙向類型,不用重新I/O口的輸出狀態 。准雙向口有3個上拉晶體管以便根據不同的需要設置表不同的參數。這三個晶體管分別是起到強上拉、極弱上拉、弱上拉功能。

2、推挽輸出

推挽輸出是因為它的輸出結構類似於推挽結構,它是一種由兩個三極體(或者其他MOS管等)分別受到一個信號的控制,這信號的互補的,就是說只有一個三極體導通,一個三極體導通的時候另一個就要截止。

推挽輸出可以輸出高電平,也可以輸出低電平。當鎖存器為「1」時候可以持續提供強上拉,這種輸出結構可以驅動需要很大電流的器件。

3、開漏輸出

這種結構作為邏輯輸出時候,必須要有外部上拉,上拉電阻要為10K左右比較好,一般是通過電阻加到VCC電源,這樣才可以讀取外部狀態,也就是說此時的開漏輸出的可以作為外部的輸入I/O口。



③ pic單片機中tris和port是什麼意思,怎麼理解,怎麼用,是走能做輸出又能做輸入,屏蔽高四位是

PORT是埠I/O寄存器(如PORTA、PORTB…)
寫 PORTx寄存器就是將數據值寫入該埠鎖存器。
讀 PORTx寄存器就是讀取I/O 引腳上的數據值。

TRIS是埠I/O控制寄存器(又稱為埠I/O數據方向寄存器,如TRIAS、TRISB…)。當某位的值為0時,置對應I/O口為輸出;為1時,置I/O口為輸入。

④ 單片機串並轉換晶元

74hc595.用得最多的串並轉換晶元
引腳說明:
SDA:數據輸入口。
CLK:時鍾輸入端。
Q0~Q7:數據並行輸出端。
74HC595 內含8 位串入、串/ 並出移位寄存器和8位三態輸出鎖存器。寄存器和鎖存器分別有各自的時鍾輸入(SH_CP和ST_CP) , 都是上升沿有效。當SH_CP從低到高電平跳變時, 串列輸入數據(SDA) 移入寄存器; 當ST_CP從低到高電平跳變時, 寄存器的數據置入鎖存器。清除端(CLR) 的低電平只對寄存器復位(QS 為低電平) , 而對鎖存器無影響。當輸出允許控制(EN) 為高電平時, 並行輸出(Q0~Q7) 為高阻態, 而串列輸出(QS) 不受影響。74HC595 最多需要5 根控制線, 即SDA、SH_CP、ST_CP、CLR 和EN。其中CLR 可以直接接到高電平, 用軟體來實現寄存器清零; 如果不需要軟體改變亮度, EN 可以直接接到低電平, 而用硬體來改變亮度。把其餘三根線和單片機的I/ O 口相接, 即可實現對LED 的控制。數據從SDA 口送入74HC595 , 在每個SH_CP的上升沿, SDA 口上的數據移入寄存器, 在SH_CP的第9個上升沿, 數據開始從QS 移出。如果把第一個74HC595 的QS 和第二個74HC595 的SDA 相接, 數據即移入第二個74HC595 中, 照此一個一個接下去, 可接任意多個。數據全部送完後, 給ST_CP 一個上升沿, 寄存器中的數據即置入鎖存器。此時如果EN 為低電平, 數據即從並口Q0~Q7 輸出, 把Q0~Q7 與LED 的8 段相接, LED 就可以實現顯示了。要想軟體改變LED 的亮度, 只需改變EN 的占空比就行了。

程序如下所示:
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int

sbit SDA = P1^1;
sbit SHIFT = P1^2;
sbit ST = P1^0;
#define NOP _nop_()

uchar led[] = {0x5b,0x3f,0x3f,0x6f};
uchar select[] = {0x0fe,0xfd,0xfb,0xf7};
uchar i=0;

void Init( )
{
SDA = 0;
SHIFT = 0;
ST = 0;
}

void delay()
{
uchar jj;
for(jj=0;jj<200;jj++);
while(jj--);
}

void display(uchar dat)
{
uchar ii;
uchar sdata=dat;
for(ii=0;ii<8;ii++)
{
if(sdata&0x80)SDA=1;
else SDA = 0;
sdata<<=1;
SHIFT =0;
NOP;
NOP;
SHIFT = 1;
NOP;
NOP;
}
ST = 1;
NOP;
NOP;
ST = 0;
}

void main()
{
Init();
while(1){
delay();
delay();
P2 = select[i];
display(led[i]);
i=(i+1)%4;
}

}

閱讀全文

與單片機的輸入口和移位鎖存器相關的資料

熱點內容
拿到伺服器後如何識別是否是蜜罐 瀏覽:770
現在學單片機還有未來嗎 瀏覽:883
程序員電力 瀏覽:371
程序員一定要大專嗎 瀏覽:331
加密門禁讀取軟體 瀏覽:773
編譯二進制有用嗎 瀏覽:438
程序員的必備電腦配置 瀏覽:839
imagebase64java 瀏覽:614
可視化編程的缺點 瀏覽:713
雲伺服器簡稱是什麼 瀏覽:180
pdfmax5 瀏覽:559
從電腦哪裡可以下載車載app 瀏覽:413
北京電視牆伺服器安裝雲伺服器 瀏覽:154
潮信app軟體的後台在哪裡 瀏覽:786
在中國程序員上班是青春飯嗎 瀏覽:661
建設招聘網站選什麼伺服器 瀏覽:307
java伺服器ip地址設置 瀏覽:754
谷歌程序員月薪2300 瀏覽:830
怎麼提取單片機代碼 瀏覽:231
rap解壓不了 瀏覽:68