avr单片机课件

上传人:一*** 文档编号:243136035 上传时间:2024-09-16 格式:PPT 页数:39 大小:2.50MB
返回 下载 相关 举报
avr单片机课件_第1页
第1页 / 共39页
avr单片机课件_第2页
第2页 / 共39页
avr单片机课件_第3页
第3页 / 共39页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,一,. AVR,单片机的基本结构,介绍单片机的基本结构和组成,使大家对单片机芯片的内部硬件有基本了解和认识。掌握了单片机的基本结构和组成,对学习、了解任何一种类型单片机的工作原理,编写单片机的系统软件以及和设计外围电路都是非常重要的。,以,ATmega16,为主线,介绍和讲述,AVR,单片机内核的基本结构、引脚功能、工作方式等。,单片机的基本组成结构,集成了构成一个计算机系统的最基本的单元,操作管理寄存器功能是管理、协调、控制和操作单片机芯片中的各功能单元的使用和运行。,(,状态寄存器、控制寄存器、方式寄存器、数据寄存器,),二,. ATmega16,单片机的组成,AVR,单片机是一种基于增强,RISC,结构的、低功耗、,CMOS,技术、,8,位微控制器,(Enhanced RISC Microcontroller),,目前有,Tiny,、,Mega,两个系列,50,多种型号。它们的功能和外部的引脚各有不同,小到,8,12,个引脚,多到,100,个引脚,但它们内核的基本结构是一样的,指令系统相容。,AVR,单片机的内核结构,32,个通用工作寄存器中,有,6,个寄存器可以合并成为,3,个,16,位的,用于对数据存储器空间进行间接寻址的间接地址寄存器(存放地址指针),以实现高效的地址计算。这,3,个,16,位的间接地址寄存器称为:,X,寄存器,,,Y,寄存器和,Z,寄存器,。其中,Z,寄存器还能作为间接寻址程序存储器空间的地址寄存器,用于在,Flash,程序存储器空间进行查表等操作。,ATmega16,单片机的,Flash,程序存储器空间可以分成两段:,引导程序段(,Boot program section,)和应用程序段(,Application program section,)。两个段的读写保护可以分别通过设置对应的锁定位(,Lock bits,)来实现。在引导程序段内驻留的引导程序中,可以使用,SPM,指令,实现对应用程序段的写操作(实现在应用自编程,IAP,功能,使系统能够自己更新系统程序)。,典型,AVR,芯片,ATmega16,特点,(,1,)采用先进,RISC,结构的,AVR,内核,(,2,)片内含有较大容量的非易失性的程序和数据存储器,(,3,)片内含,JTAG,接口,(,4,)外围接口,(,6,)宽电压、高速度、低功耗,(,5,)其它的特点,片内含上电复位电路以及可编程的掉电检测复位电路,BOD,;,片内含有,1M/2M/4M/8M,,经过标定的、可校正的,RC,振荡器,可作为系统时钟使用;,多达,21,个各种类型的内外部中断源;,有,6,种休眠模式支持省电方式工作;,2,个带有分别独立、可设置预分频器的,8,位定时器,/,计数器;,1,个带有可设置预分频器、具有比较、捕捉功能的,16,位定时器,/,计数器;,片内含独立振荡器的实时时钟,RTC,;,4,路,PWM,通道;,8,路,10,位,ADC,面向字节的两线接口,TWI,(兼容,I2C,硬件接口);,1,个可编程的增强型全双工的,支持同步,/,异步通信的串行接口,USART,;,1,个可工作于主机,/,从机模式的,SPI,串行接口(支持,ISP,程序下载);,片内模拟比较器;,内含可编程的,具有独立片内振荡器的看门狗定时器,WDT,;,外部引脚与封装,40,脚双列直插,PDIP,、,44,脚方形的,TQFP,和,MLF,形式(贴片形式)。,三,. ATmega16,内部结构,1.AVR CPU,部分,ALU,运算逻辑单元、,32,个,8,位快速访问通用寄存器组(寄存器文件)、程序计数器,PC,、指令寄存器、指令译码器。,2.,程序存储器,Flash,。,3.,数据存储器,RAM,和,EEPROM,。,4.,各种功能的外围接口、,I/O,,以及与它们相关的数据、控制、状态寄存器等。,ATmega16,的片内含有,4,种频率(,1/2/4/8M,)的,RC,振荡源,可直接作为系统的工作时钟使用。,为,ATmega16,提供系统时钟源时,有三种主要的选择:,(,1,)直接使用片内的,1/2/4/8M,的,RC,振荡源;,(,2,)在引脚,XTAL1,和,XTAL2,上外接由石英晶体和电容组成的谐振回路,配合片内的,OSC,(,Oscillator,)振荡电路构成的振荡源; (,3,)直接使用外部的时钟源输出的脉冲信号,存储器,AVR,单片机在片内集成了,Flash,程序存储器、,SRAM,数据存储器和,EEPROM,数据存储器。,三个存储器空间互相独立,物理结构也不同。,程序存储器,为闪存存储器,Flash,,以,16,位(字)为一个存储单元,作为数据读取时,以字节为单位,而擦除、写入则是以页为单位的(不同型号,AVR,单片机一页的大小也不同)。,SRAM,数据存储器,是以,8,位(字节)为一个存储单元,编址方式采用与工作寄存器组、,I/O,寄存器和,SRAM,统一寻址的方式,EEPROM,数据存储器,是以,8,位(字节)为一个存储单元,对其的读写操作都以字节为单位。,I/O,端口,ATmega16,有四个,8,位的双向,I/O,端口,PA,、,PB,、,PC,、,PD,,它们对外对应,32,个,I/O,引脚,每一位都可以独立地用于逻辑信号的输入和输出。,AVR,大部分的,I/O,端口都具备双重功能,分别同片内的各种不同功能的外围接口电路组合成一些可以完成特殊功能的,I/O,口,如,定时器、计数器、串行接口、模拟比较器、捕捉器,等。,输出时,每个引脚可供出达,20mA,的驱动电流。,输入时,每个引脚可吸纳最大为,40mA,的电流。,可直接驱动发光二极管,LED,(一般,LED,的驱动电流为,10mA,左右)和小型继电器。,四,.,存储器结构和地址空间,1.,支持,ISP,的,Flash,程序存储器,AVR,单片机包括,1K,128K,字节的片内支持,ISP,的,Flash,程序存储器。(,16K,),Flash,存储器的使用寿命最少为,1,万次写,/,擦循环。,ATmega16,单片机的程序存储器为,8K ,16,(,16K ,8,),程序计数器,PC,宽为,13,位,以此来对,8K,字程序存储器地址进行寻址。,地址空间从,$000,开始,2.,数据存储器,SRAM,空间,全部共,1120,个数据存储器地址为线性编址,前,96,个地址为寄存器组,.,32,个,8,位通用寄存器,:,SRAM,数据地址空间,$0000,$001F,,,I/O,寄存器(,64,个,8,位,I/O,寄存器),,分配在,SRAM,数据地址空间的,$0020,$005F,。,1024,个地址是片内数据,SRAM,,地址空间占用,$0060,$045F,。,ATmega16,不支持外部,SRAM,扩展,3.,内部,EEPROM,存储器,AVR,系列单片机还包括,64B,4K,字节的,EEPROM,数据存储器,。,它们被组织在一个独立的数据空间中。这个数据空间采用单字节读写方式。,EEPROM,的使用寿命至少为,10,万次写,/,擦循环。,ATmega16,的,EEPROM,容量是,512,字节,地址范围为,$0000,$01FF,。,EEPROM,数据存储器可用于存放一些需要掉电保护,而且比较固定的系统参数、表格等。,五,.,通用寄存器组与,I/O,寄存器,1.,通用寄存器组,AVR,寄存器组最后的,6,个寄存器,R26,R31,具有特殊的功能,这些寄存器每两个合并成一个,16,位的寄存器,作为对数据存储器空间(使用,X,、,Y,、,Z,)以及程序存储器空间(仅使用,Z,寄存器)间接寻址的地址指针寄存器。,2. I/O,寄存器,AVR,系列单片机所有,I/O,口及外围接口的功能和配置均通过,I/O,寄存器的进行设置和使用。,CPU,访问,I/O,寄存器用两种不同的方法,,1.,对,I/O,寄存器访问的,IN,、,OUT,专用指令,2.,用对,SRAM,访问的指令。,状态寄存器和堆栈指针寄存器,1,状态寄存器,SREG,2,堆栈指针寄存器,SP,通常初始化时将,SP,的指针设在,SRAM,最高处,六,. ATmega16,单片机的工作状态,AVR,单片机的工作状态通常包括:,复位状态,正常程序执行工作状态,休眠节电工作状态,程序运行代码下载的编程,熔丝位的配置。,1. AVR,单片机最小系统,采用了在,ATmega16,引脚,XTAL1,和,XTAL2,上外接由石英晶体和电容组成的谐振回路,并配合片内的,OSC,(,Oscillator,)振荡电路构成的振荡源作为系统时钟源,的,简单的电路是直接使用片内的,4M,的,RC,振荡源,这样就可以将,C1,、,C2,、,R2,和,4M,晶体省掉,引脚,XTAL1,和,XTAL2,悬空,,(,精准度、温度变化的影响)。,2. AVR,的复位源和复位方式,ATmega16,单片机共有,5,个复位源,它们是,:,1.,上电复位。,当系统电源电压低于上电复位门限,Vpot,时,,MCU,复位。,2.,外部复位,。当外部引脚,RESET,为低电平,且低电平持续时间大于,1.5us,时,,MCU,复位。,3.,掉电检测(,BOD,)复位。,BOD,使能时,且电源电压低于掉电检测复位门限(,4.0v,或,2.7v,)时,,MCU,复位。,4.,看门狗复位。,WDT,使能时,并且,WDT,超时溢出时,,MCU,复位。,5. JTAG AVR,复位。,当使用,JTAG,接口时,可由,JTAG,口控制,MCU,复位。,1,上电复位,AVR,内部含有上电复位,POR(Power_on,Reset),电路无论何时,只要,Vcc,低于检测电平,Vpot,时,器件进入复位状态。,2,外部复位,外部复位是由外加在,RESET,引脚上的低电平将产生的。当,RESET,引脚被拉低于,Vrst,的时间大于,1.5s,时既触发复位过程,3,掉电检测(,BOD,)复位,ATmega16,有一个片内的,BOD,(,Brown-out Detection,)电源检测电路,用于在系统运行时对系统电压,VCC,的检测,并同一个固定的阈值电压相比较。,BOD,检测阈值电压可以通过,BODLEVEL,熔丝位设定为,2.7V,或,4.0V,。,BOD,检测阈值电压有迟滞效应,以避免系统电源的尖峰毛刺误触发,BOD,检测器。阈值电平的迟滞效应可以理解为:上阈值电压,VBOT+ = VBOT + VHYST/2,,下阈值电压,VBOT- = VBOT - VHYST/2,。,4,看门狗复位,ATmega16,片内还集成一个独立的看门狗定时器,WDT,。该,WDT,由片内独立的,1M,振荡器提供时钟信号,并且可用专用的熔丝位或由用户通过指令控制,WDT,的启动和关闭,以及设置和清零计数值。当,WDT,启动计数后,一旦发生计数溢出,它将触发产生一个时钟周期宽度的复位脉冲。脉冲的上升沿将使器件进入复位状态,脉冲的下降沿启动延时计数器计数,经过设定的启动延时时间,,CPU,重新开始运行。使用,WDT,功能,可以防止系统受到干扰而引起的程序运行紊乱和跑飞,提高了系统的可靠性,5.,对,AVR,的编程下载,对单片机的编程操作,通常也称为程序下载,是指以特殊手段和软硬件工具,对单片机进行特殊的操作,以实现下面的,3,种功能:,(1),将在,PC,机上生成的该单片机系统程序的运行代码写入单片机的程序存储器中。,(2),用于对片内的,Flash,、,EEPROM,进行擦除、数据的写入(包括运行代码)、和数据的读出。,(3),实现对,AVR,配置溶丝位的设置;芯片型号的读取;加密位的锁定等。,AVR,单片机支持多种形式的编程下载方式:,高压并行编程方式,这种编程方式需要占用芯片众多的引脚和,12V,的电压,所以必须采用专用的编程器单独对芯片操作。这样,AVR,芯片必须从,PCB,板上取下来,不可以实现芯片在线(板)的编程操作,因此这种方式不适合系统调试过程以及产品的批量生产需要。,串行编程方式(,ISP,),串行编程方式是通过,AVR,芯片本身的,SPI,或,JTAG,串行口实现的,由于编程时只需要占用比较少的外围引脚,所以可以实现芯片的在线编程(,In System Programmable,),不需要将芯片从,PCB,板上取下来,所以串行编程方式也是最方便和最常用的编程方式。,串行编程方式还细分成,SPI,、,JTAG,方式,:,前者表示通过芯片的,SPI,串口实现对,AVR,芯片的编程操作,,后者则是通过,JTAG,串口来实现的。,AVR,的许多芯片都同时集成有,SPI,和,JTAG,两种串口,因此可以同时支持,SPI,和,JTAG,的编程。,使用,JTAG,方式编程的优点,通过,JTAG,口还可以实现系统的在片实时仿真调试(,On Chip Debug,),缺点是需要占用,AVR,的,4,个,I/O,引脚。,采用,SPI,方式编程,只需要一跟简单的编程电缆,同时可以方便的实现,I/O,口的共用,因此是最常使用的方式。其不足之处是不能实现系统的在片实时仿真调试。,其它编程方式,一些型号的,AVR,还支持串行高压编程方式和,IAP(In,Application Programmable),在运行编程方式。,串行高压编程,是替代并行高压编程的一种方式,主要针对,8,个引脚的,Tiny,系列的,AVR,使用。,IAP,在运行编程方式,则是采用了,ATMEL,称为自引导加载(,Boot Load,)技术实现的,往往在一些需要进行远程修改更新系统程序,或动态改变系统程序的应用中才采用。,ATmega16,片内集成了,16K,字节的支持系统在线可编程(,ISP,)和在应用可编程(,IAP,)的,Flash,程序存储器,以及,512,个字节的,EEPROM,数据存储器。另外在它的内部,还有一些专用的可编程单元熔丝位,用于加密锁定和对芯片的配置等。对,ATmega16,编程下载操作,就是在片外对上述的存储器和熔丝单元进行读,/,写(烧入)以及擦除的操作。,AVR,单片机的工作状态,复位状态、常规工作状态、编程状态,RESET,引脚电平为高,AVR,处在常规工作状态时,有两种工作方式:正常程序执行工作方式和休眠节电工作方式。,正常程序执行工作方式,休眠节电工作方式,休眠节电工作方式是使单片机处于低功耗节电的一种工作方式。当单片机需要处于长时间等待外部触发信号,待有外部触发后才做相应的处理,或每隔一段时间才需要做处理的情况时,可以使用休眠节电工作方式,以减小对电源的消耗。,ATmega16,有,6,种不同的休眠模式,每一种模式对应的电源消耗也不同,被唤醒的方式也有多种类型,用户可以根据实际的需要进行选择。,休眠节电工作方式对使用电池供电的系统非常重要,,AVR,提供了更多的休眠模式,更加符合和适应实际的需要。如,ATmega16,处在掉电休眠模式状态,其本身的耗电量小于,1A,。,2. RESET,引脚电平为低,一旦,RESET,脚的电平被外部拉低,当满足某些特殊条件后,芯片将进入编程状态。例如,如果芯片带有,SPI,接口,支持,SPI,串行编程,则通过以下方式将使芯片进入,SPI,编程状态:,外部将,SPI,口的,SCK,引脚拉低,然后外部在,RESET,引脚上施加一个至少为,2,个系统周期以上低电平脉冲;,延时等待,20ms,后,由外部通过,AVR,的,SPI,口向芯片下发允许,SPI,编程的指令;,在,AVR,的器件手册的存储器编程(,Memory Programming,)一章中串行下载(,Serial Downloading,)一节里,详细介绍了利用,AVR,的,SPI,接口实现,ISP,编程的硬件连接、编程方式状态的进入过程和串行编程的命令等。,支持,ISP,编程的最小系统设计,增加了一个,ISP,编程下载口,该口的,2,、,3,、,4,、,5,脚同芯片,SPI,接口的,MOSI,(,PB5,)、,MISO,(,PB6,)、,SCK,(,PB7,)和,RESET,引脚连接。当需要改动,AVR,的熔丝位配置,或将编译好的运行代码烧入的,AVR,的,FlashROM,中时,就不需要将芯片从,PCB,板上取下了。只要将一根简单的编程线插在该编程下载口上,利用,PC,机就可以方便的实现上面的操作了。,AVR,的,PB5,、,PB6,、,PB7,与编程下载口连接,在编程状态时这,3,个引脚用于下载操作。编程完成拔掉下载线,芯片进入正常工作后,,PB5,、,PB6,、,PB7,仍可作为普通的,I/O,口或,AVR,的,SPI,口使用,受,AVR,的控制,这是使用,SPI,口实现,ISP,功能的优点之一。,本章参考文献:,1,ATmega16,数据手册,(英文,,CDROM,),,ATMEL,,,2.AVR,硬件设计要点,(英文,,CDROM,),,ATMEL,,,3.EMC,设计要点,(英文,,CDROM,),,ATMEL,,,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!