无线温度传感器的设计
无线温度传感器的设计
摘 要:随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,
各个领域,一种数字式温度计以数字温度传感器作感温元件,它以单总线的连接方式,使电路大大的简化;传统的温度检测大多以热敏电阻为传感器,这类传感器可靠性差,测量温度准确率低且电路复杂。因此,本温度计摆脱了传统的温度测量方法,利用单片机对传感器进行控制。这样易于智能化控制。无线温度测量与有线温度测量相比具有可靠性高安装容易可以重复使用和系统维护方便等优点
关键词:单片机 温度传感器 无线通信
引言
温度监测是目前成熟的技术,工业中广泛应用的温度监测系统大多数还是采用有线方式传输信号的,然而对于工作环境恶劣、供电布线复杂且今后维护困难的场合,有线方式则带有相当的局限性。采用无线方式传输数据,可以有效避免这些问题。
由于采集端靠近被测对象,布线和维护困难,因此在系统设计上要解决供电和信号传输有效性的问题。布线上的局限使得采集端只能采用电池供电模式,而在线监测又需要24小时不间断工作,因此采集端的功耗必须非常低,在器件的选择上必须满足低电压支持和低功耗要求。工业现场环境复杂,干扰大,则必须对原始信号进行编码和译码,以保证信!
基于单片机A T 8 9 C5 1、数字温度传感器DS18B20、无线收发芯片nRF403的数字化无线温度传感器,测温范围-55℃~+125℃,分辨率为0.0625 ℃,工作频率2 400 ~ 2 524 MHz,接收灵敏度- 90 dBm,最大发射功率0dBm,电池供电。
1.1
系统结构图如下:
图1 系统结构图
第一章
1.2 温度传感器概述
1.1.1 温度传感器的分类 温度采集
根据温度传感器的使用方式,通常分为接触法与非接触法两类。
(A) 接触法
由热平衡原理可知,两个物体接触后,经过足够长的时间达到热平衡,则它们的温度必然相等。如果其中之一为温度计,就可以用它对另一个物体实现温度测量,这种测温方式称为接触法。其特点是,温度计要与被测物体有良好的热接触,使两者达到热平衡。因此,测温准确度较高。用接触
法测温时,感温元件要与被测物体接触,往往要破坏被测物体的热平衡状态,并受被测介质的腐蚀作用。因此,对感温元件的结构、性能要求苛刻。
(B) 非接触法
利用物体的热辐射能随温度变化的原理测定物体温度。这种测温方式称为非接触法。它的特点是:不与被测物体接触,也不改变被测物体的温度分布,热惯性小。从原理上看,用这种方法测温无上限。通常用来测定1000℃以上的移动、旋转或反应迅速的高温物体的温度或表面温度。
与压 力一样,温度也是过程控制中最重要的测量变量之一。例如在冷却回路中,温度监测不仅用来确保产品质量,还用来保证系统安全。过程工业往往利用热能进
行控制,所以,根据应用需要选择理想的温度传感器,可实现既定测量目的并确保最佳测量效果。当然,对过程工艺的熟悉和预见可能出现的不确定扰动也是很重要的。 冷、热是如何定义的?我们可以通过身体的感知器官感觉并分辨温度差。然而,我们往往只能定义物体是冷是热,却不能将这种感觉量化。温度的涵义到底是什么呢?温度,即表示某物质每个粒子的平均动能。要通过这种能量来量化温度首先要定义温标,需要确定与某种材料温度相关的某个定点。最常见的定点是绝对零度即0K,以及水三相点(固态、液态、气态并存的点)273.16K。定点值的确定使绘制温度的直线图成为可能。其它定点值离上述点很远,例如氖的三相点是24.5561K,银的凝固点是1234.93K。这些定点值在《国际温标(1990年版)》 (ITS-90) 中确定。
1.1.2 测量温度的方法
测量温度的方法有多种,从简单的二极管到高精度的热噪声温度计。温度计可以分为两类:第一类温度计和第二类温度计。第一类为不需要用其他温度测量设备做预先校准的温度计。他们都是通过测量物理量,计算物理量和温度间的关系来确定温度的。例如气体温度计、热噪声温度计和应用测量黑体辐射的温度测量设备。这些温度传感器常常用于专门的实验室,使用起来相当复杂并且往往价格昂贵。第二类温度计则需要校准。工业上主要使用的是第二类温度计。特别是热电阻或热电偶温度传感器使用最为广泛。当安装温度传感器时,需要了解一些简单的基础原理:温度传感器主要测量的是它自身的温度。所以传感器必须尽可能靠近测量物安装并尽可能地避免环境影响,因为测量地点的干扰可能会使温度测量结果出现一些偏差。环境温度和介质温度较大的差异也可能会导致错误的测量值。如果传感器安装在保护套管中,也就意味着它远离了真实的测量点,温度传感器灵敏度会降低,测量值可能与真实值出现背离。
1.1.3测量温度的主要原理
基于精确性和易于进一步处理测量信号的要求,下列测量原理十分适用于工业环境温度监测
1.1.3.1 热电阻温度计
导体的电阻值随温度变化而改变,通过测量其阻值推算出被测物体的温度,利用此原理构成的传感器就是电阻温度传感器,这种传感器主要用于-200—500℃温度范围内的温度测量。
纯金属是热电阻的主要制造材料,热电阻的材料应具有以下特性:
①电阻温度系数要大而且稳定,电阻值与温度之间应具有良好的线性关系。 ②电阻率高,热容量小,反应速度快。
③材料的复现性和工艺性好,价格低。
④在测温范围内化学物理特性稳定。
目前,在工业中应用最广的铂和铜,并已制作成标准测温热电阻。
1.1.3.2铂电阻
铂电阻与温度之间的关系接近于线性,在0~630.74℃范围内可用下式表示Rt=R0(1+At+Bt2) (2-1)在-190~0℃范围内为Rt=R0(1+At+Bt2十Ct3) (2-2)式中,RO、Rt为温度0°及t°时铂电阻的电阻值,t为任意温度,A、B、C为温度系数,由实验确定,A=3.9684×10-3/℃,B=-5.847×10-7/℃2,C=-4.22×10-l2/℃3。由式(2-1)和式(2-2)看出,当R0值不同时,在同样温度下,其Rt值也不同。
1.1.3.3 铜电阻
在测温精度要求不高,且测温范围比较小的情况下,可采用铜电阻做成热电阻材料代替铂电阻。在-50~150℃的温度范围内,铜电阻与温度成线性关系,其电阻与温度关系的表达式为Rt=R0(1+At) (2-3)式中,A=4.25×10-3~4.28×10-3℃为铜电阻的温度系数。
1.1.3.4 热电偶温度计
当有两种不同的导体和半导体A和B组成一个回路,其两端相互连接时,只要两结点处的温度不同,一端温度为T,称为工作端或热端,另一端温度为TO,称为自由端(也称参考端)或冷端,则回路中就有电流产生,如图2-1(a)所示,即回路中存在的电动势称为热电动势。这种由于温度不同而产生电动势的现象称为塞贝克效应。与塞贝克有关的效应有两个:其一,当有电流流过两个不同导体的连接处时,此处便吸收或放出热量(取决于电流的方向),称为珀尔帖效应;其二,当有电流流过存在温度梯度的导体时,导体吸收或放出热量(取决于电流相对于温度梯度的方向),称为汤姆逊效应。两种不同导体或半导体的组合称为热电偶。热电偶的热电势EAB(T,T0)是由接触电势和温差电势合成的。接触电势是指两种不同的导体或半导
体在接触处产生的电势,此电势与两种导体或半导体的性质及在接触点的温度有关。温差电势是指同一导体或半导体在温度不同的两端产生的电势,此电势只与导体或半导体的性质和两端的温度有关,而与导体的长度、截面大小、沿其长度方向的温度分布无关。无论接触电势或温差电势都是由于集中于接触处端点的电子数不同而产生的电势,热电偶测量的热电势是二者的合成。当回路断开时,在断开处a,b之间便有一电动势差△V,其极性和大小与回路中的热电势一致,如图2-1(b)所示。并规定在冷端,当电流由A流向B时,称A为正极,B为负极。实验表明,当△V很小时,△V与△T成正比关系。定义△V对△T的微分热电势为热电势率,又称塞贝克系数。塞贝克系数的符号和大小取决于组成热电偶的两种导体的热电特性和结点的温度差。
1.1.4 线制
两线制在热电阻感温元件的两端各连一根导线的引线形式为两线制。这种两线制热电阻配线简单,安装费用低,但要带进引线电阻的附加误差。因此,不适用于A级。并且在使用时引线及导线都不宜过长。采用两线制的测温电桥如下图所示, a) 接线示意图,b)为等效原理图。从图中可以看出热电阻两引线电阻Rw一起构成电桥测量臂,这样当引线电阻随沿线环境温度改变引起的阻值变化量2△Rw 和热电阻随被测温度变化的增量值△Rt一起成为有效信号转换成测量信号电压,从而影响温度测量精度。
两线制热电阻测量电桥
a)示意图 b)等效原理图
3线制可以消除引线电阻的影响,测量精度高于2线制。作为过程检测元件,其应用最广。4线制不仅可以消除引线电阻的影响,而且在连接导线阻值相同时,还可以消除该电阻的影响。高精度测量应采用4线制。 自身发热影响为了能够测量热电阻传感器的输出信号,一定有电流通过传感器。这个测量电流消耗能量并产生热量,使温度升高。大多数情况下,制造商提供一个1mA的测量电流,这样传感器不会产生额外的热量,可提供一个最真实的测量值。
1.2 温度检测单元
TC77是MICROCHIP公司生产的一款13位串行接口输出的集成数字温度传感器,其温度数据由热传感单元转换得来。TC77内部含有一个13位ADC,温度分辨率为0.062 5℃/LSB。在正常工作条件下,静态电流为250μA(典型值)。其他设备与TC77的通信由SPI串行总线或Microwire兼容接口实现,该总线可用于连接多个TC77,实现多区域温度监控,配置寄存器CONFIG中的SHDN位激活低功耗关断模式,此时电流消耗仅为0.1μA(典型值)。TC77具有体积小巧、低装配成本和易于操作的特点,是系统热管理的理想选择。
图1所示为TC77的内部结构原理图。TC77由CMOS结型温度传感器、带符号位的13位∑-△A/D转换器、温度寄存器、配置寄存器、制造商ID寄存器及三线制串行接口等部分组成。
其引脚定义如下:
SI/O:串行数据引脚
SCK:串行时钟
Vss:地
CE:片选端(低电平有效)
VDD:电源电压(6.0 V)
1.2.1 TC77的工作原理
数字温度传感器TC77从固态(PN结)传感器获得温度并将其转换成数字数据。再将转换后的温度数字数据存储在其内部寄存器中,并能在任何时候通过SPI串行总线接口或Microwire兼容接口读取。TC77有两种工作模式,即连续温度转换模式和关断模式。连续温度转换模式用于温度的连续测量和转换,关断模式用于降低电源电流的功耗敏感型应用。
1.2.2 TC77的上电与复位
上电或电压复位时,TC77即处于连续温度转换模式,上电或电压复位时的第一次有效温度转换会持续大约300 ms,在第一次温度转换结束后,温度寄存器的第2位被置为逻辑“1”,而在第一次温度转换期间,温度寄存器的第2位是被置为逻辑“0”的,因此,可以通过监测温度寄存器第2位的状态判断第一次温度转换是否结束。
1.2.3 TC77的低功耗关断模式
在得到TC77允许后,主机可将其置为低功耗关断模式,此时,A/D转换器被中止,温度数据寄存器被冻结,但SPI串行总线端口仍然正常运行。通过设置配置寄存器CONFIG中的SHDN位,可将TC77置于低功耗关断模式:即设置SHDN=0时为正常模式;SHDN=1时为低功耗关断模式。
1.2.4 TC77的温度数据格式
TC77采用13位二进制补码表示温度,表1所列是TC77的温度、二进制码补码及十六进制码之间的关系。表中最低有效位(LSB)为0.062 5 ℃,最后两个LSB位(即位1和位0)为三态,表中为“1”。在上电或电压复位事件后发生第一次温度转换结束时,位2被置为逻辑“1”。
1.2.5 TC77的串行总线
TC77的串行总线包括片选信号线CE、串行时钟信号线SCK及串行数据信号线SI/O,遵循SPI或Mi-crowire接口标准协议。在有多个TC77连接到串行时钟和串行数据信号线时,CE用于选择其中的某一个TC77器件,CS为逻辑“0”时,用于写入器件或从器件中读出数据的同步;CS为逻辑“1”时,SCK被禁止。CS的下降沿启动器件间的相互通信,CS的上升沿则停止器件间的相互通信。图2是对温度寄存器进行读操作的时序。
图3是TC77的多字节通信操作时序,包括对温度寄存器的读操作和对配置寄存器的写操作。第一组的16个SCK脉冲用于将TC77的温度数据传送到微处理器,第二组的16个SCK脉冲用于接收微处理器的指令,以便使TC77进入关断模式或连续转换模式。写入TC77配置寄存器的数据应为全0或全1,分别与连续转换模式或关断模式相对应,当配置寄存器的C0~C7全为1时为关断模式,当C0~C7中有一个0被写入时即变为连续转换模式。
1.2.6. TC77与AVR单片机的硬件接口
图4是TC77与AVR单片机的接口硬件连接原理图。图中使用的是同步串行三线SPI接口,可以方便地连接采用SPI通信协议的外设或另一片AVR单片机,实现短距离的高速同步通信。
ATMEGA128的SPI采用硬件方式实现面向字节的全双工3线同步通信,支持主机、从机和两种不同极性的SPI时序。ATMEGA128单片机内部的SPI接口也可用于程序存储器和数据E2PROM的编程下载和上传。但需要特别注意的是,此时SPI的MOSI和MISO接口不再对应PB2和PB3引脚,而是转换到PE0和PE1引脚(PDI、PDO)。
1.2.6.1 TC77与AVR单片机的软件接口
TC77与AVR单片机的接口软件包括主程序和中断服务程序。在主程序中首先要对ATMEGA128的硬件SPI进行初始化。在初始化时,应将PORTB的MOSI、SCLK和SS引脚作为输出,同时将MISO引脚作为输入,并开启上拉电阻。接着对SPI的寄存器进行初始化设置,并空读一次SPSR(SPX Status Reg-ister,SPI状态寄存器)、SPDR(SPI Data Register SPI,数据寄存器),使ISP空闲等待发送数据。AVR的SPI由一个16位的循环移位寄存器构成,当数据从主机方移出时,从机的数据同时也被移入,因此SPI的发送和接收可在同一中断服务程序中完成。在SPI中断服务程序中,先从SPDR中读一个接收的字节存人接收数据缓冲器中,再从发送数据缓冲器取出一个字节写入SPDR中,由ISP发送到从机。数据一旦写入SPDR,ISP硬件开始发送数据。下一次ISP中断时表示发送完成,并同时收到一个数据。程序中putSPIchar()和getSPIchar()为应用程序的底层接口函数,同时也使用了两个数据缓冲器,
分别构成循环队列。下面这段代码
是通过SPI主机方式连续批量输出、输
人数据的接口程序:晶振:12M FLAG1 BIT 00H DQ BIT P3.3
AAAMOV SP,#70H
LCALL GET_TEMPER TEMPER_L EQU 36H TEMPER_H EQU 35H TEMPER_NUM EQU 60H
LCALL TEMPER_COV LJMP AAA NOP
;------------------读出转换后的温度值
GET_TEMPER SETB DQ ; 定时入口 BCDLCALL INIT_ TC77 JB FLAG1,S22
LJMP BCD ; 若TC77不存在则返回
S22LCALL DELAY1 MOV A,#0CCH ; 跳过ROM匹配------0CC
LCALL WRITE TC77 MOV A,#44H ; 发出温度转换命令
LCALL WRITE_ TC77 NOP
LCALL DELAY
LCALL DELAY CBALCALL INIT_ TC77 JB FLAG1,ABC LJMP CBA
ABCLCALL DELAY1 MOV A,#0CCH ; 跳过ROM匹配
LCALL WRITE_ TC77 MOV A,#0BEH ; 发出读温度命令
LCALL WRITE_ TC77 LCALL READ_ TC77;READ_ TC77 RET
;------------------读TC77的程序,从TC77中读出一个字节的数据
READ_ TC77 MOV R2,#8 RE1 CLR C
SETB DQ NOP NOP CLR DQ NOP NOP NOP SETB DQ MOV R3,#7 DJNZ R3,$ MOV C,DQ MOV R3,#23 DJNZ R3,$ RRC A DJNZ R2,RE1 RET
;-------------------写TC77的程序
WRITE_ TC77 MOV R2,#8
CLR C WR1 CLR DQ MOV R3,#6 DJNZ R3,$ RRC A MOV DQ,C MOV R3,#23 DJNZ R3,$ SETB DQ NOP
DJNZ R2,WR1 SETB DQ RET
;-------------------读TC77的程序,从TC77中读出两个字节的温度数据 READ_ TC77
MOV R4,#2 ; 将温度高位和低位从TC77中读出 MOV R1,#36H ; 低位存入
36H(TEMPER_L),高位存入35H(TEMPER_H) RE00 MOV R2,#8 RE01 CLR C SETB DQ NOP NOP CLR DQ NOP NOP NOP SETB DQ MOV R3,#7 DJNZ R3,$ MOV C,DQ MOV R3,#23 DJNZ R3,$ RRC A DJNZ R2,RE01
MOV @R1,A DEC R1 DJNZ R4,RE00 RET
;-------------------将从TC77中读出的温度数据进行转换 TEMPER_COV MOV A,#0F0H
ANL A,TEMPER_L ; 舍去温度低位中小数点后的四位温度数值 SWAP A
MOV TEMPER_NUM,A MOV A,TEMPER_L
JNB ACC.3,TEMPER_COV1 ; 四舍五入去温度值 INC TEMPER_NUM
TEMPER_COV1 MOV A,TEMPER_H
ANL A,#07H SWAP A
ORL A,TEMPER_NUM MOV TEMPER_NUM,A ; 保存变换后的温度数据 LCALL BIN_BCD RET
;-------------------将16进制的温度数据转换成压缩BCD码 BIN_BCD
MOV DPTR,#TEMP_TAB MOV A,TEMPER_NUM MOVC A,@A+DPTR MOV TEMPER_NUM,A RET
TEMP_TAB DB
00H,01H,02H,03H,04H,05H,06H,07H DB
08H,09H,10H,11H,12H,13H,14H,15H DB
16H,17H,18H,19H,20H,21H,22H,23H DB
24H,25H,26H,27H,28H,29H,30H,31H DB
32H,33H,34H,35H,36H,37H,38H,39H DB
40H,41H,42H,43H,44H,45H,46H,47H DB
48H,49H,50H,51H,52H,53H,54H,55H DB
56H,57H,58H,59H,60H,61H,62H,63H DB
64H,65H,66H,67H,68H,69H,70H,71H DB
72H,73H,74H,75H,76H,77H,78H,79H DB
80H,81H,82H,83H,84H,85H,86H,87H DB
88H,89H,90H,91H,92H,93H,94H,95H
DB 96H,97H,98H,99H
;------------------ TC77初始化程序 INIT_ TC77 SETB DQ NOP CLR DQ MOV R0,#80H TSR1
DJNZ R0,TSR1 ; 延时 SETB DQ
MOV R0,#25H ;96US-25H TSR2
DJNZ R0,TSR2 JNB DQ,TSR3 LJMP TSR4 ; 延时 TSR3
SETB FLAG1 ; 置标志位,表示TC77存在 LJMP TSR5 TSR4
CLR FLAG1 ; 清标志位,表示TC77不存在 LJMP TSR7 TSR5
MOV R0,#06BH ;200US TSR6
DJNZ R0,TSR6 ; 延时 TSR7 SETB DQ
RET
;------------------重新写TC77暂存存储器设定值 RE_CONFIG
JB FLAG1,RE_CONFIG1 ; 若TC77存在,转RE_CONFIG1 RET
RE_CONFIG1
MOV A,#0CCH ; 发SKIP ROM命令
LCALL WRITE_ TC77 MOV A,#4EH ; 发写暂存存储器命令
LCALL WRITE_ TC77
MOV A,#00H ; TH(报警上限)中写入00H
LCALL WRITE_ TC77 MOV A,#00H ; TL(报警下限)中写入00H
LCALL WRITE_ TC77 MOV A,#7FH ; 选择12位温度分辨率
LCALL WRITE_ TC77 RET
;------------------延时子程序 DELAYMOV R7,#00H MINDJNZ R7,YS500 RET
YS500LCALL YS500US LJMP MIN
YS500USMOV R6,#00H DJNZ R6,$ RET
DELAY1MOV R7,#20H DJNZ R7,$ RET
1.3系统软件算法分析
系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。 1.3.1主程序
主程序的主要功能是负责温度的实时显示、读出并处理TC77的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图1所示。
图1
1.3.2读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进温度数据的改写。其程序流程图如图2示
图2
1.3.3温度转换命令子程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。 1.3.4 计算温度子程序
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判
定,其程序流程图如图3所示。
图3 图4
1.3.5 显示数据刷新子程序
显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图4。
第二章 信息处理
本设计采用AT89C51单片机做为信息处理单元其主要内容如下: 2.1 AT89C51单片机简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51 ? 指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.1.1.AT89C51主要特性: ·与MCS-51 兼容
·4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 ·全静态工作:0Hz-24Hz ·三级程序存储器锁定 ·128*8位内部RAM 2.1.2管脚说明: VCC:供电电压。 GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
·32可编程I/O线 ·两个16位定时器/计数器 ·5个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路
口管脚 备选功能
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(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
2.1.3.振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内
振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
2.1.4.芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
2.2 AT89C51复位电路的可靠性设计 复位电路的基本功能是系统上电时提供复位信号直至系统电源稳定后撤销
复位信号为可靠起见电源稳定后还要经一定的延时才撤销复位信号以防电源开关或电源插头分-合过程中引起的抖动而影响复位。本设计采用PHILIPS 公司SA56600-42 被设计用在电源电压降低或断电时作保护微电脑系统中SRAM 的数据。当电源电压下降到通常值 4.2V 时,输出 CS 变为逻辑低电平,把 CE 也拉低,从而禁止对 SRAM 的操作。同时,产生一个低电平有效的复位信号,供系统使用,如果电源电压继续下降,到达通常值 3.3V或更低时,SA56600-42切换系统操作,从主电源供电切换到后备锂电池供电,当主电源恢复正常(电压上升至3.3V或更高时)将SRAM的供电电源将由后备锂电池切换回主电源,当主电源上升至大于典型值4.2V 时 输出 CS 变为逻辑高电平,使 CE 变为高电平,使能 SRAM 的操作,复位信号一直持续到系统恢复正常操作为止。在系统电源电压不足或突然断电的时候,这个器件能可靠地保护系统在SRAM内的数据。
图2.2 内置SRAM数据保护电路的监控器件SA56600-42的典型应用
2.3 AT89C51与无线通信
2.3.1 AT89C51与数字电台的串行通信
AT89C51单片机有一个可编程的全双工串行通信接口,能同时进行串行发送和接收。通过RXD引脚(串行数据接收端)和TXD引脚(串行数据发送端)与外界进行通信。
2.3.2 AT89C51串行口工作方式
AT89C51串行口可设置四种工作方式,可有8位、10位和11位帧格式。本系统中,AT89C51串行口工作于方式3,即鳘帧11位的异步通信格式:1位起始位,8位数据位(低位在前),1位可编程数据位,1位停止位。发送前,由软件设置第9位数据(TB8)作奇偶校验位,将要发送的数据写入SBUF,启动发送过程。串行口能自动把TB8取出,装入到第9位数据的位置,再逐一发送出去。发送完毕,使TI=1。接收时,置SCON中的REN为1,允许接收。当检测到RXD(P3.0端有"1"到 "0"的跳变(起始位)时,开始接收9位数据,送入移位寄存器(9位)。当满足RI=0且SM2=0或接收到的9位数据为1时,前8位数据送入SBUF,第9位数据送入SCON中的RB8,置RI为1;否则,这次接收无效,不置位RI。串口方式3的波特率由定时器T1的溢出率与SMOD值同时决定。
方式3波特率=T1溢出率/n当SMOD=0时,n=32;SMOD=1时,n=16。T1溢出率取决于T1的计数速率(计数速率=fosc/12)和TI预置的初值。定时器T1用作波特率发生器,工作于模式2(自动重装初值)。设TH1和TL1定时计数初值为X,则每过"2 8-X"个机器周期,T1就会发生一次溢出。初值X确定如下:
X=256-fosc×(SMOD+1)/384×BTL
本系统中,SMOD=0,波行率BTL=1200,晶振fosc=6MHz,所以初值X=F3H。系统采用异步串行通信方式传输测量数据。利用单片机串口与数字电台RS232数据口相连。电台常态为收状态(PPT=0,收状态;PPT=1,发状态),单片机P3.5脚输出高
电平。单片机使用TTL电平,电台使用RS232电平,由 MAX232完成TTL电平与RS232电平之间的转换。3片光电耦合器6N137实现单片机与电台之间的电源隔离,增强系统抗干扰性能。单片机通过带控制端的三态缓冲门74HC125、非门74HC14控制电台的收发转换,以及指令的接收和数据发送。接收时,P3.5=1,c2=1,74HC125B截止;P3.5经74HC14反相、光电隔离,使电台PPT脚为低电平,将其置为接收状态;同时c1=0,74HC125A导通,接收的指令由电台的RXD端输入,经MAX232电平变换、光电隔离、74HC125A缓冲门,送入单片机RXD脚。发射时,P3.5=0,经74HC14反相、光电隔离,使电台PPT脚为高电平,将其置为发射状态;同时c1=1,74HC125A截止,c2=0,74HC125B导通,数据由单片机TXD脚输出,经74HC125B缓冲门、光电隔离、MAX232电平变换,通过电台TXD端口将数据发送出去。
2.3.3 通信软件设计
通信软件至关重要,一旦出现问题,整个系统就会瘫痪。采取差错控制与容错技术是非常重要的。
下面给出单片机串行口与电台的基本通信程序。
初始化程序:
BTL EQU 2FH ;波特率放在内部RAM的
2FH单元
MOV TMOD,#21H;T0方式1,16位计数
器,T1方式2,串口用
SETB TR0 ;启动T0
MOV BTL,#0F3H ;波特率设定为1200
MOV SCON,#0C0H;串口方式3,9位数据,禁止接收 接收程序: NUM EQU 2BH ;同步符个数值存放在内部RAM的2BH单元 TEMP EQU 2CH ROM-CH:DB 55H,55H,55H,55H,55H,55H,55H,55H,55H,55H DB 55H,55H,55H,55H,55H,55H,55H,
55H,55H,55H ;20字节同步符
MIM DB iWSC i:3字节密码"WSC"
SETB P3.5 ;置电台收状态
SETB REN ;允许串口接收
A1:MOV NUM,#0 ;记录连续到同步符
55H的个数
A2:JB RI,A2 ;串口有数据转A3
A3:CLR RI ;清接收中断标志
MOV A,SBUF ;读串口数据
CJNE A,#55H,A1;不是同步符转A1
INC NUM ;收到的同步符个数加1
MOV A,NUM ;取收到的同步符个数
CJNE A,#5,A2 ;未收够连续5个55H
转A2
JB RI,A6 ;串口收完一个字节转A6
„
A6:CLR RI ;清接收中断标志
MOV A,SBUF ;读串口数据
CJNE A,TEMP,A4;与密码不符转A4
INC NUM ;收到的密码个数加1
MOV A,NUM ;取已收到的密码字节
数
CJNE A,#3,A5 ;密码未收完转A5
发送程序:
CLR P3.5 ;置电台发状态
MOV B,#23
MOV DPTR,#ROM-CH
B1:CLR A 序 MOVC A,@A+DPTR;查表发送同步符和密码共24字节 INC DPTR LCALL SEND-CH ;调发送单字节子程DJNZ B,B1 „ CLR A MOV DPTR,#7000H;外部RAM数据首址,发送外部RAM中的数据到电台 B2:CJNE R4,#0,B3 CJNE R3,#0,B3;R4R3=发送字节数 B3:MOVX A,@DPTR;取数据 INC DPTR LCALL SEND-CH CJNE R3,#0,B4 CJNE R4,#0,B5 B4:DEC R3 LJMP B2 DEC R3 DEC R4 LJMP B2 „ SEND-CH:SETB TB8 MOV SBUF,A DB 0,0,0,0,0,0,0,0 JNB TI,$ ;延时4μs CLR TI RET
第三章
3.1 射频收发电路 收发电路设计
3.1.1 基于射频收发芯片nRF403 的无线接口电路设计
射频收发电路选用Nordic VLSI ASA 公司推出的单片射频收发器芯片nRF403 ,工作在433MHzISM 频段和315MHz 频段;具有FSK调制和解调能力,抗干扰能力强,适合工业控制应用;采用PLL 频率合成技术,频率稳定性好;灵敏度高达- 105dBm ,最大发射功率达+ 10dBm ;具有2 个信号通道,适合需要多信道工作的特殊场合;可直接与微控制器接口;低工作电压( 2. 7 ~ 3. 6V) , 数据速率可达20kbit/ s ;功耗低,发射时电源电流8mA ,接收时电源电流250μA ,接收待机状态仅为8μA ;仅需外接一个晶体和几个阻容、电感元件,即可构成一个完整的射频收发器,电路模块尺寸为30 ×22 ×6mm。nRF403 采用20 脚SSOIC 封装,内部电路可分为发射电路、接收电路、模式和低功耗控制逻辑电路几部分。发射电路包含射频功率放大器、锁相环(PLL) 、压控振荡器(VCO) 、频率合成器等电路。基准振荡器采用外接晶体振荡器产生电路所需的基准频率。本机振荡用锁相环( PLL) 方式,由在DDS 基础上的频率合成器、外接的无源回路滤波器和压控振荡器组成。压控振荡器由片内的振荡电路和外接的电感组成。要发射的数据通过DIN 端(第9 脚)输入。射频功率放大器具有高达+ 10dBm 的输出功率。
接收电路包含低噪声放大器、混频器、FSK 解调器、
滤波器等电路。接收电路中,低噪声放大器放大输入的射频信号,接收灵敏度- 105dBm。混频器采用1 级混频结构,混频器 的输出信号经中频滤波器滤波后送入FSK解调器解调,解调后的数字信号在DOU T 端(第10 脚) 输出。芯片工作模式与控制逻辑电路的控制引脚状态有关。
图一 射频收发电路
引脚12 是FREQ ,通道选择:FREQ 为0 ,选通道1 ( 433. 92MHz) , FREQ 为1 ,选通道2 (315. 16MHz) ;引脚18 是PWR- UP ,电源开关: PWR- UP为1 ,选工作模式,PWR
- UP 为0 ,选待机模式;引脚19 是TXEN ,发射允许: TXEN 为1 ,选发射模
式,TXEN 为0 ,选接收模式。射频收发电路如图1 所示。
3.1.2 接口电路
接口电路选用MAX232A ,完成射频收发电路和单片机接口的电平转换及数据发送、接收等功能,电路图如图2 所示。
图2 MAX232A 接口电路
3 .2电路设计时应注意的一些问题
印制电路板( PCB) 的设计直接关系到射频性能, PCB 分成射频电路和接口电路两部分布置。PCB 使用1. 6mm 厚的FR24 双面板,分元件面和底面。PCB 的底面有一个连续的接地面,射频电路的元件面以nRF403 为中心,各元器件紧靠其周围,尽可能减少分布参数的影响。元件面的接地面保证元件充分的接地,大量的通孔连接元件面的接地面到底面的接地面。nRF403 采用PCB 天线,在天线的下面没有接地面。射频电路的电源使用高性能的射频电容去耦, 去耦电容尽可能地靠近nRF403 的VDD 端,一般还在较大容量的表面安装的电容旁并联一个小数值的电容。射频电路的电源与接口电路的电源分离,nRF403的VSS端直接连接到接地面。
注意不能将数字信号或控制信号引入到PLL 回路滤波器元件上。程序设计时应注意的问题是: nRF403 的通信速率最高为20kbit/ s ;发送数据之前需将电路置于发射模式( TXEN 为1) ;接收模式转换为发射模式的转换时间至少1ms ;可以发送任
意长度的数据;发送结束后应将电路置于接收模式( TXEN 为0) ;发射模式转换为接收模式的转换时间至少3ms。在待机模式,电路进入待机状态,电路不接收和发射数据。待机模式转换为发射模式的转换时间至少2ms ; 待机模式转换为接收模式的转换时间至少3ms。该模块在防爆式石油在线质量仪表使用,效果良好。电源是保证硬件系统正常工作的基础,设计中要详细的分析:系统能够提供的电源输入;单板需要产生的电源输出;各个电源需要提供的电流大小;电源电路效率;各个电源能够允许的波动范围;整个电源系统需要的上电顺序等等。比如A项目中的网络处理器需要
1.25V作为核心电压,要求精度在+5%- -3%之间,电流需要12A左右,根据这些要求,设计中采用5V的电源输入,利用Linear的开关电源控制器和IR的MOSFET搭建了合适的电源供应电路,精度要求决定了输出电容的ESR选择,并且为防止电流过大造成的电压跌落,加入了远端反馈的功能。
时钟电路的实现要考虑到目标电路的抖动等要求,A项目中用到了GE的PHY器件,刚开始的时候使用一个内部带锁相环的零延时时钟分配芯片提供100MHz时钟,结果GE链路上出现了丢包,后来换成简单的时钟Buffer器件就解决了丢包问题,分析起来就是内部的锁相环引入了抖动。
芯片之间的互连要保证数据的无误传输,在这方面,高速的差分信号线具有速率高,好布线,信号完整性好等特点,A项目中的多芯片间互连均采用了高速差分信号线,在调试和测试中没有出现问题。
第四章
4.1显示器概述 显示电路的设计
为方便人们观察和监视单片机系统的运行情况,通常需要用一种显示器作为单片机的输出设备,用来显示单片机的键输入的设定值、中间信息及系统运行结果等。在单片机应用系统中,常用的显示器主要有LED(发光二极管显示器)和LCD(液晶显示器)。这两种显示器具有耗电小、配置灵活、线路简单、安装方便、耐振动、寿命长等优点。
LED的技术进步是扩大市场需求及应用的最大推动力。最初,LED只是作为微型指示灯,在计算机、音响和录像机等高档设备中应用,随着大规模集成电路和计算机技术的不断进步,LED显示器正在迅速崛起,近年来逐渐扩展到证券行情股票机、数码相机、PDA以及手机领域。
LED显示器集微电子技术、计算机技术、信息处理于一体,以其色彩鲜艳、动态范围广、亮度高、寿命长、工作稳定可靠等优点,成为最具优势的新一代显示媒体,目前,LED显示器已广泛应用于大型广场、商业广告、体育场馆、信息传播、新闻发布、证券交易等,可以满足不同环境的需要。
LED显示器结构及分类
通过发光二极管芯片的适当连接(包括串联和并联)和适当的光学结构。可构成发光显示器的发光段或发光点。由这些发光段或发光点可以组成数码管、符号管、米字管、矩阵管、电平显示器管等等。通常把数码管、符号管、米字管共称笔画显示器,而把笔画显示器和矩阵管统称为字符显示器。
(一)LED显示器结构
基本的半导体数码管是由七个条状发光二极管芯片按图12排列而成的。可实现0~9的显示。其具体结构有“反射罩式”、“条形七段式”及“单片集成式多位数字式”等
(1)反射罩式数码管一般用白色塑料做成带反射腔的七段式外壳,将单个LED贴
在与反射罩的七个反射腔互相对位的印刷电路板上,每个反射腔底部的中心位置就是LED芯片。在装反射罩前,用压焊方法在芯片和印刷电路上相应金属条之间连好φ30μm的硅铝丝或金属引线,在反射罩内滴入环氧树脂,再把带有芯片的印刷电路板与反射罩对位粘合,然后固化。
反射罩式数码管的封装方式有空封和实封两种。实封方式采用散射剂和染料的环氧树脂,较多地用于一位或双位器件。空封方式是在上方盖上滤波片和匀光膜,为提高器件的可靠性,必须在芯片和底板上涂以透明绝缘胶,这还可以提高光效率。这种方式一般用于四位以上的数字显示(或符号显示)。
(2)条形七段式数码管属于混合封装形式。它是把做好管芯的磷化镓或磷化镓圆片,划成内含一只或数只LED发光条,然后把同样的七条粘在日字形“可伐”框上,用压焊工艺连好内引线,再用环氧树脂包封起来。
(3)单片集成式多位数字显示器是在发光材料基片上(大圆片),利用集成电路工艺制作出大量七段数字显示图形,通过划片把合格芯片选出,对位贴在印刷电路板上,用压焊工艺引出引线,再在上面盖上“鱼眼透镜”外壳。它们适用于小型数字仪表中。
(4)符号管、米字管的制作方式与数码管类似。
(5)矩阵管(发光二极管点阵)也可采用类似于单片集成式多位数字显示器工艺方法制作。
(二)LED显示器分类
(1)按字高分:笔画显示器字高最小有1mm(单片集成式多位数码管字高一般在2~3mm)。其他类型笔画显示器最高可达12.7mm(0.5英寸)甚至达数百mm。 (2)按颜色分有红、橙、黄、绿等数种。
(3)按结构分,有反射罩式、单条七段式及单片集成式。
(4)从各发光段电极连接方式分有共阳极和共阴极两种。 (三)LED显示器的参数
由于LED显示器是以LED为基础的,所以它的光、电特性及极限参数意义大部分与发光二极管的相同。但由于LED显示器内含多个发光二极管,所以需有如下特殊参数: 1.发光强度比
由于数码管各段在同样的驱动电压时,各段正向电流不相同,所以各段发光强度不同。所有段的发光强度值中最大值与最小值之比为发光强度比。比值可以在1.5~2.3间,最大不能超过2.5。 2.脉冲正向电流
若笔画显示器每段典型正向直流工作电流为IF,则在脉冲下,正向电流可以远大于IF。脉冲占空比越小,脉冲正向电流可以越大。 4.2 显示电路
控制端分别与P2.4到P2.7相联接,将需要显示的数字(字母)所对应的8位编码送到P0口,然后通过P2.4到P2.7口开关数码管的控制线,就可以实现对应位的显示.本程序实现四位数码管上循环动态扫描显示,显示的内容可以通过赋给变量,LED1,LED2,LED3,LED4不同的值来实现 4.3 C语言源程序
#include unsigned char code table1[]={0x06,0x5b,0x4f,0x66,0x6d};
unsigned char code table2[]={0x78,0x79,0x38,0x38,0x3f}; unsigned char i;
unsigned char a,b; unsigned char temp; void main(void) { P0=table1[i]; } else
{ P0=table2[i]; } P2=temp; LED1 EQU 08H LED2 EQU 09H LED3 EQU 0AH LED4 EQU 0BH LedT0 EQU 0CH ORG 0000H
LJMP START ;转入主程序 ORG 000BH ;定时器0中断入口a=temp>(7-i); temp=a|b; for(a=4;a>0;a--) for(b=248;b>0;b--); }
4.4 定时中断动态四数码管显示汇编源程序
INT_TO: PUSH ACC PUSH PSW
CLR TF0 ;清定时0中断标志 MOV TH0,#0F6H ;2MS MOV TL0,#03DH
MOV A,#11110000B ;关数码管 ORL P2,A
MOV A,LedT0 CJNE A,#0,INT_T0_1 MOV A,LED1 MOVC A,@A+DPTR MOV P3,A CLR P2.7 MOV LedT0,#1 LJMP INT_T0_END INT_T0_1: MOV A,LedT0 CJNE A,#1,INT_T0_2 MOV A,LED2 MOVC A,@A+DPTR MOV P3,A CLR P2.6
MOV LedT0,#2 LJMP INT_T0_END INT_T0_2: MOV A,LedT0 CJNE A,#2,INT_T0_3 MOV A,LED3 MOVC A,@A+DPTR MOV P3,A CLR P2.5 MOV LedT0,#3 LJMP INT_T0_END INT_T0_3: MOV A,LED4 MOVC A,@A+DPTR MOV P3,A
CLR P2.4 MOV LedT0,#0 LJMP INT_T0_END INT_T0_END: POP PSW POP ACC RETI START: MOV SP,#60H
MOV TMOD,#01H ;设定T0为十六位定时模式。 MOV TH0,#0F6H ;2MS MOV TL0,#03DH SETB TR0 ;开定时器0 SETB ET0 ;开定时0中断
CLR TF0 ;清定时0中断标志 SETB EA ;开总中断 MOV LedT0,#00H MOV DPTR,#TABLE MAIN: MOV LED1,#0 MOV LED2,#1 MOV LED3,#2 MOV LED4,#3 SCAN: LJMP SCAN TABLE:
DB 10111111B ;0 DB 10000110B ;1 DB 11011011B ;2
DB 11001111B ;3 DB 11100110B ;4 DB 11101101B ;5 DB 11111101B ;6 DB 10000111B ;7 DB 11111111B ;8 DB 11101111B ;9 DB 11110111B ;A 附设计电路图
DB 11111111B ;b DB 10111001B ;C DB 10111111B ;d DB 11111001B ;E DB 11110001B ;F DB 11000000B ;- DB 10000000B ; END
总结与体会
此次毕业设计是我们从大学毕业生走向未来工作岗位重要的一步。从最初的选题,开题到计算、绘图直到完成设计。其间,查找资料,老师指导,与同学交流,反复修改图纸,每一个过程都是对自己能力的一次检验和充实。通过这次实践,我了解了温度传感器的用途及工作原理,熟悉了温度传感器的设计步骤,锻炼了工程设计实践能力,培养了自己独立设计能力。此次毕业设计是对我专业知识和专业基础知识一次实际检验和巩固,同时也是走向工作岗位前的一次热身。毕业设计收获很多,比如学会了查找相关资料相关标准,分析数据,提高了自己的绘图能力,懂
得了许多经验公式的获得是前人不懈努力的结果。但是毕业设计也暴露出自己专业基础的很多不足之处。比如缺乏综合应用专业知识的能力,对材料的不了解,等等。这次实践是对自己所学知识的一次大检阅,使我明白自己知识还很浅薄,虽然马上要毕业了,但是自己的求学之路还很长,以后更应该在工作中学习,努力使自己 成为一个对社会有所贡献的人,为国家添上自己的微薄之力。
[参考文献]
[1] 单片机应用技术选编 何立民.北京航空航天大学出版社
[2] 51系列单片机高级实例开发指南 李军.北京航空航天大学出版社 [3] 单片机原理及接口技术 李朝青.北京航空航天大学出版社 [4] 检测技术及仪表 李军.李赋海.中国轻工业出版社 [5] 模拟电子技术 童诗白.华成英.高等教育出版社
[7] 单片机器件应用手册 王 毅 人民邮电出版社,1994.5
[8] 传感器电路分析与设计 李道华、李玲、朱艳.武汉大学出版社
[9] 单片机应用技术选编.1 何立民主编 北京航空航天大学出版社,1993.2 [10] 单片机原理与应用 李晓荃.电子工业出版社, [11] 单片机原理及应用 刘和平.重庆大学出版社,
[12] MCS51系例单片机实用接口技术 李华 北京航空航天大学出版社 [13]单片机开发应用十例 李兰友 电子工业出版社,1994.2 [14] 网页http://tu.cndzz.com/index.htm
[15] 黄智伟,朱卫华. 433MHz 单片射频收发芯片nRF401. 世界电子元器件,2001 ,2
[16] 黄智伟,朱卫华. 通用无线数据传输电路设计. 仪表技术,2001 ,5 [17] 黄智伟,朱卫华,陈和. 无线串行接口电路设计. 电测与仪表,2001 ,7