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

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

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

基于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用于串行通信方法选择,收发控制及状态指示,各位含义以下:

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扩展)

fORC/12

0

1

1

10位异步串行通信(UART)

可变(T1溢出率*2SMOD/32)

1

0

2

11位异步串行通信(UART)

fORC/64或fORC/32

1

1

3

11位异步串行通信(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.仿真过程中并没有表现出单片机最小系统组成元素:时钟电路和复位电路,不过实际

您可能关注的文档

文档评论(0)

可爱的家人6536 + 关注
实名认证
文档贡献者

可爱的家人

1亿VIP精品文档

相关文档