ATMEGA128单片机的数据实时采集系统

上传人:文**** 文档编号:73833795 上传时间:2022-04-12 格式:DOC 页数:70 大小:2.24MB
收藏 版权申诉 举报 下载
ATMEGA128单片机的数据实时采集系统_第1页
第1页 / 共70页
ATMEGA128单片机的数据实时采集系统_第2页
第2页 / 共70页
ATMEGA128单片机的数据实时采集系统_第3页
第3页 / 共70页
资源描述:

《ATMEGA128单片机的数据实时采集系统》由会员分享,可在线阅读,更多相关《ATMEGA128单片机的数据实时采集系统(70页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上摘 要随着电子科技的不断发展与进步,电压测量成为广大电子领域中必须掌握的过程,并且对测量的精度和采集功能的要求也越来越高,而电压的测量与显示系统甚为重要。本文介绍的重点是电压数据的采集与显示系统,数据采集与通信控制采用了单片机ATMEGA128来实现,硬件部分是以单片机为核心,还包括ISP下载模块,显示模块,复位和晶振部分,还有一些简单的外围电路。8路被测电压通过ATMEGA128自带的模-数转换,实现对采集到的数据进行模拟量到数字量的转换,由单片机对数据进行处理,用LED数码管模块来显示所采集的结果,由相关控制器完成数据接收和显示,c程序编写了更加明了化数据显示界面

2、。本系统主要包括四大模块:数据采集模块、控制模块、显示模块、A/D转换模块。绘制电路原理图与工作流程图,并进行调试,最终设计完成了该系统的硬件电路。在软件编程上,采用了C语言进行编程,开发环境使用相关集成开发环境。开发了显示模块程序、通道切换程序、A/D转换程序。关键词:单片机;LED;A/D转换;模块显示;电压测量AbstractAlong with the development of electronic technology progress, voltage measurement of electronic fields become broad must grasp of the

3、 process, and the accuracy of measurement and collection function requirements, and more and more is also high voltage measurement and display system is very important. This paper focuses on voltage data acquisition and display system, data collection and communication control using modular design,

4、data collection and communication control adopted MCU ATMEGA128, hardware part is, still include singlechip mode - several module, ISP download module, display module, Reset and part of vibration, and some simple outer circuit. 8 and the voltage to be measured by ATMEGA128 own mode - and to count th

5、e collected data for analog to digital, by SCM processing of data, using a digital display module to show the tube, the related results of collecting data receiving and display controller, C programming and the data showed that the interface. This system mainly including four modules: the data acqui

6、sition module, control module, display module, A/D conversion module. Draw circuit principle diagram and the work flow, and debugging, finally completed the system design of hardware circuit. In software programming, the C language program development environment, use the integrated development envi

7、ronment. Develop A display module procedures, channel switching procedures, A/D conversion program.Key words: SCM, LED, A/D conversion, module display voltage measurements.目 录引 言.11 绪论.2 1.1 研究背景及其目的意义.2 1.2 国内外研究现状.3 1.3 该课题研究的主要内容.32 数据采集总体设计.5 2.1 系统设计的基本要求.5 2.2 数据采集系统结构功能及简介.52.3 硬件开发工具.62.3.1

8、Altium Designer6.9简介 .62.3.2 Altium Designer6.9设计理念.62.3.3 Altium Designer6.9特点.72.4 软件开发工具.82.4.1 ICCAVR.82.5 SLISP软件.92.5.1 软件特点.102.5.2 软件使用步骤.103 硬件设计.123.1 CUP选型122203.2 直流稳压电源.24 3.3 单片机基本模块.25 3.3.1 ISP下载模块.25 3.3.2 复位电路模块.253.3.3 晶振模块.263.3.4 蜂鸣器模块.273.3.5 LED显示模块.273.3.6 A/D转换模块.294 软件设计.33

9、 4.2.2 ATmega128函数.345 结 论.39致 谢.40参考文献.41附录A 英文原文.42附录B 中文翻译.49附录C 原理图54附录D PCB图.55附录E 程序清单57专心-专注-专业引 言当今,电压采集技术应用范围非常的广阔。通常根据采集电压大小不同而采集装置不同,有些电压采集装置只适合于采集比较大的电压,则有些适用于采集比较小的电压。AVR的ATMEGA128单片机的快速性、可靠性以及易更新性使得它成为完成这一任务的目前很好的选择。利用ATMEGA128单片机设计的模块非常简洁,因为该芯片自身带有AD转换模块,可以将采集的模拟电压信号转换成数字量。本系统针对电压采集精度

10、的局限性,充分利用ATMEGA128单片机芯片的优越性,设计一种基于单片机的电压采集系统,实现实时测量,并用数码管显示其电压,对于促进电压检测技术的发展有着重要现实意义。随着计算机技术的快速发展,电压采集装置在工业生产中迅速得到了应用。作为电力产业新领域,电压采集技术显示出强劲的发展势头,在安全生产,家用电器,数据采集等领域发挥出越来越重要的作用,甚至在一些特殊情况下。各种实际应用结果表明,该系统具有很好的应用效果和良好的应用前景。1 绪论1.1 研究背景及其目的意义近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。数据采集系统起始于

11、20世纪50年代,1956年美国最先在军事上研究的数据采集测试系统,目标是测试过程中不依靠相关的测试文件,由非熟练人员进行操作,并且是由测试设备自动控制高速完成测试任务。由于该种数据采集测试系统具有高速和灵活等特性,可以满足许多传统方法不能完成的数据采集和测试任务,因而得到了人们的初步认可。大概在60年代后期,国外市场就有成套的数据采集设备出现1。20世纪70年代后期,随着微型机的发展,出现了采集器、仪表同计算机溶为一体的数据采集系统。由于这种数据采集系统优良的性能,超过了传统的专用数据采集系统和自动检测仪表,因而获得了高速的发展。从70年代起,数据采集系统在以后发展过程中逐渐演变成为两类,一

12、类是工业现场的数据采集系统,另一类是实验室的数据采集系统2。20世纪80年代计算机的高速发展和在生活中的应用,使数据采集系统获得了较快的发展,逐步出现了自动测试系统与通用的数据采集。那时候的数据采集系统主要分为两类,一类由采集器和通用接口总线、仪表仪器和计算机组成。这类系统不仅在实验室获得了较多的应用,在工业生产中也有一定程度的应用。第二类以标准总线、数据采集卡和计算机构成,这一类主要应用于工业现场。20世纪80年代中后期,数据采集发生了惊人的变化,单片机、大规模集成电路和工业计算机的组合,用软件来完成管理任务,使系统的体积变小,成本降低,功能大大增强,数据处理能力倍增3。自20世纪90年代至

13、今,一些技术先进的国家,数据采集系统已成功的运用到工业、航空电子设备及宇航技术、军事等诸多领域。随着集成电路制造技术的提高,出现了高性能、可靠性较高的单片机数据采集系统(DAS)。数据采集技术俨然已经成为一种专门的技术,在工业等领域得到了广泛应用4。该阶段的数据采集系统采用模块化结构,根据不同的应用需求,通过简单的增加和更改模块,并结合系统编程,就可以扩展和修改系统,迅速组成一个新的系统。尽管现在以微机为核心的可编程数据采集技术的发展方向得到了迅速的发展,而且组成一个数据采集系统只需要一块数据采集卡,把它插在微机的扩展槽内并辅以应用软件,就能实现数据采集的功能,但这并不会对基于单片机为核心的数

14、据采集系统产生根本性的影响。相较于数据采集板卡功能和成本的限制,单片机具高效率、高性能、低电压、低功耗、低价格、多功能等优点,而双单片机又具有精度较高、转换速度快、能够对多点同时进行采集,因此能够开发出能满足实际应用要求的、电路结构简单的、可靠性高的数据采集系统。这就使得以单片机为核心的数据采集系统能在许多领域得到广泛的应用。1.2 国内外研究现状数据采集系统是通过采集传感器输出的模拟信号并转换成数字信号,并进行分析、处理、传输、显示、存储和显示。它起始于20世纪中期,在过去的几十年里,随着信息领域各种技术的发展,在数据采集方面的技术也取得了长足的进步,采集数据的信息化是目前数据采集技术发展的

15、主流方向。多数领域都用到了数据采集,在飞机飞行、石油勘探、科学实验、地震数据采集领域已经得到广泛的应用。我国的数字地震观测系统主要采用TDE-124C型TDE-224C型地震数据采集系统。近年来,又成功研制了动态范围更大、线性度更高、兼容性更强、低功耗可靠性的TDE-324C型地震数据采集系统。该数据采集对拾震计输出的电信号模拟放大后送至A/D数字化,A/D采用同时采样,采样数据经DSP数字滤波处理后,变成数字地震信号。该数据采集系统具备24位A/D转化位数,采样率有50HZ、100HZ、200HZ 5.美国PASCO公司生产的“科学工作室”是数据采集应用于物理实验的崭新系统,它主要由3部分组

16、成:(1)传感器:利用先进的传感技术可实时采集物理实验中各种物理量;(2)计算机接口:将传感器采集到的数据信号输入计算机,采样速率最高为25万次/S;(3)软件:英文及中文的应用软件6。受需求牵引,新一代机载数据采集系统为满足飞行实验应用也在快速地发展。如爱尔兰ACRA公司2000年研发推出的新一代KAM500机载数据采集系统到了2006年。该系统采用16位(A/D)模拟数字变换,总采样率达500K/S,同步时间为+/-250ns,可以利用方式组成高达1000通道的大容量的分布式采集系统。1.3 该课题研究的主要内容数据采集技术是信息科学的重要分支之一, 它研究信息数据的采集、存储、处理以及控

17、制等问题。它是对传感器信号的测量与处理, 以微型计算机等高技术为基础而形成的一门综合应用技术。数据采集也是从一个或多个信号获取对象信息的过程。随着微型计算机技术的快速发展和普及应用,数据采集监测技术已成为非常重要的检测技术,被广泛地应用于工农业等需要同时监控压力、温度和湿度等数据的场合。数据采集是工业控制等系统不可缺少的环节,大多采用一些功能相对独立的专用单片机系统来实现其控制功能。作为测控系统至关重要的部分,数据采集系统的性能直接影响到整个系统的运转。传统的基于单片机的数据采集系统就是因为没有上位机的支持,所以无论使用什么样的数据存储器,它都只有有限的存储容量,所以不得不覆盖刷新历史数据,这

18、样一来不利于用户整体分析数据,因而也不能准确地把握生产过程的状况并做出适当的计划。本系统采用下位机负责模拟数据的采集,单片机负责采集八路数据,并应答主机发送的命令,上位机即主机是负责处理接受过来的数字量的处理及显示,主机和从机之间用ISP下载进行通信。这样用户可以在上位机上编写各种程序对文件中的数据进行有效查询和分析,有利于工业过程的长期正常运行和检查。该系统采用的是ATMEGA128单片机,此芯片功能比较强大,能够满足设计要求。2 数据采集总体设计2.1 系统设计的基本要求1、将采集的模拟信号转换成方便处理的数字量。2、对完成转换后的数字量进行处理。3、能够控制信号的采集、处理、显示等。4、

19、该系统要具有准确性、可靠性和稳定性。5、给出具体的硬件和软件。在系统的扩展和配置设计中,应遵循以下原则 : 为了给硬件系统的标准化、模块化打下基础,尽可能多地选择典型电路。系统外围设备的配置要满足系统的功能要求,留有余地,以便进行改进。应将硬件结构和软件相结合。系统中相关器件要尽可能做到性能匹配 2.2 数据采集系统结构功能及简介数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广泛应用在各个领域。70年代初,随着大规模集成电路及计算机技术的发展,特别是微处理器及高速A/D转换器的诞生,数据采集的系统结构发生了重大的改变。原来由硬件程序控制器组成

20、的采集系统及小规模集成的数字逻辑电路变为被由微处理器控制的采集系统所代替。由微处理器完成程序控制,逻辑操作及大部分数据处理,使系统的可靠性和灵活性得到了较大的提高,系统的硬件成本和重建费用也得到了较大的降低7。在本系统中需要将模拟量转换为数字量,而 A/D是将模拟量转换为数字量的器件,它需要考虑的指标有:分辨率、转换时间、转换误差等等。而单片机是该系统的基本的微处理系统,它完成数据读取、处理及逻辑控制,数据传输等一系列的任务。在该系统中采用的是AVR系列的单片机。双机通信的串行口可以采用ISP实现双机的通信。而数据的显示则采用的是LCD1602液晶显示,该器件比较简单,在生活中接触也较多。其中

21、:ATMEGA128 ( 主控芯片) : CPU 作为该系统的核心控制芯片, 起采集、控制显示的作用。显示模块:采用LCD1602用来显示采集到的数值。通信模块:采用ISP实现单片机与PC机间的通信。模数转换模块:采用ATMEGA128自带的10位A/D转换进行模拟信号到数字信号的转换,以供给单片机采集数据。系统框图如图2.1所示: 图2.1系统框图 2.3 硬件开发工具2.3.1 Altium Designer6.9简介 Altium Designer 提供了唯一一款统一的应用方案,其综合电子产品一体化开发所需的所有必须技术和功能。Altium Designer 在单一设计环境中集成板级和F

22、PGA系统设计、基于FPGA和分立处理器的嵌入式软件开发以及PCB版图设计、编辑和制造。并集成了现代设计数据管理功能,使得Altium Designer成为电子产品开发的完整解决方案一个既满足当前,也满足未来开发需求的解决方案。2.3.2 Altium Designer6.9设计理念 1、原理图设计系统这是一个易于使用的具有大量元件库的原理图编辑器,主要用于原理图的设计。它可以为印制电路板设计提供网络表。该编辑器除了具有强大的原理图编辑功能以外,其分层组织设计功能、设计同步器、丰富的电气设计检验功能及强大而完善的打印输出功能,使用户可以轻松完成所需的设计任务。 2、印制电路板设计系统它是一个功

23、能强大的印制电路板设计编辑器,具有非常专业的交互式布线及元件布局的特点,用于印制电路板(PCB)的设计并最终产生PCB文件,直接关系到印制电路板的生产。Altium Designer6.9的印制电路板设计系统可以进行多达32层信号层、16层内部电源/接地层的布线设计,交互式的元件布置工具极大地减少了印制板设计的时间。同时它还包含一个具有专业水准的PCB信号完整性分析工具、功能强大的打印管理系统、一个先进的PCB三维视图预览工具。此外,Altium Designer6.9还包含一个功能强大的基于SPICE 3f5的模/数混合信号仿真器,使设计者可以方便地在设计中对一组混合信号进行仿真分析。同时,

24、它还提供了一个高效、通用的可编程逻辑器件设计工具。2.3.3 Altium Designer6.9设计理念Altium Designer6.9提供了大量的仿真元件和数学模型器件,可以对电工电路,低频电子线路、高频电子线路和脉冲数字电路在一定范围内进行仿真分析。 仿真结果以多种图形方式输出,直观明了,可以单图精细分析,也可以多图综合比较分析、并可通过不同的角度进行分析,以获得对电路设计的准确判断。 Altium Designer6.9仿真方面其具有的特点有: 1、强大的分析功能 用户可以根据Altium Designer6.9电路仿真器所提供的功能,分析设计电路的各方面性能,如电路的交直流特性、

25、温度漂移、噪声、失真、容差、最坏情况等特性。 2、丰富的信号源 其中包括基本信号源:直流源、正弦源、脉冲源、指数源、单频调频源、分段线性源,同时还提供了齐全的线性和非线性受控源。 3、充分的仿真模型库 Altium Designer6.9提供了20多个模拟和数字仿真元件库,共包含6000多个常用元器件。这些组件库包括了常用二极管、三极管、单结晶体管、变压器,晶闸管、双向晶闸管等分立组件,还有大量的数字器件和其它集成电路器件。同时Altium Designer6.9提供了一个开放的库维护环境,允许设计者改变原有器件模型,也可创建新器件模型。 4、友好的操作界面 (1)无需手工编写电路网表文件。系

26、统将根据所画电路原理图自动生成网表文件并进行仿真。(2) 通过对话框完成电路分析各参数设置。(3) 方便地观察波形信号。可同时显示多个波形,也可单独显示某个波形;可对波形进行多次局部放大,也可将两个波形放置于同一单元格内进行显示并分析比较两者的差别。(4) 强大的波形信号后处理,可利用各种数学函数对波形进行各种分析运算并创建一个新的波形。方便地测量输出波形。Altium Designer6.9提供了两个测量光标,打开它们可测量波形数据。2.4 软件开发工具2.4.1 ICCAVR运行ICCAVR,则出现以下界面。图2.6 ICCAVR操作界面图自ATMEL公司的AT90系列单片机诞生以来有很多

27、第三方厂商为AT90系列开发了用于程序开发的C语言工具,ICCAVR就是ATMEL公司推荐的第三方C编译器之一。ICCAVR是一种符合ANSI标准的C语言来开发MCU(单片机)程序的一个工具,功能合适、使用方便、技术支持好,它主要有以下几个特点:1、ICCAVR是一个综合了编辑器和工程管理器的集成工作环境(IDE);2.、源文件全部被组织到工程之中,文件的编辑和工程的构筑也在这个环境中完成,错误显示在状态窗口中,并且当你点击编译错误时,光标自动跳转到错误的那一行;3、.该工程管理器还能直接产生 INTEL HEX格式文件的烧写文件(该格式的文件可被大多数编译器所支持,可以直接下载到芯片中使用)

28、和符合 AVRStudio的调试文件(COFF格式)。ICCAVR是一个32位的程序,支持长文件名,。ICCAVR是一个综合了编辑器和工程管理器的集成开发环境(IDE),是一个纯32位的程序,可在 Win 95、Win 98、Win ME、Win NT、Win 2000、Win XP和Win 7环境下运行。iccavr简介iccavr 是一种使用ansi 标准c 语言来开发微控制器(mcu)程序的一个工具,它是一个综合了编辑器和工程管理器的集成工作环境(ide)。源文件全部被组织到工程之中,文件的编辑和工程(project)的构筑也在ide 的环境中完成。编译错误在状态窗口中显示,用鼠标单击编

29、译错误时,光标会自动跳转到出错行。这个工程管理器还能直接产生intel hex格式的烧写文件和可以在avr studio 中调试的coff 格式的调试文件。这里特别要提一下iccavr 中的应用构筑向导,可以在tools 栏中选择“applicationbiulder”或者直接点击快捷工具栏中的“application biulder”图标,就可以打开应用构筑向导对话框,可以根据需要设定芯片种类,各个端口初始值,是否使用定时器,中断,uart等,选好以后单击“ok”就可以得到所需的硬件初始化程序段,非常可靠而且方便。下面介绍一下创建并编译一个工程文件的简要步骤:新建一个源文件从file 菜单中

30、选择new,创建一个新文件,在改文件中输入源程序并进行编辑和修改,然后存盘,在存盘时必须指定文件类型,如命名为:try.c 。写一个新文件的步骤:首先用biulder 初始化需要用到的硬件资源,生成初始化程序,然后再写需要的代码实现所要的功能。新建一个project从projrct 菜单中选择new 命令,ide 会弹出一个对话框,在对话框中用户可以指定工程存放的文件夹和工程的名称。在建立一个新工程之后,在工程管理器的窗口会出现三个子目录,files, headers, documents,这时就可以将要编译的文件添加到project 中了。把文件添加到工程中可以在project-files

31、里单击右键,选择需要添加的文件;也可以在编辑窗口中单击右键选择弹出窗口的“add to project”命令。编译源文件在编译之前特别要注意在project options 中选择与硬件相应的芯片。在project 中选择make project,也可以直接单击快捷键f9,这时要是有错则会弹出出错信息,修改调试正确以后单击快捷键isp 就可以烧写到硬件中去了。2.5 SLISP 软件2.5.1 软件特点1、支持的下载线有两种:双龙电子的串行通信下载线SL-AVRL和并行通信下载线AVR-ISP 。该软件还适用所有双龙SL系列AVR/AT89S单片机开发实验器。 2、支持的器件为ATMEL公司的

32、AT89S 系列(包含AT89S51/52)和AVR 系列。 3、支持的烧录文件格式:INTEL 格式的HEX文件、EEP 文件,二进制BIN 文件。 4、支持缓冲区数据修改和保存,缓冲区中的数据可以保存为二进制BIN 文件,INTEL 格式的HEX或EEP 文件。 5、缓冲区中的数据还可以保存为C 程序中的char 或unsigned char 类型数组文件,以方便程序开发者处理某些特殊应用 。 6 、软件通过串口和下载线相连接,支持USB转换成的串口通信,适合一些使用没有串口的NOTE BOOK 的用户。 7、下载线默认的波特率为 19200 ,用户可以向双龙公司订购波特率较高的下载线,以

33、提高在系统编程的速度。 8、本软件的OS平台可以是WIN98/ME、WIN2K、WINXP。 9 、本程序还支持ATMEL 通信协议的IAP 编程(Self-programming) ,但软件标识应当标志为“AVRBOOT ”。 10、只有注册用户才可以使用并行通信下载线 AVR-ISP ,双龙电子为更好地服务于客户,实行免费注册制。2.5.2 软件使用步骤 1、安装软件; 2、打开软件选芯片、接口图2.7程序下载操作界面图 3、配置熔丝图2.8配置熔丝操作界面图 4、开始调试3 硬件设计3.1 CUP选型3.1.1 ATmega128 简介本课题是基于AVR单片机。所以选用ATMEL公司推出

34、的ATMEG128L完成。ATmega128为基于AVR RISC 结构的8 位低功耗CMOS微处理器。由于其先进的指令集以及单周期指令执行时间,ATmega128 的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。3.1.2 ATmega128 特点图3.1 ATmega128引脚图高性能、低功耗的 AVR8 位微处理器先进的 RISC 结构 133 条指令 大多数可以在一个时钟周期内完成32 x 8 通用工作寄存器 + 外设控制寄存器全静态工作工作于16 MHz 时性能高达16 MIPS只需两个时钟周期的硬件乘法器非易失性的程序和数据存储器128K 字节的系统

35、内可编程Flash 寿命: 10,000 次写 / 擦除周期 具有独立锁定位、可选择的启动代码区通过片内的启可以对锁定位进行编程以实现软件加密可以通过SPI 实现系统内编程JTAG 接口( 与IEEE 1149.1 标准兼容)遵循JTAG 标准的边界扫描功能支持扩展的片内调试通过JTAG 接口实现对Flash, EEPROM, 熔丝位和锁定位的编程外设特点两个具有独立的预分频器和比较器功能的8 位定时器 / 计数器两个具有预分频器、比较功能和捕捉功能的16位定时器 / 计数器具有独立预分频器的实时时钟计数器两路8 位PWM6路分辨率可编程 (2 到16位)的PWM输出比较调制器8路10位ADC

36、8 个单端通道个差分通道个具有可编程增益 (1x, 10x, 或200x)的差分通道 面向字节的两线接口 两个可编程的串行USART可工作于主机 / 从机模式的 SPI 串行接口具有独立片内振荡器的可编程看门狗定时器片内模拟比较器特殊的处理器特点上电复位以及可编程的掉电检测 片内经过标定的RC振荡器 片内 / 片外中断源6种睡眠模式: 空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby 模式以及扩展的Standby 模式可以通过软件进行选择的时钟频率通过熔丝位可以选择ATmega103 兼容模式 全局上拉禁止功能I/O 和封装53个可编程I/O 口线64引脚TQFP 与 64 引

37、脚 MLF 封装工作电压 2.7 - 5.5V ATmega128L 4.5 - 5.5V ATmega128速度等级 0 - 8 MHz ATmega128L0 -16 MHz ATmega128L 3.1.3 定时器和计数器 T/C0是一个通用的,单通道8 位定时器/ 计数器模块。其主要特点如下:单通道计数器,比较匹配发生时清除定时器( 自动加载)无毛刺的相位修正PWM频率发生器,10位时钟预分频器,溢出和比较匹配中断源(TOV0 和OCF0),允许外部32kHz 钟振作为时钟与T/C0相关的寄存器T/C0控制寄存器(TCCR0)图3.2寄存器TCCR0图8位寄存器TCCR0是T/C0的控

38、制寄存器,通过对其各个标志位的设置,用户可以设计计数器的计数源、工作模式以及比较输出方式等进行选择,它的地址为0053,初始化值为00。Bit 7 FOC0: 强制输出比较FOC0 仅在WGM指明非PWM模式时才有效。但是,为了保证与未来器件的兼容性,在使用PWM 时,写 TCCR0要对其清零。对其写1 后,波形发生器将立即进行比较操作。比较匹配输出引脚 OC0 将按照COM01:0的设置输出相应的电平。要注意FOC0 仅仅是一个启动信号,真正对强制输出比较起作用的是COM01:0的设置。 FOC0 不会引发任何中断,也不会在使用 OCR0 作为TOP的CTC模式下对定时器进行清零。读FOC0

39、 的返回值永远为0。Bit 6, 3 WGM01:0: 波形产生模式这几位控制计数器的计数序列,计数器最大值TOP的来源,以及使用何种波形。T/C 支持的模式有:普通模式,比较匹配发生时清除计数器模式(CTC) ,以及两种PWM 模式,如表3.1表3.1模式WGM01 (CTC0)WGM00(PW0)T/C的工作模式TOPOCR0的更新时间TOV0的置位时间000普通0XFF立即更新MAX101PWM,相位修正0XFFTOPBOTTM210CTCOCR0立即更新MAX311快速PWMOXFFTOPMAXBit 5:4 COM01:0: 比较匹配输出模式这些位控制输出比较引脚OC0的行为。若 C

40、OM01:0的任意一位或两位都置位,OC0输出功能将重载普通端口功能。此时数据方向寄存器 (DDR) 需要按照OC0功能进行设置。当OC0连接到物理引脚上时,COM01:0式时COM01:0的功能。表3.2 COM01 COM00 说明 0 0正常的端口操作,OC0未连接 0 1比较匹配发生时OC0取反 1 0 比较匹配发生时OC0清0 1 1比较匹配发生时OC0置位 下面给出了当WGM01:0设置为快速PWM 模式时COM01:0的功能表3.3COM01COM00 说明00正常的端口操作,OC0未连接01保留10比较匹配发生时OC0清零,计数到TOP时OC0置位11比较匹配发生时OC0置位,

41、计数到TOP时OC0清零Bit 2:0 ( CS02:0): 时钟选择位这三个标志位用来选择设定T/C0的时钟源,如下表所示表3.4CS02CS01CS00说明000无时钟,T/C 不工作001clkTOS/( 没有预分频)010clkTOS/8 ( 来自预分频器)011clkTOS/32 ( 来自预分频器)100clkTOS/64 ( 来自预分频器)101clkTOS/128 ( 来自预分频器)110clkTOS/256 ( 来自预分频器)111clkTOS/1024 ( 来自预分频器) T/CO寄存器(TCNT0)图3.3寄存器TCNT0图通过T/C 寄存器可以直接对计数器的8 位数据进行

42、读写访问。对 TCNT0寄存器的写访问将在下一个时钟阻止比较匹配。在计数器运行的过程中修改TCNT0的数值有可能丢失一次TCNT0和OCR0 的比较匹配。它的地址为$0052,初始化值为$00。定时器/计数器中断屏蔽寄存器(TIMSK)定时器/计数器中断屏蔽寄存器(TIMSK)的地址为$0057,初始化值为$00.寄存器TIMSK各位的定义如下:图3.4寄存器TCNT0图Bit 1 OCIE0: T/C0 输出比较匹配中断使能当OCIE0和状态寄存器的全局中断使能位I 都为1 时,T/C0的输出比较匹配中断使能。当T/C0的比较匹配发生,即TIFR中的OCF0 置位时,中断例程得以执行。Bit

43、 0 TOIE0: T/C0溢出中断使能当OCIE0和状态寄存器的全局中断使能位I 都为1 时,T/C0的溢出中断使能。当 T/C0发生溢出,即TIFR中的TOV0 位置位时,中断例程得以执行。定时器/计数器中断标志寄存器(TIFR)定时器/计数器中断标志寄存器(TIFR)的地址为$0056,初始化值为$00。寄存器各位的定义如下:Bit 1 OCF0: 输出比较标志0当T/C0与OCR0(输出比较寄存器0) 的值匹配时,OCF0 置位。此位在中断例程里硬件清零,或者通过对其写1 来清零。当SREG 中的位I、OCIE0和OCF0 都置位时,中断例程得到执行。Bit 0 TOV0:T/C0 溢

44、出标志当T/C0溢出时,TOV0 置位。执行相应的中断例程时此位硬件清零。此外,TOV0 也可以通过写1 来清零。当 SREG 中的位I、TOIE0 和TOV0 都置位时,中断例程得到执行。在PWM 模式中,当T/C0在$00 改变记数方向时,TOV0 置位。 16位定时/计数器116位的T/C 可以实现精确的程序定时( 事件管理) 、波形产生和信号测量。其主要特点如下真正的16位设计( 即允许16位的PWM)3 个独立的输出比较单元双缓冲的输出比较寄存器 一个输入比较单元 输入捕捉噪声抑制器 比较匹配发生时清除寄存器( 自动重载)无毛刺的相位修正PWM可变的PWM 周期频率发生器外部事件计数

45、器10个独立的中断源(TOV1 、OCF1A、 OCF1B 、 OCF1C 、 ICF1 、 TOV3 、 OCF3A 、 OCF3B 、 OCF3C和ICF控制寄存器A(TCCR1A)寄存器TCCR1A的地址为$004F,初始化值为$00。其各位的定义如下:图3.5寄存器TCCR1A图Bit 7:6 COMnA1:0: 通道A 的比较输出模式Bit 5:4 COMnB1:0: 通道B 的比较输出模式Bit 3:2 COMnC1:0: 通道C 的比较输出模式COMnA1:0 、COMnB1:0 与COMnC1:0分别控制OCnA 、OCnB 与OCnC 的状态。如果COMnA1:0(COMnB

46、1:0 或COMnC1:0)的一位或两位被写入 1”,OCnA( OCnB或OCnC )输出功能将取代I/O 端口功能。此时OCnA( OCnB 或OCnC ) 相应的输出引脚数据方向控制必须置位以使能输出驱动器。当OCnA(OCnB 或OCnC )与物理引脚相连时,COMnx1:0 的功能由WGMn3:0的设置决定。控制寄存器B (TCCR1B)寄存器TCCR1B的地址为$004E,初始化值为$00.其各位的定义如下:图3.6寄存器TCCR1B图Bit 7 ICNCn: 输入捕捉噪声抑制器置位ICNC1 将使能输入捕捉噪声抑制功能。此时外部引脚ICPn 的输入被滤波。其作用是从ICPn 引脚

47、连续进行4 次采样。如果4 个采样值都相等,那么信号送入边沿检测器。因此使能该功能使得输入捕捉被延迟了4 个时钟周期。Bit 6 ICESn: 输入捕捉触发沿选择该位选择使用ICPn 上的哪个边沿触发捕获事件。ICESn 为0” 选择的是下降沿触发输入捕捉;ICESn 为1” 选择的是逻辑电平的上升沿触发输入捕捉。按照ICESn 的设置捕获到一个事件后,计数器的数值被复制到 ICRn 寄存器。捕获事件还会置为ICFn。如果此时中断使能,输入捕捉事件即被触发。当ICRn 用作TOP值(见TCCRnA与TCCRnB寄存器中WGMn3:0位的描述 ) 时,ICPn与输入捕捉功能脱开,从而输入捕捉功能

48、被禁用。Bit 5 保留位该位保留。为保证与将来器件的兼容性,写TCCRnB时,该位必须写入0”。Bit 2:0 CSn2:0:时钟选择这三个标志位用于选择T/C1 的时钟源表3.5 CS02CS01CS00说明000无时钟,T/C 不工作001clkTOS/( 没有预分频)010clkTOS/8 ( 来自预分频器)011clkTOS/64( 来自预分频器)100clkTOS/256 ( 来自预分频器)101clkTOS/1024 ( 来自预分频器)110外部Tn引脚。下降沿驱动后111外部Tn引脚。上降沿驱动控制寄存器C(TCCR1C)控制寄存器TCCR1C的地址为$007A,初始化值为$0

49、0.其各位的定义如下:图3.7寄存器TCCR1C图Bit 7 FOC1A:强制输出比较通道ABit 6 FOC1B: 强制输出比较通道BBit 5 FOC1C: 强制输出比较通道C当标志位只在WGMn3:0 位被设置为非PWM 模式时才有效。当对写1” 将强制波形发生器产生一次成功的比较匹配,并使波形发生器依据 COMnx1:0 的设置而改变的输出状态的电平。FOC1x的作用如同一个选通信号,COMnx1:0 的设置才是最终确定比较匹配结果的因素。这三个标志位不会产生任何中断请求,也不会对计数器清零。FOC1x 的读返回值总为零。Bit 4:0 保留位这几位保留。为保证与将来器件的兼容性,写T

50、CCR1C时,这几位必须写入0”。定时/计数器1寄存器(TCNT1H和TCNT1L)TCNT1H 与TCNT1L 组成了T/C1的数据寄存器TCNT1。通过它们可以直接对定时器/计数器单元的16位计数器进行读写访问。为保证CPU对高字节与低字节的同时读写,必须使用一个8 位临时高字节寄存器TEMP 。TEMP 是所有的16位寄存器共用的。定时/计数器1寄存器TCNT1H(高8位)的地址为$004D,TCNT1L(低8位)的地址为$004C,初始化值都为$00。其各位的定义如下:图3.8寄存器TCNT1图3.1.4 AVR单片机的中断系统 中断系统的定义中断是单片机实时的处理内部或外部事件的一种

51、内部机制。当某种内部或外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去执行中断事件的处理,中断处理完毕,又返回被中断的程序处,继续执行下去。中断系统即为中断装置和中断处理程序的统称。中断系统是计算机的重要组成部分。中断系统提高了计算机的应用效率,故此中断系统一般应用在实时控制、故障自动处理、计算机与外围设备间的数据传送等。中断系统的功能实现中断相应和中断返回。实现优先权排队。实现中断嵌套。中断系统的优点分时操作实时处理唤醒状态故障处理中断源的分类非屏蔽中断:MCU不能屏蔽的中断源产生的中断请求信号,一旦发送中断请求,MCU必须应该中断。外部中断RESET产生的复位信号是非

52、屏蔽中断。可屏蔽中断:用户程序通过中断屏蔽标志位对中断源产生的中断请求信号进行控制,即允许或禁止MCU对该中断的响应。可屏蔽中断的中断请求是否被MCU响应。最终是由用户程序控制的。在单片机中,大多的中断都是可屏蔽中断。软件中断:CPU具有相应的软件中断指令,当MCU执行这条指令是就进入软件中断服务,以完成特定的功能。大多数单片机都不具备软件中断的指令,因此不能直接实现软件的功能。因此,在单片机系统中,若要实现软件中断,必须通过间接的方式实现。3.1.5 可编程IO端口在ATmege128单片机中,提供了53个可编程的I/O端口,分别为PA-PG口。当用SBI或CBI指令改变某个I/O引脚的输入

53、/输出方向、改变引脚的输出电平或在禁止/允许引脚的内部上拉电阻时,其它引脚的状态不会被改变。同时它可以输出或吸收大电流,直接驱动LED。当上拉电阻激活且引脚被拉低时该引脚会输出电流。I/O端口的特点AVR单片机大部分I/O端口都具有双重功能,可分别与片内的各种不同功能的外围接口电路组合成一些可以完成特殊功能的I/O口,如定时器、计数器、串行接口、模拟比较器、捕捉器等。AVR单片机通用的主要特点如下:可自行定义输入输出工作方式。输出/吸收大电流。内部上拉电阻可控。DDRX可控的方向寄存器。 PA口为8 位双向I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大

54、电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口A 为三态。它配有三个数据存储地址,分别为数据寄存器PORTA($003B)、数据方向控制寄存器DDRA($003A)和A口的输出引脚寄存器PINA($0039).A口的输入引脚地址为只读方式,而数据方向控制寄存器和数据寄存器为读写方式。寄存器端口A数据寄存器(PORTA)的各位定义如下:图3.9 PORTA图端口A数据方向控制寄存器(DDRA)的各位定义如下:图3.10 DDRA图端口A输入引脚寄存器(PINA)的各位定义如下:图3.11 PINA图第二功能端口A的第二功能为外部存储器接口的低字节地址以

55、及数据。图3.12 PORTA第二功能图 PB口B 为8 位双向I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口B 为三态。它配有三个数据存储地址,分别为数据寄存器PORTB($0038)、数据方向控制寄存器DDRB($0037)和B口的输出引脚寄存器PINB($0036).B口的输入引脚地址为只读方式,而数据方向控制寄存器和数据寄存器为读写方式。寄存器与A 相似。B口的第二功能如表:表3.6引脚 第二功能PB7OC2/OC1C (T/C2 的输出比较和PWM输出,

56、或是T/C1的输出比较和PWM输出C)PB6OC1B (T/C1 的输出比较和PWM 输出B)PB5OC1A (T/C1 的输出比较和PWM 输出A)PB4OC0 (T/C0的输出比较和PWM 输出)PB3MISO (SPI 总线的主机输入 / 从机输出信号 )PB2MOSI (SPI 总线的主机输出 / 从机输入信号 )PB1SCK (SPI 总线的的串行时钟)PB0SS (SPI 从机选择引脚)PC口为8 位双向I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口B

57、 为三态。它配有三个数据存储地址,分别为数据寄存器PORTC($0035)、数据方向控制寄存器DDRC($0034)和C口的输出引脚寄存器PINC($0033).C口的输入引脚地址为只读方式,而数据方向控制寄存器和数据寄存器为读写方式。寄存器与A 相似。PD口为8 位双向I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口D为三态。它配有三个数据存储地址,分别为数据寄存器PORTD($0032)、数据方向控制寄存器DDRD($0031)和D口的输出引脚寄存器PIND($0030).D口的输入引脚地址为只读方式,而数据方向控制寄存器和数据寄存器为读写方式。寄存器与A 相似。第二功能如下表:表3.7端口引脚第二功能PD7T2 (T/C2 的时钟输入)PD6T1 (T/C1 的时钟输入)PD5XCK(USART1 的外部时钟输入 / 输出

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

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

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


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