|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
7 r0 F4 S0 C* v" G& v2 @" a- r
摘要:讨论了 单片机与PC机的串口通讯,通过指令和数据的传送来实现控制功能,其中接
" g" u$ n5 X. ^. I3 H口部分用到了RS232 ,最后给出了应用实例。6 |1 { `- ~3 x7 \& ?) w
6 M. i9 j( t5 @关键词:串口通讯;单片机;RS-232
6 l# W; P, C( N8 g* f* _& D% n. U6 h' i) S1 @3 k
0引言
. F( V5 \, _# [/ Q/ N1 y/ j随着电子计算机技术的发展及其应用的日益广泛,数据的采集和通讯在许多测试系统中都成为关键
$ G* H: ?' c1 l. U技术之一。所谓的数据采集过程就是信息的采集.传递和处理过程。我们在完成某单位科研项目“晶体振& H1 D' i8 _0 a
荡器测试系统"的过程中,对计算机数据采集通讯技术进行了实验研究。本文着重讨论单片机(下位机)与
+ [! ~+ ]& e x X' nPC(.上位机)之间的通讯,主要传送电流信号、温控信号和压控信号。3 i! M- T2 X" W. h% x
1异步串行通信协议5 o1 Q. \( K) \6 `$ L6 D9 {% o5 q
在测试系统中,需要单片机与PC进行数据通信。而异步串行通信是一种常用的通信手段。通讯协
& e% d; V3 S! {' t; O0 x& `议也叫通讯规程,是指通讯双方格式上的约定。数据通讯中,在收发器之间传送的是一组二进制位串,但9 T( ?- p! w' c; V# f/ q! V
它们在不同的位置可能有不同的含义,有的只是用于同步,有的代表通信双方的地址,有的是一些控制信0 j9 p- [2 F% w1 t( _
息,有的则是通信中真正要传输的数据,还有的是为了差错控制而附加上去的冗余位。这些都需要在通信
# ^3 ^) u% z# A- s+ E协议中事先约定好,以形成一种收/发双方共同遵守的格式。在逐位传送的串行通信中,接受端必须能识
$ G0 e9 s g& u$ O8 M* C别每个二进制位从什么时候开始,这就是位定时。通信中一般以若干位表示一个字符,除了位定时外,还
4 F: h9 f% H: {( O; B需要在接受端能识别每个字符从哪里开始,这就是字符定时。0 D& V o' ~. X4 k J+ \. _. o
异步串行通信时,每个字符作为-一个独立的信息,可以随机出现在数据流中,即每个字符出现在数据6 M2 l/ W: @0 G
流中相对时间是任意的。然而,一个字符一旦开始出现,字符中各位便以预先固定的时钟进行传送。因
6 y# o4 r- n; b4 j. ?此,异步通信方式的“异步”主要体现在字符与字符之间,而同- -字符内部的位与位间是同步的。为确保异
+ i1 k5 i4 h; }- {: x* g" t6 q$ X步通信的正确性,必须找到一.种方法,使收发方在随机传送的字符内部实现同步。这种方法就是在字符格.# u0 _+ t) r" g/ T& b, a5 m
式中设置起始位和停止位,即在-一个字符正式发送之前先发-一个起始位,该字符结束时再发--个停止位。
1 B/ W2 C' q; F' C接收器检测到起始位便知道字符到达并开始接收字符,检测到停止位则知道字符传输已结束。由于这种, T. }" j( @' m) P: }
通信协议是靠起始位和停止位来实现字符内部同步的,所以有时也称为起止式协议。
/ Q. U/ B, u: t( e) C2申行接口的实现(2)( ]5 r% e' j( E+ y3 l
RS-232C是美国电子工业协会(EIA)正式公布的串行总线标准,也是目前最常用的串行接口标准。
+ y& F' A' ~ M' ~* c/ q* lRS-232C串行接口总线适用范围为通讯设备之间距离不大于15m,传输速率最大为20kB/s.
U; N$ I5 x9 {4 L1 Z串行通信接口基本功能是:在发送时,把CPU送来的并行码转换成串行码,逐位地依次发送出去;在.
' h8 d6 [- T* S( r% b, p+ Y: Q5 }接收时,把发送过来的串行码逐位接收,组装成并行码,并行地发送给CPU去处理。这种串行到并行的9 f3 r7 u: _! b; l' q8 v! V
转换功能当然可以用软件来实现,但是这样会降低CPU的利用率,所以常用硬件电路来实现这一功能,
+ K% u1 a6 X6 s5 ]这种硬件电路叫做串行通信接口。
5 J, ?! e5 a/ \: h3 U$ `- p5 x; W) t5 k& o9 T) A. x
附件下载:
% h! K6 w! o! m% m8 C0 V, f. w |
|