当前位置:首页 >> 信息与通信 >>

ATMEGA16的IO端口


第九课 ATmega16(L)的 IO 端口

本教程节选自周兴华老师《手把手教你学 AVR 单片机 C 程序设计》教程,如需转载,请注明出处! 读者可通过当当网、淘宝网等网站购买本教程,如需购买配书实验器材,可登陆周兴华单片机培训 中心网购部自助购买!

ATmega16(L)单片机有 32 个通用 I/O 口,分为 PA、PB、PC 和

PD 四组,每组都是 8 位。这些 I/O 口都可以通过各自的端口寄存器设置成输入和输出(即作为普通端口使用) ,有些 I/O 口还具有第 二功能(我们在后面使用到这些第二功能时再介绍) 。 ATmega16(L)单片机的 I/O 口在不考虑第二功能时,其基本输入输出功能都是相同的。如图 7-1 所 示为 ATmega16(L)单片机 I/O 口的结构图。 每个端口对应 3 个寄存器, 即方向寄存器 DDRX (X=A、 B、C、D) 、端口寄存器 PORTX(X=A、B、C、D) 、输入引脚 PINX(X=A、B、C、D) ,各个端 口的工作状况都可以通过对 DDRX、PORTX 和 PINX 的操作来完成。所有的 AVR 单片机的 I/O 端 口都具有读、写和修改功能。表 7-1 列出了 ATmega16(L)的 I/O 端口的组合控制设置。 ATmega16(L)单片机每一组 I/O 口的所有管脚都可以单独选择上拉电阻。 引脚缓冲器可以吸收 20mA 的电流,能够直接驱动 LED 显示。如果设置了弱上拉电阻,当管脚被拉低时,引脚会输出电流。 1.DDRX DDRX 为端口方向寄存器。当 DDRX 的某一位置 1 时相应引脚作为输出使用。反之,当 DDRX 的 某一位置 0 时,对应的引脚单片机培训作为输入使用。 例如: DDRB=0xF0;//此语句将 PB 端口的 PB0~PB3 位设为输入,而 PB4~PB7 位设为输出。 2.PORTX PORTX 为端口数据寄存器。 如果引脚设为输出,则对 PORTX 进行写操作即改变引脚的输出值。

图 7-1 表 7-1

ATmega16(L)的 I/O 端口 ATmega16(L)的 I/O 端口的组合控制设置 PORTxn(n=0~ 7) 0 1 0 1 I/O 输入 输入 输出 输出 上拉 关闭 打开 关闭 关闭 备 注

DDRxn(n=0~ 7) 0 0 1 1

三态(高阻) 提供弱上拉, 被外部电路拉低时输 出电流 输出 0 输出 1

例如: DDRB=0xFF; //此语句将 PB 端口的 PB0~PB7 位设为输出。 PORTB=0x55; //PB 端口输出 01010101。 例如: DDRB=0x00; //此语句将 PB 端口的 PB0~PB7 位设为输入。 PORTB=0xF0; // PB0~PB3 位不设上拉,无信号输入时处高阻态。PB4~PB7 位设为上拉,无信号 输入时处高电平。 上海周兴华单片机提供单片机培训、FPGA 培训、protel 培训、PCB 设计培训等各种课程,是单片 机工程师的要摇篮; 3.PINX PINX 是相应端口的输入引脚地址,如果希望读取引脚的逻辑电平值,一定要读取 PINX,而不是 PORTX。注意:PINX 是只读的,不能对其赋值。 例如: DDRB=0x00; //此语句将 PB 端口的 PB0~PB7 位设为输入。

PORTB=0xFF; //PB0~PB7 位设为上拉,无信号输入时处高电平。 temp=PINB; //将 PB 口引脚信号读入变量 temp 中。


相关文章:
AVR atmega16单片机端口地址
AVR atmega16单片机端口地址_信息与通信_工程科技_专业资料。/* avr/iom16.h ...*/ #ifndef _AVR_IO_H_ # error "Include <avr/io.h> instead of this...
基于AVR单片机--Atmega16的串口通信使用
这样才能正常工作 #include<avr/io.h> #include<avr/interrupt.h> #define ...AVR atmega16单片机端口... 8页 免费 单片机avr芯片引脚识别A... 2页 免费 ...
ATmega16_串口
ATmega16_串口_电子/电路_工程科技_专业资料。/* * usart.c * * Created: ...io.h> #include <util/delay.h> #include <avr/sleep.h> #include <avr/...
ATmega16 IO寄存器空间分配表
ATmega16 IO寄存器空间分配表ATmega16 IO寄存器空间分配表隐藏>> ATmega16 I/O...口外部输入引脚 D 口数据方向寄存器 D 口数据寄存器 C 口外部输入引脚 C 口...
IO口结构详解
端口的主要特点为: 双向可独立位控的 I/O 口 ATmega16 的 PA、PB、PC、PD...尽量不要把管脚直接接到 GND/VCC,当设定不当,IO 口将会输出/灌入 80mA(...
ATmega16实验板使用说明书
ATMEGA16 **功能描述:通过对MCU延时对IO口的操作实现LED流水灯的效果 **程序员:李文卿 *** ***/ #include<io.h> /*头文件*/ /*** *...
AVR端口详解
AVR端口详解_工学_高等教育_教育专区。AVR的真正双向IO结构比51系列单片机就复杂...{ 程序... } } Atmega16单片机有32个通用 I/O 口,有 PA ~PD 四组,每组...
ATmega16 熔丝位设定
ATmega16 熔丝位设定特别注意,要使用外部晶体,必须设置熔丝,否则芯片会使用默认的...如果 PC2->PC5 要用作普通 IO 口,需要取消 JTAG 编程,或者在程序开始时执行...
AVRATmega16实验教程
2)ATmega16 有 4 个 8 位的双向 I/O 端口 PA、PB、PC、PD,他们对外对应...1)首先要在程序中加入 ATmega16 的 I/O 寄存器配置头文件:#include <avr/io...
51单片机、AVR单片机和PIC单片机IO口的操作
51单片机、AVR单片机和PIC单片机IO口的操作_信息与通信_工程科技_专业资料。51单片机...下例的运行坏境为 ICCAVR 软件,器件为 ATMEGA16。 #i nclude<iom16v.h> ...
更多相关标签:
atmega16 端口位操作 | atmega16 | atmega16a | atmega16中文资料 | atmega16u2 | atmega16a中文资料 | atmega16l | atmega16单片机 |