《串行通信实验报告通信电子数据通信与网络通信电子数据通信与网络.pdf》由会员分享,可在线阅读,更多相关《串行通信实验报告通信电子数据通信与网络通信电子数据通信与网络.pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、串行通信实验报告 班级 _ 姓名 _ 学号 _ 日期 _ 一、实验目的:1、掌握单片机串行口工作方式的程序设计,及简易 三线式通讯的方法。2、了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。3、学习串口通讯的程序编写方法。二、实验要求 1.单机自发自收实验:实现自发自收。编写相应程序,通过发光二极管观察 收 发状态。2-利用单片机串行口,实现两个实验台之间的串行通讯。其中一个实验台作为 发送方,另一侧为接收方。三、实验说明 通讯双方的RXD TXD信号本应经过电平转换后再行交叉连接,本实验中为减 少连线可将电平转换电路略去,而将双方的RXD TXD直接交叉连接。也可以将本 机的TXD
2、接到RXDt 连线方法:在第一个实验中将一台实验箱的RXD和TXD相连,用P1.0连接 发光二极管。波特率定为600,SMOD=0 在第二个实验中,将两台实验箱的RXD和TXD交叉相连。编写收发程序,一台实验箱作为发送方,另一台作为接收方,编写程序,从内部数据存储器 20H-3FH单元中共32个数据,采用方式1串行发送出去,波特率设为600。通过 运行程序观察存储单元内数值的变化。四、程序 甲方发送程序如下:ORG 0000H LJMP MAIN ORG 0023H LJMP COM NT ORG 1000H MAIN:MOV SP,#53H MOV 78H,#20H MOV 77H,00H
3、MOV 76H,20H MOV 75H,40H ACALLTRANS HERE:SJMP HERE TRANS:MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV PCON,#80H SETB TR1 MOV SCON,#40H MOV IE,#00H CLR FO MOV SBUF,78H WAIT1:JNBTI,WAIT1 CLR Tl MOV SBUF,77H WAIT2:JNBTI,WAIT2 CLR Tl MOV SBUF,76H WAIT3:JNBTI,WAIT3 的硬环境数据格式的协议学习串口通讯的程序编写方法二实验要求三线式通讯的方法数据
4、交换的协议单机自发自收实验实现自发自收编写相应程序通过发光二极管观察收发状态利用单片机串行口实现两个实验台之间的串行通讯其中减少连线可将电平转换电路略去而将双方的直接交叉连接也可以将本机的接到连线方法在第一个实验中将一台实验箱的和相连用连接发光二极管波特率定为在第二个实验中将两台实验箱的和交叉相连编写收发程序一台实验箱作为发观察存储单元内数值的变化四程序甲方发送程序如下乙方发送程序如下五实验过程中遇到的主要问题位控制口段控制口键盘读入口接收标志位显示缓冲接收缓冲串行口中断程序接收数据保存数据提示收到数据八段管显示码延时子程CLR Tl MOV SBUF,75H WAIT4:JNBTI,WAIT
5、4 CLR Tl MOV IE,#90H MOV DPH,78H MOV DPL,77H MOVX A,DPTR MOV SBUF,A WAIT:JNB F0,WAIT RET COMJNT:CLR Tl INC DPTR MOV A,DPH CJNE A,76H,END1 MOV A,DPL CJNE A,75H,END1 SETB FO CLR ES CLR EA RET 的硬环境数据格式的协议学习串口通讯的程序编写方法二实验要求三线式通讯的方法数据交换的协议单机自发自收实验实现自发自收编写相应程序通过发光二极管观察收发状态利用单片机串行口实现两个实验台之间的串行通讯其中减少连线可将电平转
6、换电路略去而将双方的直接交叉连接也可以将本机的接到连线方法在第一个实验中将一台实验箱的和相连用连接发光二极管波特率定为在第二个实验中将两台实验箱的和交叉相连编写收发程序一台实验箱作为发观察存储单元内数值的变化四程序甲方发送程序如下乙方发送程序如下五实验过程中遇到的主要问题位控制口段控制口键盘读入口接收标志位显示缓冲接收缓冲串行口中断程序接收数据保存数据提示收到数据八段管显示码延时子程END1:MOVX A,DPTR MOV SBUF,A RETI END 乙方发送程序如下:ORG 0000H LJMP MAIN ORG 0023H LJMP COMJNT ORG 1000H MAIN:MOV
7、SP,#53H ACALL RECEI HERE:SJMP HERE RECEI:MOV R0,#78H MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV PCON,#80H SETB TR1 MOV SCON,#50H 的硬环境数据格式的协议学习串口通讯的程序编写方法二实验要求三线式通讯的方法数据交换的协议单机自发自收实验实现自发自收编写相应程序通过发光二极管观察收发状态利用单片机串行口实现两个实验台之间的串行通讯其中减少连线可将电平转换电路略去而将双方的直接交叉连接也可以将本机的接到连线方法在第一个实验中将一台实验箱的和相连用连接发光二极管波特率定
8、为在第二个实验中将两台实验箱的和交叉相连编写收发程序一台实验箱作为发观察存储单元内数值的变化四程序甲方发送程序如下乙方发送程序如下五实验过程中遇到的主要问题位控制口段控制口键盘读入口接收标志位显示缓冲接收缓冲串行口中断程序接收数据保存数据提示收到数据八段管显示码延时子程MOV IE,#90H CLR FO CLR 7FH WAIT:JNB 7FH,WAIT COMJNT:PUSH DPL RET PUSHDPH PUSH Acc CLR Rl JB FO,R_DATA MOV A,SBUF MOV R0,A DEC RO CJNE R0,#74H,RETN SETB FO RETN:POP A
9、cc POP DPH POP DPL RETI R_DATA:MOV DPH,78H MOV DPL,77H MOV A,SBUF 的硬环境数据格式的协议学习串口通讯的程序编写方法二实验要求三线式通讯的方法数据交换的协议单机自发自收实验实现自发自收编写相应程序通过发光二极管观察收发状态利用单片机串行口实现两个实验台之间的串行通讯其中减少连线可将电平转换电路略去而将双方的直接交叉连接也可以将本机的接到连线方法在第一个实验中将一台实验箱的和相连用连接发光二极管波特率定为在第二个实验中将两台实验箱的和交叉相连编写收发程序一台实验箱作为发观察存储单元内数值的变化四程序甲方发送程序如下乙方发送程序如下五
10、实验过程中遇到的主要问题位控制口段控制口键盘读入口接收标志位显示缓冲接收缓冲串行口中断程序接收数据保存数据提示收到数据八段管显示码延时子程MOVX DPTR,A INC 77H MOV A,77H JNZ END2 INC 78H END2:MOV A,76H CJNE A,78H,RETN MOV A,75H CJNE A,77H,RETN CLR ES CLR EA SETB 7FH SJMP RETN END 五、实验过程中遇到的主要问题OUTBIT equ 08002h;位控制口 OUTSEG equ 08004h;段控制口 IN equ 08001 h;键盘读入口 HasRcv eq
11、u 20h.0;接收标志位 LEDBuf equ 40h;显示缓冲 RCVBuf equ 50H;接收缓冲 ORG 0000H LJMP START;串行口中断程序 ORG 0023H 的硬环境数据格式的协议学习串口通讯的程序编写方法二实验要求三线式通讯的方法数据交换的协议单机自发自收实验实现自发自收编写相应程序通过发光二极管观察收发状态利用单片机串行口实现两个实验台之间的串行通讯其中减少连线可将电平转换电路略去而将双方的直接交叉连接也可以将本机的接到连线方法在第一个实验中将一台实验箱的和相连用连接发光二极管波特率定为在第二个实验中将两台实验箱的和交叉相连编写收发程序一台实验箱作为发观察存储单
12、元内数值的变化四程序甲方发送程序如下乙方发送程序如下五实验过程中遇到的主要问题位控制口段控制口键盘读入口接收标志位显示缓冲接收缓冲串行口中断程序接收数据保存数据提示收到数据八段管显示码延时子程JNBTI,S0_R CLRTI NOP SJMP S0_RET S0_R:;接收数据 CLR Rl MOV RCVBUF,SBUF;保存数据 SETB HasRcv;提示收到数据NOP SO RET:RETI LEDMAP:;八段管显示码 db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h db 7fh,6fh,77h,7ch,39h,5eh,79h,71 h Delay:;延时子程序
13、 mov r7,#0 DelayLoop:djnz r7,DelayLoop djnz r6,DelayLoop ret DisplayLED:mov rO,#LEDBuf mov r1,#6;共6个八段管 mov r2,#00100000b;从左边开始显示 Loop:mov dptr,#OUTBIT mov a,#0 movx dptr,a;尖所有八段管 mov a,r0 mov dptr,#OUTSEG movx dptr,a mov dptr,#OUTBIT mov a,r2 movx dptr,a;显示一位八段管 mov r6,#1 call Delaymov a,r2 rr a mo
14、v r2,a;显示下一位 inc rO djnz r1,Loop 的硬环境数据格式的协议学习串口通讯的程序编写方法二实验要求三线式通讯的方法数据交换的协议单机自发自收实验实现自发自收编写相应程序通过发光二极管观察收发状态利用单片机串行口实现两个实验台之间的串行通讯其中减少连线可将电平转换电路略去而将双方的直接交叉连接也可以将本机的接到连线方法在第一个实验中将一台实验箱的和相连用连接发光二极管波特率定为在第二个实验中将两台实验箱的和交叉相连编写收发程序一台实验箱作为发观察存储单元内数值的变化四程序甲方发送程序如下乙方发送程序如下五实验过程中遇到的主要问题位控制口段控制口键盘读入口接收标志位显示缓
15、冲接收缓冲串行口中断程序接收数据保存数据提示收到数据八段管显示码延时子程ret TestKey:mov dptr,#OUTBIT的硬环境数据格式的协议学习串口通讯的程序编写方法二实验要求三线式通讯的方法数据交换的协议单机自发自收实验实现自发自收编写相应程序通过发光二极管观察收发状态利用单片机串行口实现两个实验台之间的串行通讯其中减少连线可将电平转换电路略去而将双方的直接交叉连接也可以将本机的接到连线方法在第一个实验中将一台实验箱的和相连用连接发光二极管波特率定为在第二个实验中将两台实验箱的和交叉相连编写收发程序一台实验箱作为发观察存储单元内数值的变化四程序甲方发送程序如下乙方发送程序如下五实验
16、过程中遇到的主要问题位控制口段控制口键盘读入口接收标志位显示缓冲接收缓冲串行口中断程序接收数据保存数据提示收到数据八段管显示码延时子程mov a,#0 movx dptr,a mov dptr,#IN movx a,dptr epi a anl a,#Ofh;输出线置为0;读入键状态;高四位不用 KeyTable:;键码定义 db16h5 15h,14h5 Offh db 13h,12h,11h,10h db Odh,Och,Obh,Oah db Oeh,03h,06h,09h db Ofh,02h,05h,08h db OOh,01h,04h,07h GetKey mov dptr,#OUT
17、BIT mov P2,dph mov rO,#Low(IN)mov r1,#00100000b mov r2,#6 KLoop:mov a,r1;找出键所在列 epi a movx dptr,a epi a rr a mov r1,a;下一列 movx a,r0 epi a anl a,#Ofh jnz Goonl;该列有键入 djnz r2,KLoop mov r2,#Offh;没有键按下,返回 Offh sjmp Exit Goonl:mov r1,a;键值二列X4+行 mov a,r2 的硬环境数据格式的协议学习串口通讯的程序编写方法二实验要求三线式通讯的方法数据交换的协议单机自发自收实
18、验实现自发自收编写相应程序通过发光二极管观察收发状态利用单片机串行口实现两个实验台之间的串行通讯其中减少连线可将电平转换电路略去而将双方的直接交叉连接也可以将本机的接到连线方法在第一个实验中将一台实验箱的和相连用连接发光二极管波特率定为在第二个实验中将两台实验箱的和交叉相连编写收发程序一台实验箱作为发观察存储单元内数值的变化四程序甲方发送程序如下乙方发送程序如下五实验过程中遇到的主要问题位控制口段控制口键盘读入口接收标志位显示缓冲接收缓冲串行口中断程序接收数据保存数据提示收到数据八段管显示码延时子程dec a rl a rl a mov r2,a;r2=(r2-1)*4 mov a,r1;r1
19、中为读入的行值 mov r1,#4 LoopC:rrc a;移位找出所在行 jc Exit inc r2;r2=吃+行值 djnz r1,LoopC Exit:mov a,r2;取出键码 mov dptr,#KeyTable move a,a+dptr mov r2,a WaitRelease:;等键释放 dptr,#OUTBIT a dptr,a mov r6,#10 call Delay call TestKey jnz WaitRelease mov a,r2 ret START:MOV SP,#60H MOV IE,#0;DISABLE ALL INTERRUPT MOV TMOD,#
20、020H;定时器1工作于方式2(8位重 MOV TH1,#0F3H;波特率?2400BPS 12MHz MOV TL1,#0F3H ANL PCON,#07FH;SMOD 位清零 orl PCON,#80h MOV SCON,#050H;串行口工作方式设置 MOV LEDBuf,#Offh;显示 8.8.8.8.mov LEDBuf+1,#Offh mov LEDBuf+2,#Offh mov clr movx 的硬环境数据格式的协议学习串口通讯的程序编写方法二实验要求三线式通讯的方法数据交换的协议单机自发自收实验实现自发自收编写相应程序通过发光二极管观察收发状态利用单片机串行口实现两个实验台
21、之间的串行通讯其中减少连线可将电平转换电路略去而将双方的直接交叉连接也可以将本机的接到连线方法在第一个实验中将一台实验箱的和相连用连接发光二极管波特率定为在第二个实验中将两台实验箱的和交叉相连编写收发程序一台实验箱作为发观察存储单元内数值的变化四程序甲方发送程序如下乙方发送程序如下五实验过程中遇到的主要问题位控制口段控制口键盘读入口接收标志位显示缓冲接收缓冲串行口中断程序接收数据保存数据提示收到数据八段管显示码延时子程LEDBuf+3,#Offh LEDBuf+4,#0 LEDBuf+5,#0 TR1 SETB ES SETB EA;mov sbuf,a:jnbti,$jb HasRcv,Rc
22、vData;收到数据?call DisplayLED;显示 call TestKey;有键入?JZ MLoop;无键入,继续显示 call GetKey;读入键码 anl a,#Ofh;通讯口输出键码 MOV SBUF,A LJMP MLoop RcvData:END 六、实验后的心得体会 clr Has Rev mov a,RcvBuf mov b,a anl a,#Ofh mov dptr,#LEDMap move a,a+dptr mov LEDBuf+5,a mov a,b swap a anl a,#Ofh mov dptr,#LEDMap move a,a+dptr mov LED
23、Buf+4,a Ijmp MLoop ;是;显示数据;显示低位;显示高位 mov mov mov SET MLoop:的硬环境数据格式的协议学习串口通讯的程序编写方法二实验要求三线式通讯的方法数据交换的协议单机自发自收实验实现自发自收编写相应程序通过发光二极管观察收发状态利用单片机串行口实现两个实验台之间的串行通讯其中减少连线可将电平转换电路略去而将双方的直接交叉连接也可以将本机的接到连线方法在第一个实验中将一台实验箱的和相连用连接发光二极管波特率定为在第二个实验中将两台实验箱的和交叉相连编写收发程序一台实验箱作为发观察存储单元内数值的变化四程序甲方发送程序如下乙方发送程序如下五实验过程中遇到的主要问题位控制口段控制口键盘读入口接收标志位显示缓冲接收缓冲串行口中断程序接收数据保存数据提示收到数据八段管显示码延时子程