发布: 2009-4-04 20:00 | 作者: hnrain | 查看: 16次
单片机系统扩展是指单片机内部各功能部件不能满足应用系统要求时,在片外连接相应的外围芯片以满足应用系统的要求.电子园51单片机学习网dR(ht%k:e up*f
对单片机系统扩展的方法有并行扩展和串行扩展两种.
串行口的扩展方法电子园51单片机学习网J'z1M3u1YU4Sb
/u'E0yf@45985常用的标准51单片机内部仅含有一个可编程的全双工串行通信接口,具有UART的全部功能。该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。当以此类型单片机构成分布式多级应用系统时,器件本身的串口资源就不够用了。笔者在实际开发中,查阅了有关资料,总结出如下两种常用而有效的串行通道扩展方法。电子园51单片机学习网$Mk)A7kv)RJ%_4`9N;`9Yp
2.1 基于SP2538的扩展方法
U4a&Dv7OB(O'yl2\x9T45985SP2538是专用低功耗串行口扩展芯片,该芯片主要是为解决当前基于UART串口通信的外围智能模块及器件较多,而单片机或DSP原有的UART串口又过少的问题而推出的。利用该器件可将现有单片机或DSP的单串口扩展至5个全双工串口。使用方法简单、高效。电子园51单片机学习网TT!T,uy[%~0a7`
在应用SP2538扩展串行通道时,母串口波特率K1=2880*Fosc_in,单位是MHz,且Fosc_in小于20.0MHz, 在SP2538输入时钟Fosc_in =20.0MHz时母串口可自适应上位机的56000bps和57600bps两种标准波特率输入。子串口波特率K2=480*Fosc_in。
!U1mI.tb!Z.ob45985母串口和所有子串口都是TTL电平接口,可直接匹配其他单片机或TTL数字电路,如需连接PC机则必须增加电平转换芯片如MAX202 、MAX232 等。SP2538具有内置的上电复位电路和可关闭的看门狗监控电路。上位机写命令字0x10可实现喂狗,写命令字0x15关闭看门狗,初次上电后看门狗处于激活状态或写命令字0x20激活看门狗监控功能。上位机可通过芯片复位指令0x35在任何时候让芯片进行指令复位,也可通过芯片睡眠指令0x55在任何时候让芯片进入微功耗睡眠模式以降低系统功耗。初次上电后芯片不会自行进入睡眠模式,但只能由上位机通过母串口任意发送一个字节数据将其唤醒,其他子串口不具备这一功能。
#wuDg%p$B7u45985
8f;_0Vi7l E Up]45985图(1)是AT89C52单片机与SP2538的电路连接,图中,AT89C52的全双工串口与SP2538的母串口5相连,该串口同时也作为命令/数据口。SP2538的ADRI0、ADRI1、ADRI2分别与AT89C52的P2.3、P2.4、P2.5口相连,可用于选择发送数据是选择相应的串口0~4;ADRO0、ADRO1、ADRO2与P2.0、P2.1、P2.2相连,用于判断接收的数据来自哪一个串口。 SP2538的时钟频率选为20.0MHZ,此时母串口5的波特率为57600bps,串口0~4的波特率为9600bps。电子园51单片机学习网1X/EXc;n Y
下面是与上述硬件电路相关的接口程序,该程序用A51汇编语言编制,程序仅说明了中断方式下对子串口0(TX0、RX0)的操作,其它子串口类似。电子园51单片机学习网O$yv X gp/FD
TBLOCK DATA 20H
4ixc-Ia5rvE45985RBLOCK DATA 30H
PV3Z%V9sZ6{45985LENGTH DATA 14H
}H4z3h&fp45985…
'V'a Z+_B:d*R.M\45985TXR_REV_SEND: CLR ES
)e#T(B U'W&[Ce45985JBC RI,RECEIVE
"e;g3Y A*}B'b45985CLR TI电子园51单片机学习网~%LN!}S6G*J
MOV A,@R0
Eu w$o6@{5_R*\45985CLR P2.0 ; 写数据到"SBUF"前必须先置欲发送子串口的地址电子园51单片机学习网'x v/La[
CLR P2.1
2DHd%x d8?R45985CLR P2.2电子园51单片机学习网cw#R1[r;{c
MOV SBUF,A电子园51单片机学习网6xWf)tkbH1{2B
DJNZ R2,NEXT
*dI9m?8S:f45985SJMP $
S|:P:wZ;{7kW45985NEXT: INC R0
@[!]{PzG\LS45985RETI电子园51单片机学习网G0_+p!i)k
RECEIVE: MOV A,P2
dl*@"a+_.@k(u}45985AND A,#31H ;判断是否为子串口0
P0\ _)FBt\ns [h45985JNZ ELSE电子园51单片机学习网-\r i.p C!o
MOV A,SBUF
La&o'B X l'GY7I45985MOV @R1,A电子园51单片机学习网z-mW!@A3?'Y K6fN*jC
INC R1
k)VJ1oL#F[Q45985RETI电子园51单片机学习网Q5D#w;RrzA
电子园51单片机学习网)I$]!mXAD
tNH-^)zz45985
1m;Y2x*QE+j7PKh4q4a45985图(1) AT89C52与SP2538的电路连接
7YwR&}ls:[/p45985
^;K"q7p?)O(i kQ e)Y`459852.2 基于Intel8251的串行口扩展方法电子园51单片机学习网E3r9s f9`Joh
上面基于SP2538的串口扩展方法可以说是一种串行的扩展方法,这里基于Intel8251的扩展方法则是一种并行的方法。Intel8251是一种通用的同步/异步发送器(USART),它的工作方式可以通过编程设置。能够以同步或异步串行通信方式工作,能自动完成帧格式。
{^/p!X2Az8X p,s45985Intel8251具有独立的接收/发送器。在异步方式下,用于产生8251内部时序的时钟CLK输入至少应为发送或接收时钟的4.5倍。接收/发送(RXC/TXC)时钟应为波特率的1倍、16倍或64倍(由8251的工作方式字设定)。
@*`wO n#Y45985图(2)是用Intel8251扩展一个串行通道的电路原理,图中,11.0592MHZ晶振经ALE6分频后于 、组合,产生1.8432MHZ的时钟频率,分别作为8251与8253的时钟输入,若设定8251通信波特率为9600bps,波特率因子为16,则需要 153.6KHZ的接收/发送时钟频率,该频率可由8253的OUT0产生。电子园51单片机学习网0~y'^(i$O'G
下面的A51程序段说明了如何设置8253使其产生153.6KHZ的方波,以及如何用8251收/发数据:电子园51单片机学习网~{A b|]:j\
;设置8253的程序段:电子园51单片机学习网5K/_,b(D Bz s-sM
MOV A,#36H ; 计数器0输出方波控制字
a~_YC"W^45985MOV DPTR,#0FFFFH ; 指向控制字寄存器
C#D z Ri~{t45985MOVX @DPTR,A电子园51单片机学习网h5c4t)Oq(O-Du
MOV DPTR,#0FFFCH ; 指向0计数器地址电子园51单片机学习网 qY*gU/L7SH2A
MOV A,#0DH电子园51单片机学习网7hfe4c/I!wJ
MOVX @DPTR,A
r(P)f)]uGN[6H45985MOV A,#0电子园51单片机学习网Q$xw;jtG5W D E
MOVX DPTR,A电子园51单片机学习网.H ~ n+@}7}(M
SETB P1.0
LNE ^9J7Ak45985;操作8251的程序段:电子园51单片机学习网 T0Q/Z)MF:J
…
6N!t{~.p45985START: MOV DPTR,#7FFFH ;8251控制、命令口地址
_CxqGiHM$pT b45985MOV A,#5EH ;一个停止位,奇校验,8位数据,异步*16
/J O*H `2a*Bb p45985MOVX @DPTR,A ;写入方式字电子园51单片机学习网]e P"q*CSg
MOV A,#15H电子园51单片机学习网 WG4O$B:Y FVg
MOVX @DPTR,A ;命令字,启动发送和接收器电子园51单片机学习网"p een7K D9B?'`R
…
FyQ-r{*lL(O45985LOOP: SJMP LOOP ;等待8251中断电子园51单片机学习网 Lx~-o/p"qU7H,G
8251_INT: ;现场保护电子园51单片机学习网qkd!G|!a7U0Vj
MOV DPTR,#7FFFH电子园51单片机学习网`camGtch
MOV A,@DPTR电子园51单片机学习网}SB'aS wo
JB ACC.0,TX_INT电子园51单片机学习网v3KR'KJ E^-a
JB ACC.1,RX_INT
Tr/S3sl3c@3t%PI c45985INT_EXIT: ;恢复现场电子园51单片机学习网]&B OZz_4sRi*~V
RETI电子园51单片机学习网Y&T1R X a0L
;发送数据
&J3Z5r$K6Z8v:X}45985TX_INT: MOV DPTR,#7FFEH ;8251数据口地址
1kjn,`Q4P8Ts45985MOV A,20H电子园51单片机学习网:i-njMRF1nR]
MOVX @DPTR,A电子园51单片机学习网'v:L~[!Qx/F'Q#IB%{
…电子园51单片机学习网 ~],L.r;l4`%v
AJMP INT_EXIT
$ntG'}4~/\;oX45985;接收数据
d&F h'^:^ T&Q |6La45985RX_INT: MOV DPTR,#7FFEH电子园51单片机学习网b\l2{U:\7z|6L n9E
MOVX A,@DPTR
/|F\dC/v#s8~45985MOV 30H,A
$n'R#rle&Z ]45985…电子园51单片机学习网|&`pv9RA-v%D d
AJMP INI_EXIT电子园51单片机学习网1@ L#laYlbX
电子园51单片机学习网4jka,jZBL s
U`WLzr6QU45985图(2)用8251扩展串行通道的硬件电路原理电子园51单片机学习网q+h5N-Z,r&g hE\
文章评论(0条评论)
登录后参与讨论