基于AVR单片机的风速测量仪设计毕业论文.doc

上传人:仙人指路1688 文档编号:3938203 上传时间:2023-03-28 格式:DOC 页数:32 大小:438KB
返回 下载 相关 举报
基于AVR单片机的风速测量仪设计毕业论文.doc_第1页
第1页 / 共32页
基于AVR单片机的风速测量仪设计毕业论文.doc_第2页
第2页 / 共32页
基于AVR单片机的风速测量仪设计毕业论文.doc_第3页
第3页 / 共32页
基于AVR单片机的风速测量仪设计毕业论文.doc_第4页
第4页 / 共32页
基于AVR单片机的风速测量仪设计毕业论文.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《基于AVR单片机的风速测量仪设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于AVR单片机的风速测量仪设计毕业论文.doc(32页珍藏版)》请在三一办公上搜索。

1、编号_ 本科生毕业设计基于AVR单片机的风速测量仪设计Designs based on the AVR monolithic integrated circuits wind speed measuring instrument2008 年 6 月摘 要在对气象学越加重视的今天,气象数据的采集更显重要。风速是气象数据中的一个重要的参数,对它的测量,将会极大的影响到气象预报的准确性。随着风力发电的快速发展,风速的测量也被日益重视起来。本文介绍了一种基于AVR单片机的风速仪的设计,它利用测量旋转体的转速测得风速。本设计中采用ATMAGE16单片机,并设计了集数据采集、显示、传输于一体的便携式风速采

2、集系统,本设计的主要目的虽然为风速测量,但是当对外部传动部件做简单修改以后不仅可以应用在风速的测量当中,也可在转速测量控制,车辆行驶速度测定,流速流量测量等方面发挥借鉴作用。关键字:ATMEGA16单片机,风速仪,测周法与测频法 AbstractAttached more and more importance in todays meteorology, meteorological data collection is more important. Meteorological data wind speed is an important parameter, its measurem

3、ent, will greatly affect the accuracy of weather forecasting. With the rapid development of wind power, wind speed measurements have also been increasing attention to them. In this paper, a microcontroller-based AVR anemometer design, which uses the speed measurement of rotating body measured wind s

4、peed. ATMAGE16 the use of single-chip design, and design a set of data acquisition, display, transmission speed in one portable acquisition system, the main purpose of this design although the wind speed measurement, but when parts of the external drive after doing a simple modification can be appli

5、ed not only in wind speed measurement, the measurement can also be controlled in speed, vehicle speed measured flow velocity measurement from the role play. Keyword: ATMEGA16 microcontroller, anemometer, measured frequency-week law and the law目 录第一章 引 言11.1风速测量装置概述11.2 基于单片机设计风速测量仪的优点1第二章 设计原理32.1风速

6、测量仪设计原理32.2风速测量仪模型4第三章 传感器的工作原理及实现方法63.1传感器工作原理63.2 红外传感计数器的原理73.3红外传感计数器检测方法7第四章 技术介绍84.1 mega16单片机842 系统扩展、接口技术943 三总线概述1044 中断技术11第五章 软件设计135.1 测频法与测周法1352 程序结构16第六章 硬件设计216.1 硬件结构图216.2 地址所存器扩展电路216.3 扩展程序存储器电路226.4 显示电路24结 论25参考文献26致 谢27附 录:28 第一章 引 言1.1风速测量装置概述风力发电已成为当今世界的主流能源之一。目前,风力发电已成为世界上公

7、认的最接近商业化、市场竞争力最强的可再生能源技术之一,与太阳能和生物能源等其他可再生能源发电技术相比,风能具有产业成熟度高、发电成本低、自然环境和社会环境影响好等优点。风力发电占用土地资源少,资金回收期短,一般不会产生明显的自然生态影响,在社会上引起的争议很少,能较快实现规模化发展。在对气象学越加重视的今天,气象数据的采集更显重要。风速是气象数据中的一个重要的参数,对它的测量,将会极大的影响到气象预报的准确性。随着风力发电的快速发展,风速的测量也被日益重视起来。对于风速的采集与测量,不同的应用场合有不同的测量方法,常见的方式有:采用皮托管测量风速,其基本原理是通过测量风速经过时在皮托管上的静压

8、与动压之差来计算风速;采用热气球测量风速,其基本原理是通过测量风在吹过热气球时气球的振动频率,进而换算出风速等。风速测量的基本原理大致相似,都是通过某个敏感元件的某个特征量的变化来计算获得风速,只是存在测量精度上的区别。现代工业现场控制过程中,常常需要对现场的风速进行采集与检测,通常的做法是采用风速仪,通过记录风速仪上的叶片因风转动而引起的脉冲数,再通过程序转换成叶片的转圈数,进而换算成风速,将信号接入计算机,实现风速的数据回放或曲线显示。这样的风速采集系统原理简单,成本不高,但其最大的缺陷是采集系统体积庞大、机动性差,对于需要测量多点风速的场合并不适用,若采取各点均布置风速传感器的方案,则成

9、本会大幅上升,控制方案也会变得复杂,因此,传统的风速采集系统由于不具备便携性而无法应用于多点风速采集测量的场合。本文的设计旨在解决这一突出问题。该设计的基本原理是将风速的感应装置(传感器)与采集运算系统合而为一,为该装置设计采集系统、数据存储系统,同时留出数据传输接口,在必要时可以方便地与计算机进行连接,以实现数据的转移与后期处理。1.2 基于单片机设计风速测量仪的优点风速、风力的测量在某些行业,譬如煤炭,飞机,汽车,电力等都十分重要。最初的风速仪,靠人工测量,精度差,数据不及时。目前,国内使用的风速仪,多数沿用机械传动,灵敏度低,误差大,对于较多的测风点常采用一个计数器测量,而野外自然风阵性

10、变化较大,这样会引起失真和较大误差。基于单片机的风速仪,可以克服目前风速仪的弊端,作为目前风速仪的有益补充。风速传感器将测得的风速直接转为数字信号输入单片机系统,由单片机负责数据的运算、存储和显示,同时预留出与机进行数据传输的接口(接口或串行通信接口)。这样即可将风速测量系统与后期的数据采集、处理、运算结合在一起,与机的联系断开,实现了可移动性测量,具有一定的便携性。本系统借助传统风速仪测量设备,以单片机为处理信号的工具,使风速的测量精确,及时。并且,由于单片机的使用,使本设计的体积较小,适合外出携带,操作方便,可推广到工业生产中,具有较高的经济效益。因此,本文设计了基于单片机的风速仪。第二章

11、 设计原理2.1风速测量仪设计原理测量的系统框图如图1所示。 传感器整形放大单片机处理输出结果图1 测量系统框图图中传感器部分包括金属圆盘和红外光电开关。金属圆盘上均匀的开出60360个槽,固定在旋转轴上。旋转体每转一圈红外光电开关便可以输出60360个脉冲信号,该脉冲信号经过整形放大,送给mega16单片机进行处理,便可显示结果。Mega16单片机属于MEGA系列单片机是功能极强的16位高档单片机,它既适用于简单的测控系统,又适用于复杂的测控系统,他的性价比高,组成应用系统灵活。Mega16单片机在这里的作用是采样信号脉冲,并按照一定的计算公式求得所需要的被测量。首先测量转速,可由下式计算:

12、 其中: n转速,单位:转/秒 Z金属圆盘开槽数 t采样时间, 后文中或称为闸门时间,单位:秒 N在闸门时间内传感器输出的脉冲个数在测量旋转轴径向某点的线速度,即所求风速:其中:v线速度,单位:米/秒 R被测点距轴心的距离即金属盘半径,单位:米 由于采用单片机进行处理,使其比采用数字电路成本更低,精度更高。关键是本设计可以扩充几个功能,使其在生产运用上更加方便。比如,可以设定转速上下限报警。加入控制信号,可以选侧测量的数值为瞬时速度,或者为平均速度,这样可以进一步计算出瞬时加速度,并且可以保存一段时间的测量平均值等等。 由上述两测量公式可知,对于某一确定系统,Z和R都是常量,因此测量转速n或线

13、速度v需要测量的只有两个量闸门时间t和在t时间内输入的脉冲个数N。mega16单片机内含有两个具有独立预分频器和比较器功能的 8 位定时器 / 计数器,既可以对内部机器周期计数产生定时信号,也可以对外部输入脉冲进行计数。其数控方式如下:表1 数控方式表TMOD:GATEM1M0GATEM1M0 用于定时/计数器1 用于定时/计数器0当=0时为定时方式,=1时为计数方式,本系统中mega16的两个定时计数器皆工作于8位定时方式,用于产生测量的闸门时间,对信号脉冲的计数则由软件完成,即两路传感器输出接入mega16的两个外部中断输入引脚和,当引脚上出现一个负跳变时引起中断,在中断服务程序中计数输入

14、脉冲个数,具体如下:M1M0=01时处在工作方式1 为8位计数器:选择定时或计数模式。当=1时为计数模式,当=0时为定时模式GATE:选通控制。当GATE=1时只有当端口为高电平且TRx置位为1时才选通定时/计数器x;当GATE=0时,只需TRx置位为1,即选通定时/计数器x。PD2和PD3分别是外部中断0,中断1请求端口,低电平有效。当I/O端口作为输入使用时,需要先向端口写入“1”使内部的FET截止,再读入引脚状态。2.2风速测量仪模型 市场上风速测量仪产品已经比较成熟,不仅测量精度高,易于操作,体积小,便于携带,而且产品兼容了很多功能,例如测量风向、气温、空气湿度等等,其外形小巧美观,功

15、能强大,如下图: 现代风速测量仪产品展示 本设计目的是研究基于AVR单片机的数字红外风速测量仪,故将重点放在风速仪的电路设计以及软件设计上,故对简易模型便不详细介绍,在设计模型的过程中,其关键点是在转子上的某个半球型的扇叶上有一个小的风向舵。在风速计旋转中, 这个风向舵根据其与风向的相对位置不同, 便产生加速度或减速度。如果我们假设一个与风向有关的参考角度在固定部件上, 使用两个互成角的传感器,就能够判定风的方向。其计算方法是首先测量每个传感器在转子转动一周中各传感器的速度平均值。而风向的每次变化将会引起两个传感器平均值的变化。然后对照与两个输入信号对应的角度参考表。单片机就能够计算并显示风向

16、的角度以度表示。 第三章 传感器的工作原理及实现方法3.1传感器工作原理光电传感器是通过把光强度的变化转换成电信号的变化来实现控制的。光电传感器在一般情况下,有三部分构成,它们分为:发送器、接收器和检测电路。图3-1传感器工作原理图发送器对准目标发射光束,发射的光束一般来源于半导体光源,发光二极管(LED)、激光二极管及红外发射二极管。光束不间断地发射,或者改变脉冲宽度。接收器有光电二极管、光电三极管、光电池组成。在接收器的前面,装有光学元件如透镜和光圈等。在其后面是检测电路,它能滤出有效信号和应用该信号。此外,光电开关的结构元件中还有发射板和光导纤维。三角反射板是结构牢固的发射装置。它由很小

17、的三角锥体反射材料组成,能够使光束准确地从反射板中返回,具有实用意义。它可以在与光轴0到25的范围改变发射角,使光束几乎是从一根发射线,经过反射后,还是从这根反射线返回。光电传感器是采用光电元件作为检测元件的传感器.它首先把被测量的变化转换成光信号的变化,然后借助光电元件进一步将光信号转换成电信号.光电传感器一般由光源,光学通路和光电元件三部分组成.光电检测方法具有精度高,反应快,非接触等优点,而且可测参数多,传感器的结构简单,形式灵活多样,因此,光电式传感器在检测和控制中应用非常广泛.由光通量对光电元件的作用原理不同所制成的光学测控系统是多种多样的,按光电元件(光学测控系统)输出量性质可分二

18、类,即模拟式光电传感器和脉冲(开关)式光电传感器.模拟式光电传感器是将被测量转换成连续变化的光电流,它与被测量间呈单值关系.模拟式光电传感器按被测量(检测目标物体)方法可分为透射(吸收)式,漫反射式,遮光式(光束阻档)三大类.所谓透射式是指被测物体放在光路中,恒光源发出的光能量穿过被测物,部份被吸收后,透射光投射到光电元件上;所谓漫反射式是指恒光源发出的光投射到被测物上,再从被测物体表面反射后投射到光电元件上;所谓遮光式是指当光源发出的光通量经被测物光遮其中一部份,使投射刭光电元件上的光通量改变,改变的程度与被测物体在光路位置有关.3.2 红外传感计数器的原理为了实现该测量装置的便携性,减少外

19、围设备和本身装置的体积,本设计采用脉冲式风速测量传感器作为该装置的风速采集传感器。脉冲式风速传感器的最大优点是原理简单、体积小、质量小,同时能够将风速模拟量直接转换成电子脉冲数,因其与单片机相连,只要在程序中建立“数”脉冲的程序,就能方便地实现风速的测量,省去了一般风速传感器还需要配置的转换模块的程序,大大提高了检测装置的便携性。脉冲式风速检测传感器的基本工作原理是风速带动感应元件叶片转动,叶片转动引发光电编码器输出脉冲信号,通过对单位时间内脉冲信号的计数,实现风速的测量。3.3红外传感计数器检测方法传感器采用工程塑料叶片作为感应元件,当有风吹过时,带动叶片跟着转动,通过叶片轴部的光电编码器对

20、转动的圈数进行标记和计数,同时每转动一圈,光电编码器输出一个阶跃脉冲信号,通过设计将光电编码器的输出与主单片机的输入管脚连接在一起,通过单片机内部的计数器即可实现对阶跃脉冲信号的计数,从而实现风速的测量,同时,也省略了转换模块,简化了风速检测系统的外围电路第四章 技术介绍本系统在设计过程中需要用到mega16单片机,系统扩展、接口技术,三总线,中断技术等。4.1 mega16单片机AVR系列单片机中比较典型的芯片是ATmega16。这款芯片具备了AVR系列单片机的主要的特点和功能,不仅适合应用于产品设计,同时也方便初学入门。其主要特点有: (1)采用先进RISC结构的AVR内核131条机器指令

21、,且大多数指令的执行时间为单个系统时钟周期;32个8位通用工作寄存器;工作在16MHz时具有16MIPS的性能。配备只需要2个时钟周期的硬件乘法器 (2)片内含有较大容量的非易失性的程序和数据存储器16K字节在线可编程(ISP)Flash程序存储器(擦除次数1万次),采用Boot Load技术支持IAP功能;1K字节的片内SRAM数据存储器,可实现3级锁定的程序加密;512个字节片内在线可编程EEPROM数据存储器(寿命10万次); (3)片内含JTAG接口支持符合JTAG标准的边界扫描功能用于芯片检测;支持扩展的片内在线调试功能可通过JTAG口对片内的Flash、EEPROM、配置熔丝位和锁

22、定加密位实施下载编程; (4)外围接口2个带有分别独立、可设置预分频器的8位定时器/计数器;1个带有可设置预分频器、具有比较、捕捉功能的16位定时器/计数器;片内含独立振荡器的实时时钟RTC;4路PWM通道;8路10位ADC面向字节的两线接口TWI(兼容I2C硬件接口);1个可编程的增强型全双工的,支持同步/异步通信的串行接口USART;1个可工作于主机/从机模式的SPI串行接口(支持ISP程序下载);片内模拟比较器;内含可编程的,具有独立片内振荡器的看门狗定时器WDT; (5)其它的特点片内含上电复位电路以及可编程的掉电检测复位电路BOD;片内含有1M/2M/4M/8M,经过标定的、可校正的

23、RC振荡器,可作为系统时钟使用;多达21个各种类型的内外部中断源;有6种休眠模式支持省电方式工作; (6)宽电压、高速度、低功耗工作电压范围宽:ATmega16L 2.75.5v,ATmega16 4.55.5v;运行速度:ATmega16L 08M,ATmega16 016M;低功耗:ATmega16L工作在1MHz、3v、25度时的典型功耗为,正常工作模式 1.1mA,空闲工作模式 0.35mA,掉电工作模式 1uA; (7)芯片引脚和封装形式ATmega16共有32个可编程的I/O口(脚),芯片封装形式有40引脚的PDIP、44引脚的TQFP和44引脚的MLF封装。42 系统扩展、接口技

24、术(1) 系统扩展:单片机虽然各功能部件齐全,但容量较小,如:片内ROM、RAM、I/O口,不够用时需要扩展,扩展三总线、ROM、RAM、I/O口。(2) 系统接口 微机与外设连接因速度不匹配、信号类型不同(脉冲、模拟)、传输方式不同(串、并), 接口是计算机与外设信息交换的桥梁。接口电路应具备如下功能:(1)输入有缓冲、输出有锁存;(2)有应答联络信号; (3)有片选、控制信号;(4)有编程选择工作方式功能。本系统Atmega16单片机系统的扩展接口原理图如下:图2 mega16单片机系统的扩展接口原理图43 三总线概述三总线为:地址、数据、控制总线。(1)总线:我们知道,一个电路总是由元器

25、件通过电线连接而成的,在模拟电路中 ,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调。所以就需要的连线就很多了,如果仍如同模拟电路一样 ,在各微处理器和各器件间单独连线线,则线的数量将多得惊人,所以在微处理机中引 入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是是不允许的。所以,要通过控制线进行控制,使

26、器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称:控制总线。 在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能 用,分配地址也是以电信号的形式给出的,由于存储单元比较多,所以 ,用于地址分的线也较多,这些线被称为地址总线。(2)地址总线:由P2口提供高8位地址线(A8A15),此口具有输出锁存的功能,能保留地址信息。由P0口提供低8位地址线。由于P0口是地址、数据分时使用的通道口,所以为保存地址信息,需外加地址锁存器锁存低8位的地址信息。一般都用ALE正脉冲信号的下降沿控制锁存时刻(3)

27、数据总线:由P0口提供。此口是双向、输入三态控制的通道口。(4)控制总线:扩展系统时常用的控制信号为地址锁存信号ALE,片外程序存储器取指信号以及数据存储器RAM和外设接口共用的读写控制信号等。 单片机与数据存储器的连接方法和程序存储器连接方法大致相同,简述如下:A.地址线的连接,与程序存储器连法相同。B.数据线的连接,与程序存储器连法相同。C.控制线的连接,主要有下列控制信号:存储器输出信号和单片机读信号相连即和P3.7相连。存储器写信号和单片机写信号相连即和P3.6相连。ALE:其连接方法与程序存储器相同。 使用时应注意,访问内部或外部数据存储器时,应分别使用MOV及MOVX指令。44 中

28、断技术引发中断请求的源头称为中断源,中断源的多少反映计算机处理中断的能力,终端系统必须具备正确判断中断源的功能,一般有两种识别方式:查询终端和向量中断。 查询中断的方式是通过软件逐个查询各中断源的中断请求标志,其查询顺序反映出中断源的优先顺序。先查询的优先级高,后查询的优先级低,顺序排队。其缺点是软件查询循环占用一定的时间,每次必须经过从优先级最高的中断源查询开始,逐级向低优先级查询,影响主机响应中断的效率。外部中断源:外部中断0请求输入端口(PD2),低电平或负跳变激活中断请求IE0位,当中断请求有效,采用中断技术一般具有以下优点:可使多种功能或设备同时工作,只有需占用主机时才等待主机安排处

29、理,因此大大提高了计算机系统的速度和主机的效率。有利于实时处理,有利于随机故障处理。在实际应用中注意:由于中断的发生随机,因而使得由中断驱动的中断服务程序难以把握、检测和调试,这就要求在设计中断中力求谨慎。 在输入/输出的数据处理频度很高或实时处理要求很高时,不宜采用中断方式。MEGA系列单片机提供的56个中断源中,两个中断请求信号由外部产生并输入请求信号,称之为外部中断源。本设计外部传感器产生的脉冲信号输入就如此,其余的中断请求信号均由内部产生并激活中断请求信号,故称为内部中断源。各中断请求信号分别由中断控制寄存器TCON进行控制。 中断均可通过软件对其中断请求标志位进行置位/复位,这与内部

30、硬件自动置位复位的效果一样,亦即可通过软件产生中断请求或将挂起的中断请求撤销,此即所谓的软件中断。在禁止中断情况下,可采用软件查询方式进行处理。 MEGA系列单片机的中断是可编程的,即通过软件可实现对中断系统功能的设置与控制。,其中断响应为两级控制,EA为总的中断响应控制位,各中断源还有相应得中断响应控制位。外部中断电平触发方式:对于电平触发方式的外部中断,其中断请求信号应持续保持请求有效(低电平)直至主机响应该中断请求为止,这是因为中断系统对中断请求不做记忆。而且还必须在该中断服务程序返回前撤销中断请求(变为高电平),以免再次进入中断而出错。为保证能被正确采样,端口中断请求有效信号(低电平)

31、应至少保持两个机器周期。中断响应一般分为如下几个步骤:(1)保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。(2)寻找中断入口,根据5个不同的中断源所产生的中断,查找5个不同的入口地址。以上工作是由计算机自动完成的,与编程者无关。在这5个入口地址处存放有中断处理程序(这是程序编写时放在那儿的,如果没把中断程序放在那儿,就错了,中断程序就不能被执行到)。(3)执行中断处理程序。(4)中断返回:执行完中断指令后,就从中断处返回到主程序,继续执行。第五章 软件设计5.1 测频法与测周法在软件上为了在测量精度和相应速度两方面都取得较好的效果,本设计采取测频法和测周法相结合的技术。(1

32、)测频法:在非智能数字式仪器中经常采用的方法。它是固定采样闸门时间t,计算脉冲个数N,通过设定小数点位置,取得正确的显示结果。测频法时充分利用mega16单片机的的两个定时/计数器,一个作为定时器,给出闸门信号,另一个作为计数器,对外界脉冲信号进行计数。测频法由于闸门信号的启闭与信号脉冲不同步,存在计数误差。如图4所示:闸门信号被测信号 图5-1 测频法波形示意图最大相对计数误差为:由此可以看出,当信号频率较高时,误差较小,但当信号频率变低时,误差就增大。同时可以看出,若增大闸门时间t,便可以减小误差,这样就不能准确地测出瞬时风速。这就形成一对矛盾:提高精度和瞬时值的取得。尤其是对于10Hz以

33、下的信号,很难提高测量精度。因此测频法适用于高频信号的测量,对于低频信号,精度低,采样时间也显得过长。在智能化仪器中,往往采用测周法提高对低频信号测量精度。(2)测周法:是以被测信号单个(或N个)周期作为闸门信号,在闸门时间内对时标脉冲计数,从而得到被测信号周期T(或N*T),再求出f=1/T()如下图所示:图5-2 测周法的波形示意图时标信号作为时间基准,一般由高精度的高频晶振产生。Mega16单片机定时器的时标信号就是机器周期,由系统晶振12分频得到,显然测周法的误差是对时标的计数误差,最大的相对计数误差为:式中,f为被测信号的频率,为时标信号的频率。若采用多周期平均,相对误差更小表示为:

34、上两式可以看出,时标信号频率越高误差越小,对于mega16单片机,如果采用12MHz晶振则=12MHz。另外被测信号频率越低误差越小,被测信号频率高时测量误差较大。(3)测频法和测周法的比较:测频法适用于高频,测周法适用于低频,测周法微机运算所花费的时间较之测频法要多得多,所以如果对高频信号采用测周法,会影响系统对被测信号的响应速度。 (4)测频法测量:将mega16单片机的两个定时/计数器分别定义:T0为定时器,T1为计数器,均为8位,即采用方式1,其方式控制字为51H。如果单片机晶振采用12MHz,其机器周期为1,最大定时时间65.536ms可通过对定时器赋初值改变定时时间(下文介绍)。当

35、T0开始定时计数同时,打开计数器t1,对外部脉冲技术,当T0达到定时值时,响应中断,关计数器T1。(5)测周法测量:适用于较低频率的信号。采用单片机内的一个定时/计数器,以单片机内标准机器周期作为标准时间信号,被测量信号的周期作为闸门,由程序控制开关对标准时间信号进行计数。将单片机内定时/计数器T0定位8位定时器,对内部机器周期计数,即方式控制字为01H。定时器的开关由程序根据PD口上的状态进行控制,检测到下降沿时开定时/计数器T0,当紧接着的另一个下降沿被检测到时关T0计数。 综上所述,本设计测频法与测周法相结合的方案。在被测信号频率较高时,采用测频法,闸门时间t可以选择为2的整数次幂数,以

36、简化二进制除法的运算,提高系统得响应速度,为了保证测频法的测量精度,程序中设计了一个计数门槛值,当闸门时间到时,若对信号脉冲计数值N,则进行测频法计算;否则转入测周法。这样就保证了相对计数误差小于,而且同时实现了由测频法向测周法的自动转换,这是本仪器软件设计的关键之一。程序流程图如下图所示:中断入口到达设定时间N保护N赋初值关定时器检测到下降沿开计数器下一个下降沿到,关计数器保护TE TH TL值置测频计算标志置测周计算标志中断返回NNYY图5-3 定时/计数器中断程序流程图52 程序结构由于双路信号的测量完全独立,所以下面以单路测量为例说明程序结构,该程序包含三大任务模块:闸门时间控制模块,

37、信号脉冲计数模块,计算显示模块。各任务模块之间相互独立,同时或交叉的执行各自任务,三者之间的相互联系由三个标志位完成,十分有效的利用了CPU的时间,这是软件设计的又一关键之处。闸门时间控制是由定时/计数器配合软件实现的,mega16单片机在12MHz晶振时最大定时时间为=65.536ms,为了获得更长的闸门时间,扩展一个软件定时/计数器TE,当硬件定时/计数器溢出中断时,在中断服务程序中加1,然后进行改任务模块(闸门控制模块)的其他各项处理。程序流程如图5。这里需要着重说明一点,TE、TH、TL三个单元内容的含义在测频法和测周法中是不同的,在测频法时。定时/计数器用于“定时”,计算时并不直接运

38、用TE、TH、TL的内容。而在测周法时定时/计数器用于“计数”TE、TH、TL三单元内容将用于计算闸门时间t=(TE TH TL)/。因此在程序中有测频法向测 周法大胆地转换时,需对TE、TH、TL三个单元内容作一次变动。 信号脉冲计数是由外部中断配合软件计数器完成的,在mega16内部RAM中开辟两个字节作为信号脉冲软 件计数单元。最多计数65536个脉冲信号,当传感器信号脉冲的下降沿引起外部中断时若处于测频法测量,在外部中断服务程序中对软件计数单元加1然后返回中断。若处在测周法测量,需要立即停止定时/计数运行,用以得到整周期的运行时间,并将定时/计数器的计算值以及信号脉冲的计数值保存起来,

39、供测周法计算使用。程序流程如下图所示:N入 口N+1 N测周标志=1?停定时/计时器保护N保护TE TH TL置测周计算标志重赋初值启动定时/计数器中断返回Y图5-4 外部中断服务程序流程图计算显示模块与上两个不同,它不是在中断服务程序中完成的,它是通过不断的查询两个计算标志来决定进行测频计算还是测周计算。程序流程如图8,测频法计算相对简单,若闸门时间t=2m秒,只须将计数值N右移或左移m位,再乘以系数(求线速度时为)初 始 化测频计算标志=1?测周计算标志=1?清0测频计算标志调用测频计算子程序调用显示子程序开 始清0测周计算标志调用测周计算子程序NNYY图5-5 计算显示模块流程图就可以了

40、。而在测周法计算时,首先要测出闸门时间t,然后被N除,再乘以系数,为保证计算精度,程序采用浮点运算。纵观上述三个模块,“测频法计算标志”建立了闸门时间控制模块与计算显示之间的联系,“测周法计算标志”则建立了闸门时间可能改制模块与信号脉冲计数模块之间的联系,各任务模块之间既独立又联系,硬件与软件相配合,中断与查询相配合,有效利用CPU时间,有利于提高系统得响应速度。另外,系统显示部分操作比较简单,在此,只对显示流程图作说明, LED采用软件译码器动态扫描显示方式。流程图如下:开始置段、位选码初值8155初始化位选码 PA口查段选码表段选码 PB口延时1ms指向下一个单元显示完成返回Y选择下一位N

41、图5-6 显示程序流程图第六章 硬件设计6.1 硬件结构图系统硬件结构图如下图所示:图6-1 单片机测量处理硬件原理框图另外,如果要使测量精度更高,可以使用两路信号同时测量,最后取平均值得方法。由于两路闸门时间信号是分别产生的,因此两路速度信号的测量是完全独立且方法相同,文中不再用篇幅介绍都是以测周法和测频法作为基础。6.2 地址所存器扩展电路用74LS373作为地址锁存器,使数据和地址信号分开。74LS373是三态8D触发器。锁存端LE 由高变低时,输出端8 位信息被锁存,直到LE 端再次有效。74LS273 是8D 触发器,当CLK 端上升沿到来时,将D 端的数据锁存。CLR为低电平时被清

42、0。作为地址锁存器使用,可将ALE 反相接CLK 端,CLR接+5V。其扩展电路图如下: 图6-2 mega16地址总线扩展电路图6.3 扩展程序存储器电路Atmega16片内不带程序存储器ROM,使用时用户需外接程序存储器和一片逻辑电路373,外接的程序存储器多为EPROM的2764系列。2764的引线:2764是一块8K8bit的EPROM芯片A12A013位地址信号输入线,说明芯片的容量为8K213个单元。D7D0 8位数据,表明芯片的每个存贮单元存放一个字节(8位二进制数)。为输入信号。当它有效低电平时,能选中该芯片,故又称为选片信号。为输出允许信号。当为低电平时,芯片中的数据可由D7

43、D0输出。为编程脉冲输入端。当对EPROM编程时,由此加入编程脉冲。读时为高电平。Atmega16需要扩展ROM;8051/8751片内有4kBROM,不够用时也需要扩展。外部数据存储器又称为外部数据RAM,当mega16片内128个字节的数据RAM不能满足数量上的要求时,可通过总线端口和其它IO端口扩展外部数据RAM(扩展方法见相关章节),其最大容量可达64K字节。外部数据RAM与内部数据RAM的功用基本相同,但前者不能进行堆栈操作。在本设计中其外部扩展电路如下图所示图6-3 mega16的外部扩展电路图当mega16单片机同时外接有程序存储器和数据存储器时,两者的区别在于:程序存储器只有读

44、操作而无写操作,且读操作信号由引脚PSEN直接提供;数据存储器则有读写操作,且由引脚信号RD和WR选通读写操作。对片内RAM和片外RAM操作的区别在于:片内RAM操作时无读写信号产生,片外RAM操作时则有读写信号(RD,WR)产生。上面是不同的存储器操作在硬件信号方面的区别,这些反映在符号指令上则是有着完全不同的符号形式和寻址方式.内部数据RAM的数据操作:可进行读写操作。按直接字节地址作直接寻址或用工作寄存器组中的R0或R1作寄存器间接寻址访问片外程序存储器的操作时序:访问程序存储器的控制信号 ALE-地址锁存信号 PSEN-片外程序存储器读信号 EA-片内、外程序存储器访问选择信号。EA=0:访问片外;EA=1:访问片内。扩展8KB/16KB EPROM:(1)常用的程序存储器芯片 EPROM-紫外线擦除的可编程只读存储器常用的芯片有:2764(8KB,13位地址线)、27128(16KB,14位地址)、27256(32KB)、27512(64KB) (2)扩展8KB/16KB EPROM 注意:控制信号:LAE、PSEN片选信号:CE(P2.6)地址信号:A0A12、A13数据信号:O0O7对于扩展的64KB的2764的地址范围为(13位地址线)如下表:表2 2764的地址范围表PC7PC6PC5PC4PC3PC2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号