浙江科技学院本科毕业设计(论文)
WR2:DJNZ R4,WR2 ;DS18B20 总线复位保持16us MOV P3.3,C ;写入一个bit MOV R4,#20
WR3:DJNZ R4,WR3 ;等待40us DJNZ R3,WR1 ;写入下一个bit SETB P3.3 ;重新释放DS18B20 总线 RET READ: CLR EA
MOV R6,#8 ;连续读8 个bit RE1:CLR P3.3 ;读前总线保持为低 MOV R4,#4 NOP
SETB P3.3 ;开始读总线释放 RE2:DJNZ R4,RE2 ;持续8us
MOV C,P3.3 ;从DS18B20 总线读得一个bit RRC A ;把读得的位值环移给 A MOV R5,#30
RE3:DJNZ R5,RE3 ;持续60us DJNZ R6,RE1 ;读下一个bit SETB P3.3 ;重新释放DS18B20 总线 RET END 注意事项:
DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:
(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温
31
浙江科技学院本科毕业设计(论文)
结果。
(2)在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。
(3)连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。
(4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。
32
浙江科技学院本科毕业设计(论文)
4 DS18B20测温系统与PC上位机通讯
4.1 RS-232C介绍
RS-323C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在0~20000b/s范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。
RS-232C使用-3到-25V表示数字“1”,使用3V到25V表示数字“0”,RS-232C在空闲时处于逻辑“1”状态,在开始传送时,首先产生一起始位,起始位为一个宽度的逻辑“0”,紧随其后为所要传送的数据,所要传送的数据有最低位开始依此送出,并以一个结束位标志该字节传送结束,结束位为一个宽度的逻辑“1”状态。
PC机一般使用8250或16550作为串行通讯的控制器,使用9针或25针的接插件将串行口的信号送出。该插座的信号定义如下: DB-25 DB-9 信号名称 2 3 4 5 6 7 8 3 2 7 8 6 5 1 TXD RXD RTS CTS DSR SG DCD DTR RI 方向 输出 输入 输出 输入 输入 - 输入 输出 输入 含 义 数据发送端 数据接收端 请求发送(计算机要求发送数据) 清除发送(MODEM准备接收数据) 数据设备准备就绪 信号地 数据载波检测 数据终端准备就绪(计算机) 响铃指示 20 4 22 9 以上信号在通讯过程之中可能会被全部或部分使用,最简单的通讯仅需TXD及RXD及SG即可完成,其他的握手信号可以做适当处理或直接悬空,至于是否可以悬空这视乎你的通讯软件。比如说,如果使用DOS所提供的BIOS通讯驱动程序,那么,这些握手信号则需要做如下处理,
33
浙江科技学院本科毕业设计(论文)
234因为BIOS的通讯驱动使用了这些信号。如果使用自己编写的串行驱动程序则可以完全不使用这些握手信号。 4.2 RS232硬件接口设计 +5C51ufVCCVS+VS-T1OUTT2OUTR1OUTR2OUT1626147129C61ufC7J11uf162738495C31ufU81345111013815C1+C1-C2+C2-T1INT2INR1INR2INGNDMAX232C41ufP3.1TXDP3.0RXD1110D Connector 9 图4.1 4.2.1 硬件说明 89S52 单片机通过串行通讯口与PC 机RS232 串口实现通信的硬件接口电路如图4.1所示。由于PC 系列微机串行口为RS232C 标准接口,与输入、输出均采用TTL 电平的89S52 单片机在接口规范上不一致,因此TTL电平到RS232 接口电平的转换采用MAXIM 公司的MAX232 标准RS232接口芯片,该芯片可以用单电压(+5V)实现RS232接口逻辑“1”(-3V~15V)和逻辑“0”(+3V~15V)的电平转换。采用简单的三线制串行通讯接口,无需硬件握手和软件握手。 34 浙江科技学院本科毕业设计(论文)
4.3 程序设计
4.3.1 单片机内通信程序的设计
;----二进制到ASCII码转换-------------- PASS: MOV A, #30H
ORL A_BIT, A LCALL TX_CHAR ORL B_BIT, A LCALL TX_CHAR ORL C_BIT, A LCALL TX_CHAR ORL D_BIT, A LCALL TX_CHAR RET
INIT_RS232: MOV SCON,#50H
MOV TMOD,#20H
MOV TL1,#0FDH MOV TH1,#0FDH SETB TR1 SETB TI
RET
TX_CHAR: JNB TI,$ CLR TI MOV SBUF, A
RET
;传送到PC上位机 T1工作方式2 35
;定时器
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于DS18B20的智能温度检测系统(7)在线全文阅读。
相关推荐: