8251串行通信实验

8251串行通信实验
一、实验目的
1. 掌握8251串行通讯方式的硬件接口电路及软件编程设计
二、实验设备
PC机器一台,TDN86/88+教学实验系统一台。

三、实验原理:
本实验需用两台TDN-86/51(TDN86/88)教学实验系统,并通过排线将两台仪器相连,其中1号机用做接收机,2号机用做发送机。

实验目的是将2号机中的3000-3009H十个单元中的代码传送到1号机的3000-3009H单元中。

硬件连接线路图
1.8251的基本性能
8251是可编程的串行通信接口,可以管理信号变化范围很大的串行数据通信。

有下列基本性能:
(1)通过编程,可以工作在同步方式,也可以工作在异步方式。

(2)同步方式下,波特率为0,64K,异步方式下,波特率为0,19.2K。

(3)在同步方式时,可以用5,8位来代表字符,内部或外部同步,可自动插入同步字符。

(4)在异步方式时,也使用5,8位来代表字符,自动为每个数据增加1个启动位,并能够根据编程为每个数据增加1个、1.5个或2个停止位。

(5)具有奇偶、溢出和帧错误检测能力。

(6)全双工,双缓冲器发送和接收器。

2.8251的内部结构及外部引脚
8251的内部结构图如图1-1所示,可以看出,8251有7个主要部分,即数据总线缓冲器、读/写控制逻辑电路、调制/解调控制电路、发送缓冲器、发送控制电路、接收缓冲器和接收控制电路,图中还标识出了每个部分对外的引脚。

8251的外部引脚如图1-2所示,共28个引脚,每个引脚信号的输入输出方式如图中的箭头方向所示。

D7,D0数据总线发送并?串TxD缓冲器缓冲器转换
TxRDRESETY发送控制电路TxECLK读/写控制TxCC/D#逻辑电路RD#
WR#接收串?并RxD内部总线缓冲器转换CS#
DSR#RxRDYDTR#调制/解调RxC接收控制电路控制电路CTS#SYNDETRTS#
图1-1 8251内部结构图
D2128D0D3D1RxDVccGNDRxC#D4DTR#D5RTS#8251D6DSR#D7RESETTxC#CLKWR#TxDCS #TxEC/D#CTS#RD#SYNDET/BD1RxRDY14TxRDY5
图1-2 8251外部引脚图
3. 8251在异步方式下的TXD信号上的数据传输格式
图1-3示意了8251工作在异步方式下的TXD信号上的数据传输格式。

数据位与停止位的位数可以由编程指定。

D0D1???Dn由8251产生
发送器输出
TXD启动位数据位校验位停止位
图1-3 8251工作在异步方式下TXD信号的数据传输格式
四、实验内容:
1.串口自收发实验
根据第一个实验的两个程序设计出8251串口自发自收实验的实验程序,可参
考双机通讯实验的两个程序的格式。

对于串行传输的数据格式,本实验有如下规定:一个字有一个逻辑“1”
起始位,8位ASCII码数据位,1位逻辑“1”停止位,传输波特率为
9600baut。

程序设计提示:可以用4000H,400AH十个单元作为需要发送数据的存贮单元,可以用3000H
,300AH十个单元作为接收数据的存贮单元。

程序代码如下:
1号机程序:
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV AL,76H ;01110110,计数器1,先读低8位,再读高8位,模式
3,
二进制
OUT 43H,AL ;写入8253的控制字
MOV AL,0CH ;写入时间常数,低字节
OUT 41H,AL
MOV AL,00H ;写入时间常数,高字节
OUT 41H,AL
CLI ;关总中断,IF=0
CALL INIT ;8251复位操作
CALL DALLY ;调用延时
MOV AL,7EH ;8251方式字,一个停止位,偶校验,波特率因子16
OUT 81H,AL
CALL DALLY
MOV AL,34H ;8251控制字 bit2接收允许
OUT 81H,AL
CALL DALLY
MOV AX,0152H ;显示‘R’
INT 10H
MOV DI,3000H ;指针初值
MOV CX,000AH ;接收数据个数
A1: IN AL,81H ;读入8251状态字
AND AL,02H ;接收到一个数据了吗,00000010--检验RxRED 是否为1
JZ A1 ;否,继续检测数据是否接收
IN AL,80H ;是,从8251数据口读入数据
AND AL,7FH ;7位ASC?码最高位清零
MOV [DI],AL ;存内存
INC DI
LOOP A1
MOV AL,00H ;数据结尾,填00H
MOV SI,300AH
MOV [SI],AL
MOV AH,06H
MOV BX,3000H ;显示接收到的数据串
INT 10H ;显DS:BX开始的字符串直到00H STI ;开总中断 A2: JMP A2
INIT: MOV AL,00H
OUT 81H,AL ;放入8251的控制寄存器
CALL DALLY
OUT 81H,AL
CALL DALLY
OUT 81H,AL
CALL DALLY
OUT 80H,AL ;8251的数据口
CALL DALLY
OUT 80H,AL s
CALL DALLY
MOV AL,40H ;01000000,bit6为内不复位OUT 81H,AL ;复位操作
RET
DALLY : PUSH CX ;延时子程序调节传输速度MOV CX,3000H A3: PUSH AX
POP AX
LOOP A3
POP CX
RET
CODE ENDS
END START
2号机实验程序: STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS
CODE SEGMENT ASSUME CS:CODE START: MOV AL,76H OUT 43H,AL
MOV AL,0CH
OUT 41H,AL
MOV AL,00H
OUT 41H,AL
CALL INIT
CALL DALLY
MOV AL,7EH
OUT 81H,AL
CALL DALLY
MOV AL,34H
OUT 81H,AL
CALL DALLY
MOV DI,3000H
MOV CX,000AH A1: MOV AL,[DI] CALL SEND ;调用SEND子程序CALL DALLY
INC DI
LOOP A1
A2: JMP A2
INIT: MOV AL,00H
OUT 81H,AL
CALL DALLY
OUT 81H,AL
CALL DALLY
OUT 81H,AL
CALL DALLY
OUT 80H,AL
CALL DALLY
OUT 80H,AL
CALL DALLY
MOV AL,40H ;复位操作
OUT 81H,AL
RET
DALLY : PUSH CX
MOV CX,3000H A4: PUSH AX
POP AX
LOOP A4
POP CX
RET
SEND: PUSH AX
MOV AL,31H ;00110001 RTS输出低电平,三个出错位复位
OUT 81H,AL ; TxEN为1,发送允许
POP AX
OUT 80H,AL A3: IN AL,81H
AND AL,01H ;00000001 TxRED是否为1,是则发送缓冲器内容,
可以发送
JZ A3
RET
CODE ENDS
END START
调试提示:
(1) 分析程序,画出相应的流程图,并写出8251的工作特征。

(2) 按图8,1将1、2号机连接起来。

(3) 两台机上电后,均输入程序,并要求2号机用E命令在3000-3009H十个单元中填入十个
ASC?码,如:3000:30 31 32 33 34 35 36 37 38 39
(4) 先使1号机程序运行,等待串行接收数据,然后再运行2号机程序,发送字串到串口,
当数据发送、接收完毕时,1号机显示相应的ASC?码字符串,如:R 0 1 2 3 4 5 6 7
8 9,用CTRL+C可使程序中断,返回监控状态。

(5) 检查1号机的3000-3009H单元,应和2号机一致。

2. 双机通讯实验。

本实验需要两台实验装置,其中一台作为接收机,一台作为发送机,发送机将3000H,3009H内存单元中共10个数发送到接收机,接收机将接收到的数据直接在屏幕上输出显示。

六、结果分析:
根据实验结果,分析如下:
1) 实验一中自发自收通信,有时收到乱码,可能因为波特率太高,且没有奇偶校
验,所以能收到数据,但收到不准确。

2) 乱码的改进方法可以是降低波特率,要降低波特率,可以令计数器分频大些。

指导教师批阅意见:
成绩评定:
预习操作及记录数据处理结果与讨论思考题总分 (20分) (40分) 20分10分 10分
1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

合集下载

串行接口应用实验

串行接口应用实验

(一)8251 串行接口应用实验一、实验目的1、掌握8251的工作方式。

2、学习串行通讯的有关知识。

二、实验设备1、TDN86/88教学实验系统一台。

2、示波器一台。

3、一组排线。

三、实验内容及步骤1、系统中的8251芯片系统装有一片8251芯片,并和标准RS-232C接口连接好,如下图所示。

该电路用来完成同PC微机的联机以及串行监控操作的实现,其端口地址为:数据口:C0H 控制口:C1H2、实验单元中的8251这片8251芯片用于各种串行口实验,连线见下图,其端口地址为:数据口:80H 控制口:81H3、8251串行接口应用实验本实验中,串行传输的数据格式规定如下:(1)一位逻辑‘0’的起始位,8位数据位(由低位开始传输),1位逻辑‘1’停止位。

(2)传输波特率9600baut。

数据信号的串行输出送示波器,可观察数据波形。

与示波器连线如下:8251 示波器TxD _____________ +GND_____________ -4、实验程序,见13-1.ASMCODE SEGMENTASSUME CS:CODESTART: CALL INIT ;初始化8253和8251A1: CALL SEND ;向串口送55HA2: MOV CX,0200H ;定时时间到,再发送下一个数据LOOP A2JMP A1 ;重复送数INIT: MOV AL,76H ;8253的计数器1工作在方式3,送出方波信号,作为8251收发时钟OUT 43H,ALMOV AL,0CH ;方波频率为153.6KHzOUT 41H,ALMOV AL,00HOUT 41H,ALCALL RESET ;复位8251,即向控制口送3个0,一个40HCALL DELAY ;8251工作速度慢,每送一个控制字,等待一会儿MOV AL,7EH ;置异步方式:1个停止位,偶校验,字符长为8位,波特率因子为16OUT 81H,AL ;控制口CALL DELAYMOV AL,31H ;RTS输出0,使CTS输入0OUT 81H,AL ;清除错误标志,并使TxEN置1,允许发送CALL DELAYRETRESET: MOV AL,00H ;复位8251OUT 81H,ALCALL DELAYOUT 80H,ALCALL DELAYOUT 80H,ALCALL DELAYMOV AL,40HOUT 81H,ALRETDELAY: PUSH CX ;延时子程序MOV CX,6000HA3: LOOP A3POP CXRETSEND: PUSH AX ;发送55HMOV AL,31HOUT 81H,ALPOP AXMOV AL,55HOUT 80H,ALRETCODE ENDSEND START5、实验步骤(1)将示波器与8251的TxD、GND排针引脚相连接。

接口实验报告8251

接口实验报告8251

实验报告实验名称__8251A串行口实验____课程名称__微机原理与接口技术__院系部: 专业班级:学生姓名:学号:同组人: 实验台号:指导教师: 成绩:实验日期:华北电力大学一、实验目的及要求:(1)了解串行通信的一般原理和8251A的工作原理。

(2)掌握8251A的编程方法。

二、仪器用具:三、实验原理:1.串行通信的原理串行通信是通过一位一位地进行数据传输来实现通信。

具有传输线少,成本低等优点,适合远距离传送;缺点是速度慢。

完成串行通信任务的接口称为串行通信接口,简称串行接口。

串行接口作为输入时,完成串行到并行格式转换,作为输出时,完成并行到串行格式转换。

图1是串行通信的一般模型。

图1 串行通信的一般模型2.8251A的工作原理825lA是可编程的串行通信接口芯片,是Intel公司生产的一种通用同步/异步数据收发器(USART),可工作在同步方式,也可工作在异步方式,且能进行出错检测。

其内部结构框图如图2所示。

图2 8251A内部结构框图由图可知,8251A由数据总线缓冲器、读/写控制逻辑、调制/解调器控制逻辑、发送缓冲器、发送控制器、接收缓冲器、接收控制器等组成。

(1)在同步方式时,每个字符可定义为5、6、7或8位。

两种方法实现同步,由内部自动检测同步字符或由外部给出同步信号。

允许同步方式下增加奇/偶校验位进行校验。

(2)在异步方式下,每个字符可定义为5、6、7或8位,用1位作奇偶校验。

时钟速率可用软件定义为波特率的l、16或64倍。

另外,8251A在异步方式下能自动为每个被输出的数据增加1个起始位,并能根据软件编程为每个输出数据设置1位、1.5位或2位停止位。

(3)能进行出错检测。

带有奇偶、溢出和帧错误等检测电路,用户可通过输入状态寄存器的内容进行查询。

3.8251A的编程(1)8251A的编程地址:8251A只需要两个端口地址,一个用于数据端口,一个用于控制端口。

数据输入输出用读信号RD和写WR信号区分;状态端口只能读不能写,控制端口只能写不能读。

深圳大学8251串行接口应用实验

深圳大学8251串行接口应用实验

深圳大学实验报告课程名称:微型计算机技术及应用实验名称:8251串行接口应用实验学院:信息工程学院专业:班级:组号:指导教师:报告人:学号:实验地点实验时间:2010 年12 月23 日星期五实验报告提交时间:2011.01.07D2D3RxDGNDD4D5D6D7 TxC# WR#CS# C/D#RD# RxRDYD0D1VccRxC#DTR#RTS#DSR#RESETCLKTxDTxECTS#SYNDET/BDTxRDY11428158251图4.37 8251外部引脚图3. 8251在异步方式下的TXD信号上的数据传输格式图4.38示意了8251工作在异步方式下的TXD信号上的数据传输格式。

数据位与停止位的位数可以由编程指定。

TXD 发送器输出启动位数据位校验位停止位由8251产生D0D1···Dn图4.38 8251工作在异步方式下TXD信号的数据传输格式4. 8251的编程对8251的编程就是对8251的寄存器的操作,下面分别给出8251的几个寄存器的格式。

(1)方式控制字方式控制字用来指定通信方式及其方式下的数据格式,具体各位的定义如图4.39所示。

(2)命令控制字命令控制字用于指定8251进行某种操作(如发送、接收、内部复位和检测同步字符等)或处于某种工作状态,以便接收或发送数据。

图4.40所示的是8251命令控制字各位的定义。

图4.40 8251命令控制字格式(3)状态字CPU 通过状态字来了解8251当前的工作状态,以决定下一步的操作,8251的状态字如图4.41所示。

图4.41 8251状态字格式(4)系统初始化8251的初始化和操作流程如图4.42所示。

系统RESET 初始化输入方式指令异步?输入第1个同步字符1个同步字符?输入第2个同步字符输入命令指令复位?传送数据完成?YYYYNN NN图4.42 8251初始化流程图5. 8251实验单元电路图11。

北工大微机原理 实验六 8251串行通信实验

北工大微机原理 实验六 8251串行通信实验

实验六串行通信实验8251一、实验目的:1、进一步了解串行通信的基本原理2、掌握串行接口芯片8251的工作原理和编程方法二、实验内容:1、按图连接线路。

2、从键盘输入一个字符,将其ASCLL码加1后发送出去,再接收回来在屏幕上加1 后的字符显示出来,实现自发自收。

三、实验设备:8251芯片 8253芯片试验箱若干导线四、实验原理:根据引脚号按下图在试验箱上正确连接好电路五.程序代码:data segmentioport equ 5400h-280hio8253a equ ioport+280hio8253b equ ioport+283hio8251a equ ioport+2b8hio8251b equ ioport+2b9hap1 db 'you can play a key on the keybord!',0dh,0ah,24hap2 dd ap1data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,io8253b ;设置8253计数器0工作方式mov al,16hout dx,almov dx,io8253amov al,52 ;给8253计数器0送初值out dx,almov dx,io8251b ;初始化8251xor al,almov cx,03 ;向8251控制端口送3个0delay: call outloop delaymov al,40h ;向8251控制端口送40H,使其复位call outmov al,4eh ;设置为1个停止位,8个数据位,波特率因子为16 call outmov al,27h ;向8251送控制字允许其发送和接收call outlds dx,ap2 ;显示提示信息mov ah,09int 21hwait: mov dx,io8251bin al,dxtest al,01 ;发送是否准备好jz waitmov ah,01 ;是,从键盘上读一字符int 21hcmp al,27 ;若为ESC,结束jz exitmov dx,io8251ainc alout dx,al ;发送mov cx,0F00hkd1: loop kd1 ;延时next:mov dx,io8251bin al,dxtest al,02 ;检查接收是否准备好jz next ;没有,等待mov dx,io8251ain al,dx ;准备好,接收mov dl,almov ah,02 ;将接收到的字符显示在屏幕上 int 21hjmp waitexit: mov ah,4ch ;退出int 21hout proc near ;向外发送一字节的子程序 out dx,alpush cxmov cx,0F00hkd2: loop kd2 ;延时pop cxretout endpcode endsend start六、实验结果:将程序进行汇编,连接,运行后,从键盘输入字母或者数字,屏幕上显示这个字母或数字和这个数字的ASCⅡ加一后的字母或数字。

实验十8251实验

实验十8251实验

实验十8251实验实验十8251串口实验一、实验目的1.了解串行通讯的基本原理。

2.掌握串行接口芯片8251的工作原理和编程方法。

二、实验内容双机通讯实验,使用两台实验装置,一台为发送机,一台为接收机,进行两机间的串行通讯,实验步骤如下:1.按图1连接好电路,其中8254计数器如图2,用于产生8251的发送和接收时钟,TXD 和RXD连在一起。

图1 双机通讯连接图图2 发送、接收时钟连接图波特率因子若选16,计数器2初值为12。

则波特率=1.8432MHZ/12/16=9600bps2.编程:在发送机3000H~3009H 内存单元写入ASCII 值:30,31,32,33,34,35,36,37,38,39 共10 个数。

将这10个数发送给接收机后显示在屏幕上,收发采用查询方式。

三、程序流程8251的初始化流程图四、程序代接收机的代码:M8251_DATA E QU 0600HM8251_CON EQU 0602HM8254_2 EQU 06C4HM8254_CON EQU 06C6HSSTACK SEGMENT STACKDW 64 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV AL, 0B6H ;初始化8254 MOV DX, M8254_CONOUT DX, ALMOV AL, 0CHMOV DX, M8254_2OUT DX, ALMOV AL, 00HOUT DX, ALCLIMOV AL, 00H ;复位8251子程序MOV DX, M8251_CONOUT DX, ALMOV AL, 40HOUT DX, ALMOV AL, 7EH ;方式字MOV DX, M8251_CONOUT DX, ALMOV AL, 34HOUT DX, ALMOV AX, 0152H ;输出显示字符'R' INT 10HMOV DI, 3000HMOV CX, 000AHA1: IN AL, DXAND AL, 02HJZ A1MOV DX, M8251_DA TAIN AL, DXAND AL, 7FH ;数据是否出错MOV [DI],ALINC DILOOP A1MOV AL, 00HMOV SI, 300AHMOV [SI], ALMOV AH, 06HMOV BX, 3000HINT 10H ;输出显示接收到的数据STIA2: JMP A2A3: PUSH AXPOP AXLOOP A3POP CXRETCODE ENDSEND START发送机的代码:;发送机M8251_DATA E QU 0600HM8251_CON EQU 0602HM8254_2 EQU 06C4HM8254_CON EQU 06C6H SSTACK SEGMENT STACK DW 64 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV AL, 0B6H ;初始化8254, 得到收发时钟MOV DX, M8254_CONOUT DX, ALMOV AL, 0CHMOV DX, M8254_2OUT DX, ALMOV AL, 00H ;复位8251子程序MOV DX, M8251_CONOUT DX, ALMOV AL, 40HOUT DX, ALMOV AL, 07EH ;01111110 (波特率x16)MOV DX, M8251_CONOUT DX, AL ;8251方式字MOV AL, 34H ;31HOUT DX, AL ;8251控制字MOV DI, 3000HMOV CX, 000AHA1: MOV AL, [DI] ;给地址PUSH DXPUSH AXMOV AL, 31H ;操作MOV DX, M8251_CONOUT DX, AL ;发送MOV DX, M8251_DA TAPOP AXOUT DX, ALMOV DX, M8251_CONINC DILOOP A1A2: JMP A2A4: PUSH AXPOP AXLOOP A4POP CXRETA3: IN AL, DXAND AL, 01H ;测试TxE TxRDYJZ A3 ;等待POP DXRETCODE ENDSEND START在此次实验中,实验箱的连线经反复检查后并没有出现问题,后排除可能是远距离连线的接触不良造成了实验中,接收机已知在等待,发送机的数据一直无法传送的问题。

8251串行通讯实验

8251串行通讯实验

师大学数计学院实验报告专业名称 11计科课程微机原理实验名称串行通信实验姓名学号 1107040128251 可编程串行口与PC 机通讯实验一、实验目的(1) 掌握8251 芯片的结构和编程,掌握微机通讯的编制。

(2) 学习有关串行通讯的知识。

(3) 学习 PC 机串口的操作方法。

二、实验说明1、8251 信号线8251 是CPU 与外设或Mode 之间的接口芯片,所以它的信号线分为两组:一组是用于与CPU 接口的信号线,另一组用于与外设或Mode 接口。

(1)与CPU 相连的信号线:除了双向三态数据总线(D7~D0)、读(RD)、写(WR)、片选(CS)之外,还有:RESET:复位。

通常与系统复位相连。

CLK:时钟。

由外部时钟发生器提供。

C/D:控制/数据引脚。

TxRDY:发送器准备好,高电平有效。

TxE:发送器空,高电平有效。

RxRDY:接收器准备好,高电平有效。

SYNDET/BRKDET:同步/中止检测,双功能引脚。

(2)与外设或Mode 相连的信号线:DTR:数据终端准备好,输出,低电平有效。

DSR:数据装置准备好,输入,低电平有效。

RTS:请求发送,输出,低电平有效。

CTS:准许传送,输入,低电平有效。

TxD:发送数据线。

RxD:接收数据线。

TxC:发送时钟,控制发送数据的速率。

RxC:接收时钟,控制接收数据的速率。

2、8251 的初始化编程和状态字8251 是一个可编程的多功能串行通信接口芯片,在使用前必须对它进行初始化编程。

初始化编程包括CPU 写方式控制字和操作命令字到8251 同一控制口,在初始化编程时必须按一定的顺序。

如下面的流程图:三、实验原理图四、实验容本实验由实验器发送一串字符0~9,PC 机串口接收并在超级终端上显示。

五、实验步骤与PC 机通讯应用实验(1)实验连线:a.用串口线把实验机 8251 模块的RS232 通讯口与PC 机相连,把串口旁边的短路块SW1 短路在2-2/3-3 上,SW2 短路在RS232 上。

试验一8251串行通信试验一自发自收

实验一8251串行通信实验㈠:自发自收一、实验目的了解串行通信的实现原理,掌握8251的工作方式和编程方法。

二、实验内容利用本实验系统内的8251接口芯片,采用自发自收的方法,实现数据收发通信实验。

发送的数据为4000H开始的16个源RAM区单元内容,接收到的数据放在5000H开始的RAM单元中,核对接收的数据是否和发送的数据一致。

三、编程提示⑴数据发送与接收字节均采用查询方式;⑵8251接口芯片的端口地址:命令状态口=FFE1h,数据口=FFE0h;⑶设置方式字:异步方式,8个数据位,1位起始位,1个停止位,波特率因子为16。

⑷TXC、RXC时钟速率一致,可选速率F:38.4KHz、76.8KHz、153.6KHz、307.2KHz,波特率bps=TXC÷16,相应可选bps:2400、4800、9600、19200。

四、程序流程五、实验电路六、实验步骤1、实验连线⑴连接138译码输入端A.B.C,其中A连A2,B连A3,C连A4,138使能控制输入端G与总线单元上方的GS相连。

⑵将8251串行通信单元的T/RXC与分频单元的T6相连,CLK与分频单元的T0相连,8251CS与译码单元的Y0相连,将8251串行通信单元RXD与TXD相连。

⑶用8芯扁平电缆将8251串行通信单元的数据总线插座与数据总线单元任一插座相连。

2、LED环境⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。

⑵在4000~400Fh内存单元中填入16个数据。

⑶在“P.”状态下键入35C0,然后按“EXEC”进入实验项目的运行。

3、PC环境在与PC联机状态下,编译、连接、下载PH88\he11.asm,用连续方式运行程序。

4、观察运行结果在连续运行下,8251开始将4000~400Fh内存单元的数据发送串行口,再从串行口接收数据并存到5000~500Fh内存单元,当LED显示“P.”则表示操作完成。

用复位命令结束程序,检查5000~500Fh内存单元的数据,应与4000~400Fh一致。

硬件实验报告 串行通信 8251A

串行通信18027412 杨滢齐一、实验目的1.了解串行通信的基本原理;2.掌握串行接口芯片8251 或8250 的工作原理和编程方法。

二、实验仪器与材料1.Proteus 仿真软件2.PC 微机1 台三、实验内容根据上面提供的实验电路,补画U6,U8 两片电路缺少的连线。

然后根据自己画的连线图,为8086 编写汇编程序,实现利用8251 向超级终端(标号为GET)发送字符串,实现串行通讯。

字符串不少于20 个字符,内容自定。

四、实验提示1.8251初始化为异步通讯方式,1位停止位,无校验,8位数据,波特率因子为1。

2.超级终端也要设置的与8251相同(在超级终端图标上右击鼠标,选Edit……),其中的波特率可以自己设定,比如9600。

3.图上的时钟发生器用来为8251 提供发送/接收时钟,根据波特率,波特率因子,发送/接收时钟三者之间的关系,当波特率因子为1时,发送/接收时钟与波特率是相同的,因此,如果在第2步,你设置波特率为9600,那么时钟也要设定为9600Hz(图标上右击鼠标,选Edit……)。

4.U6(74HC138)和U8(8251A )的连线决定了8251占用的地址,请自己设定。

5.建议的程序流程图如下: 异步,1位停止位i ,无校验,8位数据,波特率因子为18251操作字 清除错误,能收能发 N五、实验预习要求 1.复习串行通信的特点和 8251 或 8250 的编程方法。

2.根据实验内容和实验提示编写实验程序。

六、实验习题与思考1. 若发送的字符进行偶校验,程序如何编写?;====================================================================; Main.asm file generated by New Project wizard;; Created: 周日 5月 24 2020; Processor: 8086; Compiler: MASM32;; Before starting simulation set Internal Memory Size; in the 8086 model properties to 0x10000;====================================================================开始 发完结束设定字符串指针设定计数初值 读 8251 状态字8251 控制字计数减一循环发送一个字符是否能发送YDATA SEGMENTDA1 DW 20HTABEL1 DB 'beijing university of technology' PTCON EQU 26HPTDATA EQU 24HDATA ENDSCODE SEGMENT PUBLIC 'CODE'ASSUME CS:CODE, DS:DATASTART:MOV AL, 00HMOV DX, PTCONOUT DX, ALOUT DX, ALOUT DX, ALMOV AL, 40HOUT DX, ALMOV AL, 7DH ; 模式控制字MOV DX, PTCONOUT DX, ALMOV AL, 37H ; 操作控制字OUT DX, ALMOV AX, DATAMOV DS, AXMOV DI, OFFSET TABEL1MOV CX, DA1NEXT:MOV DX, PTCON ; 查询TxRDY是否有效IN AL, DXAND AL, 01HJZ NEXT ; TXRDY=0,发送没准备好MOV DX, PTDATAMOV AL, [DI]OUT DX, ALINC DILOOP NEXTENDLESS:JMP ENDLESSCODE ENDSEND START2.若从超级终端接收一个字符(在超级终端的窗口键入一个字符),将接收到的字符的ASCII码加1,再发送回超级终端显示。

微机接口原理--实验四 8251串行收发实验报告要求

实验四 8251串行收发实验一、实验目的1. 掌握8251芯片结构、工作原理和编程方法2. 了解实现串行通讯的硬件环境,数据格式的协议,数据交换的协议3. 了解PC机通讯的编程方法二、实验原理1. 8251芯片的工作原理2. 同步通信与异步通信的特点3. 串行通信接口的基本任务三、实验内容与要求1. 根据空间配置的原理,掌握获得PCI 设备配置的方法,并获得当前PCI卡扩展I/O 的起始地址;2. 理解8251串行收发原理,在 Borland C3.1环境下输入附录中的程序,程序运行结果为8251将“123456”以9600 波特率发送出去,同时8251 自己收回,PC 机屏幕上显示“123456”,按‘Esc’键时退出,按键盘其他键显示“123456”;3. 将扩展通讯口的8251TXD(发送口)和8251RXD(接收口)和相邻实验箱上的扩展通讯口的8251RXD(接收口)和8251TXD(发送口)交叉连接,并连接信号地(GND)。

修改源程序,按PC 机键盘的键,将其键码以9600 波特率发送出去,在与相邻实验箱连接的PC机上显示。

即在相邻的A、B两PC机之间进行串行通信,A、B两机可同时发送或接收对方的用PC机键盘输入的信息。

当用户按‘Esc’键时退出;4. 带着讲义中的思考题,在Borland C 3.1 环境下调试程序,观察运行结果。

四、实验步骤1.根据实验原理中的实验连线,将扩展通讯口移去XC28 上的4个短路套,扩展通讯口的8251TXD和扩展通讯口的8251RXD相连接;2. 在Borland C3.1环境下输入程序,观察PC机上的显示,调试修改程序,得到结果;3. 关闭实验箱和PC机电源,将实验箱连线整理好。

五、实验报告1. 画出所编程序的流程图;2. 给出实验内容3中程序修改部分的源代码;3. 认真回答思考题,并附在实验报告里。

六、思考题1. 程序中波特率为9600 bit/s是怎么得到的?波特率的大小说明什么?2. 简述8251芯片工作原理。

8251A串行通信实验

8251A串行通信实验8251A串行通信实验xxxxxxxxxxx一、实验目的1.理解一部串行通信的基本原理;2.掌握可编程串行接口芯片8251的工作原理和编程方法。

二、实验内容1.异步串行自发自收实验(1)使用8251A发送固定二进制数再接收回来,将收到的数加1后显示在LED上。

(2)通信协议:异步,波特率为4800bps,波特因子为16,8位数据位,1位停止位,无奇偶校验;(3)采用查询方式实现。

2.RS-232通信实验:(1)PC机与试验箱通过串行进行通信,PC 机向实验箱发送字符,实验箱上的8521A接收到字符后再原样发回PC机;(2)通讯协议自定;(3)采用中断方式实现。

三、实验环境1.硬件:GX-8000实验箱,USB电缆,自锁紧导线;2.软件:icode集成开发环境。

四、实验提示1. 异步串行自发自收实验(1)8251A是一个28管脚的双列直插芯片,插在实验箱的40脚自锁紧通用插座上,实验中需用导线手动连接包括电源、地、数据总线、时钟信号、发送线、接收线在内的所需要的所有线路。

参考连线如图3.18所示。

(2)参考程序流程图如图3.19所示:(3)在对8251A进行初始化操作前必须确保其可靠复位,方法是:向8251A控制口连续写入三个0,然后再写入复位命令字40H。

注意:对8251A的控制口进行一次写操作,需要16个时钟信号的写恢复时间。

参考代码如下:其中,DELAY用于实现延时,其定义如下:(4)在程序设计过程中,可以使用单步调试,通过观察程序运行过程中寄存器值的变化调试程序错误,也可以进一步理解8251A 的控制原理。

(5)程序如下:DATA SEGMENT ;数据段DATA ENDSCODE SEGMENT ;代码段ASSUME CS:CODE,DS:DATASTART: MOV DX,28BH ;初始化8253MOV AL,00010110BOUT DX,ALMOV DX,288HMOV AX,13OUT DX,ALMOV AL,80H ;初始化8255MOV DX,283HOUT DX,ALMOV DX,299H ;8251A的控制口地址MOV AL,0OUT DX,AL ;想8251A的控制口写0CALL DELAY ;延时MOV AL,0OUT DX,AL ;想8251A的控制口写0CALL DELAYMOV AL,0OUT DX,AL ;向8251A的控制口写0CALL DELAYMOV AL,40H 写复位命令OUT DX,ALCALL DELAYMOV DX,299H ;初始化8251MOV AL,01001110BOUT DX,ALCALL DELAYMOV DX,299HMOV AL,00010111BOUT DX,ALCALL DELAYMOV DI,3000H ;指针初值MOV CX,000AH ;接收数据个数A1: MOV DX,299HIN AL,DX ;TxRDY=1?TEST AL,01HJZ A1MOV DX,298HIN AL,DX ;8251数据口读入数据MOV DX,CXMOV CL,9 ;发送数MOV AL,CLOUT DX,ALMOV DX,299HA2: IN AL,DX ;RxRDY=1?TEST AL,02HJZ A2MOV DX,298HIN AL,DXINC CLMOV DX,280HMOV AL,CLOUT DX,ALJMP A1DELAY PROCMOV CX,02HLOOP $RET DELAYENDPCODE ENDSEND START2. RS-232通信试验(1)8251A要实现与PC通信,需要通过RS-232模块将TTL电平信号转换为RS-232电平信号。

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