- 1、本文档共426页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
一、实训目的:1、了解单片机串行口的各种功能;2、熟悉串行口的几种工作方式及应用;3、学会串行口的初始化编程。二、实训电路与工作原理:1、串行口有4种工作方式:80C51系列单片机片上有UART用于串行通信,80C51中有两个SBUF,一个用作发送缓冲器,一个用作接收缓冲器,在完成串口的初始化后,只要将数据送入发送SBUF,即可按设定好的波特率将数据发送出去,而在接收到数据后,可以从接收SBUF中读到接收到的数据。实训任务5单片机与PC机的通信实验方式0:同步移位寄存器方式。用于扩展并行I/O接口。波特率=fosc/12方式1:8位数据异步通讯方式。一帧10位:8位数据位,1个起始位(0),1个停止位(1)。波特率:用T1作为波特率发生器,波特率=(2SMOD/32)×T1溢出率。方式2和方式3:9位数据异步通讯方式。一帧为11位:9位数据位,1个起始位(0),1个停止位(1)。 第9位数据位在TB8/RB8中,常用作校验位和多机通讯标识位。波特率:方式2:波特率=(2SMOD/64)×fosc。 方式3:波特率=(2SMOD/32)×T1溢出率。实训任务5单片机与PC机的通信实验2、实训电路如图5-1所示。实训任务5单片机与PC机的通信实验图5-1实训5中键盘与显示部分电路三、实训内容:在图5-1中,单片机P1口接8只发光二极管,P3.2~P3.5接有K1~K4共四个按键,使用串行口编程,1)由PC机控制单片机的P1口,将PC机送出的数以二进制形式显示在发光二极管上;2)按下K1(P3.2所接按键)向主机发送数字0x55,按下K2(P3.3所接按键)向主机发送数字0xAA,使显示转下一行。程序如书上所示。实训任务5单片机与PC机的通信实验实训任务5单片机与PC机的通信实验操作过程:在KEILC51编辑窗口输入以上程序,保存为C51文件,建立工程后,将文件加入,设置工程,使用实验仿真板进行调试。正确编译连接后进入调试,打开实验仿真板,然后再点击“view/serial?#1”打开串行窗口,在窗口空白处点右键,在弹出式菜单中选择“Hex?Mode”如图5-2所示。图5-2串口显示模式选择单击实验仿真板的K1键和K2键,即可看到串行窗口中分别出现55和AA,如图5-3上部所示;单击串行窗口的空白处,使其变为活动窗口,可接收键盘输入,按下键盘上不同的字符键,可见实验仿真板上的LED产生相应的变化。在实验仿真板上按下K1一次、K2连续两次、再按一次K1后,在计算机键盘上按下“1”后实验仿真板显示的状态如图5-3下部所示。“0”使灯亮,“1”使灯灭,因此P1口的值即0x31,这正是字符1的ASCII码值。实训任务5单片机与PC机的通信实验图5-3串口操作结果演示四、实训分析1、程序分析本程序使用T1作为波特率发生器,工作于方式2(8位自动重装入方式),波特率为19200,串行口工作于方式1,根据以上条件算出T1的定时初值为0xfd,TMOD应初始化为0x20,SMOD初始化为0x30,PCON中的SMOD位置1,主程序main的开头对这些初值进行了设置。设置好初值后,用“TR1=1;”开启定时器1,用“REN=1;”允许接收数据,然后进入无限循环中开始正常工作。在这个无限循环中首先调用键盘程序,检测是否有键按下,及哪一个键被按下,如果K1被按下,则调用发送数据程序,将数0x55送出,如果K2被按下,则将数0xAA送出。接着检测RI是否等于1,如果RI等于1,说明接收到字符,清RI,准备下一次接收,并将接收到的数据送往P1口显示。一次循环结束,继续开始下一次循环。
发送函数SendData中有只有一个参数Dat,即待发送的字符,函数将该待发送的字符送入SBUF后,使用一个无限循环等待发送的结束,在循环中通过检测TI来判断数据是否发送完毕,发送完毕使用break语句退出循环。实训任务5单片机与PC机的通信实验2、串行口控制在本例中使用串行口时,主要是通过特殊功能寄存器SCON和SBUF的控制完成的。而且程序中用到了定时器,说明串行通信时,是与定时器有关的。3、总结通过本例的学习,我们知道单片机除了可以进行数据的并行传送以个,还可将数据串行地一位一位的进行传送,并且两个计算机可以实现双机通信。实训任务5单片机与PC机的通信实验本章的主要内容就来介绍串行口使用的有关知识。串行通讯技术是单片机系统开发的常用技术之一,串行口也是单片机常规内部集成的功能之一,虽然在近阶段新的
文档评论(0)