单片机的多参数实时采集与处理系统设计_第1页
单片机的多参数实时采集与处理系统设计_第2页
单片机的多参数实时采集与处理系统设计_第3页
单片机的多参数实时采集与处理系统设计_第4页
单片机的多参数实时采集与处理系统设计_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、1绪论课题研究背景和意义在现代工业控制系统中,多参数实时采集对监控设备正常运行有着十分重要的作 用。多参数信号采集能将监控现场的物理量、化学量、或生物量通过相应的传感器和调 理电路把模拟量转化为易于采集、处理的电压信号,经单片机的处理,一方面反馈给控 制部件对监控对象进行控制调整,另一方面送给显示单元,实时显示采集的信号数据。 在航空、汽车、通信、园林等控制领域,多参数实时采集与处理是自动控制系统的核心。 随着计算机技术的发展,数据采集与处理系统的应用越来越广泛,不仅应用于新的工程 项目,而且还广泛应用于国内许多旧有仪器设备的改造中。数据采集技术是信息科学的一个重要分支,与传感器技术、信号处理

2、技术、计算机 技术共同构成了现代检测技术的基础。而数据采集技术正是这些技术的前端,也是信息 进行可靠传输和正确处理的基础。数据采集是指将温度、压力、流量、位移等模拟量采集、转换成数字量后,再由计 算机进行存储、处理、显示或打印的过程。在生产过程中,可对生产现场的工艺参数进 行采集、监视和记录,为提高产品的质量、降低成本提供信息和手段。在科学研究中, 可对应用数据进行采集,从而获得大量的动态信息,是研究瞬间物理过程的有力工具, 也是获取科学奥秘的重要手段之一。随着现代电子技术的飞速发展,数据采集技术也日新月异,特别是小型化、便携式解决方案在数据采集中开始占据越来越大的比重,并越来越多地倾向于低电

3、压、低功耗、微型化设计,有的小型数据采集器甚至小到可以放进衬衫口袋里。目前一些市场上出售 的小型数据采集器实际上就是全功能的计算机。它们功能强大,具有现场实时数据采集、 处理功能的自动化设备,具备实时采集、自动存储、即时显示、即时反馈、自动处理、 自动传输功能;为现场数据的真实性、有效性、实时性、可用性提供了保证,并能方便 输入计算机,已广泛应用在工业、农业、商业、交通、物流、仓储等行业。因此,根据 当前数据采集发展的实际情况,研制开发符合生产需要的多功能智能化的数据采集器具 有现实意义2。国内外研究现状数据采集系统的应用非常广泛,是目前工业控制中应用较多的一类产品,国内外许多科研单位和技术公

4、司都在积极研制,国外的数据采集器的研制已经相当成熟,而且种 类不断增多,性能越来越好,功能越来越强大。以数据采集行业的佼佼者NI公司为例,NI6115同步多功能数据采集卡(DAQ),是基于PCI的4路差分输入,模拟输入最高 10M/S, 12位同步采样。DAQ-2005是4路500kS/s 16bit同步数据采集卡,带 2路1M/s D/A输出,24路DIO。又如美国福禄克(Fluke)公司的262XA系列是一种小型,便携, 操作简单,使用灵活的数据采集器。它可以单独使用,也可以和计算机连接使用。它具 有多种测量功能,多种数据存储方式和多种控制方式。具有21路模拟输入通道,12路数字通道;RS

5、232接口和数据记录,前面板锁定:防止其它人员意外触动前面板按键。在国内,也有不少的大学、科研机关、公司从事数据采集器的研制,由于数据采集 技术不断发展,市场上出现了各种新型的数据采集器。如北京中泰研创科技有限公司, 利用DAS制作的数据采集系统PCI-8344B,它具有16Bit A/D,8通道并行同时转换, 8KFIFO,010V、土 5V双端输入,每个通道的转换速率都可达100KHz。四川拓普数字设备有限公司的PCI-10016具有4通道模拟量输入,最高采样率:100Ksps, 16BitA/D。 北京华控技术有限责任公司的通用数据采集控制板HK 6060C/HK6070C,具有如下性能

6、:输入通道数:单端16路,分辨率:12Bit,输入电压范围:土 5V, 2.5V,05V, 模拟电压输出部分,输出通道数:1路,分辨率:12Bit,8路数字量输入通道,8路数 字量输出通道,输出电压范围:土 5V, 土 2.5V,010V,05V;北京康泰电子有限公司的 DAQ-1602/PCI 16位PCI总线数据采集板,具有 16bit,250kHz和500kHz A/D输入,可 编程增益选择:1,2,4,8, 8CH差分或16CH单端输入,2048字节的数据Buffer。经过对 国内外现有数据采集行业产品的性能、价格、功能的了解,其概况如下:国外的数据采集器精度高、采样速度快、功能较全,

7、但价格较为昂贵。体积较大、操作复杂。米样频率和米样精度两者不能很好的统一。 国内的数据采集器与国外的相比其精度和速度有一定的距离2系统方案设计数据采集系统包括模拟信号的输人转换及处理。模拟信号以电压形式输送给A/D转 换器,经模数转换后转换为数字信号,将数字信号送入单片机进行相应的处理及控制, 输送给显示装置,最后显示出来,也可以将数据上传至PC机。数据收集的基本手段是模数转换,它是将来自各式各样传感器的模拟量实时地、准确地测量或汇集起来,送入 计算机实时处理,并输出相应的控制信号以实现对物理系统的控制或记录,而一个完整 的数据采集需要包括硬件和软件两部分组成o硬件系统方案整个硬件系统主要由信

8、号源、AD转换器、单片机及LCD液晶显示等部分组成。其 中A/D转换器使用ADC0809实现,单片机使用AT89C51。系统主要完成的功能是对电 压信号的转换和显示。如图2.1所示。图2.1硬件系统框图软件系统方案软件部分实现对数据采集的控制处理, 当数据选通某一通道后,由A/D转换程序控 制进行A/D转换,转换结束后输送给单片机处理,处理结果送LCD显示。当系统开始采集后,首先送通道0的地址,对通道0进行采集,同时要判断时间是否为 5的倍数, 若为5的倍数,则立即在送通道1的地址,对通道1进行采集,通道0每隔一秒采集一 次,共采集100次,通道1每隔5秒采集一次,共采集20次。将采集的结果显

9、示在LCD 液晶显示屏上。采集过程中会调用相关的子程序,数据采集及AD转换程序,液晶显示程序,串行通信程序等。实现单片机对采集过程的控制。3系统硬件设计部分硬件电路设计硬件电路系统由滤波电路、A/D转换电路、单片机、LCD液晶显示、时钟、串行通 信等部分组成3。滤波电路设计低通滤波器类型的选择根据米样定理,最低米样频率必须是信号最咼频率的两倍。如果信号中包含频率咼于奈奎斯特频率的成分,采样后的信号将发生畸变。这种信号畸变叫做混叠(alias)。一旦完成信号采样,这些信号混叠到有用信号的频段,就无法从有用信号中移除这些频率 成份。混叠现象会严重影响数据转换系统的性能指标,所以在设计含有ADC的系

10、统时,必须在转换器前使用一个低通滤波器,以确保高于奈奎斯特频率的噪声被足够的衰减, 不会出现在采样后的信号中。这个低通滤波器称为抗混叠滤波器3。选用TI公司的THS4052。它是一种70MHz低成本高速电压反馈放大器。工作电压 可设为士 5V,失真度、转换速率、稳定时间都能满足要求。THS4052的性能指标:1高速:70MHz带宽(G=1,-3dB),240V/u s转换速率,60-ns稳定延迟时间(0.1%) 2高输出驱动,lo=l00mA(典型值)3优良的视频性能:30MHZ的0.ldB带宽(G=1),0.01%的增益误差,0.01度的相位误 差4 极低的失真度:THD=-82dBc(f=

11、1MHz,RL=150),THD=-89dBc(f=1MHz,RL=1k)5极宽工作电压范围:V cc= 5v到士 15v抗混叠滤波器电路如图3.1。低通电路设计为12dB/0CT的巴特沃次(最平坦特性)滤波器,对频率高于31.25KHZ 的信号滤波。电路截止频率为 fL=1/2 R1C1=31.25KHz, , Q值为0.5。利用仿真软件对图的电路进行仿真,可以得到其滤波特性曲线见图3.2,由图可见,该低通滤波器特性良好。cdBUpiouqi0.000-la.oo旳.00aooaoQ5CI.D01 DQOk1W.QkIHDOk Rrsquflnc Hzl皿DO图3.2滤波特性1FF-1 i

12、1 1 1 1 hlI l 1 1 11l l1 i 1 Milk弋i l 1 i i i i iLow phb- Fin er AC Aiutsis一片THS4052内是双通道输入,因此2路模拟信号通道输入需要1片THS4O52构 成2个低通滤波器。滤波实际电路连接如图3.3:0图3.3滤波实际电路放大电路本课题的供应电压的范围是 05V的直流电压,所选A/D转换的芯片为ADC0809 , 而ADC0809的模拟电压输入范围也是05V,所以本设计不需要放大电路 。时钟信号由于ADC0809无片内时钟,时钟信号由51单片机的ALE信号经D触发器二分频 后获得。此外,由于 ADC0809内部设有

13、地址锁存器,所以通道地址的选通由单片机和 74LS373的输出信号决定。通道基本地址为 0000H0007H。其对应关系如表3.1所示。表3.1 ADC0809输入通道地址地址码输入通道CBA000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7显示接口电路设计本系统选用12864液晶显示屏51液晶显示模块概述12864A-1汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM (GDRAM) 主要技术参数和显示特性:电源:VDD 3.3V+5V(内置升压电路,无

14、需负压);显示内容:128列X 64行显示颜色:黄绿显示角度:6: 00钟直视LCD 类型:STN与MCU接口: 8位或4位并行/3位串行配置LED背光多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等外形尺寸外形尺寸图如图3.4所示。L0597CV.A?4SLTlT旦a占oa15.4呛5胖1沁旧-35nuuF Ml 2864A图3.4 12864的外形尺寸模块引脚说明128X64引脚说明如表3.2所示表3.2 12864的引脚说明引 脚 号引脚名称方向功能说明1VSS-模块的电源地2VDD-模块的电源正端3V0-LCD驱动电压输入端4RS(CS)H/L并行的指令/数据选择信号;串行的片

15、选信号15R/W(SID)H/L并行的读写选择信号;串行的数据口6E(CLK)H/L并行的使能信号;串行的冋步时钟7DB0H/L数据08DB1H/L数据19DB2H/L数据210DB3H/L数据311DB4H/L数据412DB5H/L数据513DB6H/L数据614DB7H/L数据715PSBH/L并/串行接口选择:H-并行;L-串行16NC空脚17/RETH/L复位低电平有效18NC空脚19LED A-背光源正极(LED+5V )20LED K-背光源负极(LED-OV )逻辑工作电压(VDD) : 4.55.5V,电源地(GND) : 0V,工作温度(Ta): 060C (常 温)/ -2

16、075C(宽温)接口时序(1)8位并行连接时序图MPU写资料到模块如图3.5所示。图3.5写资料时序MPU从模块读出资料如图3.6所示。图3.6读资料时序(2)串行连接时序图如图3.7所示。1 2 J i 5 & 7 i 9 10 11 12 13 14 15 LT Ifi 1? 2fl 21 22 23 24和im川uuuuuinnununiL:工.1:VI)()(IX)(III)pSyursnizi5j|知 ighe 州P-Bit. string 1data 11 血帖| - 2 嘤:图3.7串行连接时序串行数据传送共分三个字节完成:第一字节:串口控制一格式11111ABC,A为数据传送方

17、向控制:H表示数据从LCD 到MCU,L表示数据从MCU到LCD。B为数据类型选择:H表示数据是显示数据,L 表示数据是控制指令。C固定为0第二字节:(并行)8位数据的高4位一格式DDDD0000第三字节:(并行)8位数据的低4位一格式0000DDDD串行接口时序参数如图3.8所示:(测试条件:T=25C VDD=4.5V)SyrtiilliolTest CcuriidiiiurtMim.MflS+Lnil加他沖胡( Iwk 牛旳侦M()S(n Frequencyr = 33Kn470530590Kllzinternal ( VwAExternal Frequency-470530590KHz

18、Duty Cycle-45505?%TRtTfRiseZFall Time-*0.2PsISCYCSerial clock cyclePin L400nsTshwSCLK high pulse widthPinE200-msTsi.wSCLK luw pulsw widthPin E200-nsTsdsSID data setup timePinsRW40-msTsdhSID datai hold time卩 im40-nsTessCS setup timePins RS60-nsTC5HCS ho ld time卩infi60-ns图3.8串行接口时序参数显示RAM(1)文本显示 RAM (

19、DDRAM )文本显示RAM提供8个X 4行的汉字空间,当写入文本显示 RAM时,可以分别 显示CGROM、HCGROM与CGRAM的字型;ST7920A可以显示三种字型,分别是 半宽的HCGROM字型、CGRAM 字型及中文 CGROM字型。三种字型的选择,由在 DDRAM中写入的编码选择,各种字型详细编码如下:显示半宽字型:将一位字节写入 DDRAM中,范围为02H-7FH的编码。显示CGRAM字型:将两字节编码写入 DDRAM中,总共有0000H,0002H, 0004H, 0006H四种编码显示中文字形:将两字节编码写入 DDRAMK,范围为A1A0H-F7FFH(GB码)或 A140

20、H-D75FH(BIG5 码)的编码。(2)绘图 RAM ( GDRAM )绘图显示RAM提供128X 8个字节的记忆空间,在更改绘图RAM时,先连续写入 水平与垂直的坐标值,再写入两个字节的数据到绘图 RAM,而地址计数器(AC)会自 动加一;在写入绘图RAM的期间,绘图显示必须关闭,整个写入绘图 RAM的步骤如 下:1、关闭绘图显示功能。2、先将水平的位元组坐标(X)写入绘图RAM地址;再 将垂直的坐标(Y)写入绘图RAM地址;将D15 D8写入到RAM 中;将D7 D0写入到RAM中;打开绘图显示功能。绘图显示的缓冲区对应分布请参考 “显示坐标”(3)游标/闪烁控制ST7920A提供硬件

21、游标及闪烁控制电路,由地址计数器(address counter)的值来 指定DDRAM中的游标或闪烁位置。液晶接口电路如图3.9所示。 1 z 9 id 寸 E 61 L o (XldiTilTl 工 flaB 口jCD匸 a Ci o a a a 口 a uj h图3.9液晶显示电路主控电路设计模数转换器的选择根据要求,选用ADC0809作为本设计的A/D转换器,ADC0809是美国国家半导 体公司生产的 CMOS工艺8通道,8位逐次逼近式 A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行 A/D转换。是目前国内应用最广泛的8位

22、通用A/D芯片o主要特性1) 8路输入通道,8路AD转换器,即分辨率为82)具有转换起停控制端3) 转换时间为 100MS(时钟为640KHZ时),130MS (时钟为500KHZ时)4)单个+5V电源供电5)模拟输入电压范围 0+5V,不需零点和满刻度校准6)工作温度范围为-40+85摄氏度7)低功耗,约 15MW内部特性ADC0809是CMOS单片型逐次逼近式 A/D转换器,内部结构如图 3.10所示, 它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型 A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。地灿X.F:WSTART CI/KK 门卜:图3.10 A/D转换器内部结构

23、OB UK fB 十【-UH.- UH,All:-OK-X K - f 卜11 xirDiAIX:271 lrA一 ts-LXjA:i-AhbKd_ AIHXprjl -Alt:DrTh17-I)Ulli;倔3外部特性(引脚功能)如图3.11图3.11 ADC0809外部引脚IN0IN7:8路模拟量输入。A、B、C:3位地址输入,3个地址输入端的不同组合选择八路模拟量输入。ALE:地址锁存启动信号,在 ALE的上升沿,将A、B、C上的通道地址锁存到内部的地址锁存器DOD7:八位数据输出线,A/D转换结果由这8根线传送给单片机。OE:允许输出信号。当OE=1时,即为高电平,允许输出锁存器输出数据

24、。START:启动信号输入端,START为正脉冲,其上升沿清除ADC0809的内部的各寄 存器,其下降沿启动A/D开始转换。EOC:转换完成信号,当EOC上升为高电平时,表明内部 A/D转换已完成。CLK:时钟输入信号,0809的时钟频率范围在101200kHz,典型值为640kHz。当ALE为高电平时,通道地址输入到地址锁存器中,下降沿将地址锁存并译码, 在START上升沿时所有的内部寄存器清零,在下降沿时,开始进入A/D装换,此期间START应保持低电平。在START下降沿后10us左右,转换结束信号变为低电平,EOC 为低电平时,表示正在转换,在高电平时,表示转换结束。OE为低电平时,表

25、示正在转换,为高电平时,允许转换结果输出。AT89C51 单片机本硬件电路使用AT89C51单片机。AT89C51是一种带4K字节FLASH存储器(FPEROM FLASH PROGRAMMABLE AND ERASABLE READ ONLYMEMORY )的低电压、高性能 CMOS 8位微处理器,俗称单片机 。主要特性1)与MCS-51兼容2)4K字节可编程FLASH存储器3)寿命:1000写/擦循环4) 数据保留时间:10年5)全静态工作:0Hz-24MHz6)三级程序存储器锁定7)128X8 位内部 RAM8)32可编程I/O线9)两个16位定时器/计数器10)5个中断源11 )可编程

26、串行通道12)低功耗的闲置和掉电模式13 )片内振荡器和时钟电路外部引脚,如图3.12P1. 0 PL 1 Hl+2PL J円”3PI, h(U0)P3. 0 moiPk j iINTtiP). 2 nniipj. 3nnp.x s (n)pj.6 O)P1. *XTAL1 XTAL1GJO网VCC園 PO-;,(pP0. 2; (MJ2JpfrjO.昇(讪3】 蜃EW. 4口和4卜 E*D. 5/(ADM3eOL*/(Alkplt0. 7; lAlnQEa/vppATS9C5t E L1 P讹 匹P商E 画PUI勺PJr6/AH)plP2.4CAl;a nipt 3;P2. 2; A1Q)

27、回d :MEpi. g/ (U)图3.12 AT89C51的外部引脚VCC :供电电压。GND :接地。P0 口: P0 口为一个8位漏级开路双向I/O 口,每脚可吸收 8TTL门电流。当 P0 口的管脚第一次写 1时,被定义为高阻输入。P0能够用于外部程序数据存储器, 它可以被定义为数据/地址的第八位。在 FIASH编程时,P0 口作为原码输入口, 当FIASH进行校验时,P0输出原码,此时 P0外部必须被拉高。P1 口: P1 口是一个内部提供上拉电阻的8位双向I/O 口,P1 口缓冲器能接收输出4TTL门电流。P1 口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时

28、,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1 口作为第八位地址接收。P1 口即可以用作输入口,也可以用作输出口。P2 口: P2 口为一个内部上拉电阻的8位双向I/O 口,P2 口缓冲器可接收,输出4个TTL门电流,当P2 口被写“ 1时,其管脚被内部上拉电阻拉高,且作为输 入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“ 1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在

29、FLASH编程和校验时接收高八位地址信号和控制信号。P3 口: P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出 4个TTL门电流。当P3 口写入“ 1”,它们被内部上拉为高电平,并用作输入。作为输入, 由于外部下拉为低电平,P3 口将输出电流(ILL )这是由于上拉的缘故。P3 口也可作为 AT89C51的一些特殊功能口。功能如下:P3.0 RXD (串行输入口)P3.1 TXD (串行输出口)P3.2 /INT0 (外部中断0)P3.3 /INT1 (外部中断 1)P3.4 T0 (记时器0外部输入)P3.5 T1 (记时器1外部输入)P3.6 /WR (外部数据存储器写选通)

30、P3.7 /RD (外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将 跳过一个ALE脉冲。如想禁止ALE的输出可在 SFR8EH地址上置0。此时,ALE 只有在执行 MOVX,MOVC指令是ALE才起作

31、用。另外,该引脚被略微拉高。如 果微处理器在外部执行状态ALE禁止,置位无效。/PSEN :外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机 器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP :当/EA保持低电平时,则在此期间外部程序存储器(OOOOH-FFFFH ),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为 RESET ;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP )。XTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 :来

32、自反向振荡器的输出9o硬件的复位电路为确保系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般电路正常工作需要供电电源为5V5%,即4.755.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正 常工作10 o目前为止,单片机复位电路主要有四种类型:微分型复位电路;积分型复位电路; 比较器型复位电路;看门狗型复位电路。手动按钮复位手动按钮复位需要人为在复位输入端 RST上加入高电平。一般采用的办法是在RST 端和正电源Vcc之间接一个按钮

33、。当人为按下按钮时,则 Vcc的+5V电平就会直接加 到RST端。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足 复位的时间要求。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从 RST引脚输入到芯片内的 施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统 复位。单片机系统的复位方式有:手动按钮复位和上电复位。2上电复位AT89C51的上电复位电路,只要在RST复位输入引脚上接一电容至 Vcc端,下接 一个

34、电阻到地即可。对于 CMOS型单片机,由于在RST端内部有一个下拉电阻,故可 将外部电阻去掉,而将外接电容减至 1uFo 上电复位的工作过程是在加电时,复位电路 通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时, Vcc的上升时间 约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为 10MHz,起振时间为 1ms;晶振频率为1MHz,起振时间则为10ms。当Vcc掉电时,必然会使 RST端电压 迅速下降到0V以下,但是

35、,由于内部电路的限制作用,这个负电压将不会对器件产生“I态。损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全PC将得不到一个合适的初值,因如果系统在上电时得不到有效的复位,则程序计数器RESET拱O.C3 F3. 22LF 此,CPU可能会从一个未被定义的位置开始执行程序。本系统所需复位电路如图3.13。rR1 .2200Ry图3.13复位电路积分型上电复位常用的上电或开关复位。上电后,由于电容 C3的充电和反相门的作用,使 RST持 续一段时间的高电平。当单片机已在运行当中时,按下复位键 K后松开,也能使RST 为一段时间的高电平,从而实现上电或开关复位的操作 11。硬

36、件的内部振荡器电路89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2 分别是该放大器的输入端和输出端。 这个放大器与作为反馈元件的片外石英晶体或陶瓷 谐振器一起构成自激振荡器,。外接石英晶体或陶瓷谐振器及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对电容C1、C2虽没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定 性,如果使用石英晶体,推荐电容使用30Pf0 Pf,而如使用陶瓷谐振器建议选择40Pf 0Pf。也可以采用外部时钟。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端X

37、TAL2贝思空12。内部振荡器电路如图3.14所示。3.14内部振荡电路ADC0809与AT89C51的电路连接图控制信号:将P2.7作为片选信号,在启动 A/D转换时。由单片机的写信号和 P2.7 控制ADC的地址锁存和启动转换。 由于ALE和START连在一起,因此ADC0809在锁 存通道地址的同时也启动转换。在读取转换结果时,用单片机的读信号和P2.7引脚经或非门后,产生正脉冲作为OE信号用一打开三态输出锁存器。ADC0809与AT89C51的电路连接图如图3.15所示13图 3.15 ADC0809 与 AT89C51 连接图通信电路1.串 口通信 RS-232C计算机与计算机或计算

38、机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多 条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口, 使不同的设备可以方便地连接起来进行通讯。 RS-232-C接口(又称EIA RS-232-C)是 目前最常用的一种串行通讯接口。它是在 1970年由美国电子工业协会(EIA)联合贝尔 系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全 名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口 技术标准”该标准规定采用一个 25个脚的DB25连

39、接器,对连接器的每个引脚的信号 内容加以规定,还对各种信号的电平加以规定14。(1) 接口的信号内容 实际上RS-232-C的25条引线中有许多是很少使用的,在计 算机与终端通讯中一般只使用3-9条引线。RS-232-C最常用的9条引线的信号内容。(2)接口的电气特性 在RS-232-C中任何一条信号线的电压均为负逻辑关系。即: 逻辑T, -5 -15V;逻辑0”+5 +15V。噪声容量为2V。即要求接收器能识别低至 +3V的信号作为逻辑“ 0”,高于一3V的信号作为逻辑“ 1”。(3)接口的物理结构 RS-232C接口连接器一般使用型号为DB-25的25芯插头座, 通常插头在DCE端,插座在

40、DTE端。一些设备与PC机连接的RS-232-C接口,因为不使用对 方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所 以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。(4)传输电缆长度 由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长 度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有 99%的用户是 按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过 50英尺15。MAX232 简介MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路 ,使用+5v单电源供电,可以实现TTL电平与RS-232C

41、电平相互转换的IC芯片。MAX内部结构图如图 3.16所示内部结构基本可分三个部分:第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要19第二部分是数据转换通道。由7、8、9、10、11、12、13、14 脚构成两个数据通道。其中 13 脚(R1IN )、12 脚(R10UT )、11 脚(T1IN )、14 脚(T10UT) 为第一数据通道。 8 脚(R2IN )、9 脚(R20UT )、10 脚(T2IN )、7 脚(T20UT) 为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成 RS-2

42、32数据从T10UT、T20UT送到电脑 DB9插头;DB9插头的 RS-232数据从 R1IN、R2IN输入转换成 TTL/CM0S第三部分是供电。数据后从 R10UT、R20UT输出。15 脚 GND、16 脚 VCC ( +5v) 20。引脚结构图如图3.17所示:图3.17 MAX232的引脚结构图00其中引脚1-6 (C1 +、V+、C1_、C2+、C2-、V-)用于电源电压转换,只要在外部接入相应电解电容即可;引脚 7-10和引脚11-14构成两组TTL信号电平与RS-232C信 号电平的转换电路,对应引脚可直接与单片机串行口的 TTL电平引脚和PC的RS-232C 电平引脚相连2

43、1。单片机与MAX232的连接如图3.18所示图3.18单片机与MAX232的连接图3通信协议为了保证通信成功,通信双方必须有一系列的约定,这种约定就叫做通信规程或协 议,它在编程之前必须确定下来,要想使通信双方能够正确交换信息和数据,在协议中 对什么时候开始通信,什么时候结束通信,何时交换信息等等都必须作出明确的规定。美国达拉斯半导体公司推出了 1-Wire (单总线)接口协议,单总线技术与其它总线 不同,它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的,因 此单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。该 公司所提供的适用于单总线微网技术的单总

44、线器件具有无需另附电源、在测试点直接将模拟信号数字化等特点,一方面减少了系统环节,另一方面保证了系统的精度。同时各 软件公司开发的可视化软件开发工具,更是向着效率高、功能强大的方向努力,从而为 获得良好的用户界面奠定了基础23协议如下:PC机与单片机都可发送和接收。PC机与单片机的通信波特率均为2400b/so帧格式为:1位起始位,8位数据位,1位可编程的第9位(此位为发送和接收 地址/数据的标志位),1位停止位。数据通信采用累加和校验方法。采用查询方式通信。为了保证数据的可靠性和有效性,采用 PC机主动联络单片机地址码,单片机在 收到本机地址码后,回送本机地址; PC机在接收到同样的地址码后

45、,确认两方握手成 功,然后开始传送数据25。本章小结通过本章的工作,完成了整个系统的电路设计任务,利用电位器产生可在05V内连续变化的直流电流,电流信号经过滤波器的滤波将信号送到 AD转换器和单片机进行 数据的处理,将模拟信号变成数字信号,再将数字信号送到LCD液晶显示屏显示出来,最后实现串行通信。系统总电路图如图 3.19所示27。系统仿真图见附录A。图3.19系统总图4系统软件设计要成为一完整的系统,除了硬件电路设计之外,为了系统进行工作,必须进行必 要的软件设计,才可以构成一个可以正常工作的系统 29。软件总体规划:为了提高系统的性价比,软件设计是实现微机化的关键技术之一。在硬件设计基础

46、 上,使用C语言编程实现多参数实时采集的各种功能,包括主程序,数据采集程序, AD转换程序,LCD显示程序,中断子程序等30。系统主程序本设计的主要硬件是用 AD转换器ADC0809和单片机AT89C51实现的,主程序如 图4.1所示。当系统开始采集后,首先送通道 0的地址,对通道0进行采集,同时要判断 时间是否为5的倍数,若为5的倍数,则立即在送通道1的地址,对通道1进行采集, 通道0每隔一秒采集一次,共采集100次,通道1每隔5秒采集一次,共采集20次。将 采集的结果显示在LCD液晶显示屏上。采集过程中会调用相关的子程序,数据采集及 AD转换程序,液晶显示程序,串行通信程序等。实现单片机对

47、采集过程的控制图4.1系统主程序流程图系统子程序4.3.1数据采集子程序数据采集子程序如图4.2所示。000图4.2数据采集子程序数据显示子程序LCD显示,显示流左侧区域显示通道本设计要实现所处理的结果能够显示在屏幕的不同位置要选用 程图如图4.3所示。将LCD液晶显示屏画出坐标系,实现左右分屏, 0的图形,右侧区域显示通道1的图形32图4.3 LCD显示流程图中断服务子程序中断服务子程序如图4.4所示.当在ADC0809内将数据转换完成,EOC输出高电平, 送到外部终端1,发出中断请求,向单片机内传送转换完成的数据33中断入口4保护现场4友送数据*J蓿除中断* 恢复现场*4.4中断服务系统框

48、图4.4 本章小节本章对系统的各功能模块进行了软件的编写,完成了系统对模拟量及数据量的采集,显示,并完成了整个系统的各功能模块之间的调度34。用来控制硬件部分的功能程序见附录B o5结论随着现代电子技术的飞速发展,数据采集技术也日新月异,采集速度和精度不断提 高,而功耗和体积却在不断下降,本论文所设计实现数据采集器,采取了软件与硬件相 结合的开发方法,选用ADC0809和AT89C51芯片来实现对两路数据的采集,而且还实 现了对数据的显示。系统采用中文液晶显示采集的多路数据,操作方便,界面美观,并 且采集的数据可通过串行通信将数据上传回计算机,实现了对模拟量和数字量的显示。 整个系统具有体积小

49、、功耗低、可靠性高、即插即用等特点,非常适合于野外数据采集; 也可以采用稳压电源,在工业控制领域进行实时采集监控。系统具有很好的实用价值和 推广价值35。本论文主要做了以下工作:一、分析了常用数据采集器的结构组成,提出了数据采集器的总体设计方案。二、研究并完成了整个采集系统的硬件开发。主要包括:1)两路模拟量输入电路设计。2)AD转换器和89C51单片机电路接口设计。3)时钟信号设计。4)串行通信电路设计。5)液晶显示电路设计。三、根据系统的功能要求,并配合硬件电路,完成了整个系统的软件开发。包括协 调、控制整个系统工作流程的主程序和各功能子程序的开发。整个系统软件采用模块化 设计,故各功能模

50、块可以方便地进行设计、调试、纠错及移植等,系统易于调试、修改 和扩展36。各功能子程序完成的主要功能有1系统初始化(串行口,液晶,中断,I/O 口)。2模拟输入信号的采集。3液晶显示。4 AD转换。5中断服务程序附录A系统仿真图LCD_E n = 0;LCD_E n = 0;LCD_CSB = 1;附录2程序/*端口定义*/sbitLCD_EN=P2A0;sbitLCD_CSA = P2A4;sbitLCD_CSB = P2A3;sbitLCD_DI=P2A2;sbitLCD_RW = P2A1;sbitDD0=P1A0;sbitDD1=P1A1;sbitDD2=P1A2;sbitDD3=PM

51、3;sbitDD4=PM4;sbitDD5=PM5;sbitDD6=P1A6;sbitDD7=PM7;/ DI=高 数据,DI=低 命令/ RW=高 读,RW=低 写#defi ne LCD_DATP1#defi ne LCD_ON0 x3f#defi ne LCD_OFF0 x3e#defi ne LCD_SRow0 xc0#defi ne LCD_Page0 xb8#define LCD Y 0 x40/设置启始行/页地址(Y坐标)/列地址(X坐标)/*左边LCD写命令*/void Left_CMD(u nsig ned char CMD)LCD_E n = 0;LCD_CSA = 0;L

52、CD_DI = 0;LCD_RW = 1;LCD_DAT = Oxff;LCD_EN = 1;while(DD7=1)LCD_E n = 0;LCD_DAT = Oxff;LCD_EN = 1;LCD_EN = 0;LCD_DAT = CMD;LCD_RW = 0;LCD_EN = 1;LCD_EN = 0;/*右边LCD写命令*/void Right_CMD(u nsig ned char CMD)LCD_E n = 0;LCD_CSA = 1;LCD_CSB = 0;LCD_DI = 0;LCD_RW = 1;LCD_DAT = 0 xff;LCD_EN = 1;while(DD7=1)L

53、CD_DAT = Oxff;LCD_EN = 1;LCD_EN = 0;LCD_DAT = CMD;LCD_RW = 0;LCD_EN = 1;LCD_EN = 0;/*左边LCD写数据*/void Left_DATA(unsigned char lcd_data)LCD_E n = 0;LCD_CSA = 0;LCD_CSB = 1;LCD_DI = 0;LCD_RW = 1;LCD_DAT = 0 xff;LCD_EN = 1;while(DD7=1)LCD_E n = 0;LCD_DAT = 0 xff;LCD_EN = 1;LCD_EN = 0;LCD_DAT = lcd_data;L

54、CD_DI = 1;LCD_RW = 0;LCD_EN = 1;LCD_EN = 0;/*右边LCD写数据*/void Right_DATA(unsigned char lcd_data)LCD_E n = 0;LCD_CSA = 1;LCD_CSB = 0;LCD_DI = 0;LCD_RW = 1;LCD_DAT = Oxff;LCD_EN = 1;while(DD7=1)LCD_E n = 0;LCD_DAT = 0 xff;LCD_EN = 1;LCD_EN = 0;LCD_DAT = lcd_data;LCD_DI = 1;LCD_RW = 0;LCD_EN = 1;LCD_EN =

55、 0;/*左边LCD清屏*/void Left_Clear( un sig ned char WB)un sig ned char i,j;Left_CMD(LCD_SRow); for(i=0;i=7;i+)Left_CMD(LCD_Page|i);Left_CMD(LCD_Y);for(j=0;jv=63;j+)Left_DATA(WB);/*右边LCD清屏*/void Right_Clear(u nsig ned char WB)un sig ned char i,j;Right_CMD(LCD_SRow);for(i=0;i=7;i+)Right_CMD(LCD_Page|i);Rig

56、ht_CMD(LCD_Y);for(j=0;j=63;j+)Right_DATA(WB);/*读LCD左边数据*/un sig ned char Left_Read()un sig ned char readd;LCD_EN = 0;LCD_CSA = 0;LCD_CSB = 1;LCD_DI = 0;LCD_RW = 1;LCD_DAT = 0 xff;LCD_EN = 1;while(DD7=1)LCD_EN = 0;LCD_DAT = 0 xff;LCD_EN = 1;LCD_EN = 0;LCD_DI = 1;LCD_DAT = 0 xff;LCD_EN = 1; readd = LC

57、D_DAT;LCD_EN = 0; return readd;/*读LCD右边数据*/un sig ned char Right_Read()un sig ned char readd;LCD_EN = 0;LCD_CSA = 1;LCD_CSB = 0;LCD_DI = 0;LCD_RW = 1;LCD_DAT = Oxff;LCD_EN = 1;while(DD7=1)LCD_EN = 0;LCD_DAT = 0 xff;LCD_EN = 1;LCD_EN = 0;LCD_DI = 1;LCD_DAT = 0 xff;LCD_EN = 1;readd = LCD_DAT;LCD_EN =

58、0;return readd;/*打开LCD显示*/void LCD_Ope n(v oid)Left_CMD(LCD_ON);Right_CMD(LCD_ON);/*关闭LCD显示*/void LCD_Close(void)Left_CMD(LCD_OFF);Right_CMD(LCD_OFF);/*在LCD上(x,y)处画一个点*/void LCD_DrawPo int(un sig ned char X,un sig ned char Yun sig ned char WB)/ X(0-127),y(0-63)/un sig ned char i,lcd_p,lcd_po int;if(

59、Y 8) lcd_p = 7;lcd_po int = Y;else if(Y 16) lcd_p = 6;lcd_poi nt = Y - 8;else if(Y 24) lcd_p = 5;lcd_poi nt = Y - 16;else if(Y 32) lcd_p = 4;lcd_poi nt = Y - 24;else if(Y 40) lcd_p = 3;lcd_poi nt = Y - 32;else if(Y 48) lcd_p = 2;lcd_poi nt = Y - 40;else if(Y 56) lcd_p = 1;lcd_poi nt = Y - 48;else if

60、(Y 64) lcd_p = 0;lcd_poi nt = Y - 56;lcd_po int = 0 x80lcd_po int;if(x 64) /left/Left_CMD(lcd_page|lcd_p);Left_CMD(lcd_y|X);i = Left_Read();if(WB = 1)i |= lcd_po int;elsei &= lcd_po int;Left_CMD(lcd_page|lcd_p);Left_CMD(lcd_y|X);Left_Data(i);else /right/x -= 64;Right_CMD(lcd_page|lcd_p);Right_CMD(lc

温馨提示

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

评论

0/150

提交评论