2006年3月 JOURNALOFXINXIANGTEACHERSCOLLEGE MAR,2006
Ξ
基于单片机控制的测压显示模块电路的设计
周志强,冯志慧,薛鹏涛
1
2
2
(1.河南工业大学信息科学与工程学院,河南郑州450052;2.河南农业大学,河南郑州450002)
摘 要:介绍了在测控系统中利用AT89C51单片机组成的一个简单测压显示模块电路,并详细介绍了其接口和应用。关键词:单片机;AΠD转换器;串行接口
中图分类号:TN873 文献标识码:A 文章编号:1008Ο7613(2006)02Ο0033Ο03
0 引言
在测量行业中,传感器的应用越来越广泛。传感器的输出大多为电压信号,因此,要想获得传感器所测量的值,首先要能测出传感器输出电压的值。本文介绍的一种利用AT89C51和ADC0809组成的数字测压显示模块电路就是根据这一背景而设计的。 收稿日期:2005Ο12Ο23.
),男,河南省驻马店市人,河南工业大学信息科学与工程学院教师,计算机硕士,从事计算机应用方面作者简介:周志强(1977Ο
的研究工作。
33
© 1994-2007 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
新乡师范高等专科学校学报 第20卷
该模块电路可以完成对模拟电压量的模数转换,并把被测电压值的大小在LED上显示出来。同时,还具有与微机通信的功能,可以把采集到的数据送到微机中,从而完成更复杂的计算和处理。该模块电路采用的是8位AD转换芯片,可以完成8路数据的采集。在实验过程中只用了一路采集,但为8路采集留下了扩展口,可以很方便地扩展为8路采集。目前,该电路的测压范围为(-10V,+10V)。基本上可以完成一般温度、湿度等量的测量。如果需要扩大量程,只需对其外部信号输入处的调整电路进行调整就行。1 硬件电路设计
硬件电路如图1所示,包括由AT89C51及其外围电路组成的控制部分、由ADC0809构成的AΠD转换部分、三位LED数码管组成的显示部分以及MAX202组成的串口通信部分。晶振频率采用11.059MHz,通讯速率可达9600波特或19200波特。
2 软件设计2.1 程序流程图程序流程图如图2所示。CHECKAD:
PUSH PSW PUSHACLRCLRMOVMOV
EATR0A,#00H
DPTR,#7FF8H;送通道0地址
;启动AD转换;存储转换后的数据;调用数据处理子程序
MOVX@DPTR,AMOVXA,@DPTRMOVEXITTR0:
MOVMOVSETBSETBPOPPOPRETISENDING:
CLRPUSHJNB
EAPSWRI,EXITING
PUSHA
TL0,#0BFHTH0,#0E0HTR0EAAPSWDATA1,A
ACALLPROCESS
;判断是发送中断还是
接收中断,
;如果是发送中断,退出CLRMOVCJNE
2.2 程序工作思想
RIA,SBUF
A,#55H,EXITING ;判断是不是上位
上电后程序首先完成初始化,然后等待中断。
工作程序中有两个中断,一个是串口中断,另一个是定时器中断,其中串口中断优先级设置为最高。当中断发生后,程序进入相应的中断处理程序。如果是串口中断,进入串口中断处理程序。把当前采集的数据送给上位机,然后退出中断。如果中断是定时器中断,则进入定时中断处理程序。启动AD转换,采集并处理数据,刷新显示被测量,重装定时常
[1]
数,然后退出等待下一次中断。2.3 部分处理程序
为了便于理解和在此基础上的扩展,此处给出了两个中断处理程序以及注释。CHECKAD为定时处理程序,SENDING为串口中断程序。34
机发送的要求发送数据信号;不是,退出,是的话,把当前数据送出
CLRTI
MOVA,DATA1;把实时采集数据送到微机中
MOVJNBCLRAJMPEXITING:
POPPOPSETBRETI
PSWAEASBUF,ATI,$TIEXITING
© 1994-2007 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
第2期 周志强,冯志慧,薛鹏涛:基于单片机控制的测压显示模块电路的设计
3 上位机处理部分
为了便于今后的扩展和进行复杂计算,本模块电路设计有与微机的串行通信功能。如图3所示,模块通过串行通信送出测得数据到微机中。在微机中可以对收到的数据进行复杂的运算和分析。譬如,本模块电路中我们采用了三个LED做显示,因此,显示位数有限。但如果把采集到的原始数据送到微机中,交给微机处理则不会存这个问题。在实验中,我们采用LabWindowsΠCVI(编程语言为普遍应用的C语言)软件很方便地编写了一个与该模块电路配套的处理软件,能很方便地对被测量进行显示
[2]
和处理。
工作程序通过对其计算得出其实际电压值,然后,送到数码管上显示,同时,可以把数据送到微机中处理。软件编程采用模块化编程,因此,在测温度等量时,只要知道电压与温度的对应关系,在程序中进行简单修改,就能很方便地进行工作,而不必对整个软件结构进行任何修改。尤其与微机接口,采用下位机采集、上位机处理的思路时,其应用更广,功能更强,应用起来将更简便。5 结束语
本文介绍的模块电路已经经过调试应用,可以可靠地工作。设计中预留了8路AΠD转换接口,可以根据需要方便扩充,完成简单的电压、温度、湿度等量的测量。参考文献:
[1]薛钧义,张彦斌.MCS-51Π96系列单片微型计算机及其
应用[M].西安:西安交通大学出版社,1997.45-50
[2]李华.MCS-51系列单片机实用接口技术[M].北京:北
京航空航天大学出版社,1993.150-195
4 应用
该模块电路的应用很方便,工作时,外部电压信号
通过通道0输入,经过AΠD转换变为8位二进制数。
【责任编辑 邢怀民】
CircuitModuleaboutVoltageMeasuringandDisplayingBasedontheControl
ofSingleBoardComputer
ZHOUZhiΟqiang,FENGZhiΟhui,XUEPengΟtao
1
2
2
(1.HenanUniversityofTechnology,Zhengzhou450052,China;2.HenanAgriculturalUniversity,Zhengzhou450002,China)
Abstract:Inthispaper,weintroduceasimplecircuitmoduleforvoltagemeasuringanddisplaying,whichmainlyconsistsofMCUAT89C51,anddiscussesitsinterfaceandapplicationindetail.
Keywords:MCU;ADC0809;serialinterface
35
© 1994-2007 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
因篇幅问题不能全部显示,请点此查看更多更全内容