ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:144.34KB ,
资源ID:10633301      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10633301.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(双机通信课程设计报告.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

双机通信课程设计报告.docx

1、双机通信课程设计报告单片机课程设计报告双机通信的设计与仿真学院: 专业: 姓名: 2010年12月8日目录一、实验要求.21、设计内容2、设计要求二、实验原理.3三、实验框图.5四、实验电路图.7五、实验程序.8六、实验器材.12七、总结.12一、实验内容1、设计内容 1)用双全共数据传送法实现两机互相通信。 2)完成双机通信的设计制作及仿真。2、设计要求1)能本机显示按键的数值。2)能向对方机发送按键的数。3)能接收对方机发送的数并显示。4)发送数及按键用中断实现。5)用串行口的双全工方式通信。二、实验原理计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用

2、4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。串行数据通信要解决两个关键问题,一个是数据传送,另一个是数据转换。所谓数据传送就是指数据以什么形式进行传送。所谓数据转换就是指单片机在接收数据时,如何把接收到的串行数据转化为并行数据,单片机在发送数据时,如何把并行数据转换为串行数据进行发送。单片机的串行通信使用的是异步串行通信,所谓异步就是指发送端和接收端使用的不是同一个时钟。异步串行通信通常以字符(或者字节)

3、为单位组成字符帧传送。字符帧由发送端一帧一帧地传送,接收端通过传输线一帧一帧地接收。51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:(1)数据缓冲器(SBUF)接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。(2)串行控制寄存器(PCON)SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下:SM0SM1SM2RENTB8RB8TIRISM0,SM1:串行接口

4、工作方式选择位,这两位组合成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位接收

5、到的第9位数据,实际为主机发送的第9位数据TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。TI:发送中断标志。发送完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续发送。RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续接收。(3)输入移位寄存器接收的数据先串行进入输入移位寄存器,8位数据全移入后,再并行送入接收SBUF中。(4)波特率发生器波特率发生器用来控制串行通信的数据传输速率的,51系列单片机用定时器T1作为波特率发生器,T1设置在定时方式。波特率时用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位

6、数。(5)电源控制寄存器PCON其最高位为SMOD。(6)波特率计算当定时器T1工作在定时方式的时候,定时器T1溢出率=(T1计数率)/(产生溢出所需机器周期)。由于是定时方式,T1计数率= fORC/12。产生溢出所需机器周期数=模M-计数初值X。三、实验框图 (1)发送端流程图(2)接收端流程图四、实验电路图五、实验程序#include#define uchar unsigned charsbit RS=P20;sbit RW=P21;sbit LCDEN=P22;uchar senddata= ;uchar receivedata= ;uchar ns=0;uchar nr=0;ucha

7、r sposition=7,rposition=23;uchar str116=SENDING:;uchar str216=RECVING:;/*-*/*-子程序部分-*/*-*/code charkeycode16=0xEE,0xDE,0xBE,0x7E,0xED,0xDD,0xBD,0x7D,0xEB,0xDB,0xBB,0x7B,0xE7,0xD7,0xB7,0x77;code char Number16=7,8,9,/,4,5,6,*,1,2,3,-,C,0,=,+;code char ksp4=0xFE,0xFD,0xFB,0xF7;void delaykey(void) uchar

8、 i,j; for(i=0;i5;i+) for(j=0;j200;j+) ;uchar keypadscan() char key,i; for(i=0;i4;i+) P1=kspi; if(P1!=kspi) key=P1; if(key!=kspi) while(P1!=kspi); return(key);break; char gotkey() char temp,i; temp=keypadscan(); for(i=0;i16;i+) if(temp=keycodei) return Numberi; return R;void DelayL() uchar m,n; m=0xA

9、0; n=0xFF; while(m-) while(n-);void DelayS() uchar ii; ii=0x1F; while(ii-);void WriteCommand(uchar c) DelayS(); LCDEN=0; LCDEN=1; RS=0; RW=0; P0=c;void WriteData(uchar c) DelayS(); LCDEN=0; LCDEN=1; RS=1; RW=0; P0=c;void ShowChar(uchar pos,uchar c) uchar p; if(pos0x10) p=pos+0x80; else p=pos+0xB0; W

10、riteCommand(p); WriteData(c);void ShowString(uchar line,uchar *prt)uchar L,i; L=line*0x10; for(i=0;i15) for(u=8;u7) ShowChar(sposition,senddata); if(rposition31) for(u=24;u23) ShowChar(rposition,receivedata); /*-*/*-中断子程序-*/ /*-*/void INT00(void) interrupt 0 EA=0; senddata=gotkey(); SBUF=senddata; E

11、A=1; void ES0(void) interrupt 4 if(RI) RI=0; rposition+; receivedata=SBUF; else TI=0; sposition+; 六、实验器材43矩阵键盘2个AT89C522个LCD串口连接线七、总结经过一周的课程设计,我们小组终于完成了设计任务。虽然在这段时间里有时很迷茫,但却得到了很多的收获。经过课程设计,在查阅资料及老师的指导下,掌握了基于单片机的C语言程序设计,了解了单片机串行通信的基本知识,对于以后的学习和工作都有很大的益处。在学习的过程中,也遇到了一些困难,比如开始的时候,由于发送端和接收端的通信协议没有做好,导致数据不能正确的传输,在解决问题的过程中,对于通信协议的实现有了深刻的认识。通过这次课程设计,锻炼了我们的独立思考的能力,在设计过程中培养了团结协作的精神。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1