第四部分IO接口及应用.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四部分IO接口及应用

p2=PINC5; while (1){ if(PINC4==0p1==1) PORTD--; if(PINC5==0p2==1) PORTD++; p1=PINC4; //保存当前j04的键状态 p2=PINC5; //保存当前j05的键状态 delay_ms(20); //延时20毫秒,去抖动。 } } 复习:双向接口应用 DDRB; PORTB; MEGA16 PB0 PB1 PB2 PB3 PB4 PB5 PB7 PB6 §4.5 键盘接口技术 键盘接口技术 1、键检测方法 a b PB0(入) PB1(出) MEGA16 不按键:Va=VCC, a点为高电平 按下键:Va=Vb, a点为低电平 R1 VCC PB1 PB0 按键 输出低 输出低 不按下 按下 高 低 输出高 输出高 不按下 按下 高 高 应用:用发光管D显示键的状态 PB2 R2 VCC void j_xianshi() { DDRB; PORTB; while(1) { if((PINB01)==0) PORTB delay_ms(20); } } D PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 4 8 12 0 1 2 3 行线输出低电平 列线带内部上拉、输入 MEGA16 2、矩阵键盘工作原理 vcc R1 R2 R3 R4 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 4 8 12 0 1 2 3 列线输出低电平 行线带内部上拉、输入 MEGA16 2、矩阵键盘工作原理(反转) 本章内容 (对应课本第六章) §6.1 ATmega16(L)的I/O端口 §6.2 ATmega16(L)的I/O端口的应用设置 §6.3 位检测与位控制 §6.4 位操作应用举例 第 四 章 I/O接口及应用 §6.5 行列式矩阵键盘技术 §6.6 数码管显示技术 §6.7 蜂鸣器驱动 DDRxn PORTxn I/O 上拉电阻 说明 0 0 输入 无 高阻态 0 1 输入 有 带上拉的输入 1 0 输出 无 输出低电平 1 1 输出 无 输出高电平 表6-1 端口的引脚配置 (对上拉电阻的理解,可参照下图理解) 6.1.2 配置引脚 6.1 ATmega16(L)的I/O端口 图中单片机的三个I/O口PC7、PC6、PC5作为输入口(输入方式),分别与K3、K2、K1三个按键连接。 K2是标准的连接方式,当没有按下K2时,PC6的输入为高电平,按下K2输入为低电平。PC6引脚上的电平值反映了按键的状态(外部上拉)。 按键K1是一种经济的接法,它充分利用了AVR单片机I/O口的内部上拉特点。在K1的连接中,除了把PC5定义为输入方式时(DDRC=0xDF),同时设置PC5口的上拉电阻有效(PORTC |=BIT(5)),这样当K1处在断开状态时,PC5引脚在内部上拉电阻的作用下为稳定的高电平(如果上拉电阻无效,则PC5处在高阻输入态,PC5的输入易受到干扰,不稳定),按下K1输入为低电平。 与K2连接方式比较,K1连接电路中省掉了一个外部上拉电阻,而在K2的连接方法中,由于外部使用了上拉电阻,所以只要设置PC6口为输入方式即可,该口内部的上拉电阻有效与否则不必考虑了。 而对于K3的连接方式,我们不提倡使用,因当K3按下闭合时,PC7口直接与Vcc接通了,有可能会造成大的短路电流流过PC7引脚,从而把端口烧毁。 6.2 ATmega16的I/O端口设置 设置DDRx方向寄存器(Port x Data Direction Register) 设置PORTx数据寄存器(Port x Data Register) 设置PINx输入引脚寄存器(Port x Input Pins Address Register) 在ICCAVR C环境中,头文件“iom16v.h”中定义了许多用于控制I/O接口输入/出操作的宏,这些宏与I/O寄存器同名,通过这些宏可以控制A、B、C、D接口的输入输出操作。 当A、B、C、D接口

文档评论(0)

盼储储time + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档