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

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

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

预览

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

10 金币

下载文档

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

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

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

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

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

总体设计
1设计目标

1.经过设计相关模块充足熟悉A789C51单片机最小系统组成和原理;
2.经过软件仿真熟悉keil和proteus配合使用;
3.经过软件编程熟悉A789C51CA789C51编程规范;
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.A789C51单片机串行通信功效
图1.AT89CA789C51(52)
计算机和外界信息交换称为通信,常见通信方法有两种:并行通信和串行通信。A789C51单片机用4个接口和外界进行数据输入和数据输出就是并行通信,并行通信特点是传输信号速度快,但所用信号线较多,成本高,传输距离较近。串行通信特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输距离较远。
A789C51单片机串行接口是一个全双工接口,它能够作为UART(通用异步接收和发送器)用,也能够作为同时移位寄存器用。A789C51单片机串行接口结构以下:
(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)波特率发生器
波特率发生器用来控制串行通信数据传输速率,A789C51系列单片机用定时器T1作为波特率发生器,T1设置在定时方法。波特率时用来表示串行通信数据传输快慢程度物理量,定义为每秒钟传送数据位数。
(5)电源控制寄存器PCON
其最高位为SMOD。
(6)波特率计算
当定时器T1工作在定时方法时候,定时器T1溢出率=(T1计数率)/(产生溢出所需机器周期)。因为是定时方法,T1计数率=fORC/12。产生溢出所需机器周期数=模M-计数初值X。

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

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

图4.仿真图
注:
1.仿真过程中并没有表现出单片机最小系统组成元素:时钟电路和复位电路,不过实际硬件电路中这两部分是必不可少,另外,在实际测试中,程序是事先烧进单片
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

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

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

文档大小:80KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
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专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用