AVR直流电机控制系统硬件设计概述_第1页
AVR直流电机控制系统硬件设计概述_第2页
AVR直流电机控制系统硬件设计概述_第3页
AVR直流电机控制系统硬件设计概述_第4页
AVR直流电机控制系统硬件设计概述_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要近年来,电机调速系统在工业自动化、生产过程操纵、测控仪表等领域的应用越来越深入和广泛。ATmega16是基于增强的AVR RISC结构的低功耗8位CMOS微操纵器。由于其先进的指令集以及单时钟周期指令执行时刻,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而能够减缓系统在功耗和处理速度之间的矛盾。要紧由ATmega16为核心设计由LMD18200驱动芯片,采纳232通讯协议的串行通信操纵电路构成的直流电机PWM调速操纵系统。系统要紧完成由上位机和ATmega16操纵直流电机的起动,停止和加减速等功能。文章详细介绍了本调速操纵系统的工作原理、PWM驱动接口电路和K1010光电耦

2、合器,LMD18200驱动电路,串行通信操纵电路相应的软件设计。软件通过ICCAVR编写,然后用AVRStudio进行仿真并将编译通过的程序代码下载到ATmega16之中对系统进行操纵。关键词:ATmega16;直流电机;PWM;LMD18200AbstractIn recent years, the SCM application which used in the field of industrial automation, production process becomes more and more deepen and extensive.ATmega16 is a microc

3、ontroller buildup on AVR RISC configuration which is a low consume microcontroller of 8-bit CMOS.The data of ATmega16 have a high dispatcher which can reach 1MIPS/MHz for advanced instruction volum and the instruction of single clock cycle,so it can relaxed the conflict between consume and dispose s

4、peed.This design show us that a PWM speed system of DC-motor using ATmega16 is introduced in this paper. This paper elaborates on the system principle,optical Encoder, LMD18200 driving system, High Reliability Photo CouplerK1010,the DC-motor PWM digital control system,and system serial communication

5、 agreement of 232 communication. The system is mainly completed the start, stop and acceleration and decelerationn functions by which the master PC and ATmega16 control the DC motor. The article described in detail the speed control systems working principle, the PWM drive interface circuit and K101

6、0 Optocoupler,LMD18200 drive circuit, the relative software design of the serial communication control circuit.The software is programmed through ICCAVR, then simulated by AVRStudio and the compiled code is downloaded to ATmega16 to control the system.Key words: ATmega16; DC-motor; PWM;LMD18200目 录 T

7、OC o 1-3 h z u HYPERLINK l _Toc202033456 1 绪论 PAGEREF _Toc202033456 h 1 HYPERLINK l _Toc202033457 1.1 课题的背景及意义 PAGEREF _Toc202033457 h 1 HYPERLINK l _Toc202033458 1.2 直流电机的进展 PAGEREF _Toc202033458 h 2 HYPERLINK l _Toc202033459 1.3 本设计完成的工作 PAGEREF _Toc202033459 h 2 HYPERLINK l _Toc202033460 2 AVR单片机

8、简介 PAGEREF _Toc202033460 h 3 HYPERLINK l _Toc202033461 2.1 单片机系统概述 PAGEREF _Toc202033461 h 3 HYPERLINK l _Toc202033462 2.2 ATmega16功能概述 PAGEREF _Toc202033462 h 3 HYPERLINK l _Toc202033463 2.3 ATmega16单片机 PAGEREF _Toc202033463 h 5 HYPERLINK l _Toc202033464 2.3.1 ATmega16单片机的特点及特性 PAGEREF _Toc20203346

9、4 h 5 HYPERLINK l _Toc202033465 2.3.2 ATmega16单片机引脚配置及讲明 PAGEREF _Toc202033465 h 8 HYPERLINK l _Toc202033466 2.3.3 CPU PAGEREF _Toc202033466 h 9 HYPERLINK l _Toc202033467 2.3.4 存储器 PAGEREF _Toc202033467 h 10 HYPERLINK l _Toc202033468 2.3.5I/O口介绍 PAGEREF _Toc202033468 h 12 HYPERLINK l _Toc202033469 2

10、.3.6 复位电路 PAGEREF _Toc202033469 h 17 HYPERLINK l _Toc202033470 2.3.7 时钟电路 PAGEREF _Toc202033470 h 18 HYPERLINK l _Toc202033471 3 直流电机操纵系统硬件设计 PAGEREF _Toc202033471 h 21 HYPERLINK l _Toc202033472 3.1 总体电路设计 PAGEREF _Toc202033472 h 21 HYPERLINK l _Toc202033473 3.2 时钟电路 PAGEREF _Toc202033473 h 21 HYPER

11、LINK l _Toc202033474 3.3 系统复位电路 PAGEREF _Toc202033474 h 21 HYPERLINK l _Toc202033475 3.4 串行通信接口电路设计 PAGEREF _Toc202033475 h 22 HYPERLINK l _Toc202033476 3.4.1 要紧特点 PAGEREF _Toc202033476 h 22 HYPERLINK l _Toc202033477 3.4.2 内部结构 PAGEREF _Toc202033477 h 23 HYPERLINK l _Toc202033478 3.4.3 Max232引脚图 PAG

12、EREF _Toc202033478 h 23 HYPERLINK l _Toc202033479 3.4.4 Max232 电路设计 PAGEREF _Toc202033479 h 23 HYPERLINK l _Toc202033480 3.5 驱动电路 PAGEREF _Toc202033480 h 24 HYPERLINK l _Toc202033481 3.5.1 LMD18200芯片介绍 PAGEREF _Toc202033481 h 24 HYPERLINK l _Toc202033482 3.5.2 各引脚的功能及原理 PAGEREF _Toc202033482 h 26 HY

13、PERLINK l _Toc202033483 3.5.3 驱动电路设计 PAGEREF _Toc202033483 h 27 HYPERLINK l _Toc202033484 3.6 光电耦合电路 PAGEREF _Toc202033484 h 28 HYPERLINK l _Toc202033485 4 软件设计 PAGEREF _Toc202033485 h 30 HYPERLINK l _Toc202033486 4.1 初始化程序设计 PAGEREF _Toc202033486 h 30 HYPERLINK l _Toc202033487 4.1.1 I/O初始化 PAGEREF

14、_Toc202033487 h 30 HYPERLINK l _Toc202033488 4.1.2 定时器初始化 PAGEREF _Toc202033488 h 30 HYPERLINK l _Toc202033489 4.1.3 串口初始化 PAGEREF _Toc202033489 h 31 HYPERLINK l _Toc202033490 4.2 主程序 PAGEREF _Toc202033490 h 32 HYPERLINK l _Toc202033491 4.3 中断及转速操纵子程序 PAGEREF _Toc202033491 h 34 HYPERLINK l _Toc20203

15、3492 4.4 串行数据传输程序 PAGEREF _Toc202033492 h 36 HYPERLINK l _Toc202033493 4.5 ICCAVR PAGEREF _Toc202033493 h 37 HYPERLINK l _Toc202033494 4.5.1 开发环境ICCAVR介绍 PAGEREF _Toc202033494 h 37 HYPERLINK l _Toc202033495 4.5.2 开发及编译 PAGEREF _Toc202033495 h 37 HYPERLINK l _Toc202033496 4.6 AVRStudio仿真 PAGEREF _Toc

16、202033496 h 38 HYPERLINK l _Toc202033497 4.6.1 仿真器的特点 PAGEREF _Toc202033497 h 38 HYPERLINK l _Toc202033498 4.6.2 连接JTAG ICE PAGEREF _Toc202033498 h 39 HYPERLINK l _Toc202033499 4.6.3 仿真环境 PAGEREF _Toc202033499 h 40 HYPERLINK l _Toc202033500 4.7 ATmega16单片机操纵直流电机程序代码 PAGEREF _Toc202033500 h 42 HYPERL

17、INK l _Toc202033501 结 论 PAGEREF _Toc202033501 h 49 HYPERLINK l _Toc202033502 致 谢 PAGEREF _Toc202033502 h 50 HYPERLINK l _Toc202033503 参考文献 PAGEREF _Toc202033503 h 51 HYPERLINK l _Toc202033504 附录A 英文原文 PAGEREF _Toc202033504 h 52 HYPERLINK l _Toc202033505 附录B 中文翻译 PAGEREF _Toc202033505 h 60 TOC o 1-3

18、h z u 附录C 总体电路设计图671 绪论1.1 课题的背景及意义在电气时代的今天,电动机一直在现代化的生产和生活中起着十分重要的作用。不管是在工农业生产依旧在日常生活中的家用电器,都大量地使用着各种各样的电动机。因此对电动机的操纵变得越来越重要了。电动机的操纵技术的进展得力于微电子技术、电力电子技术、传感器技术、永磁材料技术、自动操纵技术、微机应用技术的最新进展成就。正是这些技的进步使电动机操纵技术在近二十多年内发生了翻天覆地的变化。在各类机电系统中,由于直流电机具有良好的起动、制动和调速性能,直流调速技术已广泛运用于工业、航天领域的各个方面。直流电机由于具有速度操纵容易,启、制动性能良

19、好,且在宽范围内平滑调速等特点而在冶金、机械制造、轻工等工业部门中得到广泛应用。随着生产和科技的进展,一方面对电机调速系统在操纵精度、工作速度、快速启、制动及逆转性能以及在宽范围的调速等诸方面要求越来越高;另一方面,电机操纵系统也经历了交磁放大器、磁放大器、可控离子变速器、可控硅和计算机操纵的进展历程。尤其是最近几年来,随着微电子技术和计算机技术的进展及单片机的广泛应用,使调速装置向集成化、小型化和智能化方向进展。目前,最常用的直流调速技术是脉宽调制(PWM)直流调速技术,它具有调速精度高、响应速度快、调速范围宽和耗损低等特点。国内中小功率直流电机的调速系统大量地采纳脉冲宽度(PWM)调速技术

20、,正在迅速地取代SCR直流调速系统。尤其是单片机操纵的智能化调速系统有可能直接安装在电机座上而做到与电机一体化,节约了专用操纵机矩,从而使设备的可靠性、自动化程度大大提高.本文所介绍的单片机直流电机调速系统试图在机电一体化方面做些工作。AVR单片机是基于RISC指令架构的8位单片机。RISC通过优选使用频率最高的简单指令,幸免复杂指令,采纳固定指令长度,减少指令格式和寻址方式等方法来缩短指令周期,提高处理起的运算速度。采纳这种RISC结构,使得AVR系列的单片机具备1MIPS/MHZ的高速处理能力。AVR高端产品ATmega系列的部分单片机中还集成了在线调试单元,通过JTAG即可实现在线调试和

21、程序下载功能。这使得AVR单片机成为一种能满足多种需求的高灵活性和低成本的高速微处理器。1.2 直流电机的进展直流电机能够对旋转角度和转动速度进行高精度操纵。直流电机作为操纵执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化操纵系统和周密机械等领域。例如,在仪器仪表,机床设备以及计算机的外围设备中(如打印机和绘图仪等),凡需要对转角进行精确操纵的情况下,使用直流电机最为理想。随着微电子和计算机技术的进展,直流电机的需求量与日俱增,在各个国民经济领域都有应用。直流电动机是最早出现的电动机,也是最早实现条素的电动机。由于它具有良好的线性调速特性,操纵简单,效率高及优异的动态特性,长期以来一

22、直战局着调速操纵领域的统治地位。近年来,随着交流变频电机及无刷电机的调速操纵技术的不断成熟,直流电机正面临着巨大的挑战。在多数调速操纵场合,直流电机仍是最佳选择。在本世纪初,由于资本主义列强争夺殖民地,造船工业进展专门快,同时也使得直流电动机的技术得到了长足的进步。到了80年代后,由于廉价的微型计算机以多功能的姿态出现,直流电动机的操纵方式更加灵活多样。原来的直流电机操纵系统采纳分立元件或者集成电路组成的操纵回路,不仅调试安装复杂,要消耗大量元器件,而且一旦定型之后,要改变操纵方案就一定要重新设计电路。计算机则通过软件来操纵直流电机,更好地挖掘出电动机的潜力。因此,用计算机操纵直流电机差不多成

23、为了一种必定的趋势,也符合数字化的时代趋势。现在比较常用的直流电机包括反应式直流电机、永磁式直流电机、混合式直流电机和单相式直流电机等。其中反应式直流电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。现时期,反应式直流电机获得最多的应用。1.3 本设计完成的工作本次毕业设计是单片机操纵直流电机方面的应用。那个设计最终目的是设计出一个能够操纵直流电机旋转的系统。本次设计要紧实现了以下几个功能:设计两个稳压电源接口,能够接入适合单片机工作的5V电源和LMD18200使用的12V电源。设计一个外围驱动电路来驱动直流电机旋转。使用上位机串口操纵直流电机转速。最后编写软件部分,

24、将程序输入单片机并运行系统,使系统工作。2 AVR单片机简介2.1 单片机系统概述随着材料科学、工艺技术、计算机技术的进展与进步,电路系统向着集成度极高的方向进展。CPU的生产制造技术,也朝着综合性、技术性、有用性进展。如CPU的运算位数从4位、8位到32位机的进展,运算速度从8MHz、32MHz到1.6GHz。能够讲是日新月异的进展着。其中单片机在操纵系统中的应用是越来越普遍了。单片机操纵系统是以单片机(CPU)为核心部件,扩展一些外部接口和设备,组成单片机工业操纵机,要紧用于工业过程操纵。要进行单片机系统设计首先必须具有一定的硬件基础知识;其次,需要具有一定的软件设计能力,能够依照系统的要

25、求,灵活地设计出所需要的程序;第三,具有综合运用知识的能力。最后,还必须掌握生产过程的工艺性能及被测参数的测量方法,以及被控对象的动、静态特性,有时甚至要求给出被控对象的数学模型。2.2 ATmega16功能概述AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU)精简指令集高速8位单片机。AVR的单片机能够广泛应用于计算机外部设备、工业实时操纵、仪器仪表、通讯设备、家用电器等各个领域。AVR的要紧特性:高可靠性、功能强、高速度、低功耗和低价位,一直是衡量单片机性能的重要指标,也是单片机占据市场、赖以生存的必要条

26、件。早期单片机要紧由于工艺及设计水平不高、功耗高和抗干扰性能差等缘故,因此采取稳妥方案:即采纳较高的分频系数对时钟分频,使得指令周期长,执行速度慢。以后的 CMOS单片机尽管采纳提高时钟频率和缩小分频系数等措施,但这种状态并未被完全改观(51以及51兼容)。此间虽有某些精简指令集单片机(RISC)问世,但依旧沿袭对时钟分频的作法。AVR单片机的推出,完全打破这种旧设计格局,废除了机器周期,抛弃复杂指令计算机(CISC)追求指令完备的做法;采纳精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中(指令集中占大多数的单周期指令差不多上如此),取指周期短,又可预取指令,实现流水

27、作业,故可高速执行指令。因此这种速度上的升跃,是以高可靠性为其后盾的。AVR单片机硬件结构采取8位机与16位机的折中策略,即采纳局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应操纵逻辑)。提高了指令执行速度(1Mips/MHz),克服了瓶颈现象,增强了功能;同时又减少了对外设治理的开销,相对简化了硬件结构,降低了成本。故AVR单片机在软/硬件开销、速度、性能和成本诸多方面取得了优化平衡,是高性价比的单片机。 AVR单片机内嵌高质量的Flash程序存储器,擦写方便,支持ISP和IAP,便于产品的调试、开发、生产、更新。内嵌长寿命的EEPro

28、m可长期保存关键数据,幸免断电丢失。片内大容量的RAM不仅能满足一般场合的使用,同时也更有效的支持使用高级语言开发系统程序,并可像MCS-51单片机那样扩展外部 RAM。AVR单片机的I/O线全部带可设置的上拉电阻、可单独设定为输入/输出、可设定(初始)高阻输入、驱动能力强(可省去功率驱动器件)等特性,使的得I/O口资源灵活、功能强大、可充分利用。AVR单片机片内具备多种独立的时钟分频器,分不供URAT、I2C、SPI使用。其中与8/16位定时器配合的具有多达10位的预分频器,可通过软件设定分频系数提供多种档次的定时时刻。AVR单片机独有的“以定时器/计数器(单)双向计数形成三角波,再与输出比

29、较匹配寄存器配合,生成占空比可变、频率可变、相位可变方波的设计方法(即脉宽调制输出PWM)”更是令人耳目一新。增强性的高速同/异步串口,具有硬件产生校验码、硬件检测和校验侦错、两级接收缓冲、波特率自动调整定位(接收时)、屏蔽数据帧等功能,提高了通信的可靠性,方便程序编写,更便于组成分布式网络和实现多机通信系统的复杂应用,串口功能大大超过MCS-51/96单片机的串口,加之AVR单片机高速,中断服务时刻短,故可实现高波特率通讯。面向字节的高速硬件串行接口TWI、SPI。TWI与I2C接口兼容,具备ACK信号硬件发送与识不、地址识不、总线仲裁等功能,能实现主/从机的收/发全部4种组合的多机通信。S

30、PI支持主/从机等4种组合的多机通信。AVR单片机有自动上电复位电路、独立的看门狗电路、低电压检测电路BOD,多个复位源(自动上下电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,增强了嵌入式系统的可靠性。AVR单片机具有多种省电休眠模式,且可宽电压运行(5-2.7V),抗干扰能力强,可降低一般8位机中的软件抗干扰设计工作量和硬件的使用量。AVR单片机技术体现了单片机集多种器件(包括FLASH程序存储器、看门狗、EEPROM、同/异步串行口、TWI、SPI、A/D模数转换器、定时器/计数器等)和多种功能(增强可靠性的复位系统、降低功耗抗干扰的休眠模式、品种多门类全的中断系

31、统、具输入捕获和比较匹配输出等多样化功能的定时器/计数器、具替换功能的I/O端口)于一身,充分体现了单片机技术的从“片自为战”向“片上系统SoC”过渡的进展方向。总结,与其它8-bit MCU相比,AVR 8-bit MCU最大的特点是: 哈佛结构,具备1MIPS/MHz的高速运行处理能力; 超功能精简指令集(RISC),具有32个通用工作寄存器,克服了如8051 MCU采纳单一ACC进行处理造成的瓶颈现象; 快速的存取寄存器组、单周期指令系统,大大优化了目标代码的大小、执行效率,部分型号FLASH特不大,特不适用于使用高级语言进行开发; 作输出时与PIC的HI/LOW相同,可输出40mA(单

32、一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备10mA-20mA灌电流的能力; 片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,外围电路更加简单,系统更加稳定可靠; 大部分AVR片上资源丰富:带E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等; 大部分AVR除了有ISP功能外,还有IAP功能,方便升级或销毁应用程序。2.3 ATmega16单片机ATmega16是基于增强的AVR RISC结构的低功耗8位CMOS微操纵器。由于其先进的指令集以及单时钟周期指令执行时刻,ATmega16的数据吞吐

33、率高达1 MIPS/MHz,从而能够缓减系统在功耗和处理速度之间的矛盾。 ATmega16 AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU)相连接,使得一条指令能够在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,同时具有比一般的CISC微操纵器最高至10倍的数据吞吐率。2.3.1 ATmega16单片机的特点及特性1、特点16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,1K 字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比

34、较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装)的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个能够通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI端口以及中断系统接着工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器接着运行,同意用户保持一个时刻基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU 和除了异步定时器

35、与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby模式下则同意振荡器和异步定时器接着工作。2、产品特性 高性能、低功耗的8位AVR微处理器 先进的RISC 结构 131条指令 大多数指令执行时刻为单个时钟周期 32个8位通用工作寄存器 全静态工作 工作于16MHz时性能高达16MIPS 只需两个时钟周期的硬件乘法器 非易失性程序和数据存储器 16K 字节的系统内可编程Flash,擦写寿命:10,000次 具有独立锁定位的可选Boot代码区,通过

36、片上Boot程序实现系统内编程,真正的时读写操作 512字节的EEPROM,擦写寿命:100,000次 1K字节的片内SRAM 能够对锁定位进行编程以实现用户程序的加密 JTAG 接口(与IEEE 1149.1标准兼容) 符合JTAG 标准的边界扫描功能 支持扩展的片内调试功能 通过JTAG 接口实现对Flash、EEPROM、熔丝位和锁定位的编程3、外设特点 两个具有独立预分频器和比较器功能的8位定时器/计数器 一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器 具有独立振荡器的实时计数器RTC 四通道PWM 8路10位ADC,8个单端通道,2个具有可编程增益(1x,10 x,或20

37、0 x)的差分通道 面向字节的两线接口 两个可编程的串行USART 可工作于主机/从机模式的SPI串行接口 具有独立片内振荡器的可编程看门狗定时器 片内模拟比较器 专门的处理器特点 上电复位以及可编程的掉电检测 片内通过标定的RC振荡器 片内/片外中断源 6种睡眠模式:空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby模式以及扩展的Standby模式 I/O和封装 32个可编程的I/O口 40引脚PDIP封装,44引脚TQFP封装,与44引脚MLF封装 工作电压: ATmega16L:2.7-5.5V ATmega16:4.5-5.5V 速度等级 0-8MHz ATmega16L

38、 0-16MHz ATmega16 ATmega16L在1MHz,3V,25C时的功耗 正常模式:1.1mA 空闲模式:0.35mA 掉电模式:1A2.3.2 ATmega16单片机引脚配置及讲明图2.1 ATmega16引脚图VCC:数字电路的电源GND:地端口A(PA7.PA0):端口A做为A/D转换器的模拟输入端。端口A为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,能够输出和汲取大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。端口B(PB7.PB0):端口B为8位双向I/O

39、口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,能够输出和汲取大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。端口C(PC7.PC0):端口C为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,能够输出和汲取大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。假如JTAG接口使能,即使复位出现引脚PC5(TDI)、PC3(TMS)与 PC2(TCK)的上拉电阻被激活。端口D(PD7.PD0):

40、端口D为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,能够输出和汲取大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。RESET:复位输入引脚。持续时刻超过最小门限时刻的低电平将引起系统复位。门限时刻见P36Table15。持续时刻小于门限间的脉冲不能保证可靠复位。XTAL1:反向振荡放大器与片内时钟操作电路的输入端。XTAL2:反向振荡放大器的输出端。AVCC:是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC连接。A

41、REF A/D:的模拟基准输入引脚。2.3.3 CPUATMEGA16 AVR内核的结构。CPU的要紧任务是保证程序的正确执行。因此它必须能够访问存储器、执行运算、操纵外设以及处理中断。为了获得最高的性能以及并行性,AVR采纳了Harvard结构,具有独立的数据和程序总线。程序存储器里的指令通过一级流水线运行。CPU在执行一条指令的同时读取下一条指令(在本文称为预取)。那个概念实现了指令的单时钟周期运行。程序存储器是能够在线编程的FLASH。快速访问寄存器文件包括32个8位通用工作寄存器,访问时刻为一个时钟周期。从而实现了单时钟周期的ALU操作。在典型的ALU操作中,两个位于寄存器文件中的操作

42、数同时被访问,然后执行运算,结果再被送回到寄存器文件。整个过程仅需一个时钟周期。 寄存器文件里有6个寄存器能够用作3个16位的间接寻址寄存器指针以寻址数据空间,实现高效的地址运算。其中一个指针还能够作为程序存储器查询表的地址指针。这些附加的功能寄存器即为16位的X、Y、Z寄存器。 ALU支持寄存器之间以及寄存器和常数之间的算术和逻辑运算。ALU也能够执行单寄存器操作。运算完成之后状态寄存器的内容得到更新以反映操作结果。程序流程通过有/无条件的跳转指令和调用指令来操纵,从而直接寻址整个地址空间。大多数指令长度为16位,亦即每个程序存储器地址都包含一条16位或32位的指令。 程序存储器空间分为两个

43、区:引导程序区(Boot区)和应用程序区。这两个区都有专门的锁定位以实现读和读/写爱护。用于写应用程序区的SPM指令必须位于引导程序区。 在中断和调用子程序时返回地址的程序计数器(PC)保存于堆栈之中。堆栈位于通用数据SRAM,因此其深度仅受限于SRAM的大小。在复位例程里用户首先要初始化堆栈指针SP。那个指针位于I/O空间,能够进行读写访问。数据SRAM能够通过5种不同的寻址模式进行访问。 AVR存储器空间为线性的平面结构。 AVR有一个灵活的中断模块。操纵寄存器位于I/O空间。状态寄存器里有全局中断使能位。每个中断在中断向量表里都有独立的中断向量。各个中断的优先级与其在中断向量表的位置有关

44、,中断向量地址越低,优先级越高。 I/O存储器空间包含64个能够直接寻址的地址,作为CPU外设的操纵寄存器、SPI,以及其他I/O功能。映射到数据空间即为寄存器文件之后的地址0 x20-0 x5F。2.3.4 存储器ATmega16的存储器。AVR结构具有两个要紧的存储器空间:数据存储器空间和程序存储器空间。此外,ATmega16还有EEPROM存储器以保存数据。这三个存储器空间都为线性的平面结构。1、系统内可编程的Flash程序存储器ATmega16具有16K字节的在线编程Flash,用于存放程序指令代码。因为所有的AVR指令为16位或32位,故而Flash组织成8K16位的形式。用户程序的

45、安全性要依照Flash程序存储器的两个区:引导(Boot)程序区和应用程序区,分开来考虑。Flash存储器至少能够擦写10,000次。ATmega16的程序计数器(PC)为13位,因此能够寻址8K字的程序存储器空间。2、SRAM数据存储器图2.2给出了ATmega16 SRAM空间的组织结构。前1120个数据存储器包括了寄存器文件、I/O存储器及内部数据SRAM。起始的96个地址为寄存器文件与64个I/O存储器,接着是1024字节的内部数据SRAM。数据存储器的寻址方式分为5种:直接寻址、带偏移量的间接寻址、间接寻址、带预减量的间接寻址和带后增量的间接寻址。寄存器文件中的寄存器R26到R31为

46、间接寻址的指针寄存器。直接寻址范围可达整个数据区。 图2.2 ATmega16 SRAM 空间的组织结构 带偏移量的间接寻址模式能够寻址到由寄存器Y和Z给定的基址附近的63个地址。在自动预减和后加的间接寻址模式中,寄存器X、Y和Z自动增加或减少。ATmega16的全部32个通用寄存器、64个I/O寄存器及1024个字节的内部数据SRAM能够通过所有上述的寻址模式进行访问。3、EEPROM数据存储器ATmega16包含512字节的EEPROM 数据存储器。它是作为一个独立的数据空间而存在的,能够按字节读写。EEPROM 的寿命至少为100,000次擦除周期。EEPROM的访问由地址寄存器、数据寄

47、存器和操纵寄存器决定。I/O口介绍作为通用数字I/O使用时,所有AVR I/O端口都具有真正的读-修改-写功能。这意味着用SBI或CBI指令改变某些管脚的方向(或者是端口电平、禁止/使能上拉电阻)时可不能无意地改变其他管脚的方向(或者是端口电平、禁止/使能上拉电阻)。输出缓冲器具有对称的驱动能力,能够输出或汲取大电流,直接驱动LED。所有的端口引脚都具有与电压无关的上拉电阻。并有爱护二极管与VCC和地相连,如图2.3所示。图2.3 I/O引脚等效原理图1、I/O引脚等效原理图每个端口都有三个I/O存储器地址:数据寄存器 PORTx、数据方向寄存器DDRx和端口输入引脚PINx。数据寄存器和数据

48、方向寄存器为读/写寄存器,而端口输入引脚为只读寄存器。然而需要特不注意的是,对PINx寄存器某一位写入逻辑“1”将造成数据寄存器相应位的数据发生“0”与“1”的交替变化。当寄存器MCUCR的上拉禁止位PUD置位时所有端口引脚的上拉电阻都被禁止。2、端口配置引脚通用数字I/O的端口引脚是与第二功能复用的。使能某些引脚的第二功能可不能阻碍其他属于同一端口的引脚用于通用数字I/O目的。每个端口引脚都具有三个寄存器位:DDxn、PORTxn和PINxn,DDxn位于DDRx寄存器,PORTxn位于PORTx寄存器,PINxn位于PINx寄存器。DDxn用来选择引脚的方向。DDxn为“1”时,Pxn配置

49、为输出,否则配置为输入。引脚配置为输入时,若PORTxn 为“1”,上拉电阻将使能。假如需要关闭那个上拉电阻,能够将PORTxn清零,或者将那个引脚配置为输出。复位时各引脚为高阻态,即使现在并没有时钟在运行。当引脚配置为输出时,若PORTxn为“1”,引脚输出高电平“1”,否则输出低电平“0”。在(高阻态)三态(DDxn, PORTxn = 0b00)输出高电平(DDxn, PORTxn = 0b11)两种状态之间进行切换时,上拉电阻使能(DDxn, PORTxn = 0b01)或输出低电平(DDxn,PORTxn = 0b10)这两种模式必定会有一个发生。通常,上拉电阻使能是完全能够同意的,

50、因为高阻环境不在意是强高电平输出依旧上拉输出。假如使用情况不是如此子,能够通过置位SFIOR寄存器的PUD来禁止所有端口的上拉电阻。在上拉输入和输出低电平之间切换也有同样的问题。用户必须选择高阻态(DDxn,PORTxn = 0b00)或输出高电平(DDxn,PORTxn = 0b10)作为中间步骤。3、端口的第二功能(1)端口A的第二功能端口A作为ADC模拟输入的第二功能示于表2.1。假如端口A的部分引脚置为输出,当转换时不能切换,否则会阻碍转换结果。表2.1端口A的第二功能端口引脚第二功能PA7ADC7 (ADC 输入通道7)PA6ADC6 (ADC 输入通道6)PA5ADC5 (ADC

51、输入通道5)PA4ADC4 (ADC 输入通道4)PA3ADC3 (ADC 输入通道3)PA2ADC2 (ADC 输入通道2)PA1ADC1 (ADC 输入通道1)PA0ADC0 (ADC 输入通道0)(2)端口B的第二功能引脚配置如下: SCK端口B,Bit7SCK:SPI通道的主机时钟输出,从机时钟输入端口。工作于从机模式时,不论DDB7设置如何,那个引脚都将设置为输入。工作于主机模式时,那个引脚的数据方向由DDB7操纵。设置为输入后,上拉电阻由PORTB7操纵。 MISO端口B,Bit6MISO:SPI通道的主机数据输入,从机数据输出端口。工作于主机模式时,不论DDB6设置如何,那个引脚

52、都将设置为输入。工作于从机模式时,那个引脚的数据方向由DDB6操纵。设置为输入后,上拉电阻由PORTB6操纵。表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 外部时钟输入/输出) MO

53、SI端口B,Bit5MOSI:SPI通道的主机数据输出,从机数据输入端口。工作于从机模式时,不论DDB5设置如何,那个引脚都将设置为输入。当工作于主机模式时,那个引脚的数据方向由DDB5操纵。设置为输入后,上拉电阻由PORTB5操纵。 SS端口B,Bit4SS:从机选择输入。工作于从机模式时,不论DDB4设置如何,那个引脚都将设置为输入。当此引脚为低时SPI 被激活。工作于主机模式时,那个引脚的数据方向由DDB4操纵。设置为输入后,上拉电阻由PORTB4操纵。 AIN1/OC0端口B,Bit3AIN1,模拟比较负输入。配置该引脚为输入时,切断内部上拉电阻,防止数字端口功能与模拟比较器功能相冲突

54、。OC0,输出比较匹配输出:PB3引脚可作为T/C0比较匹配的外部输出。实现该功能时,PB3引脚必须配置为输出(设DDB3为1)。在PWM模式的定时功能中,OC0引脚作为输出。 AIN0/INT2端口B,Bit2AIN0,模拟比较正输入。配置该引脚为输入时,切断内部上拉电阻,防止数字端口功能与模拟比较器功能相冲突。INT2,外部中断源2:PB2引脚作为MCU的外部中断源。 T1端口B,Bit1T1,T/C1计数器源。 T0/XCK端口B,Bit0T0,T/C0计数器源。XCK,USART外部时钟。数据方向寄存器(DDB0)操纵时钟为输出(DDB0置位)依旧输入(DDB0 清零)。只有当USAR

55、T工作在同步模式时,XCK引脚激活。(3)端口C的第二功能端口C的第二功能如表2.3。若JTAG接口使能,即使出现复位,引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻将被激活。表2.3 端口C的第二功能端口引脚第二功能PC7TOSC2 ( 定时振荡器引脚2)PC6TOSC1 ( 定时振荡器引脚1)PC5TDI (JTAG 测试数据输入)PC4TDO (JTAG 测试数据输出)PC3TMS (JTAG 测试模式选择)PC2TCK (JTAG 测试时钟)PC1SDA ( 两线串行总线数据输入/ 输出线)PC0SCL ( 两线串行总线时钟线)第二功能配置如下: TOSC2端口C,

56、Bit7TOSC2,定时振荡器引脚2:当寄存器ASSR 的AS2 位置1,使能T/C2的异步时钟,引脚PC7 与端口断开,成为振荡器放大器的反向输出。在这种模式下,晶体振荡器与该引脚相联,该引脚不能作为I/O 引脚。 TOSC1端口C,Bit6TOSC1,定时振荡器引脚1:当寄存器ASSR 的AS2 位置1,使能T/C2的异步时钟,引脚PC6与端口断开,成为振荡器放大器的反向输出。在这种模式下,晶体振荡器与该引脚相联,该引脚不能作为I/O引脚。 TDI端口C,Bit5TDI,JTAG测试数据输入:串行输入数据移入指令寄存器或数据寄存器(扫描链)。当JTAG接口使能,该引脚不能作为I/O引脚。

57、TDO端口C,Bit4TDO,JTAG测试数据输入:串行输入数据移入指令寄存器或数据寄存器(扫描链)。当JTAG接口使能,该引脚不能作为I/O引脚。TD0引脚在除TAP状态情况外为三态,进入移出数据状态。 TMS端口C,Bit3TMS,JTAG测试模式选择:该引脚作为TAP操纵器状态工具的定位。当JTAG接口使能,该引脚不能作为I/O引脚。 TCK端口C,Bit2TCK,JTAG测试时钟:JTAG工作在同步模式下。当JTAG接口使能,该引脚不能作为I/O引脚。 SDA端口C,Bit1SDA,两线串行接口数据:当寄存器TWCR的TWEN位置1使能两线串行接口,引脚PC1不与端口相联,且成为两线串

58、行接口的串行数据I/O引脚。在该模式下,在引脚处使用窄带滤波器抑制低于50ns的输入信号,且该引脚由斜率限制的开漏驱动器驱动。当该引脚使用两线串行接口,仍可由PORTC1位操纵上拉。 SCL端口C,Bit0SCL,两线串行接口时钟:当TWCR寄存器的TWEN位置1使能两线串行接口,引脚PC0未与端口连接,成为两线串行接口的串行时钟I/O引脚。在该模式下,在引脚处使用窄带滤波器抑制低于50ns的输入信号,且该引脚由斜率限制的开漏驱动器驱动。当该引脚使用两线串行接口,仍可由PORTC0位操纵上拉。(4)端口D的第二功能表2.4 端口D的第二功能端口引脚第二功能PD7OC2 (T/C2 输出比较匹配

59、输出)PD6ICP1 (T/C1 输入捕捉引脚)PD5OC1A (T/C1 输出比较A 匹配输出)PD4OC1B (T/C1 输出比较B 匹配输出 )PD3INT1 ( 外部中断1 的输入)PD2INT0 ( 外部中断0 的输入)PD1TXD (USART 输出引脚)PD0RXD (USART 输入引脚)第二功能配置如下: OC2端口D,Bit7OC2,T/C2输出比较匹配输出:PD7引脚作为T/C2输出比较外部输入。在该功能下引脚作为输出(DDD7置1)。在PWM模式的定时器功能中,OC2引脚作为输出。 ICP1端口D,Bit6ICP1输入捕捉引脚:PD6 作为T/C1 的输入捕捉引脚。 O

60、C1A端口D,Bit5OC1A,T/C2输出比较匹配A输出:PD5引脚作为T/C1输出比较A外部输入。在该功能下引脚作为输出(DDD5 置1)。在PWM 模式的定时器功能中,OC1A引脚作为输出。 OC1B端口D,Bit4OC1B,T/C1输出比较匹配B输出:PD4引脚作为T/C1输出比较B外部输入。在该功能下引脚作为输出(DDD4置1)。在PWM模式的定时器功能中,OC1B引脚作为输出。 INT1端口D,Bit3INT1,外部中断1。PD3引脚作为MCU的外部中断源。 INT0端口D,Bit2INT0,外部中断0。PD2引脚作为MCU的外部中断源。 TXD端口D,Bit1TXD是USART的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论