基于51单片机的双机串行通信课程设计.doc 立即下载
2025-01-15
约5.9千字
约12页
0
86KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

基于51单片机的双机串行通信课程设计.doc

基于51单片机的双机串行通信课程设计.doc

预览

免费试读已结束,剩余 7 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于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]中的数据送给从机。
二、硬件设计

〔52〕
计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,本钱高,传输的距离较近。串行通信的特点是只用两条信号线〔一条信号线,再加一条地线作为信号回路〕即可完成通信,本钱低,传输的距离较远。
51单片机的串行接口是一个全双工的接口,它可以作为UART〔通用异步接受和发送器〕用,也可以作为同步移位存放器用。51单片机串行接口的结构如下:
〔1〕数据缓冲器〔SBUF〕
接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。
〔2〕串行控制存放器〔PCON〕
SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下:
SM0SM1SM2RENTB8RB8TIRISM0,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。串行接口工作方式特点见下表
SM0SM1工作方式功能波特率0008位同步移位存放器〔用于I/O扩展〕fORC/1201110位异步串行通信〔UART〕可变〔T1溢出率*2SMOD/32〕10211位异步串行通信〔UART〕fORC/64或fORC/3211311位异步串行通信〔UART〕可变〔T1溢出率*2SMOD/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计数率=fORC/12。产生溢出所需机器周期数=模M-计数初值X。

最终设计电路如下列图3所示,发送方的数据由串行口TXD段输出,经过传输线将信号传送到接收端。信号到达接收方串行口的接收端。接受方接收后,通过P1口在数码管上显示接收的信息。


三、软件设计
〔1〕串行口工作于方式1;用定时器1产生9600bit/s的波特率,工作于方式2。
〔2〕功能:将本机ROM中数码表TAB[16]中的16个数发送到从机,并保存在从机内部ROM中,从机收到这16个数据后送到一个数码管循环显示。
〔3〕通信协议:主机首先发送连络信号从机接收到之后返回一个连络信号表示从机已准备好接收。
联合调试
在protues上进行仿真实验。首先使用KeilC将编写完成的程序编译生成HEX文件,将HEX文件烧录到两片单片机中,进行仿真实验,结果如下列图所示,可以看到,接收端已将接受到的数据完整的显示了出来。

注:
1.仿真的过程中并没有表达出单片机的最小系统的组成元素:时钟电路和复位电路,但是实际的硬件电路中这两局部是必不可少的,此外,在实际测试中,程序是事先烧进单片机里的,所以这里并没有涉及到电平转换的问题〔max232芯片和串口的连接〕。
在数码管的共阴极与地之间接
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

基于51单片机的双机串行通信课程设计

文档大小:86KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用