您当前的位置:五五电子网电子知识单片机-工控设备EDA/PLD技术ATMEAG16L的I/O端口特点及使用 正文
ATMEAG16L的I/O端口特点及使用

ATMEAG16L的I/O端口特点及使用

点击数:7573 次   录入时间:03-04 11:52:16   整理:http://www.55dianzi.com   EDA/PLD技术

  ATMEAG16L单片机有32个通用I/O口,分为PA、PB、PC和PD四组,每组都是8位。这些I/O口都可以通过各自的端口寄存器设置成输入和输出(即作为普通端口使用),有些I/O口还具有第二功能(我们在后面使用到这些第二功能时再介绍)。

  ATMEAG16L单片机的I/O口在不考虑第二功能时,其基本输入、输出功能都是相同的。下图为AT-MEAG16L单片机I/O口的结构图。每个端口对应方向寄存器DDRX(×=A、B、C、D)、端口寄存器PORTX(X=A、B、C、D)、输入引脚PINX(X=A、B、C、D)3个寄存器,各个端口的工作状况都可以通过对DDRX、PORTX和PINX的操作来完成。所有AVR单片机的I/0端口都具有读、写和修改功能。

AT-MEAG16L单片机I/O口的结构图

ATMEAGl6L的I/O端口的组合控制设置见附表。

ATMEAGl6L的I/O端口的组合控制设置表

  ATMEAG16L单片机每一组I/O口的所有管脚都可以单独选择上拉电阻。引脚缓冲器可以吸收20mA的电流,能够直接驱动LED显示。如果设置了弱上拉电阻,当管脚被拉低时,引脚会输出电流。

  DDRX DDRX为端口方向寄存器,当DDRX的某一位置1时相应引脚作为输出使用。反之,当DDR×的某一位置O时,对应的引脚作为输入使用。

  例:DDRB=O×F0;∥此语句将PB端口的PBO~PB3位设为输入,  而PB4~PB7位设为输出。

  PORTX PORTX为端口数据寄存器,如果引脚设为输出,则对PORTX进行写操作即改变引脚的输出值。

  例:DDRB=OxFF;∥此语句将PB端口的PBO~PB7位设为输出。

  PORTB=0×55;  ∥PB  端  口  输出01010101。

  例:DDRB=O×00;∥此语句将PB端口的PBO~PB7位设为输入。

  PORTB=0×F0;∥PBO~PB3位不设上拉,无信号输入时处高阻态。PB4~PB7位设为上拉,无信号输入时处高电平。

  PINX PINX是相应端口的输入引脚地址,如果希望读取引脚的逻辑电平值,  一定要读取PINX,而不是PORTX。注意:PINX是只读的,不能对其赋值。

  例:DDRB=0x00;∥此语句将PB端口的PBO~PB7位设为输入。

  PORTB=0×FF;∥PB0~PB7位设为上拉,无信号输入时处高电平。

  temp=PINB;∥将PB口引脚信号读入变量temp中。




本文关键字:暂无联系方式EDA/PLD技术单片机-工控设备 - EDA/PLD技术