220 likes | 310 Views
串行通讯实验. 长春理工大学 生命科学技术学院 生物医学工程系. 串行通讯实验. 实验目的 实验设备 实验原理 实验内容 参考程序. 一、实验目的. 了解 MCS-51 单片机串行口( UART )的结构、 PC 及串行通讯的基本要求、串行通讯的原理和数据交换过程 ; 掌握单片机与单片机间以及单片机与 PC 机间进行串行通讯的编程方法 ;. 二、实验设备. PC 机 2 台,仿真器 2 台, +5V 电源,电路板 2 块,示波器 1 台 。. 三、实验原理.
E N D
串行通讯实验 长春理工大学 生命科学技术学院 生物医学工程系
串行通讯实验 • 实验目的 • 实验设备 • 实验原理 • 实验内容 • 参考程序
一、实验目的 • 了解MCS-51单片机串行口(UART)的结构、PC及串行通讯的基本要求、串行通讯的原理和数据交换过程 ; • 掌握单片机与单片机间以及单片机与PC机间进行串行通讯的编程方法 ;
二、实验设备 • PC机2台,仿真器2台,+5V电源,电路板2块,示波器1台 。
三、实验原理 • 80C51的串行接口是全双工的,它能做通用异步接收器/发送器(UART)用,也能做同步移位寄存器用。在做UART使用时,相关的寄存器要有SBUF、SCON,还要设定PCON中的SMOD位。 • SBUF是数据发送缓冲器和接收缓冲器,逻辑上用同一个地址,物理上是分开的。SCON是串行口控制寄存器,其中,SM0和SM1位是工作方式选择位,决定四种工作方式,方式0对应的是移位寄存器输入输出方式,方式1对应8位的UART,方式2和方式3对应9位的
三、实验原理 UART,还支持主从方式的多级通讯;SM2位允许方式2和方式3的多级通讯;REN是串行接收控制位;TB8、RB8是方式2和方式3的第9位数据;TI、RI是发送中断和接收中断的标志位。在串行通讯方式1和方式3中,通讯的波特率是可设的,满足下式:
三、实验原理 式中SMOD是PCON中的一位。 • 四种串行通讯的具体内容请阅读有关的参考手册,在此只简要介绍方式1。在方式1状态下,串口为8位异步通讯接口,一帧数据为10位:一个起始位(0),8位数据(低位在先)和1位停止位(1),波特率可变,按前所述公式设计,通讯数据格式如图4.1所示。发送时,一条以SUBF为目的的寄存器的指令可以启动发送,发送结束后,申请中断。只有RI=0时接收才能保证数据不丢失。
三、实验原理 图3.4.1 异步串行通讯数据格式
三、实验原理 • PC机的串行通讯口是借助通用异步接收发送器8250(或16C550等)实现的,在TURBOC等环境下,都提供了相应的函数或软件接口,使用时只要调用这些软件即可。在本实验中应注意的是,串行通信的方式和波特率应与单片机的有关设置一致。另外,PC机的串行通讯口是标准的RS232电平,而80C51使用的是CMOS电平,二者在连接时应有必要的电平转换,在本实验中,电平转换采用MAX232芯片。另外,在距离较远的应用场合,可采用调制解调器。
四、实验内容 为计算方便,本节实验中均使11.0592MHz的晶振 • 1. 单片机之间串行通讯实验 将甲乙两台仿真器串行口的发送端与对方接收端连接,即甲机的TXD与乙机的RXD相连,甲机的RXD与乙机的TXD相连,并实现双机共地。假设甲机为发送机,乙机为接收机,甲机的一组数据通过串行通讯到乙机,乙机接收数据,并将这组数据存入乙机内部一段连续的空间内,并传回给甲机,甲机也存内RAM的一段空间内。
四、实验内容 图 3.4.2 电平转换电路
四、实验内容 • 2. 单片机与PC机之间串行通讯 图3.4.2是单片机串行口电平转换电路,通过此电路使串行接口具有RS232电平,并与PC机的串行口连接。用户通过PC机键盘输入一串数字(小于255,且数字间以空格隔开),PC机收到结束符(255)后,将数字存入数组,等待发送触发命令(空格键)。每按一下空格键触发一位数据传输,每位数据传输过程为:PC机通过串口将数字传给单片机,单片机收到后回传这个数字,并存入自己内部一段连续的空间中,PC机接到回传数据后显示出来,直接传输完结束符(255),实验结束。
五、参考程序 • 1. 单片机之间串行通讯实验 图3.4.3和图3.4.4分别给出了单片机与单片机通讯中发送端和接收端对应的软件流程
五、参考程序 4.3单片机-单片机通讯发送端程序流程 图4.4 单片机-单片机通接收端流程图
发送端汇编程序 : ORG 0000H LJMP MAIN ORG 0100 H MAIN: MOV TMOD, #20 MOV TH1, #0F4H MOV TL1, #0F4H MOV SCON, #50H MOV PCON, #00H SETB TR1 CLR T1 SEND: MOV R3, #00H MOV R0, #30H SE1: MOV A, R3 MOV DPTR, #TABLE MOVC A,@A+DPTR
发送端汇编程序 MOV SBUF, A SE5: JBC TI, SE2 SJMP SE5 SE2: JBC RI, SE3 SJMP SE2 SE3: MOV A, SBUF MOV @R0 A INC R0 INC R 3 DJNZ R1, SE1 HERE: SJMP HERE TABLE: DB 10H, 11H, 12H, 13H,14H,15H,16H,17H DB 18H, 19H, 1AH, 1BH, 1CH, 1DH, 1EH, 1FH
接收端汇编程序 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV TMOD, #20H MOV TH1, #0F4H MOV TL1, #0F4H MOV SCON, #50H MOV PCON, #00H MOV R1, #10H SETB TR1 CLR RI
接收端汇编程序 RECE: MOV R0, #30H RE: JBC RI, RE2 SJMP RE RE2: MOV A, SBUF MOV @R0, A MOV SBUF RE3: JBC TI, RE4 SJMP RE3 RE4: INC R0 DJNZ R1, RE HERE: SJMP HERE
单片机汇编程序 图4.5 PC 机-单片机通讯PC机软件流程 图4.6 PC机-单片机通讯单片机软件流程
单片机汇编程序: ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV TMOD, #20H MOV TH1, #0F4H MOV TL1, #0F4H MOV SCON, #050H MOV PCON, #00H MOV R1, #10H SETB TR1 L2: JBC RI, L1 SJMP L2 L1: MOV A, SBUF JZ RECE JNZ MAIN
单片机汇编程序: RECE: MOV R0, #20H MOV SBUF, A REX: JBC TI, RE1 SJMP REX RE1: NOP RE: JBC TI, RE2 SJMP RE RE2: MOV A, SBUF MOV @R0, A MOV SBUF, A RE3: JBC TI, RE4 SJMP RE3 RE4: CJNE @R0, #0FFH, RE5 LJMP MAIN RE5: INC N0 LJMP RE
谢谢 长春理工大学 生命科学技术学院 生物医学工程系