1、流速压力数据采集系统摘 要本设计是利用流速传感器、压力传感器、ISD1760 语音芯片、LCD12864 液晶显示屏和 AT89S52单片机组成的流速压力数据采集系统。流速传感器和压力传感器将采集到的流速数据和压力数据传送给 AT89S52单片机,单片机再对接收到的数据进行处理,将数据传送到 LCD12864液晶显示屏上进行显示,同时通过用语音芯片 ISD1760将当前的流速数据和压力数据播放出来。关键词:数据采集系统;流速;压力;ISD1760;AT89S52Data Acquisition System of Flow Velocity and PressureAbstractThis d
2、esign witch data acquisition system of flow velocity and pressure is using the velocity sensor, pressure sensor, ISD1760 pronunciation chip, LCD display and the velocity of AT89S52. Velocity sensor and pressure sensors to collect the pressure and velocity data and send to the AT89S52, AT89S52 to rec
3、eive data processing, and send data to LCD12864 displayed on the LCD panel.Then the ISD1760 pronunciation chip will the current velocity data and pressure data broadcast out.Key Words: Data Acquisition System; Fluid Velocity; Pressure; ISD1760; AT89S52目 录1引言 11.1课题的目的和意义 .11.2课题背景 .12设计方案与选取 32.1 方案
4、比较 32.1.1 以 AT89S52单片机和超声波测速仪的设计 .32.1.2 以 AT89S52单片机和霍尔传感器再加上数码管显示的设计 .32.1.3 以 AT89S52单片机和霍尔传感器再加上 LCD12864液晶显示的设计 .32.2 方案总结 43流速压力数据采集系统的硬件设计 531 系统的硬件设计框图 .532 各单元模块的分析 53.2.1主控制模块 AT89S52.53.2.2晶振电路 73.2.3电源电路 73.2.4复位电路 83.2.5流速模块 83.2.6压力传感器 103.2.7 AD转换 113.2.8 显示模块 .123.2.9 语音模块 .143.2.10
5、无线遥控模块 .164流速压力数据采集系统的软件设计 194.1软件框图 .194.2各软件模块功能 .194.2.1初始化 204.2.2流速数据采集 204.2.3压力数据采集 204.2.4 AD转换 204.2.5数据处理 214.2.6 LCD显示 214.2.7语音播放 215作品调试 265.1硬件调试 .265.2软件调试 .26总结 .27参考文献 .28致谢 .28附录 A30附录 B41附录 C42流速压力数据采集系统11引言本章将介绍本次课题的目的和意义。以及现代科学技术中数据采集系统的发展历程。1.1课题的目的和意义近年来,数据采集及其应用技术受到人们越来越广泛的关注
6、,数据采集系统也迅速地得到应用。在生产过程中,应用这一系统可对生产现场的工艺参数进行采集、监视和记录,为提高产品质量、降低成本提供信息和手段。在科学研究中,应用数据采集系统可获得大量的动态信息,是研究瞬间物理过程的有力工具,也是获取科学奥秘的重要手段之一。总之犷不论在哪个应用领域中,数据采集与处理越及时,工作效率就越高,取得的经济效益就越大。现如今,科技发展速度日新月异,随着计算机被广泛运用,数据采集在许多领域有着十分重要的应用。它是连接计算机与外部物理世界的桥梁。利用各种通信方式,实现对现场环境的实时监控及数据参数分析,通过制订上位机(主机)与数据采集器(从机)的通信协议,实现两者之间阻塞式
7、通信交互过程。在矿业、工业、农业等各种行业,尤其是在对信息实时性能要求较高或者恶劣的数据采集环境中更突出其应用的必要性。例如:在矿井井下环境检测、工业生产、现代农业生产和科学技术研究的各行业中,常常利用计算机对各种数据进行采集分析。这其中有很多地方需要对各种数据进行采集,如压力、流速、液位、温度、频率等。通过对采集到的数据进行分析,将有极大的实际价值。例如:通过对油井内部的原油压力和流速数据进行采集和分析,这对于提高油井的产量有十分重要的意义;通过矿井井壁压力、矿井周围水流流速等数据进行监测,将有利于建立矿难预警机制,减少矿难造成的损失。1.2课题背景以往工业现场的各种数据都是采用人工读数和记
8、录,一直停留在手工和数字仪表的水平,无法做到对大量的实验数据的实时采集和分析。随着计算机技术的发展,结合高精度、高性能的数据采集仪的应用,使得多路数据采集实现了自动化,大量的数据采集和分析由计算机自动完成,提高了测量精度。而计算机已经与仪器结合得非常广师天河学院本科毕业设计( 论文)2紧密,已成为整个系统的核心,许多传统仪器正在逐渐被计算机部分、甚至全部取代。把各种传感器与计算机连接起来。由于一些监测环境的特殊性,无法做到对环境进行人工的实时监控。因此具有高效、高性能的测试方法和测试设备是井下环境数据分析所必备的,计算机虽然功能强大, 可以帮助我们解决这一难题, 但由于计算机太过笨重, 携带不
9、方便, 对现场工况条件要求较高, 抗干扰能力较差, 通常无法胜任于条件恶劣的环境。而单片机以其集成度高、运算速度快、体积小、运行可靠、价格低廉等优点, 在过程控制、数据采集、机电一体化方面得到了广泛应用。因此, 该设计采用单片机作为控制器,通过传感器对压力和流速数据进行采集,再利用液晶显示屏显示数据。从而在实现数据采集精度,运算速度的基础上减小了整个产品的体积和成本。也提高了整个数据采集系统的可靠性和整体功耗。流速压力数据采集系统32设计方案与选取对于本课题的设计,主要有三种方案,第一种方案是采用AT89S52 单片机和超声波测速仪。第二种方案是采用AT89S52单片机和霍尔传感器再加上数码管
10、显示。第三种方案是采用AT89S52单片机和霍尔传感器再加上 LCD12864液晶显示 1。2.1 方案比较2.1.1 以AT89S52单片机和超声波测速仪的设计优点:采用超声波测速测量流速数据方便,它的原理是发射一束超声波,在遇到流体时,超声波会发生多普勒频移现象,并有部分超声波会放射回接收端,通过计算发射出的超声波和接收到的超声波之间的频率差就可以计算出流速,因此不会影响水流的流动。 缺点:超声波遇到水流所发生的多普勒频移非常小,因此单片机的处理精度和速度要足够快。所以在测量小流量的流体流速或流速较慢的流体流速时,AT89S52 单片机就会出现很大的误差。2.1.2 以AT89S52单片机
11、和霍尔传感器再加上数码管显示的设计优点:相对于三个方案来讲,此方案的成本最低。缺点:测量流速时必需在流体中加上一个带小磁片的转轮,流体的流动会推动转轮转动,而每当小磁片通过霍尔元件时就会产生一个脉冲信号,通过计算脉冲信号的频率就可以测出水流的流速。因此会影响到流体的流动。而且数码管的功耗较大,不适合长久性的数据采集。而且对多路数据的显示的直观性很差,会给操作人员造成不必要的麻烦,有时甚至还会促使操作人员发生误操作。2.1.3 以AT89S52单片机和霍尔传感器再加上LCD12864液晶显示的设计优点:51单片机具有高效能,资源占用率低等特点。使用C语言编程可以实现丰富的功能,在Proteus仿
12、真环境上也可以很好地体现出本设计欲达到的效果 2。采用LCD12864可以实现中文字符的显示,对于观察数据有很好的帮助,而且相对功耗比较小。广师天河学院本科毕业设计( 论文)4缺点:会对流体的流动产生影响,成本相比于数码管也会有一定的增加。2.2 方案总结 由于设计是属于测量管道的流体流速,因此采用方案一用超声波测流速会有较大的误差,而在管道中加上一个转轮,在本设计中不会对流体流速产生大的影响。而且为了方便观察数据,采用LCD12684液晶显示可以达到此目的。综合各个方面,采用方案三是最理想的选择。流速压力数据采集系统53流速压力数据采集系统的硬件设计此流速压力数据采集系统用霍尔元件作为流速传
13、感器采集流体流速数据,用压力传感器加上 AD0809 模数转换芯片采集压力数据,将采集到的流速数据和压力数据发送到主控制的 AT89S52 单片机,AT89S52 单片机再将数据进行处理,再送往LCD12864 液晶显示屏显示,同时再与 ISD1760 语音芯片进行通信,将当前的数据用语音播放出来。3.1系统的硬件设计框图本系统的硬件设计框图如图 3.1所示。主控制模块AT89S52复位电路晶振电路电源电路流速模块压力传感器显示模块语音模块AD 转换无线控制模块图 3.1系统硬件设计框图3.2 各单元模块的分析3.2.1主控制模块 AT89S52本设计的主控制模块是采用AT89S52单片机,由
14、于 AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,所以非常适用于长期的数据监控系统。同时AT89S52 单片机具有8K在系统可编程的Flash 存储器。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU 和在系统可编程Flash,使得AT89S52为本数据采集系统提供了高灵活、超有效的解决方案 3。广师天河学院本科毕业设计( 论文)6在本设计中AT89S52 具有以下功能:采集压力信号:通过控制AD0809模数转换芯片,将采集到的模拟压力信号转换成数字信号。再通过算法将压力信号转换成实际的压力数值。其与AD0809之间的接线如图3.2所
15、示,其中P1 脚为AD0809 的数据输出引脚D0D7相接,其中AD0为AD0809数据输出引脚的高位。AD0809的第10脚(CLK)与单片机的30脚(ALE)相接,6脚(START)和 22脚(ALE)与单片机的P3.6脚相接,7脚(EOC)接到单片机的P3.6脚,9脚(OE )接到单片机的P3.5脚。采集流速信号:将流速模块采集到的频率信号通过单片机内部计数器1和定时器0进行计算,转换成实际的流速数值。其与流速模块之间的接线如图3.2所示,流速模块的数据输出引脚接到AT89S52的P3.4引脚。控制显示:通过并行数据传输的方式控制LCD12864显示流速数据和压力数据等。其与LCD128
16、64之间的引脚接线如图3.2所示,其中LCD12864的数据引脚D0D7(7引脚到14引脚)与单片机的P2口相接,D0为低位。LCD12864的第4引脚(RS)接到单片机的P3.7引脚,第 5引脚(RW )接到单片机的P3.6引脚,第 6脚(E)接到单片机的P3.5引脚。第15引脚(PSB)接到单片机的 P3.1引脚。语音播放:通过SPI通信协议与ISD1760语音芯片通信,控制语音芯片播放出指定的语音。其与语音模块之间的引脚连接如图3.2所示。值得注意的是,由于AT89S52 单片机的P0口是开漏输出,因此需要在P0 口的各引脚接上一个 510K的电阻。在本设计中采用了一个10K的排阻。IS
17、D1760的第4引脚(MISO)接到单片机的P0.0引脚,第5引脚(MOSI)接到单片机的P0.1引脚,第6引脚(SCLK)接到单片机的P0.2引脚,第7引脚(SS)接到单片机P0.3引脚。流速压力数据采集系统7图 3.2 主控制 AT89S52芯片和引脚接法图3.2.2晶振电路晶振电路以外部方式为单片机提供时钟信号。在单片机的 XTAL1 和 XTAL2 端接一个 12M 的石英晶体作为定时元件,小电容取 30pF。采用 12M 晶振,则单片机的机器周期 T=为 1us,频率为 12MHz,既单片机每执行一条指令的时间为 1us。这样能使软件程序能够更准确地延时和执行程序指令。其电路如图 3
18、.3 所示。图 3.3 起振模块电路3.2.3电源电路电源模块考虑到单片机以及其他模块的正常工作,故采用稳定的 5V 直流电源,同时为了使整个作品更具人性化,加上了一个电源开关和电源指示灯,使该作品使用起来十分方便。打开电源开关如果电源正常工作则 LED 电源指示灯亮,如果电源电路不正常工作,则 LED 电源指示灯不会亮。为了使通过 LED 电源指示灯的电流不会过大烧坏 LED 电源指示灯,采用一个 10K 的电阻与 LED 电源指示灯串联。直流稳压电源是将交流电变换成功率较小的直流电,一般由变压、整流、滤波和稳压等几部分组成。整流电路用来将交流电压变换为单向脉动的直流电压;滤波电路用来滤除整
19、流后单向脉动电压中的交流成分,使之成为平滑的直流电压;稳压电路的作用是输入交流电源电压波动、负载和温度变化时,维持输出直流电压的稳定。其电路如图 3.4 所示。广师天河学院本科毕业设计( 论文)8图 3.4 电源模块电路3.2.4复位电路采用一个电容值为 10uF 的有极性电容与一个阻值为 10K 欧姆的电阻串联接在电源两端,中间为 RST。同时采用一个点触型按键与电容相并,这种复位电路的工作原理是:通电时,电容两端相当于是短路,于是 RST 引脚上为高电平,然后电源通过电阻对电容充电,RST 端电压慢慢下降,降到一定程序,即为低电平,单片机开始正常工作 4。其电路图如图 3.5 所示。图 3
20、.5 复位电路当 RST 保持两个机器周期以上的高电平时单片机自动复位,其复位的方式有两种:1、上电复位:上电瞬间,电容充电电流最大,电容相当于短路,RST 端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST 端为低电平,程序正常运行。2、手动复位:首先经过上电复位,当按下按键时,RST 直接与 VCC 相连,为高电平形成复位,同时电解电容被短路放电;按键松开时,VCC 对电容充电,充电电流在电阻上,RST 依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST 为低电平,正常工作。3.2.5流速模块本设计的流速传感器是采用霍尔元件,如果把霍尔元
21、件集成的开关按预定位置有规律地布置在物体上,当装在运动物体上的永磁体经过它时,可以从测量电路上测得脉冲信号。根据脉冲信号列可以传感出该运动物体的位移。若测出单位时间内发出的脉冲数,则可以确定其运动速度。因此本设计中的流速传感器是在一截管道内加上一流速压力数据采集系统9个贴有小磁片的转轮,流体流动时会推动转轮转动。转轮上的小磁片每次垂直经过霍尔元件,霍尔元件就会产生一个脉冲信号,通过固定的小容积来反复计量通过流量计的流体体积,再将流体体积除以进水管的表面积就可以得到流体的流速。所以,此流速模块内部必须具有构成一个标准体积的空间,通常称其为 “计量空间”或“计量室”。这个空间由仪表壳的内壁和流量计
22、转动部件一起构成。结构如图 3.6所示。流速模块的工作原理为:流体通过流速模块,就会在流量计进出口之间产生一定的压力差。流量计的转动部件(简称转子)在这个压力差作用下特产生旋转,并将流体由入口排向出口。在这个过程中,流体一次次地充满流量计的“计量空间”,然后又不断地被送往出口。在给定流量计条件下,该计量空间的体积是确定的,进水口的横截面积也是固定的,只要测得转子的转动次数。就可以得到通过流速模块的流体流速。设流量计计量空间体积为 V,一定时间内转子转动次数为 N,进水口的横截面积为S,则在该时间内流过的流体流速为:vNV/S在电路上由于霍尔元件输出脚为漏极输出,所以为了使输出信号可以被单片机识
23、别,必须在输出引脚与电源之间加上一个阻值为 10K的上拉电阻 5。其电路原理图如图3.7所示。图 3.6流速计结构图广师天河学院本科毕业设计( 论文)10图 3.7流速模块电路图3.2.6压力传感器压力传感器是能够感受规定的被测量并按照一定的转换规律转换成可用的输出信号的器件或装置压力传感器是以压力为被测量,进而转换为电信号的装置,它具有广泛的用途。在本次设计中,压力传感器是采用电阻应变式传感器,电阻应变式传感器是基于这样一个工作原理:弹性体(弹性元件,敏感梁)在外力作用下产生弹性变形,使粘贴在他表面的电阻应变片(转换元件)也随同产生变形,电阻应变片变形后,它的阻值将发生变化(增大或减小),为
24、了使压力测量在任何温度下都能保持准确,在传感器中加上一个温度补偿电路,保持压力测量的准确性。再经相应的测量电路把这一电阻变化转换为电信号(电压或电流),再将微弱的电信号通过差动放大电路进行放大,从而完成了将外力变换为电信号的过程 6。 由此可见,电阻应变片、弹性体和检测电路是电阻应变式压力传感器中不可缺少的几个主要部分。其传感器的内部结构如图 3.8所示。本次设计所采用的压力传感器的测量范围是 01000mm水柱,压力传感器的输出的信号是模拟信号,电压输出范围为 0V5V;线性度为 0.2%。在 1米水柱在标准条件下(即 4,g=9.80665 米/秒 2) ,水压与压力的对应关系为:1mH2
25、O=0.1kgf/cm2(公斤力 /厘米 2)=9.8kPa(千帕斯卡)由于 AT89S52单片机无法直接对模拟信号进行处理,因此需要将输出的模拟信号转换成数字信号。该压力传感器的第 2引脚为信号输出脚,它与 AD转换模块 AD0809芯片的第 26引脚(IN0)相接。同时由于进行 AD转换时需要采集输出电压,因此需要在压力传感器的第 2引脚(信号输出)与第 3引脚(地)之间加上一个 410K的下拉电阻。在本设计中采用的是一个阻值为 4.3K的电阻。该压力传感器与 AD0809的引脚接线如图 3.9所示。流速压力数据采集系统11图 3.8 压力传感器内部结构图图 3.9 压力传感器引脚接法图3
26、.2.7 AD转换由于压力传感器输出的电压是 05v 的模拟电压信号,单片机无法对模拟信号直接进行处理,因此需要一个将模拟信号转变成数字信号的器件,在本次设计中,采用的是 ADC0809 模数转换芯片。ADC0809 是 8 位逐次逼近型 A/D 转换器。它由一个 8 路模拟开关、一个地址锁存译码器、一个 A/D 转换器和一个三态输出锁存器组成。多路开关可选通 8 个模拟通道,允许 8 路模拟量分时输入,共用 A/D 转换器进行转换。三态输出锁器用于锁存A/D 转换完的数字量,当 OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。ADC0809 的 工 作 原 理 : IN0IN7
27、为 8 条模拟量输入通道。在本设计中,压力传感器输出的模拟信号所选择的输入通道为 IN0。 ADC0809 对输入模拟量要求,信号必需是单极性,电压范围是 05V,若信号太小,必须进行放大。输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。有 4条地址输入和控制线,ALE 为地址锁存允许输入线,高电平有效。当 ALE 线为高电平广师天河学院本科毕业设计( 论文)12时,地址锁存与译码器将 A,B,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B 和 C 为地址输入线,用于选通 IN0IN7 上的一路模拟量输入。本设计所
28、选择的是 IN0 通道,因此 A、B、C 地址选择为0、0、0。因此这三只引脚直接接地。通道选择表如表 3.1 所示。ADC0809 的数字量输出及控制线为 11 条。ST 为转换启动信号。当 ST 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行 A/D 转换;在转换期间,ST 应保持低电平。EOC 为转换结束信号。当 EOC 为高电平时,表明转换结束;否则,表明正在进行 A/D 转换。OE 为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE 为 0,输出数据线呈高阻状态。D7D0 为数字量输出线。CLK 为时钟输入信号线。因 ADC0809
29、的内部没有时电路,所需时钟信号必须由外界提供,通常使用频率为 500KHZ,而在本设计中,CLK 引脚接在单片机 AT89S52 的 ALE 引脚上,其频率为 1MHz,VREF() ,VREF()为参考电压输入,分别接电源和地 7。AT89S52 单片机与 ADC0809 的之间的引脚接法如图 3.10 所示。其中 AD0AD7与单片机的 P1 口相接,AD0 为高位。START 和 ALE 引脚与单片机的 P3.7 引脚相接,EOC 引脚与单片机的 P3.6 引脚相接,OE 引脚与单片机的 P3.5 引脚相接。CLK 引脚与单片机的 ALE 引脚相接。表 3.1 ADC0809 通道选择表
30、C B A 选择的通道0 0 0 IN00 0 1 IN10 1 0 IN20 1 1 IN31 0 0 IN41 0 1 IN51 1 0 IN61 1 1 IN7流速压力数据采集系统13图 3.10 ADC0809与 AT89S52之间引脚接线图3.2.8 显示模块本设计所采用的显示模块是 LCD12684 液晶屏,采用此液晶屏可以显示中文字符,对于观察者来说会更加容易。带中文字库的 LCD12864 是一种具有 4 位/8 位并行、2 线或 3 线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为 12864, 内置 8192 个 16*16 点汉
31、字,和 128 个 16*8 点ASCII 字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示 84 行 1616 点阵的汉字 . 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。LCD12864 的各引脚功能如表 3.2 所示。LCD12864 与单片机 AT89S52 之间的引脚如图 3.11 所示,其中第 3 引脚为显示字的对比度调整,通过调整可调电阻 R18 的阻值改变对比度,R18 的阻值越高,
32、对比度就越高,所显示的字就越清楚。第 4 引脚(RS )与单片机的 P3.7 引脚相接,第 5 引脚(RW)与单片机的 P3.6 引脚相接,第 6引脚(OE )与单片机的 P3.5 引脚相接。第 7 引脚到第 14 引脚(D0D8 )与单片机的P2 口相接。第 15 引脚( PSB)与单片机的 P3.1 引脚相接。广师天河学院本科毕业设计( 论文)14图 3.11 LCD12864引脚图LCD12864 的每一个引脚都具有特定的功能,其中部分引脚具有第二功能,通过单片机控制各引脚,选择 LCD12864 所需要的工作方式。LCD12864 液晶模块各引脚的具体功能如表 3.2 所示。表 3.2
33、 LCD12864引脚功能管脚号 管脚名称 电平 管脚功能描述1 VSS 0V 电源地2 VCC 3.0+5V 电源正3 V0 - 对比度(亮度)调整4 RS(CS) H/L RS=“H”,表示 DB7DB0 为显示数据RS=“L”,表示 DB7DB0 为显示指令数据5 R/W(SID) H/L R/W=“H”,E=“H”,数据被读到 DB7DB0R/W=“L”,E=“HL”, DB7 DB0 的数据被写到 IR 或 DR6 E(SCLK) H/L 使能信号7 DB0 H/L 三态数据线8 DB1 H/L 三态数据线9 DB2 H/L 三态数据线10 DB3 H/L 三态数据线11 DB4 H
34、/L 三态数据线12 DB5 H/L 三态数据线13 DB6 H/L 三态数据线14 DB7 H/L 三态数据线15 PSB H/L H:8 位或 4 位并口方式, L:串口方式(见注释 1)16 NC - 空脚流速压力数据采集系统153.2.9 语音模块本设计语音模块所采用的是ISD1760芯片,ISD1760语音芯片是Winboad(华邦公司)推出的单片优质语音录放电路,芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统功能。有两种工作模式,分别为按键触发模式与SPI控制模式。鉴于两种模式实现的功能一致,本设计中采用单片机输出模拟按键信号实现对语音
35、芯片的控制。该模式不仅有录音和播放,还有快进、擦除、复位、音量等功能。这些功能仅仅通过按键就可完成。而且按键信号相当于一个负脉冲信号,可用软件模拟出来。ISD1760语音芯片的特点: 可录、放音十万次,存储内容可以断电保留100年 两种控制方式,两种录音输入方式,两种放音输出方式 可处理多达 255 段以上信息 有丰富多样的工作状态提示 多种采样频率对应多种录放时间 音质好,电压范围宽,应用灵活,价廉物美 可利用振荡电阻来自定芯片的采样频率,从而决定芯片的录放时间和录放音质,而芯片的采样率可以通过外部振荡电阻来调节,ISD1760 的采样率调节表如表 3.3所示。表 3.3 ISD1760采样
36、频率与震荡电阻采样频率 12KHz 8KHz 6.4KHz 5.3KHz 4KHz振荡电阻 60K 80K 100K 120K 160KISD1760支持独立按键模式和 SPI模式,独立按键模式是通过独立按键控制ISD1760语音芯片进行录音、播放、擦除、快进、复位和调节音量大小等功能。SPI 模式是主控单片机与 ISD1760芯片进行 SPI通信,从而实现单片机对 ISD1760芯片的控制,鉴于本设计的语音播报必需有一定的智能功能,所以选择了 ISD1760芯片工作在SPI模式。17 /RESET H/L 复位端,低电平有效18 VOUT - LCD 驱动电压输出端19 A VDD 背光源正
37、端( +5V)20 K VSS 背光源负端广师天河学院本科毕业设计( 论文)16主控单片机 AT89S52 通过 P0.0P0.3 与 ISD1760 的第 4第 7 引脚(SCLK,MOSI,MISO , /SS )相连接,通过 SPI 协议对 ISD1760 进行串行通信。ISD1760 作为从机,所有的操作都通过这个 SPI 协议来完成,包括定点播放语音等。为了兼独立按键模式,一些 SPI 命令:PLAY,REC , ERASE,FWD ,RESET 和GLOBAL_ERASE 的运行类似于相应的独立按键模式的操作。另外,SET_PLAY,SET_REC , SET_ERASE 命令允许
38、用户指定录音、放音和擦除的开始和结束地址。此外,还有一些命令可以访问 APC 寄存器,用来设置芯片模拟输入的方式。ISD1760 的 SPI 模式电路如图 3.12 所示。图 3.12 ISD1760的 SPI模式电路3.2.10 无线遥控模块本设计所采用的无线模块采用的是 315MHz 的超再生无线模块。无线模块主要分为两部分发射模块和接收模块。其调制方式为 ASK 调制。发射模块是采用 PT2262 进行编码。编码芯片 PT2262 发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片 PT2272 接收到信号后,其地址码经过两次比较核对后,VT 脚才输出高电平,与此同时相
39、应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。当发射机没有按键按下时,PT2262 不接通电源,其 17 脚为低电平,所以 315MHz 的高频发射电路不工作,当有按键按下时,PT2262 得电工作,其第 17 脚输出经调制的串行数据信号,当 17 脚为高电平期间三极管导通,315MHz 的高频发射电路起振并发射等幅高频信号,信号从天线 L1 发射出去。流速压力数据采集系统17当 17 脚为低平期间 315MHz 的高频发射电路停止振荡,所以高频发射电路完全收控于 PT2262 的 17 脚输出的数字信号,从而对高频电路完成幅度键控(ASK 调制)相当于调制度为 100
40、的调幅 8。其电路如图 3.13 所示。图 3.13发射模块电路接收模块超再生检波电路实际上是一个受间歇振荡控制的高频振荡器,这个高频振荡器采用电容三点式振荡器,振荡频率和发射器的发射频率相一致。而间歇振荡(又称淬装饰振荡)双是在高频振荡的振荡过程中产生的,反过来又控制着高频振荡器的振荡和间歇。而间歇振荡的频率是由电路的参数决定的(一般为 1 百几百千赫)。这个频率选低了,电路的抗干扰性能较好,但接收灵敏度较低:反之,频率选高了,接收灵敏度较好,但抗干扰性能变差。超再生检波电路有很高的增益,在未收到控制信号时,由于受外界杂散信号的干扰和电路自身的热搔动,产生一种特有的噪声,叫超噪声,这个噪声的
41、频率范围为0.35kHz 之间,听起来像流水似的“ 沙沙”声。在无信号时,超噪声电平很高,经滤波放大后输出噪声电压,该电压作为电路一种状态的控制信号。当有控制信号到来时,电路揩振,超噪声被抑制,高频振荡器开始产生振荡。而振荡过程建立的快慢和间歇时间的长短,受接收信号的振幅控制。接收信号振幅大时,起始电平高,振荡过程建立快,每次振荡间歇时间也短,得到的控制电压也高;反之,广师天河学院本科毕业设计( 论文)18当接收到的信号的振幅小时,得到的控制电压也低。这样,在电路的负载上便得到了与控制信号一致的低频电压,这个电压便是电路状态的另一种控制电压 9。电路原理图如图 3.14 所示。图 3.14接收
42、模块电路流速压力数据采集系统19当发射模块有按键按下的时候,接收模块接收到信号。经过解调放大之后输入到PT2272 的第 14 引脚,PT2272 会根据接收到的信号进行解码。解码后第 1013 引脚会输出与发射模块按键状态一样的数据。广师天河学院本科毕业设计( 论文)204流速压力数据采集系统的软件设计4.1软件框图 本设计的软件流程图如图 4.1 所示,主要包括初始化、流速数据采集、压力数据采集、AD 转换、数据处理、LCD 显示、语音播放开始初始化采集流速数据 采集压力数据AD 转换数据处理LCD 显示判键语音播放是否图 4.1软件流程图4.2各软件模块功能流速压力数据采集系统214.2
43、.1初始化初始化主要是 LCD12864 的初始化,主要是向 LCD12864 的指令寄存器写进0X30,设置 LCD12864 指令集为基本指令集。向 LCD12864 的指令寄存器写进 0X01,清除 LCD12684 的所有显示;向 LCD12864 的指令寄存器写进 0X06,设置光标的移动方向以及指定显示的移位。向 LCD12864 的指令寄存器写进 0X0C,设置 LCD12684 整体显示关、打开游标、不显示游标的位置。软件设置 PSB 引脚为高电平,此时LCD12864 的数据传输方式为 8 位并行传输。还有就是单片机内部定时器和计数器的初始化,设置向单片机的 TMOD 寄存器
44、写进 0X15,设置单片机的计数器 0 以及定时器1 工作,它们的都是工作在工作方式 316 位定时计数功能。设置定时器 1 定时时间为 50ms。设置单片机外部中断 0 工作,触发方式为下降沿 10。4.2.2流速数据采集由于流速计是采用霍尔元件,因此所得到的信号为频率信号,通过单片机内部定时和计数器组成多倍周期测频率。之所以采用多倍周期测频率而不采用直接测量频率,是因为直接测量频率会有很大的误差,而采用多倍周期测频率则可以在很大的程度上减小误差。在程序上,用单片机定时 100ms,通过计数器算出 10ms 内脉冲的个数,就可以采集到流速数据 11。4.2.3压力数据采集压力传感器是采用了电
45、阻应变式传感器,所以采集到的信号为模拟信号,其范围为 05V。再将采集到的模拟信号传输到 AD0809 的第一通道(IN0 )进行模数转换。4.2.4 AD转换AD 转换的目的是为了将采集到的压力信号转变成单片机可以识别的数字信号。ADC0809 内部带有输出锁存器,可以与 AT89S52 单片机直接相连。初始化时,使 ST 和 OE 信号全为低电平。送要第一通道的地址到 A,B,C 端口上,由于选择了第一通道(IN0 ),所以 AD0809 的 A、B、C 端口的都为低电平,地址为 0。单片机控制 ST 端输出一个至少有 100ns 宽的正脉冲信号。根据 EOC 信号来判断是否转化完毕。如果
46、没转换完毕则等待,当 EOC 变为高电平时,表示转换完毕,这时 0E 为高电平,转广师天河学院本科毕业设计( 论文)22换的数据从 D0D7 输出到单片机了,值得注意的是输出数据时 D0 为高位,D7 为低位 12。4.2.5数据处理由于采集到的流速和压力信号还不是真正的数据。必需通过程序计算,才能得到真正的流速压力数据。由于压力传感器输出的信号与实际的压力数据是一个线性的关系,因此通过对输出信号与实际压力数据之间关系的计算,就可以得到实际的压力数据。压力传感器输出的模拟信号范围为 05V,测量水压的范围为 01000mm 水柱,水压与信号之间的关系为:N=U/5*1000*9.8其中 U 为
47、压力传感器经过 AD0809 转换后的输出电压值,5 为 AD0809 的参考电压正 5V,1000 为测量水压的范围 1000mm 水柱,9.8 为 1mm 水柱与 1Pa 之间的转换系数。水压的单位为帕(Pa)。根据表达式在编程时利用 C 语言直接用一条语句就可以将水压表达出来。采集到的流速信号是一个频率信号,需要利用流速传感器输出的信号与流体流速的关系计算出真正的流速。它们之间的关系也是一个线性关系。其关系的表达式为:vNV/S其中 N 为转轮转动的次数,V 为流速传感器内部“空室” 的体积,V 为常数3cm3。S 为出水管道的横截面积,也个常数 0.7cm2.因此只要利用单片机的计数功
48、能计算出 100ms 内脉冲的个数,即流体推动转轮转动的圈数 N,就可以得到流速 v。4.2.6 LCD显示本设计 LCD12864 所采用的通信方式是并行通信,之所以采用并行通信是因为相比于串行通信,并行的通信速度会快很多。其中 LCD12864 的 RS,RW 和 E 引脚为指令控制引脚。通过这三个端口之间的配合,可以实现读数据、写数据、读指令和写指令等命令。设置 RS 为“0”,RW 为“0” 时为写指令,设置 RS 为“0”,RW 为“1”时为读指令,设置 RS 为“1”,RW 为“0” 时为写数据,设置 RS 为“1”,RW 为“1”时为读数据。设置好指令之后单片机就向 LCD128
49、64 的数据脚 D0D7 输入所需要的数据等。把压力值和流速值显示出来。流速压力数据采集系统234.2.7语音播放语音是先录到 ISD1760 芯片中,再通过单片机与 ISD1760 芯片通信将需要的语音播放出来。为了使单片机能与 ISD1760 通信,单片机必须遵照 ISD1760 的 SPI 串行接口操作协议:(1) 一个 SPI 处理开始于/SS 管脚的下降沿。 (2) 在一个完整的 SPI 指令传输周期,/SS 管脚必须保持低电平。 (3) 数据在 SCLK 的上升沿锁存在芯片的 MOSI 管脚,在 SCLK 的下降沿从 MISO管脚输出,并且首先移出低位。 (4) SPI 指令操作码包括命令字节,数据字节和地址字节,这决定于 1760 指令类型。(5) 当命令字及地址数据输入到 MOSI 管脚时,同时状态寄存器和当前行地址信息从 MISO 管脚移出。 (6) 一个 SPI 处理在/SS 变高后启动。 (7) 在完成一个 SPI 命令的操作后,会启动一个中断信息,并且持续保持为低,直到芯片收到 CLR_INT 命令或者芯片复位。 (8) MOSI 数据格式,MOSI 是 SPI 接口的“主机输出从机接