单片机课程设计双机通讯Word文档格式.doc
《单片机课程设计双机通讯Word文档格式.doc》由会员分享,可在线阅读,更多相关《单片机课程设计双机通讯Word文档格式.doc(11页珍藏版)》请在冰豆网上搜索。
指标要求:
1、双机通讯实现从PC发送学号末两位,单片机接收后在数码管上显示,然后再发回PC,波特率为2400。
2、多机通信中设置一个主机,16个从机。
主机发送数据,从机接收数据。
从机地址从00H开始到0FH结束。
主机的数据由P1口输入,欲寻址的地址由P2口设置。
发送数据前,P0口显示寻址地址,寻址结束后,才显示发送数据。
只有主机寻址的从机才能接收数据,当接收数据是00H时,表示发送数据结束。
从机接收数据并显示在P0口,接收完以后发回主机。
考核与报告:
考核采用设计报告+答辩的方式
1、优秀
能按任务书要求独立完成实验,正确使用仪器设备,能灵活、熟练地运用相关知识,实验数据及计算结果准确,实验报告(含图表)清晰无误
2、良好
能按任务书要求基本独立完成实验,正确使用仪器设备,能比较熟练地运用相关知识,实验数据及计算结果基本准确,实验报告(含图表)质量较好
3、中等
能在教师指导下顺利完成实验,会使用仪器设备,尚能运用相关知识,实验数据及计算结果有明显错误,实验报告(含图表)质量一般
4、及格
能在教师指导下完成实验,会使用仪器设备,运用相关知识能力较差,实验数据及计算结果有较大错误,基本达到实验最低要求
5、不及格
不能完成实验,或抄袭他人实验报告,或实验数据及计算结果有多处重大错误。
地点:
10-408上午:
8:
30-11:
30下午:
13:
00-16:
00
目录
封面……………………………………………………………………1
任务书…………………………………………………………………2
目录……………………………………………………………………3
双机通讯………………………………………………………………4
接口设计………………………………………………………..4
接口电路………………………………………………………..4
仿真图…………………………………………………………..5
仿真结果………………………………………………………..5
程序代码………………………………………………………..6
流程图…………………………………………………………..8
多机通讯………………………………………………………………9
接口电路………………………………………………………..9
多机通讯过程…………………………………………………..9
仿真图………………………………………………………….10
实物图………………………………………………………….16
程序代码……………………………………………………….11
流程图………………………………………………………….14
问题设计………………………..……………………………………16
参考文献………………………………………………………….…..16
双机通讯
双机通讯接口设计:
根据8031单片机双机通讯距离,抗干扰性等要求,可选择TTL电平传输,或选择RS—232C,RS—422A,RS—485串行接口进行串行数据传输。
1、TTL电平通讯接口
如果两个8031应用系统相距在1米之内,他们的串行口可直接相连,从而实现了双机通讯。
2、RS—232C双机通讯接口
如果双机通讯距离在30米之内,可利用RS—232C标准接口实现双机通讯。
3、RS—422A双机通讯接口。
为了增加通讯距离,减小通道及电源干扰,可以在通讯线路上采用光电隔离方法,利用RS—422A标准进行双机通讯。
双机通讯接口电路:
仿真图:
仿真结果:
程序代码:
ORG0000H
LJMPSTART
ORG0030H
START:
MOVR0,#00H
MOVTMOD,#20H;
定时器1置为方式2
MOVTH1,#0F4H;
装载定时器初值,波特率2400
MOVTL1,#0F4H
MOVSCON,#50H;
串行口工作方式1,允许接收数据
SETBTR1;
启动定时器
MOVP1,#00H
MOVP2,#00H
SETBP0.0
SETBP0.1
LP1:
JNBRI,LP1;
接收字节子程序
CLRRI
MOVA,SBUF
SUBBA,#30H
CJNER0,#00H,LP2;
是否是第一个数字
INCR0
MOVR1,A;
把十位存入R1
SJMPLP1
LP2:
DECR0
MOVR3,A;
把个位存入R3
T00:
CJNEA,#0,T11;
显示个位子程序
MOVP2,#0C0H;
显示0
T11:
CJNEA,#1,T2
MOVP2,#0F9H;
显示1
T2:
CJNEA,#2,T3
MOVP2,#0A4H;
显示2
T3:
CJNEA,#3,T4
MOVP2,#0B0H;
显示3
T4:
CJNEA,#4,T5
MOVP2,#99H;
显示4
T5:
CJNEA,#5,T6
MOVP2,#92H;
显示5
T6:
CJNEA,#6,T7
MOVP2,#82H;
显示6
T7:
CJNEA,#7,T8
MOVP2,#0F8H;
显示7
T8:
CJNEA,#8,T9
MOVP2,#80H;
显示8
T9:
CJNEA,#9,LP3;
显示9
MOVP2,#90H
LP3:
MOVA,R1;
显示十位子程序
TO00:
CJNEA,#0,T111
MOVP1,#0C0H;
T111:
CJNEA,#1,T22
MOVP1,#0F9H;
T22:
CJNEA,#2,T33
MOVP1,#0A4H;
T33:
CJNEA,#3,T44
MOVP1,#0B0H;
T44:
CJNEA,#4,T55
MOVP1,#99H;
T55:
CJNEA,#5,T66
MOVP1,#92H;
T66:
CJNEA,#6,T77
MOVP1,#82H;
T77:
CJNEA,#7,T88
MOVP1,#0F8H;
T88:
CJNEA,#8,T99
MOVP1,#80H;
T99:
CJNEA,#9,LP4
MOVP1,#90H;
LP4:
MOVB,#16
MULAB
ADDA,R3
LP5:
MOVSBUF,A;
发送回数据
LP6:
JNBTI,LP6
CLRTI
LJMPLP1
END
双机通讯流程图:
多机通讯
多机通讯接口电路
以典型的PC机和MCS-51构成的主从式多机系统(PC机为主机MCS-51单片机为从机或前沿机)为例,如图:
多机通讯过程
1.使所有从机的SM2位置1,处于只接收地址帧的状态。
2.主机发送一帧地址信息,其中包括8位地址,第9位为1,以表示发送的是地址。
3.从机接收到地址帧后,各自将接收到的地址与其本身地址相比较。
4.被寻址的从机,清除其SM2,未被寻址的其他从机仍维持SM2=1不变。
实物图:
上图显示选中04号机,显示02数字
多机通讯流程图:
问题分析
本次课程设计主要分为双机通讯和多机通讯两部分,在课程设计开始之初,我就花了一个晚上的时间把双机通讯的仿真和程序代码写出来了,但后来在实验室做实物的时候还是遇到了不小的问题,主要是数字进制转换的问题,导致了我出现乱码,所以后来经过反复的分析检查,我才发现了问题的症结所在,最终成功解决了问题。
在完成双机通讯实验之后,我又开始做多机通讯实验,开始之初一点思路都没有,但后来通过自己查阅读书馆资料,上网搜相关知识,慢慢着手去写代码,去做仿真,但后来要求在多机通讯的时候要求用到RS—485这个片子,由于我对这个片子不是很了解,一时无从下手,但后来也是通过同学的帮助,成功解决了问题,虽然在这次课程设计中我对这个片子的用法不是很好,但我相信这也是对我一个不小的提高,毕竟我也从对这个片子的一无所知,到了现在的初步应用。
通过本次课程设计,老师虽然也有所授课,但我大多数的时候还是靠自己去查阅资料,询问老师,最终做出成品,体验了这样一个过程,使我由苦到甜,最终的成果还是令人满意的。
参考文献
[1]张毅刚,彭喜元,姜守达,乔立岩.新编MCS-51单片机应用设计.哈尔滨工业大学出版社.2009.08
[2]李全利.单片机原理与接口技术.高等教育出版社.2009.01
[3]蔡明文,冯先成.单片机课程设计.华中科技出版社.2007.03
[4]范红刚,魏学海,任思璟.51单片机自学笔记.北京航空航天大学出版社.2010.01
11