没有合适的资源?快使用搜索试试~ 我知道了~
基于单片机的双机串行通信课程设计样本.doc
需积分: 9 31 浏览量
2022-10-15
00:39:55
上传
评论
收藏 87KB DOC 举报
温馨提示
本文介绍了一份基于51单片机的双机串行通信课程设计,旨在通过设计相关模块,熟悉51单片机的最小系统组成和原理,以及软件仿真和编程规范,提高实际动手能力。设计要求为两片单片机之间进行串行通信,其中A机发送0x06给B机,B机在数码管上静态显示1,同时B机动态循环发送0~f给A机。
资源推荐
资源详情
资源评论












资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。
基于 51 单片机的双机串行通信课程设计
一、总体设计
1 设计目的
1.经过设计相关模块充分熟悉 51 单片机的最小系统的组成和原理;
2.经过软件仿真熟悉 keil 和 proteus 的配合使用;
3.经过软件编程熟悉 51 的 C51 编程规范;
4.经过实际的硬件电路搭设提高实际动手能力。
2.设计要求:
两片单片机之间进行串行通信, A 机将 0x06 发送给 B 机, 在
B 机的数码管上静态显示 1, B 机将 0~f 动态循环发送到 A 机, 并
在其数码管上显示。
3.设计方案:
软件部分, 经过通信协议进行发送接收, A 机先送 0x06(B 机数
码管显示 1)给 B 机( B 机静态显示) , 当从机接收到后, 向 B 机发
送代表 0-f 的数码管编码数组。B 收到 0x06 后就把数码表 TAB[16]
中的数据送给从机。
二、 硬件设计
1.51 单片机串行通信功能

资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。
图 1.AT89C51( 52)
计算机与外界的信息交换称为通信, 常见的通信方式有两种:
并行通信和串行通信。51 单片机用 4 个接口与外界进行数据输入
与数据输出就是并行通信, 并行通信的特点是传输信号的速度快,
但所用的信号线较多, 成本高, 传输的距离较近。串行通信的特点
是只用两条信号线( 一条信号线, 再加一条地线作为信号回路) 即
可完成通信, 成本低, 传输的距离较远。
51 单片机的串行接口是一个全双工的接口, 它能够作为
UART( 通用异步接受和发送器) 用, 也能够作为同步移位寄存器用
。51 单片机串行接口的结构如下:
( 1) 数据缓冲器( SBUF)
接受或发送的数据都要先送到 SBUF 缓存。有两个, 一个缓存,
另一个接受, 用同一直接地址 99H,发送时用指令将数据送到 SBUF

资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。
即可启动发送; 接收时用指令将 SBUF 中接收到的数据取出。
( 2) 串行控制寄存器( PCON)
SCON 用于串行通信方式的选择, 收发控制及状态指示, 各位
含义如下:
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
SM0,SM1:串行接口工作方式选择位, 这两位组合成 00, 01,
10, 11 对应于工作方式 0、 1、 2、 3。串行接口工作方式特点见
下表
SM0
SM1
工作方式
功能
波特率
0
0
0
8 位同步移位寄存器( 用于 I/O 扩展)
f
ORC
/12
0
1
1
10 位异步串行通信( UART)
可变( T1 溢出率*2
SMOD
/32)
1
0
2
11 位异步串行通信( UART)
f
ORC
/64 或 f
ORC
/32
1
1
3
11 位异步串行通信( UART)
可变( T1 溢出率*2
SMOD
/32)
SM2: 多机通信控制位。
REN: 接收允许控制位。软件置 1 允许接收; 软件置 0 禁止接
收。
TB8: 方式 2 或 3 时, TB8 为要发送的第 9 位数据, 根据需要
由软件置 1 或清 0。
RB9: 在方式 2 或 3 时, RB8 位接收到的第 9 位数据, 实际为
主机发送的第 9 位数据 TB8, 使从机根据这一位来判断主机发送的
时呼叫地址还是要传送的数据。
TI: 发送中断标志。发送完一帧数据后由硬件自动置位, 并申
请中断。必须要软件清零后才能继续发送。

资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。
RI: 接收中断标志。接收完一帧数据后由硬件自动置位, 并申
请中断。必须要软件清零后才能继续接收。
( 3) 输入移位寄存器
接收的数据先串行进入输入移位寄存器, 8 位数据全移入后,
再并行送入接收 SBUF 中。
( 4) 波特率发生器
波特率发生器用来控制串行通信的数据传输速率的, 51 系列
单片机用定时器 T1 作为波特率发生器, T1 设置在定时方式。波特
率时用来表示串行通信数据传输快慢程度的物理量, 定义为每秒
钟传送的数据位数。
( 5) 电源控制寄存器 PCON
其最高位为 SMOD。
( 6) 波特率计算
当定时器 T1 工作在定时方式的时候, 定时器 T1 溢出率=( T1
计数率) /( 产生溢出所需机器周期) 。由于是定时方式, T1 计数
率= f
ORC
/12。产生溢出所需机器周期数=模 M-计数初值 X。
3.整体电路设计
最终设计电路如下图 3 所示, 发送方的数据由串行口 TXD 段
输出, 经过传输线将信号传送到接收端。信号到达接收方串行口的
接收端。接受方接收后, 经过 P1 口在数码管上显示接收的信息。
剩余15页未读,继续阅读
资源评论


智慧安全方案
- 粉丝: 2493
- 资源: 58万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
