|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
, U0 x- v/ G) W0 _; ?1 G
摘要:本文介绍了如何利用通信控件MSComm设计PC机与单片机之间的串行通信。硬件部分采用.
6 [ O O( D. M& m+ r# ^MAX232AESE芯片解决了PC机与单片机之间通信连接电平的不一致问题:软件部分给出了VC++6.0编写的
$ J' U$ T+ N; B K6 rPC机通信程序段和汇编语言编写的单片机通信程序,并成功应用于干扰场强测量仪检定系统。
g# H, s9 u; I8 }: G. h8 h+ t- ]9 k& m/ X1 a
关键词:VC++6.0 PC机 单片机 串行通信
* V! M* z; k) j, p1 e1 h6 S( V) r
0 y; v" m% e8 D' @+ K一、前言. R# ]9 o! ^" M2 Q1 K# K9 N, H; C6 @
在自动计量测试系统中,由单片机控制的智能" z# V* p1 Z' r$ h; q0 r' E# P
仪器与PC机之间经常要通过串口进行数据交换。
5 _0 v* V; X; y! ?8 M串行通信软件设计灵活,硬件设计简单,且遵循统一-
. ?" h$ J3 c& j的标准,因此得到了广泛的应用,成为目前测试系
5 ^: V" h$ U& Y J统中最常用通信方法之一一。Visual C++6.0是Mi-7 [$ R5 o4 S! H$ |4 W8 [
crosof# {3 k& U) O. F% p8 {; v5 T8 K
oft公司于1998年推出的一-种应用于Windows
) M" `. _% I, g7 P环境( Windows 98/2000/ XP)下的集成开发环境,以& _7 x. L, N! x) v2 a
其强大的功能、友好的界面、32位面向对象的程序
4 b" o2 g/ _0 [7 o+ ~' b3 d设计及Active X的灵活性而受到软件开发者的青
7 R- C5 b+ A* b6 t9 V. u# ^: |睐,被广泛应用于各个领域。
$ p$ G8 M4 [. _) _& J: @$ ~+ c本文介绍在Windows环境下,利用MSComm
; e. |5 X0 u+ U2 V# L控件来完成PC机和MCS-51单片机( 8051)之间+ d3 J, A* O0 J1 \2 m$ n
的串行通信。
- U0 B. O) g4 k3 W/ N二、硬件连接设计
" U* ~* k6 V% \+ C( i本例是近距离(15米以内)串行通信,PC机和.1 I* w- k5 b) p; R' T. [ Y
单片机之间通过RS-232直接相连。由于单片机6 R6 y% T% z* z+ o8 I3 b. ]
串口的输入输出均为TTL电平,而PC机上的RS .3 g5 s% T* e) `! T& R- m; ]+ Y4 Q2 T
-232接口为了提高抗干扰性能,采用的是RS-6 g% _* L/ e% w( P3 C( L: {0 X; P
232标准的EIA电平,因此要实现PC机与单片机.
; h( g( ]9 d9 y之间的串行通信,其接口必须经过电平转换。本文
' ]" C3 X D. A. X使用MAX232AESE芯片完成这两种电平之间的转) I$ b+ o& A" K! M
换。采用RS- 232接口中的RD(接收数据线)、TD* L; {6 u( G8 k) }4 X
(发送数据线)、GND(信号地)三线来完成双工通.1 v5 S7 F* ]6 a' B
信。
5 N- ` C# E9 U6 A* u. eMAX232AESE芯片是MAXIM公司生产的低功耗、& [, \0 B( L) f: \
单电源( + 5V)的双RS-232发送/接受器,能) Y% j+ r' h( ^, ]" {6 q
把输入的+ 5V电压变换成RS- 232输出电平所需' \3 { Y5 f9 B! i2 {( x
的土10V电压(见参考文献[3])。外围需接4个. ]7 Q% }9 p0 Q! S) W7 E3 H9 F
0.1pF/25V电解电容,供内部电压变换之需。
3 u+ B! j8 |& v) b' |! RMAX232AESE芯片引脚T1IN、T2IN、R1OUT、( M% j9 @( q y1 T5 Z* H- D3 Y
R2OUT接TTL电平,引脚T1OUT、T2OUT,* J# k. X; ?# U9 Q5 T
R1IN.R2IN为EIA电平。接口电路如图1所示。/ Y9 h; c8 e( `. A& g% z
5 ?" J+ E& Y* K1 E7 z9 s# b! J5 N附件下载:: b9 f K" q+ ~ G: i
0 T, T- V0 _! P$ U S; [) g( d2 `
+ Z6 [* k! F: ^! n- h" X# g5 y! |4 O0 x* @8 A+ Z- t
|
|