实验四 串行通信实验

实验四 串行通信实验

ID:15122172

大小:71.00 KB

页数:4页

时间:2018-08-01

实验四  串行通信实验_第1页
实验四  串行通信实验_第2页
实验四  串行通信实验_第3页
实验四  串行通信实验_第4页
资源描述:

《实验四 串行通信实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验四串行通信实验一、实验目的1.了解51单片机串行口的结构、串行通讯的原理。2.掌握51单片机与PC机之间通讯的方法。3.学习系统应用程序的设计和调试二、实验设备PC机一台、实验教学板一块。三、实验原理51单片机的串行接口是全双工的,它能做异步接收器/发送器(UART),也能做同步移位寄存器使用。在做UART使用时,相关的寄存器有SBUF、SCON、和PCON中的波特率倍增位SMOD。SBUF是数据发送缓冲器和接收缓冲器,逻辑上用同一个地址,物理上是分开的,用读写操作来选择。SCON是串行口控制寄存器

2、,用于设定串行口的工作方式;保存方式2和方式3的第9位数据;存放发送、接收的中断标志。在串行通讯的方式1和方式3中,通信的波特率是可以设置的,满足下式:PC机的串行通讯口是借助通用异步接收发送器8250(或16C550等)实现的,可使用comdebug.exe等提供了有关串行口的收、发操作窗口的软件实现通讯。PC机的串行通讯采用RS232电平,因此要求单片机的实验板也要配置RS232接口,解决逻辑电平的配接。如果通讯距离较远,则要配接调制解调器。四、实验内容1,自发自收用一根短路线,将实验板中RS232

3、插口的RXD和TXD两个插孔短路。然后编程设定串行口为工作方式1,传送55H和0AAH两个数据。实验要求:程序采用查询方式。每传送、接收一个数据,做一次检查,看是否正确,若两次都正确,则在显示器上显示“GOOD”,若不正确,则不显示,并要重新传送。2,单片机与PC机的通信先使用通讯电缆将单片机的RS232接口与PC机的COM1口连接,PC机起动并运行comdebug.exe软件,窗口上设置波特率为1200,8位数据、一个停止位。单片机端也采用工作方式1,波特率为1200,完成单片机与PC机的通信。实验要

4、求:编程实现先由单片机发送8个数据,01、02、03、04、05、0ABH、0CDH、0EFH。然后进入接收状态,在PC机发送窗口上设置发送数据,点击发送按钮,单片机接收数据后将数据显示在显示器上。五、程序参考流程图(a)自发自收程序流程图(b)与PC机通讯程序流程图六、思考题1.波特率能否置为1000,为什么?2.数据传输时,若要加奇偶校验,单片机和PC机要怎样做?参考程序:4—1:ORG0000HMOVSCON,#50H;SM0=0,SM1=1,设定串行工作方式为方式1,允许位接收MOVPCON,#

5、80H;将SMOD置为1,使波特率提高一倍MOVTMOD,#20H;设置计数器方式为方式2,即自动重装8位计数器MOVTH1,#0FDH;设置初值,设定波特率为9600bpsMOVTL1,#0FDHSETBTR1;TR1置1,开定时器1MOVR0,#55H;把数据分别存放在R0,R2MOVR2,#0AAHSTA0:CLRRI;RI清零MOVSBUF,R0;将R0中的数据赋给SBUF并发送出去WAIT1:JBCRI,STA2;RI=1的时候跳转,用于判断是否接收完成,完成则将RI清零并跳转至STA2AJM

6、PWAIT1;等待接收完成STA2:MOVA,SBUF;接收R0的数据SUBBA,#55H;判断接收数据是否为55HJNZSTA0;A不是0则跳回STA0,重新发送MOVSBUF,R2;将R2中的数据赋给SBUF并发送出去WAIT2:JBCRI,STA4;判断是否发送完成,完成清零跳转至STA4AJMPWAIT2;等待发送完成STA4:MOVA,SBUF;接收R2的数据CJNEA,#0AAH,STA0;判断A是否为AAH,不是则跳回STA0,重新发送DISPLAY:MOVP2,#01H;位选MOVP0,

7、#0C2H;段选显示GACALLDelay;延时MOVP2,#02HMOVP0,#0C0H;OACALLDelayMOVP2,#04HMOVP0,#0C0H;OACALLDelayMOVP2,#08HMOVP0,#0A1H;DACALLDelayAJMPDISPLAYDelay:MOVR6,#10;延时1msDela:MOVR7,#100DJNZR7,$DJNZR6,DelaRETEND4---2:ORG00HSTAR:CLRP2.5;关声音MOVDPTR,#TABLEMOVSP,#5FH;设置堆栈指针

8、MOVTMOD,#20H;设置计数器器方式为方式2,即自动重装8位计数器MOVTH1,#0E8H;设定波特率为1200bpsMOVTL1,#0E8HMOVSCON,#50H;M0=0,SM1=1,设定串行工作方式为方式1,允许位接收SETBTR1;TR1置1,开定时器1MOVR0,#00H;共传送8个数据,赋初值为0ACALLDE1S;延时1S输出KEY:MOVA,R0MOVCA,@A+DPTR;查表指令MOVSBUF,A;把数据送给SBU

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

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

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