新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 51单片机的串行口扩展方法设计

51单片机的串行口扩展方法设计

作者:时间:2012-03-21来源:网络收藏

Intel8251具有独立的接收/发送器。在异步方式下,用于产生8251内部时序的时钟CLK输入至少应为发送或接收时钟的4.5倍。接收/发送(RXC/TXC)时钟应为波特率的1倍、16倍或64倍(由8251的工作方式字设定)。

图(2)是用Intel8251一个通道的电路原理,图中,11.0592MHZ晶振经ALE6分频后于 、组合,产生1.8432MHZ的时钟频率,分别作为8251与8253的时钟输入,若设定8251通信波特率为9600bps,波特率因子为16,则需要 153.6KHZ的接收/发送时钟频率,该频率可由8253的OUT0产生。

下面的A51程序段说明了如何设置8253使其产生153.6KHZ的方波,以及如何用8251收/发数据:
;设置8253的程序段:
MOV A,#36H ; 计数器0输出方波控制字
MOV DPTR,#0FFFFH ; 指向控制字寄存器
MOVX @DPTR,A
MOV DPTR,#0FFFCH ; 指向0计数器地址
MOV A,#0DH
MOVX @DPTR,A
MOV A,#0
MOVX DPTR,A
SETB P1.0
;操作8251的程序段:

START: MOV DPTR,#7FFFH ;8251控制、命令口地址
MOV A,#5EH ;一个停止位,奇校验,8位数据,异步*16
MOVX @DPTR,A ;写入方式字
MOV A,#15H
MOVX @DPTR,A ;命令字,启动发送和接收器

LOOP: SJMP LOOP ;等待8251中断
8251_INT: ;现场保护
MOV DPTR,#7FFFH
MOV A,@DPTR
JB ACC.0,TX_INT
JB ACC.1,RX_INT
INT_EXIT: ;恢复现场
RETI
;发送数据
TX_INT: MOV DPTR,#7FFEH ;8251数据口地址
MOV A,20H
MOVX @DPTR,A

AJMP INT_EXIT
;接收数据
RX_INT: MOV DPTR,#7FFEH
MOVX A,@DPTR
MOV 30H,A

AJMP INI_EXIT

50.gif

3 结束语

为核心的多级分布式系统的应用越来越广泛,上面讨论的两种口的为此类多串口应用领域提供了一个良好的解决方案。笔者在实际中采用基于SP2538的了采场瓦斯积聚模拟试验台的多级分布式采控系统,效果良好。

参考文献
[1] 孙和平,杨宁,白晶 单片微机原理与接口技术 冶金工业出版社 2003.1
[2] 胡汉才 原理及其接口技术 清华大学出版社 1996.7
[3] SP2538数据手册 成都视普科技有限公司 2003.2.12


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭