51单片机的串行口扩展方法
[09-12 18:13:41] 来源:http://www.88dzw.com 单片机学习 阅读:8251次
文章摘要: MOV@R1,A INCR1 RETI 图(1) AT89C52与SP2538的电路连接 2.2 基于Intel8251的串行口扩展方法 上面基于SP2538的串口扩展方法可以说是一种串行的扩展方法,这里基于Intel8251的扩展方法则是一种并行的方法。Intel8251是一种通用的同步/异步发送器(USART),它的工作方式可以通过编程设置。能够以同步或异步串行通信方式工作,能自动完成帧格式。 Intel8251具有独立的接收/发送器。在异步方式下,用于产生8251内部时序的时钟CLK输入至少应为发送或接收时钟的4.5倍。接收/发
51单片机的串行口扩展方法,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.comMOV@R1,A
INCR1
RETI

图(1) AT89C52与SP2538的电路连接
2.2 基于Intel8251的串行口扩展方法
上面基于SP2538的串口扩展方法可以说是一种串行的扩展方法,这里基于Intel8251的扩展方法则是一种并行的方法。Intel8251是一种通用的同步/异步发送器(USART),它的工作方式可以通过编程设置。能够以同步或异步串行通信方式工作,能自动完成帧格式。
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的程序段:
MOVA,#36H ; 计数器0输出方波控制字
MOVDPTR,#0FFFFH; 指向控制字寄存器
MOVX @DPTR,A
MOVDPTR,#0FFFCH; 指向0计数器地址
MOVA,#0DH
MOVX @DPTR,A
MOVA,#0
MOVX DPTR,A
SETB P1.0
操作8251的程序段:
…
START: MOVDPTR,#7FFFH;8251控制、命令口地址
MOVA,#5EH;一个停止位,奇校验,8位数据,异步*16
MOVX @DPTR,A;写入方式字
MOVA,#15H
MOVX @DPTR,A;命令字,启动发送和接收器
…
LOOP: SJMP LOOP ;等待8251中断
8251_INT: ;现场保护
MOVDPTR,#7FFFH
MOVA,@DPTR
JBACC.0,TX_INT
JBACC.1,RX_INT
INT_EXIT: ;恢复现场
RETI
发送数据
TX_INT:MOVDPTR,#7FFEH ;8251数据口地址
MOVA,20H
MOVX @DPTR,A
…
AJMP INT_EXIT
接收数据
RX_INT:MOVDPTR,#7FFEH
MOVX A,@DPTR
MOV30H,A
…
AJMP INI_EXIT

图(2)用8251扩展串行通道的硬件电路原理
3 结束语
以单片机为核心的多级分布式系统的应用越来越广泛,上面讨论的两种串行口的扩展方法为此类多串口应用领域提供了一个良好的解决方案。笔者在实际中采用基于SP2538的扩展方法,设计了采场瓦斯积聚模拟试验台的多级分布式采控系统,效果良好。
Tag:单片机学习,单片机开发,单片机原理,单片机教程,单片机学习
《51单片机的串行口扩展方法》相关文章
- › 用AT89C2051单片机实验合弦乐
- › 在8051单片机应用系统中使用DiskOnChip
- › AT89S51单片机原理与应用
- › 基于51单片机的数控电源设计
- › 基于51单片机超声波测距器设计
- › 基于AT89C51单片机设计的简易智能机器人
- 在百度中搜索相关文章:51单片机的串行口扩展方法
- 在谷歌中搜索相关文章:51单片机的串行口扩展方法
- 在soso中搜索相关文章:51单片机的串行口扩展方法
- 在搜狗中搜索相关文章:51单片机的串行口扩展方法
分类导航
最新更新