-
巧用
8051
单片机的奇偶校验位
()
南京东南大学电子工程系
210096
孙洪军
()
南京理工大学化工学院
210094
孙秀云
周学铁
摘
根连线即可达到
3
要
:
一种微机间的串行通信方法
,
只需用
R
XD
、
T XD
和
GN D
115200bp s
的传输速率。
中断关键词
:
串行通信
语言
8250 IN S C
送出去。
IN S
8250
接收由
R XD
来的数据后
,
经过串
?
在工程设计中
,
经常会
遇到近距离的微机间数据
交换问题
,
通常的解决方法是利用微机的异步串行通
并
信适配器
,
通过把
< br>2
台微机的串行通信口相连来实现转换后
,
放在
中供
读取。
RBR C PU
表
1 IN S
8250
中可访问的寄存器
据交换。在程序的设计上往往利用
或数
B IO S DO S
的功
1 2
能调用来实现对适配器的初始化、状态检测、数
COM COM
方向
寄存器名称
口地址
口地址
据的发
3828
输出
发送器保持寄存器
() F H F H T HR
送和接收等。这种方法实现的串行通信程序
,
设计起来
3828
输
入
接收器缓冲寄存器
() F H F H RBR
相对简单
,
但是在连线上要复杂一些
,
除了通
信线外
,
3828
输出
除数寄存器
(
低位
) () F H F H D R
还需要握手信号线
,
通信速
率最高只可达到
9600
。
bp s3929
输出
除数寄存器
(
高位
) () F H F H D R
而在
实践中
,
人们往往更希望采用
3
线通信形式
,
只采
3929
输出
中断允许寄存器
( ) F
H F
H IER
用
、、根线
,
通信速率也希望能达到更
3R XDT XDGN D
32
输入
中
断识别寄存器
( ) FA H
FA H IIR
高水平。通过对微机的异步串行通信适配器的研
< br>究发
32
输出
线路控制寄存器
()
现
,
完全可以避开对
或
的功能调用
,
通过
FBH
FBH L CR
B IO S DO S
调
制
解
调
器
控
制
寄
存
p>
器直接访问其寄存器来实现对
适配器的初始化、状态检
3FCH 2FCH
输出
()M CR
测、数据的发送和接收等
功能
,
p>
可以达到
115200
的
< br> bp s 32
输入
线路状态寄存器
()FD H FD H L SR
传
输速率
,
再通过对中断控制器
8259
的编程
,
采用中
A
调
制
解
调
器
状
态
寄
存
器
3F
EH 2F EH
输入
断方式接收数据
,
可以可靠地实现高
速
3
线串行通信。
()M
SR
1
异步串行通信适配器的工作原理
微机上通常有
2
个异步串行通信适配器
,
分别为
D R
中存放的数据用来决定
数
据传输时的波特
主
适配器和辅适配器
,
适配器和外部的通信连接通过率
,
其计算公
式如下
: () =
基准时钟频率
?( 163
波
D R
9
芯
特率
)
,
基准时钟频率为
181432,
那么可以计算出
M H z
或
25
芯的
型插座
,
即微机的
1
和
2
口。
D COM COM
当
D R
中放入最小值
1
时
,
最高波特率为
115200bp
s
。
适
配器的关键部件是
通用
异步收发器
() U A
R T
主要用于指定通信时的数据格式
,
的各
L CR L CR IN S
位
定义如图
1
。
8250,
要设计高速
3
线串
行通信程序
,
就要对
IN S
8250 b 7 b 6 b
5 b4 b 3 b 2 b 1
b 0
的原理和结构有所了解。
10L
CR DL A B SB SP E
P S P EN STB W L S W
L S
可接收来自
的并行字符数据
,
然后
8250IN S C PU
将其转换为连续的串行数据流发送出去
,
也可以接收
图
1
线路控制寄存器
L
CR
串行数据流
,
并将其转换为并行数据再提供给
。
C PU
图
1
中
、用于选择数据
位数
,
可选择
5,
8
位
b1b 0
可工作在全双工的形式下
,
即可同时发送和
8250IN S
数
据位。位数和
的关系为
:
数据位数
= 5+
。
b1 b0 b 1b0b2
接收
数据而不会发
生冲突。的内部有
10
个
寄
8250IN S
选
择停止位个数
: = 0,
1
位停止位
; = 1,
2
位停止
b 2 b2
存器
,
分别用于通信参数的设置、对线及的
M OD EM
位。选择有
无奇偶校验
: = 1,
有奇偶校验
; = 0, b3 b 3 b 3
状态访问、数据的发送和接收及
中断管理等功能。其地
< br>
无奇偶
校验。在
=
1
时
,
选择校验方式
: = 1,
为
b3 b4
b4
址和名称如表
1
。
偶校验
;
和
共用<
/p>
1
个地址
,
但
中数据只
T H R RBR T H R =
0
为奇校验
;
选择是否在
串行数据格式中的奇偶
b
b 4 5
能
写入
,
中数据只能读出
,
以此加以区分。
RBR C
PU
校验位和停止位之间插入奇偶标志位
: = 1,
附加
1b 5
把要
通过
线发送出的
数据放入
中
, T XD T H R IN S
位
8250
自
动读出
中的数据
,
进行并串转换
,
然
?T
H R
后
1
位位发
奇偶标志位
; b5 = 0,
不附加。
b 6 = 1,
串行数据输出被强
迫置
0;
在正常的数据发送和接收时
,
置
p>
0
。在寻址
b 6
《微型机与应用》
1997
年第
12
期
除
数寄存器前
,
把
置
1,
否则置
0
。
b
7
—
45
—
1994-2013 China Academic
Journal Electronic Publishing
House.
All rights reserved.
(
) ISR
时
,
有
2
点需要设计串行通信的中断服
务程序
L SR
提供线路的状态
,
各位含义如图
2
。
注
b b b b b b b b
7654
3210
意
:
一是在
中不要使用的功能调用
,
以避免
ISR DO S IIR 0 TSRE THRE
B I FE PE OE DR
由于重入造成系统的崩溃
;
二是
尽可能由较
DO S ISR
少指令组
成
,
执行时间尽可能短
,
对数据的进一步处理
可放在主程序中进行
,
以免由于中断嵌
套而发生错误。
发送移
THR
终止识
接收格接收奇
接收重
RBR
位器空
空
别指示
-
-
-
-
-
-
-
-
-
上一篇:基于TMS320F2812的无刷直流电机控制
下一篇:can功能描述