导航:首页 > 操作系统 > 单片机的输入口和移位锁存器

单片机的输入口和移位锁存器

发布时间: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;
}

}

阅读全文

与单片机的输入口和移位锁存器相关的资料

热点内容
直线命令英语 浏览:110
编译系统程序在主存储器里吗 浏览:903
java开发工作经验 浏览:791
群英服务器如何 浏览:484
php获取不到cookie 浏览:847
备案云服务器类型 浏览:993
mc服务器怎么清空经验指令 浏览:407
拿到服务器后如何识别是否是蜜罐 浏览:770
现在学单片机还有未来吗 浏览:885
程序员电力 浏览:371
程序员一定要大专吗 浏览:331
加密门禁读取软件 浏览:773
编译二进制有用吗 浏览:438
程序员的必备电脑配置 浏览:839
imagebase64java 浏览:614
可视化编程的缺点 浏览:713
云服务器简称是什么 浏览:182
pdfmax5 浏览:559
从电脑哪里可以下载车载app 浏览:413
北京电视墙服务器安装云服务器 浏览:154