您的位置 首页 厂商

AVR端口(DDxn,PORTxn)装备及其阐明

AVR端口(DDxn,PORTxn)配置及其说明引脚序号引脚名称引脚功能8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称…

AVR端口(DDxnPORTxn)装备及其阐明

引脚序号 引脚称号 引脚功用

8 位双向I/O 口, 具有可编程的内部上拉电阻

其输出缓冲器具有对称的驱动特

性,能够输出和吸收大电流。作为输入运用时,
PB5
1 若内部上拉电阻使能,端口被外部电路拉

低时将输出电流。在复位过程中,即便体系

时钟还未起振,端口A 处于高阻状况。

MOSI SPI 总线的主机输出/ 从机输入信号

PB6 8 位双向 I/O 口
2
MISO SPI 总线的主机输入/ 从机输出信号

PB7 8 位双向 I/O 口
3
SCK SPI 总线的串行时钟

复位输入引脚。持续时刻超越最小门限时刻的低电
4 RESET
平将引起体系复位。

5 VCC 数字电路的电源

6 GND 地

7 XTAL2 反向振动放大器的输出端

8 XTAL1 反向振动放大器与片内时钟操作电路的输入端

PD0 8 位双向 I/O 口
9
RXD USART 输入引脚

PD1 8 位双向 I/O 口
10
TXD USART 输出引脚

PD2 8 位双向 I/O 口
11
INT0 外部中止 0 的输入

PD3 8 位双向 I/O 口
12
INT1 外部中止 1 的输入

PD4 8 位双向 I/O 口
13
OC1B T/C1 输出比较B 匹配输出

PD5 8 位双向 I/O 口
14
OC1A T/C1 输出比较A 匹配输出

PD6 8 位双向 I/O 口
15
ICP1 T/C1 输入捕捉引脚

PD7 8 位双向 I/O 口
16
OC2 T/C2 输出比较匹配输出

17 VCC 数字电路的电源

18 GND 地

PC0 8 位双向 I/O 口
19
SCL 两线串行总线时钟线

PC1 8 位双向 I/O 口
20
SDA 两线串行总线数据输入/ 输出线

PC2 8 位双向 I/O 口
21
TCK JTAG 测验时钟

PC3 8 位双向 I/O 口
22
TMS JTAG 测验形式挑选

PC4 8 位双向 I/O 口
23
TDO JTAG 测验数据输出

PC5 8 位双向 I/O 口
24
TDI JTAG 测验数据输入

PC6 8 位双向 I/O 口
25
TOSC1 守时振动器引脚 1

PC7 8 位双向 I/O 口
26
TOSC2 守时振动器引脚 2

端口A 与A/D转换器的电源。。不运用ADC 时,该

27 AVCC 引脚应直接与VCC 衔接。运用 ADC 时应经过一个低

通滤波器与 VCC 衔接。

28 AGND A/D 的模仿地

29 AREF A/D 的模仿基准输入引脚

PA7 8 位双向 I/O 口
30
ADC7 ADC 输入通道 7

PA6 8 位双向 I/O 口
31
ADC6 ADC 输入通道 6

PA5 8 位双向 I/O 口
32
ADC5 ADC 输入通道 5

PA4 8 位双向 I/O 口
33
ADC4 ADC 输入通道 4

PA3 8 位双向 I/O 口
34
ADC3 ADC 输入通道 3

PA2 8 位双向 I/O 口
35
ADC2 ADC 输入通道 2

36 PA1 8 位双向 I/O 口

ADC1 ADC 输入通道 1

PA0 8 位双向 I/O 口
37
ADC0 ADC 输入通道 0

38 VCC 数字电路的电源

39 GND 地

PB0 8 位双向 I/O 口

40 T0 T/C0 外部计数器输入

XCK USART 外部时钟输入/ 输出

PB1 8 位双向 I/O 口
41
T1 T/C1 外部计数器输入

PB2 8 位双向 I/O 口

42 AIN0 模仿比较正输入

INT2 外部中止 2 输入

43 PB3 8 位双向 I/O 口

AIN1 模仿比较负输入

OC0 T/C0 输出比较匹配输出

44 SS SPI 从机挑选引脚

Atmega16单片机有32个通用I/O口,有PA ~PD四组,每组都是8位。其主要的寄存器有DDRXn(X=A,B,C,D;n=0,2,…,7,下同),PORTXn和PINXn。

DDRX是方向寄存器,可读可写。在写操作时用于拟定PX口是作为输进口仍是输出口;在读操作时,从DDRX寄存器读出来的是端口的方向设定值。DDRX寄存器的初始值为0x00。

PORTX是数据寄存器,可读写。在写操作时,从PORTX写入的数据存入内部锁存器,以确认端口的作业状况或许将写入的数据送到外部数据总线。PORTX寄存器的初始值为0x00。

PINX用来拜访端口X的逻辑值,且只允许读操作。从PINX读入的数据仅仅X口引脚的逻辑 状况。其初始值为高阻态。

/************************************引脚装备**************************************************/
/*
引脚装备为输入时,若 PORTxn 为 “1“ ,上拉电阻将使能。假如需求封闭这个上拉电阻, 能够将 PORTxn 清零,或许将这个引脚装备为输出。复位时各引脚为高阻态,即便此

时并没有时钟在运转。
当引脚装备为输出时,若 PORTxn 为 “1“ ,引脚输出高电平(“1“) ,不然输出低电平(“0“)。
在 ( 高阻态 ) 三态 ({DDxn, PORTxn} = 0b00) 输出高电平 ({DDxn, PORTxn} = 0b11) 两种状况之间进行切换时,上拉电阻使能 ({DDxn, PORTxn} = 0b01) 或输出低电平

({DDxn, PORTxn} = 0b10) 这两种形式必定会有一个产生。一般,上拉电阻使能是完全能够承受的,由于高阻环境不在意是强高电平输出仍是上拉输出。假如运用情况不是这样

子,能够经过置位 SFIOR 寄存器的 PUD 来制止一切端口的上拉电阻.
在上拉输入和输出低电平之间切换也有相同的问题。用户有必要挑选高阻态 ({DDxn, PORTxn} = 0b00) 或输出高电平 ({DDxn, PORTxn}=0b10) 作为中心过程
*/
void IO_change(void)
{
//高阻态
DDxn=0;
PORTxn=0;
//制止一切端口的上拉电阻
SFIOR|=1<//输出高电平
DDxn=0xff;
PORTxn=0xff;
//使能一切端口的上拉电阻
SFIOR&=~(1<}

void IO_change_A(void)
{//高阻态
DDxn=0;
PORTxn=0;
//上拉电阻使能 ({DDxn, PORTxn} = 0b01) 或输出低电平 ({DDxn, PORTxn} = 0b10)
DDxn=0;
PORTxn=0xff;
/*
DDxn=0xff;
PORTxn=0;
*/
//输出高电平
DDxn=0xff;
PORTxn=0xff;

}
void IO_changge_B()
{//上拉输入
DDxn=0;
PORTxn=0xff;
//高阻态 ({DDxn, PORTxn} = 0b00) 或输出高电平 ({DDxn, PORTxn}=0b11)
DDxn=0;
PORTxn=0;
/*
DDxn=0xff;
PORTxn=0xff;
*/
//输出低电平
DDxn=0xff;
PORTxn=0;

}
/******************************************读取引脚的数据***************************************/
void read_PINX(void)
{
/*

PUD 上拉电
DDxn PORTxn (in SFIOR) I/O 阻 阐明

0 0 X Input No 高阻态 (Hi-Z)

0 1 0 Input Yes 被外部电路拉低时将输出电流

0 1 1 Input No 高阻态 (Hi-Z)

1 0 X Output No 输出低电平 ( 吸收电流 )

1 1 X Output No 输出高电平 ( 输出电流 )
不论如何装备 DDxn ,都能够经过读取PINxn 寄存器来取得引脚电平.PINxn 寄存器的各个位与其前面的锁存器组成了一个同步器,这样就能够防止在内部时钟状况产生改动的短时

间范围内由于引脚电平改变而形成的信号不稳定.引入了推迟是必定的。
*/
unsigned char i;
/* 界说上拉电阻和设置高电平输出 */
/* 为端口引脚界说方向 */
PORTB = (1<DDRB = (1</* 为了同步刺进 nop指令 */
_NOP();
/* 读取端口引脚 */
i = PINB;
}
/**************************未衔接引脚的处理****************************************/
/*
假如有引脚未被运用,主张给这些引脚赋予一个确认电平。尽管如上文所述,在深层休眠形式下大多数数字输入被禁用,但仍是需求防止因引脚没有确认的电平而形成悬空引脚在

其它数字输入使能形式 ( 复位、作业形式、闲暇形式 ) 耗费电流。最简略的确保未用引脚具有确认电平的办法是使能内部上拉电阻。但要留意的是复位时上拉电阻将被禁用。如

果复位时的功耗也有严格要求则主张运用外部上拉或下拉电阻。不引荐直接将未用引脚与 VCC 或 GND 衔接,由于这样或许会在引脚偶尔作为输出时呈现冲击电流。

*/

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/266641.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部