浙大-串行口通讯实验报告

  • 格式:docx
  • 大小:29.34 KB
  • 文档页数:7

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浙大-串行口通讯实验报告

实验报告

课程名称: 微机原理与接口技术 指导老师: 彭勇刚 成绩:__________________ 实验名称: 串行口通讯实验 实验类型:_ _____同组学生姓名

一、实验目的和要求(必填) 二、实验内容和原理(必填)

三、主要仪器设备(必填) 四、操作方法和实验步骤

五、实验数据记录和处理 六、实验结果与分析(必填)

七、讨论、心得

实验三 串行口通讯实验

一、实验目的

1.掌握80C51串行口工作方式选择、初始化的设置方法和串行通信编程。

2.掌握数据传送的校验方法(奇校验)。

3.编写简单的通信协议(如串行口工作方式、波特率、校验方式、出错处理等)。

二、实验内容

1.编写程序,将内部RAM 中20H 开始的连续16个单元的数据,通过串行口自发自收而转移到以内部RAM 中30H 开始的单元内。

2.编写程序,实现双机通信。

3.所传送的数据采用奇校验。传送出错则重发,重发超过三次则退出,并置出错标志。

三、实验器材

1.Micetek 仿真器一台

2.实验板一块

专业: 自动化

(1001) 姓名:

四、硬件连接

1.将实验板上的T针与R针短接,实现串行口的自发自收。

T针为串行口的TXD,R针为串行口的RXD引脚.

2.将双机TXD引脚与RXD引脚互连。

五、程序代码:

ORG 0000H

MOV 21H, #01H

MOV 22H, #02H

MOV 23H, #03H

MOV 24H, #04H

MOV 25H, #05H

MOV 26H, #06H

MOV 27H, #07H

MOV 28H, #08H

MOV 29H, #09H

MOV 2AH, #0AH

MOV 2BH, #0BH

MOV 2CH, #0CH

MOV 2DH, #0DH

MOV 2EH, #0EH

MOV 2FH, #0FH

MOV 20H, #00H

MOV R0, #20H

MOV R6, #10H

MOV R1, #30H

MOV TMOD, #20H ;设置定时器T1为定时方式2

MOV TH1, #030H ;设置T1定时常数(串行口波特率为2400)MOV TL1, #030H

SETB TR1

MOV PCON, #00H ;设置波特率不倍增

MOV SCON, #40H ;设置串行口方式1

SETB EA ;开总的中断

CLR ES ;关串行中断

SETB REN ;允许串行接受

CLR TI ;清发送结束标志位

CLR RI ;清接受结束标志位

AJMP TRANS

TRANS:

MOV A,@R0

MOV SBUF, A

JNB TI,$

CLR TI

INC R0

JNB RI,$

CLR RI

MOV A, SBUF

MOV @R1,A

INC R1

DJNZ R6,TRANS ;循环16次之后结束

生成的LST文件:

ORG 0000H

0000 752101 MOV 21H, #01H

0003 752202 MOV 22H, #02H

0006 752303 MOV 23H, #03H

0009 752404 MOV 24H, #04H

000C 752505 MOV 25H, #05H

000F 752606 MOV 26H, #06H

0012 752707 MOV 27H, #07H

0015 752808 MOV 28H, #08H

0018 752909 MOV 29H, #09H

001B 752A0A MOV 2AH, #0AH

001E 752B0B MOV 2BH, #0BH

0021 752C0C MOV 2CH, #0CH

0024 752D0D MOV 2DH, #0DH

0027 752E0E MOV 2EH, #0EH

002A 752F0F MOV 2FH, #0FH

002D 752000 MOV 20H, #00H

0030 7820 MOV R0, #20H

0032 7E10 MOV R6, #10H

0034 7930 MOV R1, #30H

0036 758920 MOV TMOD, #20H ;设置定时器T1为定时方式2

0039 758D30 MOV TH1, #030H ;设置T1定时常数(串行口波特率为2400)003C 758B30 MOV TL1, #030H

003F D28E SETB TR1

0041 758700 MOV PCON, #00H ;设置波特率不倍增

0044 759840 MOV SCON, #40H ;设置串行口方式1

0047 D2AF SETB EA ;开总的中断

0049 C2AC CLR ES ;关串行中断

004B D29C SETB REN ;允许串行接受

004D C299 CLR TI ;清发送结束标志位

004F C298 CLR RI ;清接受结束标志位

0051 0153 AJMP TRANS

TRANS:

0053 E6 MOV A,@R0

0054 F599 MOV SBUF, A