论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
3.2信号分析与处理
3.2信号分析与处理
3.2.1 A/D转换
(1)A/D转换器的特点
为了把温度、湿度检测电路测出的模拟信号转换成数字量送CPU处理,本系统选用了双积分A/D转换器MC14433,它精度高,分辨率达1/1999。由于MC14433只有一路输入,而本系统检测的多路温度与湿度信号输入,故选用多路选择电子开关,可输入多路模拟量。
(2)MC14433A/D转换器件简介
MC14433是三位半双积分型的A/D转换器,具有精度高,抗干扰性能好的优点,其缺点是转换速率低,约1—10次/秒。在不要求高速转换的场合,例如,在低速数据采集系统中,被广泛采用。MC14433A/D转换器与国内产品5G14433完全相同,可以互换。MC14433A/D转换器的被转换电压量程为199.9mV或1.999V。转换完的数据以BCD码的形式分四次送出。
3.2.2单片机8031
为了设计此系统,我们采用了8031单片机作为控制芯片,在前向通道中是一个非电信号的电量采集过程。它由传感器采集非电信号,从传感器出来经过功率放大过程,使信号放大,再经过模/数转换成为计算机能识别的数字信号,再送入计算机系统的相应端口。
由于8031中无片内ROM,且数据存储器也不能满足要求,经扩展2762和6264来达到存储器的要求,其结果通过显示器来进行显示输出。
(1) 8031的片内结构
8031是有8个部件组成,即CPU,时钟电路,数据存储器,并行口(P0~P3)串行口,定时计数器和中断系统,它们均由单一总线连接并被集成在一块半导体芯片上,即组成了单片微型计算机,8031就是MCS-51系列单片机中的一种。基本组成如图7所示。
600)makesmallpic(this,600,1800);' src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-27050.png" width="328" height="185" />
图7 8031基本组成
① CPU中央处理器:
中央处理器是8031的核心,它的功能是产生控制信号,把数据从存储器或输入口送到CPU或CPU数据写入存储器或送到输出端口。还可以对数据进行逻辑和算术的运算。
② 时钟电路:
8031内部有一个频率最大为12MHZ的时钟电路,它为单片机产生时钟序列,需要外接石英晶体做振荡器和微调电容。
③ 内存:
内部存储器可分做程序存储器和数据存储器,但在8031中无片内程序存储器 。
④ 定时/计数器:
8031有两个16位的定时/计数器,每个定时器/计数器都可以设置成定时的方式和计数的方式,但只能用其中的一个功能,以定时或计数结果对计算机进行控制。
⑤ 并行I/O口:
MCS-51有四个8位的并行I/O口,P0,P1,P2,P3,以实现数据的并行输出。
⑥ 串行口:
它有一个全双工的串行口,它可以实现计算机间或单片机同其它外设之间的通信,该并行口功能较强,可以做为全双工异步通讯的收发器也可以作为同步移位器用。
⑦ 中断控制系统:
8031有五个中断源,既外部中断两个,定时计数中断两个,串行中断一个,全部的中断分为高和低的两个输出级。
(2) 8031程序存储器
MCS-51系列单片机的内部ROM是不同的,8051有4K的ROM,而8751则是4K光可擦写EPROM,而我们所采用的8031则没有片内的ROM,但是无论那种型号的芯片都可以在片外扩展多达64K的片外程序存储器,外部程序存储器扩展的大小以满足系统要求即可,或有特殊要求或为了以后升级方便采用大容量的片外程序存储器。当外接程序存储器的时候,单片机通过P2口和P0口输出16位的地址,即可寻址的外部程序存储器单元的地址,使用ALE作为低8位地址锁存器信号,再由P0口读回指令的代码,用PSEN非作为外部程序存储器的选通信号。
单片机有一个程序计数器PC,它始终存着CPU要读取的机器码的所在地址,单片机工作时,PC自动加一,此时程序开始顺序执行,因为单片机程序 访问空间是64K,故需要16条地址线,当 接“0”则8031在片外程序存储器中读取指令,此时片外程序存储器从0000H开始编址,因为8031无片内程序存储器,故在此系统中 必须接地使CPU到外部ROM中去寻址。
在程序存储器中有六个单元有特定的含义:
0000H单元:单片机复位后,PC=0000H即从此处开始执行指令;
0003H单元:外部中断0入口地址;
000BH单元:定时器0溢出中断入口地址;
0013H单元:外部中断1入口地址;
001BH单元:定时器溢出中断入口地址;
0023H单元:串行口中断入口地址。
(3)8031数据存储器
数据存储器用于存放运算中间的结果、数据暂存、缓冲、标志位、待测程序等功能。
片内的128B的RAM地址为00H~7FH,供用户做RAM用,但是在这中间的前32单元,00H~1FH即引用地址寻址做用户RAM用,常常做工作寄存器区,分做四组,每组由8个单元组成通用寄存器R0~R7,任何时候都由其中一组作为当前工作寄存器,通过RS0,RS1的内容来决定选择哪一个工作寄存器。
低128字节中的20H~2FH共16字节可用位寻址方式访问各位,共128个位地址,30H~7FH共80个单元为用户RAM区,作堆栈或数据缓冲用,片内RAM不够用时,须扩展片外数据存储器。此时单片机通过P2口和P0口选出6位地址,使用ALE作低8位的锁存信号,再由P0口写入或读出数据。写时用 ,读时用 做外部数据存储器的选通信号。
(4) 特殊功能寄存器SFR
8031有21个专用寄存器,他们是用来管理CPU和I/O口以及内部逻辑部件的,在指令中专用寄存器是以存储单元方式被读写的,专用寄存器虽有名称,但寻址时都做专用寄存器用,它们的地址是与片内RAM的地址相连的。下面就专用寄存器作以简单的介绍:
累加器A:在绝大多数情况下它参与运算的一方并存放运算的结果。
寄存器B:进行乘除运算时,寄存器B有特定的用途,在乘时存放一个乘数以及积的最高位,A中存放另一个乘数以及积的低位。除法时,B中存放除数及余数,而在A中存放被除数和商,其他情况可作为普通寄存器用。
堆栈指针SP:在子程序调用或中断时,用来暂存数据和地址,它按先进后出的原则存储数据,它是一个八位寄存器它指出堆栈顶部在片内RAM中的位置,系统复位后,SP变成07H,使堆栈从00单元开始。;
数据指针DPTR:由两个字节组成,DPH字地址由83H,DPL由82H,存放一个16位的二进制数做地址用。
程序状态PSW:七位用来表征各种标志,另一位无意义。
C AC FO RS1 RS0 OV P
C:进位标志位,用于表示加减运算时最高位有无进位和借位,在加法运算中,若累加器最高位有进位则CY=1,否则CY=0,在减法时则有借位CY=1,否则CY=0,在执行算术逻辑运算时可以被硬件或软件置位或清除,CPU在进行移位操作也会影响该位。
AC:当进行加法或减法运算时并产生由低四位向高四位的进位或借位时,AC置1,否则清0。若AC=0时则在加减过程中A3没有向A4进位或借位,否则正好相反。
F0:F0常不是由机器来指令执行中形成的,而是用户根据程序的需要进行设置的,这个位一经确定就可通过软件测试来决定用户程序的流向。
RS1,RS0:8031有四个8位工作寄存器R0~R7,用户可以改变RS1和RS0的状态来决定R0~R7的物理地址。
OV:用以指示运算是否发生溢出,由机器执行指令自动形成,若机器在执行指令过程中累加器A超过8位,则OV=1否则为0。
P:用来来表示累加器A中的值为1的二进制位的奇偶数,若‘1’的个数为奇数P=1,为偶数P=0。在串行通信中常用奇偶校验数据传输结果的正确性。
(5) 工作方式
它的工作方式可以分做复位,掉电和低功耗方式等。本设计采用的是复位方式。
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。常用的上电复位电路如图 8(a)中左图所示。图中电容C1和电阻R1对电源十5V来说构成微分电路。上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能,如图 8(a)中所示。上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。常用的上电或开关复位电路如图8(b)所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
600)makesmallpic(this,600,1800);' src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-26194.png" width="417" height="133" />
(a)上电复位电路 (b)上电或开关复位电路
图8 单片机的复位电路
根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值。
图8(a)中:Cl =10-30uF,R1=1kΩ
图8(b)中:C =1uF,Rl=lkΩ,R2=10kΩ
3.3显示与报警的设计
3.3.1 显示电路
在单片机应用系统设计中,一般都是把键盘和显示器放在一起考虑。本设计是利用8031的串行口实现键盘/显示器接口。
当8031的串行口未作它用时,使用8031的串行口来外扩键盘/显示器。应用8031的串行口方式0的输出方式,在串行口外接移位寄存器74LS164,构成键盘/显示器接口。
3.3.2 报警电路
本设计采用峰鸣音报警电路。峰鸣音报警接口电路的设计只需购买市售的压电式蜂鸣器,然后通过MCS-51的1根口线经驱动器驱动蜂鸣音发声。压电式蜂鸣器约需10mA的驱动电流,可以使用TTL系列集成电路7406或7407低电平驱动,也可以用一个晶体三极管驱动。在图中,P3.2接晶体管基极输入端。当P3.2输出高电平“1”时,晶体管导通,压电蜂鸣器两端获得约+5V电压而鸣叫;当P3.2输出低电平“0”时,三极管截止,蜂鸣器停止发声。三极管驱动的峰鸣音报警电路如图9所示。
600)makesmallpic(this,600,1800);' src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-31566.png" width="284" height="170" />
图9 三极管驱动的峰鸣音报警电路
4 软件设计
温度控制主程序的设计应考虑以下问题:(1)键盘扫描、键码识别和温度显示;(2)温湿度采样,数字滤波;(3)越限报警和处理;(5)温度标度转换。通常,符合上述功能的温度控制程序由主程序和T0中断服务程序两部分组成。
这里所需要注意的是标度变换,下面简单的介绍一下标度变换:
标度变换:目的是要把实际采样的二进制值转换成BCD形式的温度值,然后存放到显示缓冲区34H-3BH。对一般线性仪表来说,标度变换公式为:
600)makesmallpic(this,600,1800);' src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-24818.png" width="210" height="49" />
式中:A0为一次测量仪表的下限;Am为一次测量仪表的上限;AX为实际测量值;
N0为仪表下限所对应的数字量;Nm为仪表上限所对应的数字量;NX为测量所得数字量。
主程序流程图:
600)makesmallpic(this,600,1800);' src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-12782.png" width="212" height="764" />
5 结语
随着电子科技的迅速发展,对仓库温湿度监测系统的要求不断增高,我们需要一种造价低廉、使用方便且测量准确的温湿度测量仪。证明出其具有较高的工作效率和良好的可靠性,是一种性价比较高的产品。通过这次我学到了很多,把我这几年所学的知识又系统的复习了一遍。
参 考 文 献
[1] 张琳娜,刘武发.传感检测技术及应用.中国计量出版社,1999
[2] 沈德金,陈粤初.MCS-51系列单片机接口电路与应用程序实例.北京航空航天大学出版社,1990
[3] 李志全等.智能仪表设计原理及应用.国防工业出版社,1998.6
[4] 李建民.单片机在温度控制系统中的应用.江汉大学学报,1996.6
[5] 潘其光.常用测温仪表技术问答.国防工业出版社,1989 [6] 潘立民,王燕芳.微型计算机控制技术.人民邮电出版社,1990
[6] 潘立民,王燕芳.微型计算机控制技术.人民邮电出版社,1990
[7] 陈汝全.实用微机与单片机控制技术.电子科技大学出版社,1995.7
[8] 刘笃仁、韩保君.传感器原理及应用技术。机械工业出版社,2003.8
[9] 杨振江等.智能仪器与数据采集系统中的新器件及应用.西安电子科技大学出版社,2001.12