- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AVR单片机5_20100406
AVR单片机原理及应用 陈渊睿 Tel:E-mail: ep02@163.com 华南理工大学电力学院 第五章 AVR单片机I/O端口、中断系统 5.1 AVR单片机的I/O端口 ATmega16等有 4 个 8 位的 I/O 口(ATmega8无A口,C口无PC7)。它们分别是端口A、端口B、端口C、端口D。这 32 个引脚均可以由程序定义为输入口或者输出口。单片机在实际应用时必须通过这些引脚来接收外界信息,经处理后输出相应信号。本章只讲基本的输入、输出功能(通用I/O)。这 32 个引脚还有第二功能 5.1.2 I/O端口的通用I/O功能 1 有关I/O口的寄存器 1) A 口数据寄存器-PORTA $1B($3B) 2) A 口数据方向寄存器— DDRA $1A($3A) 3) A 口输入脚地址-PINA $19($39) A口的输入引脚地址PINA不是一个寄存器,该地址允许对A口的每一个引脚的物理值进行访问。当读PORTA时,读到的是PORTA的数据锁存器(在单片机内部);当读PINA时,外部引脚上的逻辑值(0或1)被读取 B口、C口、D口作为通用I/O时,具有与A口同样的功能 4) B 口数据寄存器-PORTB $18($38) 5) B 口数据方向寄存器— DDRB $17($37) 6) B 口输入脚地址-PINB $16($36) 7) C 口数据寄存器-PORTC $15($35) 8) C 口数据方向寄存器— DDRC $14($34) 9) C 口输入脚地址-PINC $13($33) 10) D 口数据寄存器-PORTD $12($32) 11) D 口数据方向寄存器— DDRD $11($31) 12) D 口输入脚地址-PIND $10($30) 2 I/O口内部电路及工作原理 以 PC0 为例说明不考虑端口的第二功能时,I/O 口内部电路及工作原理 当C口数据方向寄存器DDRC的第0位置位 (DDC0=1) 时, PC0口定义输出. 由PC0口的内部工作原理图可见, DDC0的Q端为1, MOS管上拉截止; 同时PORTC0的三态门打开, PC0引脚的输出电平取决于C口数据寄存器PORTC的第0位 (PORTC0) 的输出Q端值, 即: DDC0=1 (PC0定义为输出), PORTC0=1时, PC0输出高电平; PORTC0=0时, PC0输出低电平 当DDC0=0时, PC0口定义输入. PORTC0=0时, 上拉MOS截止, PC0口作三态输入; PORTC0=1时 (上拉MOS激活), PC0口作带上拉电阻的输入. 后一种输入方式可省去键盘、开关、继电器等接口电路的上拉电阻 DDC0 是可读的, 用指令 in r16,DDRC 再看 r16 的第 0 位; PORTC0 的输出 Q 也是可读的, 用指令 in r16,PORTC 再看 r16 的第 0 位, 读的是锁存器(PORTC); PINC0 是可读的, 用指令 in r16,PINC 再看r16 的第 0 位, 读的是引脚电平 DDC0, PORTC0 都是可写的(可定义输入或输出和确定输出电平的高低等), 但 PINC 是不可写的 (引脚电平的高低是外部客观存在) C口特性: C口是一个8位双向 I/O口. C口占了3个I/O寄存器地址, 分别是C口数据寄存器PORTC $15($35), C口数据方向寄存器DDRC $14($34) 和C口的输入引脚 PINC $13($33). C口的输入引脚地址为只读, 而数据寄存器和数据方向寄存器为可读写 所有的C口引脚都有独立可选的上拉电阻, C口的输出缓冲器可以吸收20mA的电流以直接驱动LED显示.当PC0~PC7引脚被用作输入(DDCn=0)且被外部拉低时, 若内部上拉电阻被触发(PORTCn=1), 这些引脚将向外输出电流 A口、B口、D口作普通I/O口时同上 3 I/O口的特点 (1)作输入或输出可定义; (2)输出时,低电平灌电流大于 20mA。若允许输出口电平升至 1V 以上,灌电流可达 40mA(但每个口的总电流、芯片的总电流有限制) (3)输入时,可三态输入(不带上拉,大于 2.2V为逻辑1); 也可带上拉,可省去外电路的上拉电阻 5.1.4 I/O端口的应用 1 I /O 端口使用注意事项 1) 先定义 I/O 口方向,对数据方向寄存器的某位置 1 为输出,清 0 为输入 2) 作输入口时,若需上拉电阻,可对端口数据寄存器PORTX相应位置 1(且PUD=0),这样省去外部电路的上拉电阻,可作为拨动开关、继电器接点、键盘和数字拨码盘的输入口 3) 作输出口时,上拉电阻已断
文档评论(0)