第2讲单片机IO端口.ppt
《第2讲单片机IO端口.ppt》由会员分享,可在线阅读,更多相关《第2讲单片机IO端口.ppt(27页珍藏版)》请在课桌文档上搜索。
1、1,MEGA16通用I/O 接口基本结构与应用,ATmega16 芯片有PORTA、PORTB、PORTC、PORTD(简称PA、PB、PC、PD)4 组8 位,共32 路通用I/O 接口,分别对应于芯片上32 根I/O 引脚。所有这些I/O 口都是双(有的为3)功能复用的。其中第一功能均作为数字通用I/O 接口使用,而复用功能则分别用于中断、时钟/计数器、USART、I2C 和SPI 串行通信、模拟比较、捕捉等应用。,2,通用I/O 口的基本结构与特性,图6-1 为通用I/O 口的基本结构示意图。从图中可以看出,每组I/O 口配备三个8 位寄存器,它们分别是方向控制寄存器DDRx,数据寄存器
2、PORTx,和输入引脚寄存器PINx(x=ABCD)。I/O 口的工作方式和表现特征由这3 个I/O 口寄存器控制。,3,4,方向控制寄存器DDRx 用于控制I/O 口的输入输出方向,即控制I/O 口的工作方式为输出方式还是输入方式。当DDRx=1 时,I/O 口处于输出工作方式。此时数据寄存器PORTx 中的数据通过一个推挽电路输出到外部引脚。AVR 的输出采用推挽电路提高了I/O 口的输出能力,当PORTx=1 时,I/O 引脚呈现高电平,同时可提供输出20mA 的电流;而当PORTx=0 时,I/O 引脚呈现低电平,同时可吸纳20mA 电流。因此,AVR 的I/O 在输出方式下提供了比较
3、大的驱动能力,可以直接倾动LED 等小功率外围器件。,5,当DDRx=0 时,I/O 处于输入工作方式。此时引脚寄存器PINx 中的数据就是外部引脚的实际电平,通过读I/O 指令可将物理引脚的真实数据读入MCU。此外,当I/O 口定义为输入时(DDRx=0),通过PORTx 的控制,可使用或不使用内部的上拉电阻。,6,表中的PUD 为寄存器SFIOR 中的一位,它的作用相当AVR 全部I/O 口内部上拉电阻的总开关。当PUD=1 时,AVR 所有I/O 内部上拉电阻都不起作用(内部不上拉);而PUD=0 时,各个I/O 口内部上拉电阻取决于DDRXn 的设置。,7,1)使用AVR 的I/O 口
4、,首先要正确设置其工作方式,确定其工作在输入方式还是输入方式。2)当I/O 工作在输入方式,要读取外部引脚上的电平时,应读取PINxn 的值,而不是PORTxn 的值。3)当I/O 工作在输入方式,要根据实际情况使用或不使用内部的上拉电阻。4)一旦将I/O 口的工作方式由输出设置成输入方式后,必须等待一个时钟周期后才能正确的读到外部引脚PINxn 的值。,8,LED 发光二极管的控制,例6.1 简易彩灯控制系统1)硬件电路设计:发光二极管一般为砷化镓半导体二极管,其电路入图6-5所示。当电压U1 大于U2 约1V 以上时,二极管导通发光。当导通电流大于5mA 时,人的眼睛就可以明显地观察到二极
5、管的发光,导通电流越大,亮度越高。一般导通电流不要超过10mA,否则将导致二极管的烧毁或I/O 引脚的烧毁。因此在LED 二极管电路中要串接一个限流电阻,阻值在100500之间,调节阻值的大小可以控制发光二极管的发光亮度。导通电流与限流电阻之间的关系由下面的计算公式确定:,9,式中,Vled 为LED 的导通电压。由于AVR 的I/O 口输出“0”时,可以吸收最大40mA 的电流,因此采用控制发光二极管负极的设计比较好。8 个LED 发光二极管控制系统的硬件电路见图6-6。,10,11,2)软件设计ATmega16 的PA 口工作在输出方式下,8 个引脚分别控制8 个发光二极管。当I/O 口输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 IO 端口
链接地址:https://www.desk33.com/p-739913.html