新闻中心

EEPW首页>嵌入式系统>设计应用> 基于单片机的宽范围高精度光纤传感测温仪的研制

基于单片机的宽范围高精度光纤传感测温仪的研制

作者: 时间:2012-02-25 来源:网络 收藏

2.3 键盘和显示单元

本系统采用8255A的A口和C口扩展出一个4×4的键盘,包括10个数字键和6个功能键。在本系统中采用程序扫描法来识别按键。先使8255A的 PC口均为低电平,再读A口。如果A口不全为高电平,则延时10ms去抖动;然后再读A口,此时A口仍不全为高电平,说明确有键按下。进一步确定按下键的位置,先置PC0=0,PC1=PC2=PC3=1,读A口,由A口低电平的位便可确定按下键的位置。依次类推,如果检查完所有的键均无按下,说明是干扰或误操作;扫描结束时,按下键的位置信息存在于某个存储单元中。

显示采用以内藏HD61830控制器的液晶模块8032B点阵型LCD。HD61830是点阵式液晶图像显示控制器,可与MPU直接接口,具有专用指令集,可完成文本显示或图形显示的功能设置,以及画面卷动光标、闪烁、位操作等功能。

2.4 8051单元

由于整个系统的程序较大,所以需要一个外部程序存储器,在系统中选用了32KB的EEPROM。在系统中实现多点补偿要存储一些点的修正值以提高系统的测量精度,所以将EEPROM既作程序存储器又作数据存储器。整个系统的地址分配为:0000~7FFF为存储器地址,D000~D003和 E000~E003分别为两个8255A的四个端口地址,BEFC~BFFF为A/D转换器的地址,FFF4~FFF5为D/A转换器的地址。在地址译码中没有采用GAL而是通过分离元件实现。地址译码通过两片74LS138、一片74LS04、一片74LS08来实现。

2.5 RS-232通讯单元

为了方便数据的处理,将测量所得的数据送入计算机,本系统采用RS-232通讯方式,通讯速率为 9600波特率。接口用芯片为MAX232,接收端采用VC ++编制的接收程序,显示并存储接收到的数据。进而分析、处理得到拟和曲线。在中将利用此拟和曲线实时计算机当前被测物的值。

2.6 数模转换单元

系统中预留一路模拟信号输出,在测量、显示的同时可将当前的温度值通过D/A转换输出进而实现闭环控制。系统采用的D/A转换器为MAX508,它是一种完备的12位、片内参考电压、电压输出型的D/A转换器,输出电压和参考电压同极性,允许单电源工作,双缓冲逻辑输入接口使之与微处理器连接非常容易。

3 系统的软件设计

系统软件的设计安全按照结构化的程序设计方法来完成,将整个程序细分为若干个子程序(模块),方便调试与检查。开发系统采用Franklin C51编译器和伟福仿真器,利用C51语言使用整个软件开发变得简单、快速、易于调试。整个软件流程见图3。下面就几个主要的子程序作一简单的介绍。

3.1 初始化子程序

在初始化程序中,主要对8051的系统资源,包括定时器、中断、串行通讯、LCD显示、8255等进行初始化工作。

3.2 LCD显示子程序和键盘输入子程序

在显示程序中,完成显示功能菜单的任务。菜单显示的字符利用LCD显示控制器HD61830的字符集中的资源,菜单为滚动式,通过功能键可使光标从往下移动,当移至最下一行时,屏幕开始滚动显示。利用软件程序扫描8255A的PA和PC口得到按键的键值,函数返回键码。

3.3 A/D转换子程序和D/A转换子程序

A/D 转换结果的读入采用查询方式。通过查询MAX191的BUSY端的信号来判断转换是否结束;12位的转换结果需要两次读取,然后拼接成12位结果。如果为了使外部干扰的影响减小可采用软件滤波。对于温度信号一般来说是缓变的,可采用一阶滞后滤波或中值平均滤等。D/A转换是直接将12位的数据送放 MAX508的缓冲器即可实现数摸的转换。

3.4 RS-232通讯子程序

通讯中将12位的数据分两次传送,在计算机中采用VC++6.0中的一个通讯控件MS Communications Control6.0来实现串口的通讯程序。在接收到测量数据后,可进行一系列的数据处理与分析得到测温仪的特性曲线,将此曲线生成电压-温度表存入单片机程序中计算机出温度。

光纤传感器相关文章:光纤传感器原理

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭