数据通信的传输方式;2.pptVIP

  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文档。上传文档
查看更多

1.3硬件设计2.4波特率设置定时器T1做波特率发生器使用时,通常采用定时方式2。当定时器的方式2是一个8位计数器,且初值自动加载模式。假如计数设置初值为X,当计数器经过“256-X”个机器周期,定时器T1就会产生一次溢出中断。因此定时器T1的计数溢出率由公式8.4计算得出。3.串行工作方式1和方式3其中:是单片机的振荡频率。K为定时器T1的位数,与定时器T1的工作方式有关。1.3硬件设计2.4波特率设置所以,方式1和方式3波特率由公式8.5计算得出。3.串行工作方式1和方式3由公式8.5推出定时器T1工作在模式2时的初值,由公式8.6计算。1.3硬件设计2.4常用波特率及误差1.3硬件设计2.硬件电路由于甲乙两台单片机都能获取到按键输入的数值,输入数值方法采用八个独立式按键电路实现,通过八个按键的闭合断开状态的二进制数值作为输入的数值,给单片机端口送数,显示采用的数码管显示。每台单片机都外接有八个按键,一端共地,另一端分别连接到单片机的P1.0至P1.7,模拟八位二进制数据的输入,使用两位数码管对输入的P1端口的数值进行显示,一位显示低四位数值,与单片机的P2.0至P2.3连接,另一位显示高四位数值,与单片机的P2.4至P2.7,甲单片机的RXD连接到乙单片机的TXD,甲单片机的TXD连接到乙单片机的RXD。1.3硬件设计3.软件设计1.编程思路编程的思路主要有以下几个步骤:(1)首先要对相关寄存器进行设置,并对其进行初始化,主要有确定T1的工作方式(设置TMOD)、计算初始值赋值给TH1和TL1。启动定时器T1。(2)确定串行口控制(设置SCON)。(3)设定接收/发送的波特率。(4)设定SMOD的状态,以控制波特率是否加倍。(5)串行口要进行中断设置。}1.3硬件设计3.软件设计根据题目的要求,为了省去循环等待时间,而采用中断的方法。接收数据时,使用“中断方式”,清除RI后,用一个变量通知主函数,收到新数据。发送数据时,也用“中断方式”,清除TI后,用另一个变量通知主函数,数据发送完毕。voidget_data(void)interrupt4using0{if(RI) //如果是串口输入引起中断{dis_port=SBUF;RI=0;}elseTI=0; //否则就是串口输出引起的中断}在程序编写过程中,只有当端口发生数值变化时,再触发中断。#includereg51.h#defineucharunsignedchar#defineuintunsignedint#definekey_InP1#definedis_OutP2voidmain(void){ ucharkey_Port=0xff; SCON=0x50;//MODER1,REN=1; TMOD=0x20;//TIMER1MODER2; TH1=0xf3;//bode=2400 TL1=0xf3; ET1=1; TR1=1;EA=1; ES=1; while(1) { if(key_In!=key_Port) { key_Port=key_In;SBUF=key_Port; } }}voidget_disp(void)interrupt4using0{ if(RI) //如果是串口输入引起中断 { dis_Out=SBUF; RI=0; } elseTI=0;//否则就是串口输出引起的中断}1.5软件仿真1.使用Proteus软件,绘制硬件电路图,并保存到指定的位置。2.使用KeilC51建立一个单片机通信工程项目,建立一个.c文件,在编辑区中输入上述的源程序,并以“mcu1.c”为文件名存放“双单片机串口通信”文件夹中;进行编译,排除所有程序故障,直到无错误为止,目标代码文件“mcu1.hex”。3.使用Proteus打开绘制好的按键电路设计图,双击电路图中AT89S51单片机,把编译好的“mcu1.hex”文件下载到单片机中。点击模拟调试按钮进行仿真。刚上电时,由于按键没有输入都是高电平,因此两个单片机的显示都是“FF”。然后使用鼠标单击每台单片机的按键,调整单片机端口的输入数值,可以看到两个单片机都能正确显示对方发送过来的数值。1.5软件仿真1.6项目总结本项目实现了单片机双向通信系统设计与仿真,主要是讲解串行通信相关概念以及主要寄存器,让学者掌握串行口通信的

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8010045112000002

1亿VIP精品文档

相关文档