双机通讯课程设计报告--双机通信的设计

双机通讯课程设计报告--双机通信的设计

ID:10703096

大小:69.00 KB

页数:8页

时间:2018-07-07

双机通讯课程设计报告--双机通信的设计_第1页
双机通讯课程设计报告--双机通信的设计_第2页
双机通讯课程设计报告--双机通信的设计_第3页
双机通讯课程设计报告--双机通信的设计_第4页
双机通讯课程设计报告--双机通信的设计_第5页
资源描述:

《双机通讯课程设计报告--双机通信的设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、测控仪器课程设计报告书题目:双机通信的设计双机通讯一、设计目的基于单片机实现双机通信二、设计要求单片机要发送信息到另外一个单片机,另外一个单片机要反馈信息给发送者。实现两个单片机的通信。三、设计器材STC89C52芯片(2个)LED七段显示数码管(2个)晶振(2个)发光二极管(4个)复位开关(2个)5V电源(1个)导线(若干)四、设计方案及分析主机发送从机接收方式的主机工作流程:(1)主机设置数据传送方法控制位DIR位0,以表示主机有数据发送到从机;(2)主机STB端口产生一个负脉冲,以使从机进入中断,并准备接收数据;(3)主机将数据送8

2、位数据端口,再设定ACK信号表示数据有效:(4)主机检查CHK端口,等待从机8位端口取走数据;(5)数据发送完成返回。主机接收从机发送方式的主机工作流程:(1)进入中断服务程序;(2)检查数据传送的方向(3)如果DIR为0.。则等待CHK信号有效,再从8位端读取数据,读完后设定ACK信号有效(4)如果DIR为1,从机将数据送到8位端上,再设定ACK位有喜爱哦,并等待主机取走数据(即CHK信号有效);(1)推出中断服务程序。程序:#include#defineuncharunsignedchar#defineunintun

3、signedintsbitKey=P1^1;sbitLed=P1^0;uncharcodeSEG7[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x02,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};unchartemp=0;uncharcount=0;voidUartsend(unchark)//串口发送子函数{SBUF=k;while(!TI);//待待发送结束TI=0;//添加发送中断(仿真时不需要)}voiddelay(intt){intn,m;for(n=t

4、;n>0;n--){}for(m=t;m>0;m--){}}voidmain(){Led=1;TMOD=0x20;//定时器1工作方式2TH1=0xfa;TL1=0xfa;//装入定时器初值11.0592M晶振,波特率4800PCON=0;//波特率不倍增ET1=0;//定时器1中断允许EA=1;//总中断允许ES=1;//串口中断允许TR1=1;//定时器0开始计时SCON=0x50;//串口工作方工1,准备接收while(1)//死循环{if(!Key)//判断是否有键按下delay(50);while(!Key){Led=0;cou

5、nt+=1;//delay(100);Uartsend(count);//用串口发送0xaawhile(!Key);//等待键释放delay(20);while(!Key);//等待键释放}Led=1;if(count==15)count=0;P0=SEG7[temp];}}voiduart()interrupt4{EA=0;if(RI)//判断是否为接收中断{temp=SBUF;//读数据if(temp!=count)Uartsend(temp);count=temp;RI=0;//清除中断标志}TI=0;//清除中断标志EA=1;}仿

6、真图:五、问题分析与解决方法仿真没有问题,但焊好板子后,所实现的功能并非预期的结果。因为仿真正确,所以我们认为应该是板子焊接的问题,但经过再三检测,发现板子焊接完全没有问题。问题究竟在哪,一时我们没有找出来。最后请教别人后,从硬件开始入手,用万用表全部检测了两遍,板子没问题。接着只能推出是软件,是程序的问题。仿真没问题的,可是那只是仿真。我们仔细研究了一下程序,对串口通信,主要从RI,TI串口中断入手,发现程序处理太快,出现了死循环。我们就加了延时进去。但是还是没有解决,延时有了,还是会进入到死区的。请了一位大四的学长,又研究了一下,最后

7、我们把问题归结到串口那两个终端上。最后经过检查,发现在等待中断发送后,没有给中断清0,问题就这样解决了。原来仿真正确,功能未必能实现,因为仿真是一种理想状态下的结果,而实践中有很多是无法避免的,就像这次的延时,仿真对延时的要求不高,但在现实中延时是必不可少的,器件结合和分离时并非像仿真中那样准确,抖动必须用延时来消除。六、设计结果用两片STC89C52来实现双机通信,一个做主机,另一个做从机。主机发送数据,从机接受数据后自己显示并把数据返回主机显示,显示时间存在时间差,完全可以分辨出来谁先接到税后接到,最后在LED数码管上现实相同的数据。

8、七、设计心得①肖斌韬:我们的题目是单片机双机通信,当接到题目后,心里一片茫然。通过查阅资料,才了解到我们必须去学习串口通信。打开单片机课本,开始从SBUF,R1,T1开始了我的串口通信编程。其

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。