八路温度采集与显示系统设计
连接发光二极管和蜂鸣器的两端口同时输出低电平,由于在发光二极管和蜂鸣器的另一端都接地,所以发光二极管处于熄灭状态,蜂鸣器不鸣响;当八路温度有一路或几路超过上限或者下限时,连接发光二极管和蜂鸣器的两个端口同时由低电平向高电平跳变,后又由高电平跳到低电平,并循环此动作,来发出一个高地电平循环跳变的脉冲波,使红色发光二极管闪烁并且蜂鸣器发出声音。当控制八路温度都回到限定范围内时,发光二极管熄灭且蜂鸣器停止响声,其硬件连接如图3.7所示。
图3.7 报警电路与单片机硬件连接图
3.5 串行口上位机通信模块设计
串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上, 以每次一个二进制位移动的它的优点是只需一对传输线进行传送信息, 因此其成本低, 适用于远距离通信,它的缺点是传送速度低[19]。
串行通信有异步通信和同步通信两种基本通信方式。同步通信适用于传送速度高的情况, 其硬件复杂而异步通信应用于传送速度在50到19200波特之间,是比较常用的传送方式在异步通信中,数据是一帧一帧传送的,每一串行帧的数据格式由一位起始位,5~8位的数据位,一位奇偶校验位(可省略)和一位停止位四部分组成,在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议)[19]。
18
八路温度采集与显示系统设计
PC机采用可编程串行异步通信控制器8250来实现异步串行通信。通过对8250 的初始化编程,可以控制串行数据传送格式和速度。RS-232C串行接口COM1和
COM2是PC机中的两个标准,51系列单片机片内含有一个全双工的串行接口, 通
过编程也可实现串行通信功能[21]。
3.5.1 RS-232C标准
RS-232C是美国电子工业协会(EIA)正式公布的, 在异步串行通信中应用最
广的标准总线。该标准适用于DCE和DTE间的串行二进制通信, 最高数据传送速率可达19. 2kbps, 最长传送电缆可达15米。RS - 232C标准定义了25根引线,对于一般的双向通信,只需使用串行输入RXD,串行输出TXD 和地线GND。在电气性能方面,RS-232C标准的电平采用负逻辑, 规定+ 5V~+ 15V之间的任意电平为逻辑“0”电平,-5 V~-15V之间的任意电平为逻辑“1”电平, 它要求RS-232C接收器必须能识别低到+3V的信号作为逻辑“0”,识别-3V的信号作为逻辑“1”,即有
2V的噪声容限。RS - 232C是是位串行方式,传输数据的格式如图3.8所示,这是微
机系统中最通用的格式。7位ASCII码数据的连续传送由最低有效数字开始,以奇偶校验位结束(RS-232C标准接口并不限于ASCII数据,还可用5到8个数据加一奇偶校验位的方式)。RS-232C标准接口上的信号线基本上可分为四类:数据信号(4根)、控制信号(12根)、定时信号(3根)和地(2根)[21]。
(1)数据信号,“发送数据TXD”和“接收数据RXD”信号线是一对数据传输线,用于传输串行的位数据信息。对于异步通信,传输的串行位数据信息的单位是字符。发送数据信号由数据终端设备DTE产生,送往数据通信设备DCE。在发送数据信息的间隔期间或无数据信息发送时,数据终端设备DTE保持该信号为“1”。接收数据信号由数据通信设备DCE发出,送往数据终端设备DTE。同样,在接收数据信息的间隔期间或无信息传输时,该信号应为“1”。
ASCⅡ码起始位偶奇校验位停止位
图3.8 串行数据传输格式
19
八路温度采集与显示系统设计
(2)控制信号,数据终端设备DTE发出请求发送RTS信号到数据通信设备,要求数据通信设备发送数据。在双工系统中,该信号的置位条件保持数据通信的设备处于发送方式。在半双工系统中,该信号的置位条件维持数据通信设备处于发送状态,并且禁止接收;该信号复位后,才允许数据通信设备转为接收方式。在数据通信设备复位清除发送信号之前,请求信号不能重新发生。
(3)定时信号,数据终端设备使用发送信号定时信号指示发送数据线上的每个二进位数据的中心位置;而数据通信设备使用接收信号定时信号指示接收数据线上的每个二进位制的中心位置。
(4)地信号,保护地即屏蔽地;信号地是RS-232C所有信号公共参考点的地。在接口电路和计算机接口芯片中大都为TTL或CMOS电平,所以在通信时,必须进行电平转换,以便与RS-232标准的电平匹配。MAX232芯片可以完成电平转换。
3.5.2 通过MAX232芯片与电脑串行口连接
电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠[35]。
MAX232芯片是MAXIM公司生产的低功耗、单电源、双RS232发送/接收器。
适用于各种EIA-232E 和V.28/ V.24的通信接口。
MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源变换RS-232C输出电平所需±10V电压,所以采用此芯片接口的串行通信系统只要单一的+5V电源就可以了。
MAX232外围需要4个电解电容C1、C2、C3、C4,是内部电源转换所需电容,
其取值均为1μF/25V,宜选用钽电容并且应尽量靠近芯片,C5为0.1μF的电容。
T1IN、T2IN、R1OUT、R2OUT接TTL/CMOS电平的引脚,引脚T1OUT、T2OUT、R1IN、R2IN为接RS-232C电平的引脚,因此TTL/ CMOS电平的T1IN、T2IN 引脚应接AT89C51的串行发送引脚TXD;R1OUT、R2OUT 应接MCS-51
的串行接收引脚RXD;与之对应的RS -232C电平的T1OUT、T2OUT应接PC机的接收端RD;R1IN、R2IN应接PC机的发送端TD[35]。
为提高本系统的可操作性和控制的灵活性和实时性,需要进行上位机通信,即通过串行口将数据送到PC机进行显示,同时PC也可以将数据和指令等传送到单片机,
20
八路温度采集与显示系统设计
使单片机对温度进行处理。在单片机与上位机进行通信时,根据上文介绍,决定采用
MAX232对数据进行转换,其硬件连接如图3.9所示。
图3.9 单片机通过MAX232与PC机串行口连接图
3.6 片外程序存储器的扩展
通常情况下,采用AT89C51的最小应用系统最能发挥单片机体积小、成本低的优点。但在许多情况下,构成一个工业测控系统时,考虑到传感器接口、伺服控制接口以及人机对话接口等的需要,最小应用系统常常不能满足要求,因此系统扩展是单片机应用系统硬件设计中最常遇到的问题[24]。
系统扩展是指单片机内部的各功能部件不能满足应用系统要求时,在片外连接相应的外围芯片以满足应用系统要求。AT89C51单片机有很强的外部扩展能力,外围扩展电路芯片大多是一些常规芯片,扩展电路及扩展方法较为典型规范。用户很容易通过标准扩展电路来构成较大规模的应用系统[37]。
AT89C51单片机的系统扩展有程序存储器(ROM)扩展、数据存储器(RAM)
扩展、I/O口扩展、中断系统扩展以及其他特殊功能扩展。
本系统采用单总线数字式温度传感器对温度进行采集,为了增大系统的测温范围,能方便的扩展成对更多地点进行温度采集,本系统要增加一片8K×8位的片外
21
八路温度采集与显示系统设计
程序存储器,增加了片外程序存储器后,通过增加相应的硬件及软件设计,系统便可以具有更强大的功能,如时间显示等,大大增强的系统的扩充能力。
3.6.1 片外存储器(RAM)扩展简述
对于单片机系统扩展的方法有并行扩展法和串行扩展法两种。并行扩展法是指利用单片机的三组总线(AB、DB、CB)进行的系统扩展;串行扩展法是指利用SPI三线总线和I2C双总线的串行系统扩展[1]。
由于集成度和结构的发展,原来只能使用并行扩展法的场合现在可以使用串行扩展法。串行扩展法具有显著的优点。一般来说,串行接口的器件体积小,因此,它所占用电路板的空间,仅为并行接口器件的10%,明显地减少了电路板空间和成本。串行接口器件与单片机接口时需用的I/O口线很少(仅需3~4根),不仅减少了控制器的资源开销,而且极大地简化了连接,从而提高了可靠性。但一般串行接口器件速度较慢。在需用高速应用的场合,还是并行扩展法占主导地位。本系统在综合考虑两种扩展方法的优点及缺点的同时,分析系统各模块所需的引脚,最终决定采取并行扩展法[1]。
(1)单片机的片外总线结构
单片机都是通过芯片的引脚进行系统扩展的。为满足系统扩展要求,AT89C51单片机芯片引脚可以构成图3.10所示的三总线结构,即地址总线(AB)、数据总线(DB)和控制总线(CB)。所有的外部芯片都是通过这三组总线进行扩展[37]。
P2.7A15~P2.0地址锁存器~A8A7A0D7ABAT89C51P0.7~~~P0.0DBD0ALEPSENEACBP3.6P3.7WRRD
22