您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机串口通信实验报告
第1页共7页信息工程学院实验报告课程名称:单片机原理及接口实验项目名称:串口通信实验实验时间:2017.5一、实验目的:1.了解什么是串口,串口的作用等。2、了解串口通信的相关概念3、利用keil软件,熟悉并掌握中串口通信的使用4、通过实验,熟悉串口通信程序的格式,串口通信的应用等二、实验原理1、串口通信概念:单片机应用与数据采集或工业控制时,往往作为前端机安装在工业现场,远离主机,现场数据采用串行通信方式发往主机进行处理,以降低通信成本,提高通信可靠性。如下图所示。2、串口数据通信方式及特点★数据通信方式有两种:并行通信与串行通信★并行通信:所传送数据的各位同时发送或接收,数据有多少位就需要多少根数据线。特点:速度快,成本高,适合近距离传输如计算机并口,打印机,8255。★串行通信:所传送数据的各位按顺序一位一位地发送或接收。只需一根数据,一根地线,共2根特点:成本低,硬件方便,适合远距离通信,传输速度低。串行通信与并行通信示意图如下:成绩:指导老师(签名):第2页共7页3、串行通信基本格式①单工通信:数据只能单向传送。②半双工通信:通信是双向的,但每一时刻,数据流通的方向是单向的。③全双工通信:允许数据同时在两个方向流动,即通信双方的数据发送和接收是同时进行的。4、异步串行通信/同步串行通信①异步串行通信:异步串行通信采用如下的帧结构:起始位+8位数据位+停止位或起始位+9位数据位+停止位其中:起始位为低电平,停止位为高电平。优点:硬件结构简单缺点:传输速度慢②同步串行通信:在同步通信中,发送方在数据或字符开始处就用同步字符(常约定1~2个字节)指示一帧的开始,由时钟来实现发送端和接收端同步,接收方一旦检测到与规定的同步字符符合,下面就连续按顺序传送若干个数据,最后发校验字节。见下图:5、串行通信过程与UART基本的计算机异步串行通信系统中,两台计算机之间通过三根信号线TxD、RxD和GND连接起来,TxD与GND构成发送线路,RxD与GND构成接收线路。一台计算机的TxD、RxD线分别与另一台计算机的RxD、TxD线相连。由于在串行通信过程中的并串转换、串并转换、线路检测、采样判决、组帧、第3页共7页拆帧、发送和接收等操作需消耗CPU大量时间,以至CPU无法处理其它工作,因而开发出专用于处理异步串行通信发送和接收工作的芯片UART(通用异步串行通信接收发送器)。CPU只需将要发送的一个字节数据交给UART,其它发送工作由UART自动完成,当UART将一帧数据发送完毕,会通知CPU已发送完,可提交下一个字节。UART自动监测线路状态并完成数据接收工作,当接收到一个字节数据后,UART会通知CPU来读取。采用UART后,CPU的负担大大减轻了。6、MCS—51的串行通信接口MCS-51单片机内部集成有一个UART,用于全双工方式的串行通信,可以同时发送、接收数据。它有两个互相独立的接收、发送缓冲器,这两个缓冲器同名SBUF,共用一个地址号(99H)。发送SBUF:只能写,不能读;SBUF=a;接收SBUF:只能读,不能写。a=SBUF;串行接口有四种工作方式,有的工作方式时其波特率是可变的。用户可以用软件编程的方法在串行控制寄存器SCON中写入相应的控制字就可改变串行口的工作方式。串行口结构图如下:串行通信的传送过程说明:甲方发送时,CPU执行指令SBUF=A启动了发送过程,数据并行送入SBUF,在发送时钟shift的控制下由低位到高位一位一位发送,乙方在接收时钟shift的控制下由低位到高位顺序进入移位寄存器SBUF,甲方一帧数据发送完毕,置位发送中断标志TI,该位可作为查询标志(或引起中断),CPU可再发送下一帧数据。乙方一帧数据到齐即接收缓冲器满,置位接收中断标志RI,该位可作为查询标志(或引起接收中断),通过A=SBUFCPU将这帧数据并行读入。由上述可知:1.甲、乙方的移位时钟频率应相同,即应具有相同的波特率,否则会造成数据丢失。第4页共7页2.发送方是先发数据再查标志,接收方是先查标志再收数据。通信过程图如下:7、串行接口的控制寄存器:串行接口的控制寄存器有两个,串行控制寄存器SCON和能改变波特率的特殊功能寄存器PCON。其作用如下:(1)SCON,字节地址98H,(可位寻址)SCON用于确定串行通道的操作方式和控制串行通道的某些功能。也可用于发送和接收第九个数据位(TB8、RB8),并有接收和发送中断标志(RI及TI)位。SCON各位的意义如下:此处,SM0、SM1指定了串行通信的工作方式,若设振荡器频率为fosc,则规定如下图:SM2:在方式2、3时,多机通信的控制位。方式0:SM2=0;方式1:①若SM2=0,只要接收到8位数据,就激发中断标志(RI=1);②若SM2=1,则只有在接收到有效停止位时才能激发中断标志(RI=1),否则接收数据无效,且RI仍为0。8、串行口波特率计算方式:9、串行口的波特率有两种方式:固定波特率和可变波特率第5页共7页10、串行通信编程方式:查询方式和中断方式。查询方式:查TI或Ri是否为“1”。中断方式:如果预先开了中断,当TI、RI为“1”,会自动产生中断。注意:两种方式中当发送或接受数据后都要注意清Ti或RI。查询方式发送程序:(先发后查)发送一个数据→查询TI→发送下一个数据查询方式接收程序:(先查后收)查询RI→读入一个数据→查询RI→读下一个数据中断方式发送程序:发送一个数据→等待中断,在中断中再发送下一个数据。中断方式接收程序:等待中断,在中断中再接收一个数据。查询方式发送流程图以及接收流程图:中断方式发送流程图以及接收流程图如下:第6页共7页三、实验内容与步骤实验内容:1,验证开发板例程中的电脑通过串口助手发送数据给开发板,单片机收到后返回电脑的例子。2,、修改例程,实现上课串口例子中,第一个发送字符串的程序。四、实验结果及分析:程序如下:#includereg51.h#includestring.hchars[]=陈玮老师最帅;chara=0,b=0;voidmain(){TMOD=0x20;SCON=0x50;PCON=0x80;TH1=0xf3;TL1=0xf3;TR1=1;第7页共7页ET1=0;a=strlen(s);for(b=0;ba;b++){SBUF=s[b];while(!TI);TI=0;}while(1);}五、实验总结:通过本次实验,了解并掌握串口通信的方式,以及数据传输的两种方式——查询方式和中断方式。
本文标题:单片机串口通信实验报告
链接地址:https://www.777doc.com/doc-5802563 .html