AVR单片机新手入门必看ppt教程课件.ppt

上传人:自*** 文档编号:126518974 上传时间:2020-03-25 格式:PPT 页数:24 大小:502.51KB
返回 下载 相关 举报
AVR单片机新手入门必看ppt教程课件.ppt_第1页
第1页 / 共24页
AVR单片机新手入门必看ppt教程课件.ppt_第2页
第2页 / 共24页
AVR单片机新手入门必看ppt教程课件.ppt_第3页
第3页 / 共24页
AVR单片机新手入门必看ppt教程课件.ppt_第4页
第4页 / 共24页
AVR单片机新手入门必看ppt教程课件.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《AVR单片机新手入门必看ppt教程课件.ppt》由会员分享,可在线阅读,更多相关《AVR单片机新手入门必看ppt教程课件.ppt(24页珍藏版)》请在金锄头文库上搜索。

1、ATmega16芯片有PORTA PORTB PORTC PORTD 简称PA PB PC PD 4组8位 共32路通用I O接口 分别对应于芯片上32根I O引脚 所有这些I O口都是双 有的为3 功能复用的 模拟集成电路的特点 模拟集成电路的特点 其中第一功能均作为数字通用I O接口使用 复用功能则分别用于中断 时钟 计数器 USRAT I2C和SPI串行通信 模拟比较 捕捉等应用 恭喜你 选择了正确的AVR学习资料通用I O接口基本结构与输出应用 I O口的基本结构 每组I O口配备三个8位寄存器 它们分别是方向控制寄存器DDRx 数据寄存器PORTx 和输入引脚寄存器PINx x A

2、B C D I O口的工作方式和表现特征由这3个I O口寄存器控制 方向控制寄存器DDRx用于控制I O口的输入输出方向 即控制I O口的工作方式为输出方式还是输入方式 当DDRx 1时 I O口处于输出工作方式 当PORTx 1时 I O引脚呈现高电平 同时可提供输出20mA的电流 而当PORTx 0时 I O引脚呈现低电平 同时可吸纳20mA电流 当DDRx 0时 I O处于输入工作方式 此时引脚寄存器PINx中的数据就是外部引脚的实际电平 通过读I O指令可将物理引脚的真实数据读入MCU 此外 当I O口定义为输入时 DDRx 0 通过PORTx的控制 可使用或不使用内部的上拉电阻 表6

3、 1是AVR通用I O端口的引脚配置情况 表中的PUD为寄存器SFIOR中的一位 它的作用相当AVR全部I O口内部上拉电阻的总开关 当PUD 1时 AVR所有I O内部上拉电阻都不起作用 全局内部上拉无效 而PUD 0时 各个I O口内部上拉电阻取决于DDRXn的设置 1 使用AVR的I O口 首先要正确设置其工作方式 确定其工作在输出方式还是输入方式 2 当I O工作在输入方式 要读取外部引脚上的电平时 应读取PINxn的值 而不是PORTxn的值 3 当I O工作在输入方式 要根据实际情况使用或不使用内部的上拉电阻 4 一旦将I O口的工作方式由输出设置成输入方式后 必须等待一个时钟周期

4、后才能正确的读到外部引脚PINxn的值 I O端口寄存器 PA口寄存器 PORTA DDRA PINA各个位的具体定义 正确使用AVR的I O口要注意 1 先正确设置DDRx方向寄存器 再进行I O口的读写操作 2 AVR的I O口复位后的初始状态全部为输入工作方式 内部上拉电阻无效 所以 外部引脚呈现三态高阻输入状态 3 用户程序需要首先对要使用的I O口进行初始化设置 根据实际需要设定使用I O口的工作方式 输出还是输入 当设定为输入方式时 还要考虑是否使用内部的上拉电阻 4 在硬件电路设计时 如能利用AVR内部I O口的上拉电阻 可以节省外部的上拉电阻 C语言中的位操作 AVR通用I O

5、端口的主要特点为 双向可独立位控的I O口 Push Pull大电流驱动 最大40mA 可控制的引脚内部上拉电阻 每一位引脚内部都有独立的 可通过编程设置的 设定为上拉有效或无效的内部上拉电阻 当I O口被用于输入状态 且内部上拉电阻被激活 有效 时 如果外部引脚被拉低 则构成电流源输出电流 uA量级 可控的方向寄存器DDRx C语言中的位操作 a b 按位或 这个表达式指示中a被表达式中的b按位进行或运算这惯用于打开某些位尤其常用 的形式例如PORTA 0 x80 打开位7 最高位 a b 按位与 这个运算在检查某些位是否置1时有用例如If PORTA 0 x81 0 检查位7和位0注意圆括

6、号需要括在 运算符的周围因为它和 相比运算优先级较低这是C程序中很多错误的原因之一 a b 按位异或 这个运算对一个位取反有用例如在下面的例子中位7是被翻转的PORTA 0 x80 翻转位7 a 按位取反 在表达式中这个运算执行一个取反当用按位与运算关闭某些位时与这个运算组合使用尤其有用如PORTA 关闭位7 PORTC 1 BIT0 1 BIT3 1 BIT0 表示逻辑1左移到PORTC的 0位 结果为0b00000001 1 BIT3 表示逻辑1左移PORTC的 3位 结果为0b00001000 0b00000001在同0b00001000相或 结果为0b00001001 PORTD BI

7、T PD7 PORTD口的第7位取反 取反PD0引脚 TCCR0 1 CS01 1 CS00 TCCR0功能寄存器的CS01 CS00位置1 通用数字I O口的设置与编程 1 通用I O输出设计要点 应用I O口输出时 在系统的软硬件设计上应注意的问题有 输出电平的转换和匹配 输出电流的驱动能力 I O口输出为 1 时 可以提供20mA左右的驱动电流 输出为 0 时 可以吸收20mA左右的灌电流 最大为40mA 输出电平转换的延时 应用举例 LED发光二极管的控制 设计一个带有一排8个发光二极管的简易彩灯控制系统 硬件电路设计 当电压U1大于U2约1V以上时 二极管导通发光 当导通电流大于5m

8、A时 人的眼睛就可以明显地观察到二极管的发光 导通电流越大 亮度越高 AVR的I O口输出 0 时 可以吸收最大40mA的电流 因此采用控制发光二极管负极的设计比较好 include 包含单片机型号头文件 include 包含 位 操作头文件 include 包含延时头文件 defineLEDPORTB LED端口 defineOpen LEDPORTA 0 x10 使能LEDvoidEn Led void 使能LED DDRB 0 xff 设置输出PORTB 0 xff 输出高电平Open LED 打开LED功能 voidmain void unsignedchari En Led 使能LE

9、Dwhile 1 for i 0 i1 i LED 0 xff LED全部熄灭LED 延时大约100毫秒 应用举例 继电器控制 控制恒温箱的加热的硬件电路设计 恒温箱的加热源采用500W电炉 电炉的工作电压220v 电流2 3A 选用HG4200继电器 开关负载能力为5A AC220V 继电器吸合线圈的工作电压5v 功耗0 36W 计算得吸合电流为0 36 5 72mA 因此 要能使继电器稳定的吸合 驱动电流应该大于80mA 该电流已经超出AVR本身I O口的驱动能力 因此外部需要使用功率驱动元件 I O引脚输出 1 时 三极管导通 继电器吸合 电炉开始加热 I O引脚输出 0 时 三极管截止

10、 继电器释放 加热停止 PORTC 1 PORTC0 PORTC位置1 继电器吸合 电炉开始加热 PORTC 1 PORTC0 PORTC 0 x80PORTC位置0 继电器释放 加热停止 应用举例 LED数码显示器的应用 0 D7连接PB0 PB7 段选信号SMGLK11连接PA3 位选信号BITLK11连接PA2 74AC573SJ为锁存器 include 包含单片机型号头文件 include 包含 位 操作头文件 include 包含延时头文件 include 包含通用函数及宏定义头文件 函数名称 Display All SMG 功能 显示8位数据信息 参数 pdata 显示缓冲数组地址

11、指针 voidDisplay All SMG unsignedchar pdata unsignedchari for i 0 i 8 i 循环8次 每次显示一位 Display One SMG i pdata i 函数名称 Display Cycle SMG 功能 循环显示8位数据信息 参数 pdata 显示缓冲数组地址指针 返回值 无 voidDisplay Cycle SMG unsignedchar pdata unsignedinti j for i 0 i1 j 扫描8个数码管 Display One SMG j 2 pdata i 50 9 j 16 调用显示 函数名称 main 功能 数码管滚动显示数字 参数 无 返回值 无 voidmain void unsignedcharSMG Display 16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 显示缓存CPU Init 初始化CPUwhile 1 无限循环 滚动显示数字 Display Cycle SMG SMG Display

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号