基于52单片机的多机通信
课程设计报告
课程52单片机技术
题目串口通信-多机通信系统系别
年级07级专业电子科学与技术班级学号
学生姓名
指导教师职称
设计时间
目录
1 题设要求分析 .................................... 错误!未定义书签。
2 硬件电路的设计 (2)
2.1 系统的组成 (2)
2.2 系统的工作原理 (2)
2.3 硬件电路原理图设计 (3)
2.4 硬件电路的实现 (5)
3 软件电路的设计 (7)
3.1 通信协议的设计 (7)
3.2 主机程序设计 (7)
3.3 从机程序设计 (11)
4 系统的调试与实现 (14)
4.1 从机模块调试 (14)
4.2 LED显示模块调试 (14)
4.3电平转换模块功能调试 (14)
4.4主机模块功能调试 (15)
4.5整体设计功能调试 (15)
参考文献 (17)
2 硬件电路的设计
2.1 系统的组成
根据题目分析可知硬件电分为主机模块和从机模块。主机模块中包含单片机子模块、led 数码管显示子模块和串口电平转换子模块,从机模块则包括单片机子模块、AD 转换子模块和串口电平转换子模块。在主模块中由AT89S51单片机担任主机,六个led 数码管担任显示设备和一片MAX485担任串口的电平转换。在整个主机系统中有三个从机模块三个从机模块结构一样,有一片AT89S51单片机担任从机外接一片ADC0809转换芯片和一片MAX485担任串口的电平转换。串口采用单工及异步通信方式。整个硬件结构原如图1所示。
主机
数码管显示设备
MA X 485
MA X 485MA X 485
MA X 485
从机1从机2从机3
TX D
R X D
TX D
TX D TX D
R X D R X D R X D A D 转换设备1A D 转换设备2A D 转换设备3
A T89S 51A T89S 51
A T89S 51
A T89S 51
R 1
R 2
.
..
...
.
.
图 1 系统结构原理图
2.2 系统的工作原理
主机AT89S51编程可实现循环访问个从机,当从机接受主机访问后启动AD
转换设备ADC0809对外部模拟信号进行转换。当从机获得转换结果后通过串口将其发送到主机,主机接受到转换结果后再将其发送到相应的led 数码管显示。
2.3 硬件电路原理图设计
(1)led数码管显示电路led数码管显示电路如图2所示显示子模块由六个数码管和相应的启动芯片构成。其中每路通道的采集值用量为数码管显示。为了节约单片机的I/O口本题的数码管采用MAX7219芯片。给芯片的优点在于可完成电路的刷新。MAX7219芯片的SEG A-SEG DP为数码管段码接口,DIG0-DIG7为位码接口,CLK、DIN、LOAD分别与单片机P1.0、P1.1、P1.2连接。单片机通过串行的方式将要显示的数据通过CLK、DIN、LOAD三个接口送入相应的显示寄存器内,MAX7219将自动完成对数码管的刷新工作。具体的电路如图2所示。
图 2 led显示电路
(2)串口电平转换电路串口电平转换电路的电路图如图3所示:本实验中采用MAX485的电平转换芯片。MAX485是一种RS-485标准接口的电平转换芯片。RS-485采用差分式半双工通信方式,真正实现多点总线连接,具有传输距离远可靠性高的特点。基于以上原因本小组选择该芯片实现电平转换。MAX485的1号引脚RO为接收端接单片RXD, 4号引脚DI为发送端接单片TXD, 2、3号引脚
分别为发送接收使能端端接单片P1.3引脚。6、7号引脚总线接线口。
12
D
C
B
A
P1.01P1.12P1.23P1.34P1.4
5(MOS I)P1.56(MIS O)P1.67(SC K)P1.78
R ST 9(RX D )P 3.010(TX D)P3.111(IN T0)P 3.212(IN T1)P 3.313(T0)P3.414(T1)P3.515(W R )P 3.616(RD )P3.717X TA L218X TA L119G ND 20
U 1
A T89S51
W R R D
EO C
C 1
22p f
Y 1
11.0592M
C 2
22p f
V CC 8B 7A 6G ND
5
D I
18D E 3R O 1R E 2MA X485
R R
C 310u F
R 28.2K
V CC
123JP1
H EA DE R 3
V CC
图 3 电平转换电路
(3)主机模块电路
根据设计要求绘制主机模块电路图如图4所示。
1
2
3
4
A
B
C
D
4
3
2
1
D
C
B
A
Title
N u mb er
R ev isio n
Size A 4D ate:20-Ju n -2010Sh eet o f File:
C :\U sers\y an g \
D esk to p \主机\7420 - 副本\my 1.d db D raw n B y :
Y 111.0592M
C 1
51PF C 2
51PF
P1.01P1.12P1.23
P1.34P1.4
5(MOS I)P1.56(MIS O)P1.67(SC K)P1.78
R ST 9(RX D )P 3.010(TX D)P3.111(IN T0)P 3.212(IN T1)P 3.313(T0)P3.414(T1)P3.515(W R )P 3.616(RD )P3.717X TA L218X TA L119
C N
D 20
P2.0(A 8)
21
P2.1(A 9)22P2.2(A 10)23P2.3(A 11)24P2.4(A 12)25P2.5(A 13)26P2.6(A 14)27P2.7(A 15)28PS EN
29
A LE/PR O G
30EA /VP P 31P0.7(A D 7)
32
P0.6(A D 6)33P0.5(A D 5)34P0.4(A D 4)35P0.3(A D 3)36P0.2(A D 2)37P0.1(A D 1)38P0.0(A D 0)39V CC 40U 1
A T89S51/52
R 18.2K
C 410u F
V CC
v cc
a b
f c
g d e D PY 1234567a
b
c d
e f
g
8
d p
d p 910D S5
D PY _7-S
E G_DP
a b
f c
g d e D PY 1234567a
b
c d
e f
g
8
d p
d p 910D S4
D PY _7-S
E G_DP
a b
f c
g d e D PY 1234567a
b
c d
e f
g
8
d p
d p 910D S3
D PY _7-S
E G_DP
a b
f c
g d e D PY 1234567a
b
c d
e f
g
8
d p
d p 910D S2
D PY _7-S
E G_DP
a b
f c
g d e D PY 1234567a
b
c d
e f
g
8
d p
d p 910D S1
D PY _7-S
E G_DP
a b
f c
g d e D PY 1234567a
b
c d
e f
g
8
d p
d p 910
D S0
D PY _7-S
E G_DP
a b c d e f g d p a b c d e f g d p a b c d e f g d p a b c d e f g d p a b c d e f g d p a b c d e f g d p a b c d e f g d p
R 247K
C 30.1u F
v cc
C LK
D IN LO A D LO A D D IN C LK V CC 8B 7A 6G ND
5
D I
18D E 3R O 1R E 2MA X485
U 3
123
JP1H EA DE R 3
v cc
V +
19
SE G A 1SE G B 16SE G C 20SE G D 23SE G E 21SE G F 15SE G G 17SE G D P 22D IG 02D IG 111D IG 26D IG 37D IG 43D IG 510D IG 65D IG 7
8
ISET 18
C LK 13
D IN 1LO A D 12
D OU T 24G ND 4
G ND 19
U 2MA X7219
图 4 主机模块电路图
(4)从机模块电路
根据设计要求绘制从机模块电路图如图5所示。
1
2
3
4
A
B
C
D
4
321D
C
B
A
Title
N u mb er
R ev isio n
Size A 4D ate:20-Ju n -2010Sh eet o f File:
C :\U sers\y an g \
D esk to p \从机\A DD A _test2.DD B D raw n B y :
IN31IN42IN53IN64IN7
5
ST AR T
6
EO C 7
D 38O
E 9
C LK
10
V CC
11
V RE F(+)12G ND
13
D 114D 215V R
E F(-)
16D 0
17
D 418D 519D 620D 721A L
E 22A DD C 23A DD B 24A DD A
25
IN026IN127IN228A DC 0809
V CC C B1
V CC
R 1
V CC
O E 1LE 11
1D 2
2D 33D 44D 55D 66D 77D 88D 91Q
19
2Q 183Q 174Q 165Q 156Q 147Q 138Q 12V CC 20
G ND 10U 374AL S573
EO C
A DC LK V CC
A LE C B2A LE 12345678910111213141516
A IN 7~AIN 0
H EA DE R 8X 2
1
23A
74AL S024
5
6
B
74AL S028
910
C
74AL S02A DC
R D
EO C
W R P1.01P1.12P1.23P1.34P1.4
5(MOS I)P1.56(MIS O)P1.67(SC K)P1.78R ST 9(RX D )P 3.010(TX D)P3.111(IN T0)P 3.212(IN T1)P 3.313(T0)P3.414(T1)P3.515(W R )P 3.616(RD )P3.717X TA L218X TA L119
G ND 20
P2.0(A 8)
21
P2.1(A 9)22P2.2(A 10)23P2.3(A 11)24P2.4(A 12)25P2.5(A 13)26P2.6(A 14)27P2.7(15)28PS EN 29
A LE/PR O G
30EA /VP P 31
P0.7(A D 7)
32P0.6(A D 6)33P0.5(A D 5)34P0.4(A D 4)35P0.3(A D 3)36P0.2(A D 2)37P0.1(A D 1)38P0.0(A D 0)39V CC 40U 1
A T89S51
A LE A DC W R R D
EO C
V CC
C 1
22p f
Y 1
11.0592M
C 2
22p f
V CC V CC 8B 7A 6G ND
5
D I
18D E 3R O 1R E 2MA X485
R R
C 310u F
R 28.2K
V CC
123JP1
H EA DE R 3
V CC
U 2
图 5 从机模块电路图
2.4 硬件电路的实现
首先是主从机电路的实现。主机的电路的搭建采用主CPU 板、键盘显示接
口板各一块。照实验原理图将主CPU 板的P0口接到键盘显示接口板的位码接口,P1口接到键盘显示接口板的段码的接口。从机的电路由CPU 板和ADDA 转换板构成。
其次是电平转换电路的焊接。电平转换的路的实现是通过自己搭建电路完
成。电平转换的电路主要有四块MAX485和两个100Ω电阻构成。四块MAX485采用总线方式连接,每个芯片分别引出三个引脚用于单片的连接。
最后将各个模块的按照原理图连接起来。
图 6 硬件电路的连接
3 软件电路的设计
3.1 通信协议的设计
通信协议的设计的设计是本题的重点难点,本题通信协议主要是区别主机和从机。由于串口的方式2、3发送和接收都是11位其第九为可编程置位可以此作为区分地址帧与数据帧从而实现主机与从机,从机与从机的区别。通信协议同样要规定相同通信速率。参考相关资料后编写如下的通信协议。
?数据传输的双方均使用9600kb/s的速率传送数据,使用主从式通信,
主机发送数据,从机接受数据,双方在发送数据时使用查询方式。
?双机开始数据传输时,主机发送地址帧呼叫从机。
?各从机开始都处于只收地址帧状态。接收到地址帧后,将接收到的
地址内容和本机地址比较,如果地址相同,则向主机返回本机地址作为确认信息,并开始接收数据;如果不同,则继续等待。
?主机在发送地址帧后等待,如果接收到的应答信息中的内容和所发
地址帧的内容相同,就开始发送数据,如果不一致,主机将继续发送地址帧。
如多次应答仍无回应则认为出错则主机跳出本次通信。
?从机在接收完数据后,将根据最后的校验结果判断数据接收是否正
确,若校验真确,则向主机发送2AH信号,同时点亮led灯半秒钟,表示本次通信成功;若校验错误,则发送F0H信号,表示接收数据错误,并请求从发。
?主机接收到2AH信号,则通信结束,否则主机将重新发送这组数据。
3.2 主机程序设计
依据试验要求及相应的通信协议现绘制如下的主机程序流程图:
开始
初始化串口
初始化数码管
从机是否应答?
主机发送地址帧
应答地址相符?
接受数据
接受完毕?N
Y
N
N
Y
显示接受结果
地址循环
图 7 主机程序流程图
主机程序:
#include
unsigned char LED_seg[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char LED_bit[6]={0x01,0x02,0x04,0x08,0x10,0x20}; unsigned char LED_buf[6]={0x00,0x00,0x00,0x00,0x00,0x00};
void delay(unsigned long n) //延时子程序 {