《AVR单片机.ppt》由会员分享,可在线阅读,更多相关《AVR单片机.ppt(66页珍藏版)》请在第壹文秘上搜索。
1、AVR单片机单片机How This PPT Organized一、基础知识(Page: 311)二、硬件篇(Page: 1228)三、软件篇(Page: 29)一、基础知识一、基础知识1.1、产品特性(Page: 48)1.2、编译器、调试器(Page: 9)1.3、烧写程序、调试与仿真(Page: 10)1.4、Proteus7仿真软件(Page: 11)1.1、产品特性、产品特性高性能、低功耗的 8 位 AVR 微处理器RISC 精简指令集 131 条指令 大多数指令执行时间为单个时钟周期 32 个8 位通用工作寄存器 全静态工作 工作于16 MHz 时性能高达16 MIPS 只需两个时钟
2、周期的硬件乘法器哈佛结构,具备 1MIPS / MHz 的高速运行处理能力非易失性程序和数据存储器JTAG 接口( 与IEEE 1149.1标准兼容 )1.1、产品特性、产品特性外设特点 两个具有独立预分频器和比较器功能的8 位定时器/ 计数器。 一个具有预分频器、比较功能和捕捉功能的16 位定时器 /计数器。 具有独立振荡器的实时计数器RTC 四通道PWM 8路 10 位ADC8 个单端通道TQFP 封装的7 个差分通道2个具有可编程增益 (1x, 10 x, 或200 x)的差分通道 面向字节的两线接口 两个可编程的串行USART 可工作于主机/从机模式的 SPI串行接口 具有独立片内振荡
3、器的可编程看门狗定时器 片内模拟比较器1.1、产品特性、产品特性特殊的处理器特点 上电复位以及可编程的掉电检测 片内经过标定的RC 振荡器 片内/片外中断源 6种睡眠模式 : 空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby 模式以及扩展的Standby 模式1.1、产品特性、产品特性工作电压: ATmega16L:2.7 - 5.5V ATmega16:4.5 - 5.5V速度等级 0 - 8 MHz ATmega16L 0 - 16 MHz ATmega16ATmega16L在 1 MHz, 3V, 25C时的功耗 正常模式: 1.1 mA 空闲模式: 0.35 mA 掉电
4、模式: 1 A1.1、产品特性、产品特性I/O和封装 32 个可编程的I/O口 40 引脚PDIP封装 , 44 引脚 TQFP 封装,与 44 引脚MLF封装。1.2、编译器、调试器、编译器、调试器AVR Studio ATMEL AVR Studio 集成开发环境 (IDE) ,可使用汇编语言进行开发(使用其它语言需第三方软件协助),集软硬件仿真、调试、下载编程于一体。ATMEL官方及市面上通用的 AVR 开发工具都支持 AVR Studio。ICC AVR C 编译器(集成烧写程序功能)。市面上的教科书使用它作为例程的较多,集成代码生成向导,虽然它的各方面性能均不是特别突出,但使用较为方
5、便。GCCAVR(WinAVR) C 编译器。GCC 是 Linux 的唯一开发语言。GCC 的编译器优化程度可以说是目前世界上民用软件中做的最好的。但,相对而言,它的缺点是,使用操作较为麻烦。1.3、烧写程序、调试与仿真、烧写程序、调试与仿真Atmega16 的仿真方式 JTAG 是 IEEE 的标准规范,通过这个标准,可对具有 JTAG 接口的芯片的硬件电路 进行边界扫描和故障检测。Atmega16 的烧写方式 串行编程(即 ISP 编程)STK200/STK300 STK500 AVRISP(准 STK500 )其它 ISP 方式 高压 / 并行编程 JTAG 编程1.4、Proteus
6、7仿真软件仿真软件ARES 7 PCB图仿真软件ISIS 7 原理图仿真软件二、硬件篇二、硬件篇2.1、引脚说明(Page: 1315)2.2、端口的第二功能(Page: 1619)2.3、复位电路(Page: 20)2.4、时钟电路(Page: 2122)2.5、ISP(Page: 2324)2.6、JTAG(Page: 25)2.7、串口(Page: 2627)2.8、AD 转换的电源滤波(Page: 28)2.1、引脚说明、引脚说明VCC数字电路的电源GND地端口 A(PA7.PA0)A/D转换器的模拟输入端,请参见 P16。8 位双向 I/O 口,具有可编程的内部上拉电阻。端口 B(P
7、B7.PB0)8 位双向 I/O 口,具有可编程的内部上拉电阻。端口 B 也可以用做其他不同的特殊功能,请参见 P17。端口 C(PC7.PC0)8 位双向 I/O 口,具有可编程的内部上拉电阻。端口 C 也可以用做其他不同的特殊功能,请参见 P18。2.1、引脚说明、引脚说明端口 D(PD7.PD0)8 位双向 I/O 口,具有可编程的内部上拉电阻。端口 D 也可以用做其他不同的特殊功能,请参见 P19。RESET复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。XTAL1反向振荡放大器与片内时钟操作电路的输入端。XTAL2反向振荡放大器
8、的输出端。AVCCAVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与 VCC 连接。 2.1、引脚说明、引脚说明AREFA/D 的模拟基准输入引脚。2.2、端口的第二功能、端口的第二功能 端口端口 A 的第二功能的第二功能PA7ADC7 (ADC 输入通道 7)PA6ADC6 (ADC 输入通道 6)PA5ADC5 (ADC 输入通道 5)PA4ADC4 (ADC 输入通道 4)PA3ADC3 (ADC 输入通道 3)PA2ADC2 (ADC 输入通道 2)PA1ADC1 (ADC 输入通道 1)PA0ADC0 (ADC 输入通道
9、 0)2.2、端口的第二功能、端口的第二功能 端口端口 B 的第二功能的第二功能PB7SCK (SPI 总线的串行时钟)PB6MISO (SPI总线的主机输入 /从机输出信号 )PB5MOSI (SPI总线的主机输出 /从机输入信号 )PB4SS (SPI 从机选择引脚)PB3AIN1 (模拟比较负输入 )OC0 (T/C0 输出比较匹配输出)PB2AIN0 (模拟比较正输入 )INT2 ( 外部中断2 输入 )PB1T1 (T/C1 外部计数器输入)PB0T0 (T/C0 外部计数器输入)XCK (USART 外部时钟输入 /输出)2.2、端口的第二功能、端口的第二功能 端口端口 C 的第二
10、功能的第二功能PC7TOSC2 ( 定时振荡器引脚2)PC6TOSC1 ( 定时振荡器引脚1)PC5TDI (JTAG 测试数据输入 )PC4TDO (JTAG测试数据输出 )PC3TMS (JTAG测试模式选择 )PC2TCK (JTAG 测试时钟)PC1SDA (两线串行总线数据输入 /输出线)PC0SCL (两线串行总线时钟线 )2.2、端口的第二功能、端口的第二功能 端口端口 D 的第二功能的第二功能PD7OC2 (T/C2输出比较匹配输出)PD6ICP1 (T/C1 输入捕捉引脚)PD5OC1A (T/C1 输出比较A 匹配输出)PD4OC1B (T/C1 输出比较B 匹配输出 )P
11、D3INT1 (外部中断1 的输入 )PD2INT0 (外部中断0 的输入 )PD1TXD (USART 输出引脚)PD0RXD (USART输入引脚 )2.3、复位电路、复位电路内置复位电路 与传统的 51 单片机相比,AVR 单片机内置复位电路 ,并且在熔丝位里,可以控制复位时间,所以,AVR 单片机可以不设外部上电复位 电路,依然可以正常位,稳定工作。外部复位电路 若是系统需要设置按键复位电路 ,那么注意,AVR 单片机是低电平复位。2.4、时钟电路、时钟电路内置时钟电路 器件出厂时熔丝位CKSEL = “0010”,SUT = “10”。这个缺省设置的时钟源是 1 MHz 的内部 RC
12、 振荡器,启动时间为最长。这种设置保证用户可以通过 ISP 或并行编程器得到所需的时钟源。外部时钟电路 常用晶振:7.3728MHz、4MHz2.4、时钟电路、时钟电路2.5、ISPISP电路 ISP并口下载线 直接连接 通过74HC244等芯片连接VCCVCCGNDGNDRESETRESETSCKSCKMOSIMOSIMISOMISO2.5、ISP2.6、JTAGJTAG电路VCCVCCGNDGNDRESETRESETTCKTCKTMSTMSTDOTDOTDITDI2.7、串口、串口RS232(9芯)1载波检测DCD2接收数据RXD3发送数据TXD4数据终端准备好DTR5信号地SG6数据准备
13、好DSR7请求发送RTS8清除发送CTS9振铃提示RI2.7、串口、串口RS232(9芯)RXDTXDTXDRXD2.8、AD 转换的电源滤波转换的电源滤波减小 AD 转换的电源干扰 Mega16 芯片有独立的 AD 电源供电。官方文档推荐在 VCC 串上一只 10uH 的电感( L1 ),然后接一只 0.1uF 的电容( C3 )到地。 Mega16 内带 2.56V 标准参考电压。也可以从外面输入参考电压。不过一般的应用使用内部自带的参考电压已经足够。习惯上在 AREF 脚接一只 0.1 uF的电容( C4 )到地。 实际应用时,如果想简化线路,可以将 AVCC 直接接到 VCC , AR
14、EF 悬空。三、软件篇三、软件篇3.1、PonyProg2000(Page: 3036)3.2、ICC AVR(Page: 3749)3.3、AVR Studio(Page: 5055 )3.4、AVR C语言基础(Page: 5659)3.5、矩阵按键扫描程序(Page: 6065)3.1、PonyProg20003.1、PonyProg20003.1、PonyProg20003.1、PonyProg20003.1、PonyProg20003.1、PonyProg20003.1、PonyProg20003.2、ICC AVR3.2、ICC AVR3.2、ICC AVR3.2、ICC AVR3
15、.2、ICC AVR3.2、ICC AVR3.2、ICC AVR3.2、ICC AVR3.2、ICC AVR3.2、ICC AVR3.2、ICC AVR3.2、ICC AVR3.2、ICC AVR3.3、AVR Studio3.3、AVR Studio3.3、AVR Studio3.3、AVR Studio3.3、AVR Studio3.3、AVR Studio3.4、AVR C语言基础语言基础注释 行注释/ 块注释/*/必须养成良好的注释习惯3.4、AVR C语言基础语言基础头文件 iom16v.h位置:iccinclude给出了ATmega16硬件资源的 C 语言描述3.4、AVR C语言
16、基础语言基础常用保留字 通常为器件手册中的寄存器名称 PORTA PINA DDRA PORTA0 PA0 DDA0 PINA0其他常用保留字见iom16v.h3.4、AVR C语言基础语言基础语法 选择、分支、循环等,所有语法遵循 C 语言标准。位操作 TCCR0 = (1WGM01)|(1WGM00)|(1COM01)|(1COM00);3.5、矩阵按键扫描程序、矩阵按键扫描程序AVR I/O 口引脚配置表DDRXnPORTXnPUDI/O 方式方式内部上拉电阻内部上拉电阻引脚状态引脚状态00X输入无效三态(高阻)010输入有效外部拉低输出电流011输入无效三态(高阻)10X输出无效推挽0输出吸收电流11X输出无效推挽1输出吸收电流3.5、矩阵按键扫描程序、矩阵按键扫描程序/应用软件: ICC AVR /*-实验内容:循环扫描PA口接入的按键,并使用PB口的LED指示灯指示按键的码值。-硬件连接:将PB口的LED指示灯使能开关切换到ON状态,使其指示按键的码值。MatrixKeyBoard:K0-K7 | |SMK1632: PA0-PA7-*/ #include #include