MAX 3100在串行红外数据与RS-232转换器中的应用
发布时间:2010-05-14
来源:中国自动化网
类型:
专业论文
人浏览
关键字:
转换器
导读:
摘 要:通用异步接收发送器MAX 3100,是一种最适合基于微型控 制器的小型系统用器件,特别是在串行红外与RS-232数据转换中,配上适当的程序,可使 硬件结构非常简单,体积更小。它还可广泛应用于手持仪器等小体积...
摘 要:通用异步接收发送器MAX 3100,是一种最适合基于微型控 制器的小型系统用器件,特别是在串行红外与RS-232数据转换中,配上适当的程序,可使 硬件结构非常简单,体积更小。它还可广泛应用于手持仪器等小体积系统中。
关键词:MAX3100,转换器,红外数据
IR Data to RS-232 Converter with MAX 3100
Abstract:The MAX 3100 universal async-hronous receive r/transmitter is the first UART specifically optimized for small microcontrolle r -based system. The MAX 3100 CAN easily interface to IR data & RS-232 smallest conver ter with a short program. It can be use to small system such as hand-held instru ments.
Key words:MAX 3100,converter,IR data
1 引言
通用异步接收发送器MAX3100,特别适用于RS-232、RS-485、红外及光耦数据的连接,在关机状态下也能接收信号,执行中断。在基于微型控制器的小型系统中使用MAX3100,可使系统结构更为紧凑、小型化。这种器件还可应用于手持仪器、智能化仪器、SPI系统中的异步接收发送器、RS-232/RS-485直接光耦驱动,同时能用于计算机/外围设备的低耗红外数据联接,且可在较宽的温度范围中使用。MAX3100目前已实现商业化。
2 MAX3100工作原理
在MAX3100中组合了一个简单的UART、一个带有SPI接口的波特率发生器及一个中断发生器。通过将一个长度为16位的字写入到写状态寄存器中形成一个通用异步接收发送器。该字节中包含了波特率(位B0~B3)、数据字节长度、校验设定、8字节接收FIFO、普通UART与IRdata时基选择、关机控制及4个中断屏蔽位。通过写一个16位字到一个写数据寄存器中发送数据,其中最后的7(校验位未设定)或8位(校验位被设定)是实际上被发送的数据。该寄存器控制着RTS输出端的状态。当接收中断被设定时,在接收到数据时就会产生一个中断。根据接收到的校验数据及CTS脚输入的逻辑电平,从一个16位的寄存器中依据先进先出原理读取数据。该寄存器同样还包含有用于普通操作出错及关机状态中的接收显示。
当振荡器选用1.8432MHz或3.6864MHz晶振时,波特率可达300~230kbit/s。
3 应用硬件与软件
该电路接收/发送IRdata,发送/接收标准的RS-232数据。尽管8051包含了一个内部的UART,但它不支持IRdata或高速通信。MAX3100能够很方便地与8051相接,以支持高性能的通信模式。8051没有SPI接口,所以要使用带有输入/输出口的MAX3100以及一个简短的程序来实现通信功能。
MAX 3100接收完数据后,向8051请求中断,8051响应中断通过串行输出口将MAX 3100输入的数据传至MAX 3221。最终MAX 3221以标准的RS-232码输出数据。在MAX 3221接收到RS-232数据时,8051通过串行输入口读入数据,并经MAX 3100 TX端口发出红外信号,程序如下:
;MAX 3100用于UART-8051 IR data
;…………………………………………………
PCON EQU 87H
DOUT BIT P1.0 ;数据从UART输出
DIN BIT P1.1 ;数据从UART输入
SCLK BIT P1.2 ;串行时钟
CS BIT P1.3 ;片选一低电平激活
IRQ BIT P3.2 ;中断信号
;RAM区域
TX1 EQU 10H ;发送缓冲器
TX2 EQU 11H
RX1 EQU 12H ;接收缓冲器
RX2 EQU 13H
;………………………………………………………
ORGOH ;开始
BEGIN: MOVSP,#70H ;初始化设置堆栈
CLRSCLK ;时钟清零
;8051内部UART初始化
MOVTMOD,#20H ;T1计数方式
MOVTH1,#253 ;波特率9600(晶振5.5MHz)
MOVSCON,#50H;8051串行口控制
MOVPCON,#80H;波特率加倍
MOVTCON,#40H;T1计数控制
;设置红外通信波特率为9600
MOVTX1,#0E4H
MOVTX2,#0CAH
ACALLUTLK ;发送至UART写寄存器
;………………………主程序…………………………
LOOP; JNBIRQ,URCV ;有信号来自3100?
NRECV: JBCR1,RCV51 ;有信号来自3221?
AJMPLOOP
;从3100接收至8051
URCV: MOVTX1,#0 ;红外有请求,清发送缓冲器MOVTX2,#0
ACALLUTLK ;接收红外端数据
MOVA,RX2
MOVSBUF,A ;以9600波特率RS-232方式送出 AJMPLOOP
;8051从RS-232接收数据,并不从3100发出红外信号
RCV51: MOVA,SBUF;数据来自8051UARTMOVTX1,#80H;发送数据
MOVTX2,A ;待发数据送至发送缓冲器ACALLUTLK;以红外方式送出
AJMPLOOP
;………………………………………………………………
;子程序1:将TX1、TX2缓冲器内容发出,并接收16位信号至RX1、RX2
UTLK: CLRCS
MOVA,TX1
ACALLBYT8
MOVRX1,A
MOVEA,TX2
ACALLBYTB
MOVRX2,A
SETBCS
RET
;………………………………………………………………
;子程序2:送8位时钟信号,累加器A循环送出、同时读入8位数据
BYT8: MOVR4,#8
SETBDIN
B8LP: RLCA
MOVDOUT,C
SETBSCLK
MOVC,DIN
CLRSCLK
MOVACC.0,C
DJNZR4,B8LP
RET
END
;………………………………………………………………
该程序是通过端口发送与接收数据的核心,与MAX3100组合在8051中模拟一个SPI口。这项技术对于任何一种8051基于MAX3100的应用来说都是非常有用的。■
作者单位:王鲁南(南京电子网板有限公司 南京210028)
参考文献:
[1]何立民.MCS51系列单片机应用系统设计、系统配置与接口技术.北京:北京航空航天大学出版社,1989
免责声明:本文仅代表作者个人观点,与中国自动化网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容!