AVR单片机概述.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:34 大小:2.5MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

AVR单片机概述.ppt

AVR单片机概述.ppt

预览

免费试读已结束,剩余 24 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

AVR单片机简介4、高度保密性。可多次烧写的Flash具有多重密码保护锁死功能。5、工业级产品。具有大电流(灌电流)10—20mA或40mA(单一输出),可直接驱动继电器;有看门狗定时器(WDT)。6、超强功能精简指令。7、程序写入器件既可并行写入,又可串行在线下载擦写。8、并行I/O口是真正(相对51)意义上的I/O口。9、片内有模拟比较器,I/O口可作A/D转换用,可组成廉价的A/D转换器。10、可重设启动复位。具有休眠省电功能和闲置低功耗功能。11、部分AVR器件片内有RC振荡器—1MHz的工作频率,使该类单片机无需外加元件即可工作(加上电源即可)。12、计数器/定时器有8位和16位,可作比较器;计数器外部中断和PWM用于控制输出。13、有串行异步通讯UART。14、有多通道10位A/D及实时时钟RTC。15、工作电压范围宽:2.7-5.5V。AVR单片机分类精彩的AVR世界ATMega16的资源及接口AVRRISC结构¤高性能、低功耗RISC的结构¤130条指令,大多数为单周期指令(汇编)¤32×8的通用(工作)寄存器+外设控制寄存器¤工作在16MHz时具有16MIPS的性能(1s的时间内可以执行16M条指令)¤片内集成硬件乘法器(执行速度为2个时钟周期)程序和数据存储器、工作寄存器¤16K字节的在线可编程Flash(擦除次数为10000次)(stc89c51单片机?)¤支持在线编程(In-SystemProgramming)¤1K字节的片内SRAM(stc89c51单片机?)¤512字节的在线可编程EEPROM(stc89c51单片机?)¤可编程的程序加密位ATMEGA16寄存器、存储器ATmega16引脚配置ATmega16有44引脚的TQFP封装和40引脚的PDIP封装两种ATmega16引脚¤VCC:工作电源,2.7~5.5V。¤GND:地线。¤A口(PA7~PA0):8位双向I/O口,每一个引脚都有独立可控的内部上拉电阻。A口的输出缓冲器具有双向(输出和吸收)大电流的驱动能力。当作为输入时,且内部上电阻有效时,如果外部引脚被拉低,A口管脚将输出电流。在复位过程中,即使是在系统时钟还未起振的情况下,A口仍呈现为三态。¤B口(PB7~PB0):8位双向I/O口。¤C口(PC7~PC0):8位双向I/O口。¤D口(PD7~PD0):8位双向I/O口。A、B、C、D口均有第二功能,是多功能复用引脚。¤/RESRT:复位输入。在该引脚上,一个超过系统规定长度的低电平信号,将引起系统复位。低于系统规定长度的低电平信号脉冲,不能保证可靠复位。¤XTAL1:内部反转晶振放大器的输入端和向内部时钟操作电路的输入端。¤XTAL2:内部反转晶振放大器的输出端。¤AVCC:A/D转换器的电源。当A口被用作ADC时,AVCC应通过一个低通滤波器与VCC连接。在不使用ADC时,该引脚应直接与VCC相接。¤AREF:A/D转换器的模拟参考电源。并行接口概述一、并行输入工作原理并行输入接口某一位的简化电路如下图所示:二、并行输出工作原理并行输入接口某一位的简化电路如下图所示:三、并行输入/出接口工作原理并行输入/出某一位的简化接口电路如图4-3所示:MCS51单片机的I/O端口大部分是准双向口,在复位时全部输出高电平。对端口的输入和输出操作也是直接通过I/O端口的地址进行的。而AVR的I/O端口为标准双向口,在复位时所有端口处于没有上拉电阻的输入状态(高阻态管脚电平完全由外部电路决定),这在强调复位状态的场合是很有用的AVR的。每一个端口对应三个地址,即DDRX、PORTX、和PINX(X针对不同的单片机可从A~F中分别取不同的符号,注意只有PINX可取F)。¤DDRX为端口方向寄存器,当DDRX的某一位置1时,相应端口的引脚作为输出使用;当DDRX的某一位清0时,相应端口的引脚作为输入使用。¤PORTX为端口数据寄存器,当引脚作为输出使用时,PORTX的数据由相应引脚输出;当引脚作为输入使用时,POTRX的数据决定相应端口的引脚是否打开弱上拉具体可参考表一。PINX为相应端口的输入引脚地址。如果希望读取相应引脚的逻辑电平值,一定要读取PINX而不能读取PORTX,这与MCS51是有区别的。注意:在使用AVR单片机之前,一定要根据引脚功能定义,对相应的端口初始化,否则端口很可能在用作输出时不能正常工作。如设置端口B的高四位为输出、低四位为输入:DDRB=0xF0配置实例并行接口应用举例#include<iom16v.h>//iccavr下的头文件typedefunsignedintunint;typedefunsignedchar