8251串行通讯实验

合集下载

串行接口应用实验

串行接口应用实验

(一)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可编程串行口与PC机通信实验一、实验要求利用实验箱内的8251A芯片,实现与PC机的通信。

二、实验目的1.掌握8251A芯片结构和编程方法;2.了解实现串行通信的硬件环境,数据格式和数据交换协议;3.了解PC机通信的基本要求。

三、实验原理(一)8251A芯片工作方式配置:1. 8个数据位;2.无奇偶校验位;3.1个停止位;4.波特率因子设为16;5. 波特率设为9600。

(二)8251A主要寄存器说明图4-1 模式字图4-2 命令字CO MMAN D I NSTR UCT ION FO RMA T图4-3 状态字(三)8251编程对8251 的编程就是对8251 的寄存器的操作,下面分别给出8251 的几个寄存器的格式。

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

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

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

图4-5命令控制字说明(3)状态字CPU 通过状态字来了解8251 当前的工作状态,以决定下一步的操作,8251 的状态字如图4-6所示。

图4-6 状态字说明四、实验电路连接:1.CS8251接228H,CS8279已固定接至238H;2.扩展通信口18中的232RXD连8251RXD ,232TXD连8251TXD;3.计算机的两个RS232通信口,一个连至仿真机通信口,一个连至扩展通信口18(所有通信口均为DB9)。

注意:RS232通信口必须在设备断电状态下插拔!图4-7 连线图五、实验内容及要求1. 将例程从PDF文档中导入到WMD86软件编辑环境中,调试通过。

使用软件自带的示波器,观察Txd管脚的输出,验证结果的正确性。

将结果截图保存,贴入实验报告。

深圳大学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的工作方式和编程方法。

二、实验内容利用本实验系统内的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一致。

8251串行通信实验

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信号上的数据传输格式。

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

硬件实验报告 串行通信 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串行收发实验报告要求

实验四 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芯片工作原理。

微机接口 8251串口实验报告

微机接口 8251串口实验报告

浙江工业大学计算机学院实验报告实验名称 8251串行接口姓名学号班级教师日期一、实验内容与要求1.1 实验内容了解串行通信接口的工作原理和工作过程,掌握编写初始化程序和通信程序的方法。

设计实验电路,编写实验程序,使实现从键盘输入“a”到“z”范围的字母,将其ASCII码加四后串行发送出去,再从串行口接收回来在屏幕上显示(若输入“w”、“x”、“y”、“z”,则分别显示“a”、“b”、“c”、“d”),实现自发自收。

1.2 实验要求(1)具有一定的汇编编程的基础,实验前能根据实验要求画出实验流程图,同时写出其所对应代码;(2)要了解8251A中断控制器的内部结构和外部引脚,理解芯片的工作原理和工作过程。

熟悉8251A芯片的命令字,能对其进行编程;(3)了解8253A定时/计数器,知道如何通过其计数器产生发送和接收时钟;(4)熟悉实验平台TPC-USB了解各个接口的名称与功能,进行实验时能快速并正确地连接好实验电路;(5)连接PC与TPC-USB平台,用微机实验软件运行程序。

在屏幕上显示提示信息“Pleaseinput a letter!”,从键盘输入“a”到“z”范围的字母,将其ASCII码加四后串行发送出去,再从串行口接收回来在屏幕上显示。

若输入“w”“x”、“y”、“z”,则分别显示“a”、“b”、“c”、“d”;若输入Esc,则退出程序。

二、实验原理与硬件连线2.1 实验原理(1)8251A的内部结构:图1 8251的内部结构图发送器:▲发送缓冲器+ 发送移位寄存器+ 发送控制电路。

发送控制电路用来控制和管理发送过程。

在其控制下,发送缓冲器将来自CPU的并行数据串行化,通过TxD发送出去。

▲异步方式:控制电路在数据帧中加上起始、校验和停止位。

▲同步方式:控制电路在数据帧中插入同步字符和校验位。

同步方式发送过程中,两字符间不允许有间隔。

若CPU未及时提供新字符,则控制电路自动补上同步字符。

接收器:▲接收缓冲器+ 接收移位寄存器+ 接收控制电路。

8251串行接口应用实验

8251串行接口应用实验
8251A是Intel公司的产品,具有同步、异步接受或发送 的功能,使用单+5V电源的单相时钟,其功能是:
① 同步或异步方式下,字符位数5-8个; ② 同步传输率0-64K,异步传输率为0-19.2K; ③ 异步传输时,自动产生1个起始位,编程可产生1个或1个半
或2个停止位; ④ 具有奇偶错、数据丢失和帧错误检测能力; ⑤ 同步方式时,可自动检测,插入同步字符。
1、硬件连线设计 2、分析源程序
注意模式字和控制字的书写流程。
3、波形图各控制位和数据位(波形图1、波形图2)
注意数据位的低位在前,高位在后。
18
六、思考题
1. 8251有几种工作方式,其数据格式如何? 2. 8251对收发时钟有何特殊要求?
19
+5V

统 总 OPCLK 线 (1.19MHZ)
5
图1 8251A的内部工作原理 6
图2 8251A 模式寄存器的格式
7
图3 8251A 控制寄存器的格式
8
图4 8251A 状态寄存器的格式
9
图5 8251A 初始化流程
10
三、实验原理介绍
2、系统中的8251芯片介绍 系统中装有一片8251芯片,并和标准RS-232C接
口相连好。在系统中该电路用来完成同PC微机的 联机以及串行监控操作的实现。 端口地址为:
四、实验要求及实验步骤
2、 8251串行接口应用实验步骤:
1)按照实验要求自行设计硬件电路并连线,将8251的输出接 到模拟示波器上;
2)编写实验程序并检查无误,经汇编、连接后装入系统; 3)运行程序,在示波器上观察数据波形并进行分析; 4)改变发送的数据,运行程序,观察相应的波形。

实验4_8251串口实验(实验准备)

实验4_8251串口实验(实验准备)

奇偶校验 ×0=无校验 0=无校验 01=奇校验 01=奇校验 11=偶校验 11=偶校验
字符长度 00=5位 00=5位 01=6位 01=6位 10=7位 10=7位 11=8位 11=8位
波特因子 00 = 同步 01=× 01=×1 10=× 10=×16 异步 11=× 11=×64
异步通信中,若帧数据格式为:波特率因数是16 16, 例1:异步通信中,若帧数据格式为:波特率因数是16, 字符长度8 字符长度8位,奇校验, 2位停止位,则工作字是: 奇校验, 位停止位,则工作字是:
基本概念
1.单向通信(单工)
甲方
发送
乙方
接收
2.半双工(Half Duplex,双向传送)
使用同一根传输线,既可发送数据又可接收数据, 使用同一根传输线,既可发送数据又可接收数据,但不能 同时发送和接收. 同时发送和接收.
发送
甲方
接收
乙方
特点: 每端需有一个收/ 特点:①每端需有一个收/发切换电子开关 因有切换, ②因有切换,会产生时间延迟
串行接口标准
一、EIA-RS-232接口标准 美国EIA(电子工业联合会)与BELL等开发, 1969年公布,适合的数传率:0~20Kbps。 ~ 1.电气特性 逻辑电平、各种信号线的功能 逻辑 “1”=-3V~-15V ~ “0”=+3V~+15V ~ TTL/EIA电平转换器,如MC1488,MC1489。 ,
Universal Synchronous/Asynchronous Receiver and Transmitter
功能: 1. 功能:异步起止协议 同步面向字符协议 组成: 2. 组成: 接收器、发送器、调制控制、 接收器、发送器、调制控制、 写控制、 读/写控制、数据总线缓冲器

8251可编程串行接口实验

8251可编程串行接口实验

集美大学计算机工程学院实验报告课程名称微机系统与接口技术实验名称实验四8251可编程串行接口实验实验类型设计型姓名学号日期地点成绩教师第1页共8页1. 实验目的及内容 1.1实验目的1、了解8251的内部结构、工作原理及与8086的接口逻辑;2、掌握8251的初始化编程方法,学会使用8251实现设备之间的串行通信。

1.2实验内容1)设计8251与8086CPU 的硬件连接图,分配8251的基地址为0FF00H 。

8251的CLK 引脚需接4MHZ 的时钟。

2)设计8251的硬件连接及编写程序,实现自发自收。

把内存中的字符串,依次传送出去,并接收回来,然后把接收回来的字符显示在LED 上。

使用8253作分频器提供8251的收发时钟,并给出程序流程图。

3)计算你所设计的串行通信的波特率为多少?本次设计实验中,我所设计的通信的波特率为19200,波特率因子为16。

4)设计8251的硬件连接及编写程序,实现从PC 机的串行通信测试软件向8251发送一批数据,8251接收完数据之后,再将数据依次发送回去。

使用8253作分频器提供8251的收发时钟,并给出程序流程图。

2. 实验环境星研电子软件,STAR 系列实验仪一套、PC 机一台、导线若干3. 实验方法8251是通用同步/异步接收发送器,可用作CPU 和串行外设的接口电路,它的工作各种工作方式及工作进程都是用初始化及实时控制实现的,编程时,方式指令紧接在复位后由CPU 写入,用来定义8251A 的一般工作特性;在写入方式指令的前提下由CPU 写入同步字符和命令指令用来指定芯片的实际操作。

根据实验要求,需完成一下两个方面的问题:(1)8253对收发时钟的分频。

8253的CLK 接频率发生器的2MHZ ,初值赋给104,得到收发时钟为19200HZ 。

(2)利用8251实现自发自收。

8251的方式命令字:停止位为1,产生偶校验,字符长度为8位,波特率因子为16位;命令指令字:出错标志复位,允许发送,允许接收。

实验十四串行通讯

实验十四串行通讯

实验十四串行通讯--04(3)班唐冬子(11号)一、实验目的1、了解串行通讯的基本原理。

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

二、实验内容1、按图43连接好电路,(8251插通用插座)其中8253计数器用于产生8251的发送和接收时钟,TXD和RXD连在一起。

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

三、算法、流程图与源代码算法:初始化8253和8251 ,读8251状态字,键入字符ASC码加1通过8251数据端口发送到8251,从8251读数据,将字符显示在屏幕。

流程图与源代码:DATA SEGMENTIOPORT EQU 0C800H-280HIO8253A EQU IOPORT+280HIO8253B EQU IOPORT+283HIO8251A EQU IOPORT+2b8HIO8251B EQU IOPORT+2B9HMES DB 'PLEASE INPUT A CHARACTOR:',0DH,0AH,24HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DX,IO8253B ;设置8253计数器0工作方式 MOV AL,00010110BOUT DX,ALMOV DX,IO8253AMOV AL,60 ;给8253计数器0送初值OUT DX,ALMOV DX,IO8251B ;复位之前先给两次控制字 MOV AL,01001110BOUT DX,ALMOV AL,00100111BOUT DX,ALMOV DX,IO8251B ;初始化8251MOV AL,01000000B ;复位OUT DX,ALMOV AL,01001110B ;设置控制方式OUT DX,ALMOV AL,00100111B ;向8251送控制字OUT DX,ALMOV SI,OFFSET MESAGAIN: MOV DL,[SI] ;显示提示信息INC SIMOV AH,2INT 21HCMP AL,24HJNZ AGAINWAIT0: MOV DX,IO8251BIN AL,DXTEST AL,01H ;发送是否准备好JZ WAIT0MOV AH,1 ;是,从键盘上读一字符INT 21HCMP AL,1BH ;若为ESC,结束JZ EXITMOV DX,IO8251BINC ALOUT DX,AL ;发送WAIT1: MOV DX,IO8251BIN AL,DXTEST AL,02H ;检查接收是否准备好JZ WAIT1 ;没有,等待MOV DX,IO8251AIN AL,DX ;准备好,接收MOV DL,ALMOV AH,2 ;将接收到的字符显示在屏幕上INT 21HMOV DL,0DHMOV AH,2INT 21HMOV DL,0AHMOV AH,2INT 21HJMP WAIT0EXIT: MOV AH,4CH ;退出INT 21HCODE ENDSEND START四、调试过程按照实验要求接线,连接硬件电路图,在DOS环境下做这个实验,编辑文件+编译ASM+连接OBJ+执行EXE,然后屏幕出现提示符:PLEASE INPUT A CHARACTOR:在键盘上输入任何字符(除ESC)都会在屏幕上显示这个字符和比这个字符对应的ASCII 码值大1的字符。

实验四 8251 串行通信实验

实验四 8251 串行通信实验

实验四8251串行通信实验一、实验目的1.了解串行通信的一般原理和8251A的工作原理。

2.初步了解RS-232串行接口标准与TTL电路的连接方法。

3.掌握8251A编程方法。

二、实验内容(1)利用实验机内的8253芯片的分频作为8251的收发时钟频率。

(2)利用实验机内小键盘,每按动一次任意一个数字键,就把该键值通过8251发送给PC 机接收,并在PC机屏幕上显示出该键值。

三、实验接线图(1) TxCLK 和RxCLK 是8251 的发送时钟和接收时钟,由8253 的OUT1提供。

(2) 8251 片选信号CS 由GAL2译码器输出,地址为3F8~3FFH。

(3) CTS 端必须接“0”电平,8251 才可对外发送数据。

(4) RxRDY 和TxRDY 是收、发就绪信号,采用中断方式时可作中断申请信号,本系统采用查询方式通信,这两个信号不用。

四、编程指南本程序是串行发送程序,采用查询方式通信,要完成收发通信实验,需要两台实验仪器,其中1台为串行发送,即运行8251串行通信实验一程序,另一台为串行接收,即运行8251串行通信实验二程序。

实验时,发送机把由键盘输入的数字显示于接收机的显示器上。

(只允许0~F这些数字)仪器对8251的初始化工作在监控程序中已先行完成。

(1)8251状态口地址:03F9H,8251数据口地址:03F8H;(2)8253控制口地址:43H,8253计数器#1口地址:41H;(3)8255控制口地址:0FF23H,字位口:0FF20H,键入口PC:0FF22H,字形口PB:0FF21H;(4)通讯约定:异步方式,字符8位,一个起始位,一个停止位,波特率因子为16,波特率为9600;(5)计算T/RXC,收发时钟fc,fc=16*9600=153.6K;(6)8253分频系数:1843.2K / 153.6K=12。

五、实验步骤1.准备好2 台实验仪器,确定1#机发送,2#机接收。

微机接口原理--实验四 8251串行收发实验

微机接口原理--实验四 8251串行收发实验

已置位,即已准备好)在屏幕上显示字符。若是ESC键,
(0x1b),退出。
提示:在程序中涉及的函数,getch(),putch()。
读/写控制信号— RD ,读信号为低电平时,通知 8251,CPU当前正从8251读取数据或者状态信息。WR 写信 号,为低电平时,通知8251,CPU当前正在往8251写入数 据或者控制信息。 C / D 控制/数据信号, 也是CPU送往 8251的信号,用来区分当前读写的是数据还是控制信息或状 态信息。
② 8251与外部设备之间的信号连接
DTR (Data Terminal Ready )数据终端准备好信号, 是由8251送往外设的,CPU通过命令可以使它变为低电平,从 而通知外部设备,CPU当前已经准备就绪。
DSR (Data Set Ready )数据设备准备好信号,是由外设 送往8251的,低电平时有效,表示当前外设已经准备好。当它出 现低电平时,会在8251的状态寄存器第7位上反映出来,所以, CPU通过对状态寄存器的读取操作,便可以实现对/DSR信号的 检测。 RTS (Request To Send )请求发送信号,是8251送往外 设,低电平时有效,CPU可以通过编程命令使之变为有效电平, 以表示CPU已经准备好发送。 CTS (Clear To Send)清除请求发送信号,是对RTS的 响应信号,它是由外设送往8251的,为低电平时,8251才能执 行发送操作。
② 波特率
串行通信的信号常常通过调制解调器进行传输, 在调制器、通信线路、解调器之间,用单位时 间内电信号变化的数目来描述传输的速度称之 为波特率。一般串行异步通行的传送速度为 50~19200波特,串行同步通信的传送速度可 达500千波特。 波特率与数字信号传输率的关系:

8251实验报告

8251实验报告

8251实验报告8251实验报告引言:在计算机科学领域,串行通信是一种常见的数据传输方式。

为了实现串行通信,我们需要使用串行通信接口芯片。

8251是一种常用的串行通信接口芯片,本实验旨在通过对8251的实验研究,深入了解串行通信的原理和应用。

一、实验目的本实验的主要目的是掌握8251的工作原理和使用方法,了解串行通信的基本概念和应用场景。

二、实验原理8251是一种通用的串行通信接口芯片,它可以实现计算机与外部设备之间的串行数据传输。

该芯片具有发送和接收两个功能模块,通过与计算机的接口进行数据交换,实现串行通信的功能。

三、实验步骤1. 连接实验所需设备:将8251芯片与计算机、外部设备进行连接,确保电路连接正确无误。

2. 配置8251芯片:通过设置芯片的控制寄存器,配置芯片的工作模式和参数。

3. 编写测试程序:使用汇编语言编写测试程序,通过向8251芯片发送数据,观察数据的接收情况。

4. 运行测试程序:将编写好的测试程序加载到计算机中,运行程序并观察结果。

5. 分析实验结果:根据实验结果,分析8251芯片的工作状态和数据传输情况。

四、实验结果与分析经过实验测试,我们可以观察到数据的发送和接收情况。

通过分析实验结果,我们可以了解到8251芯片的工作状态和数据传输的效果。

如果数据能够正确发送和接收,说明8251芯片的工作正常;如果数据发送或接收出现错误,可能是芯片配置错误或者电路连接有问题。

五、实验总结通过本次实验,我们深入了解了8251芯片的工作原理和使用方法,掌握了串行通信的基本概念和应用场景。

实验过程中,我们遇到了一些问题,但通过分析和解决,最终成功完成了实验目标。

通过实验,我们不仅提高了对8251芯片的理解,还加深了对串行通信的认识。

六、实验改进在实验过程中,我们发现一些可以改进的地方。

首先,我们可以尝试使用不同的测试程序,测试不同的数据传输情况,以获得更全面的实验结果。

其次,我们可以进一步研究8251芯片的高级功能和应用,拓展实验的深度和广度。

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

郑州科技学院《微机原理与接口技术》课程设计题目8251串行通讯实验学生姓名专业班目录1 引言 (1)2 设计方案与论证 (1)2.1 设计内容 (1)2.2 设计要求 (2)2.3 设计框图 (2)3 设计原理及功能 (2)3.1 8251的基本性能 (2)3.2 8251的内部结构及外部引脚 (2)3.3 软件 (3)3.3.1 流程图 (3)3.3.2 主程序 (4)4 单元电路的设计 (5)4.1 电路图 (5)4.2 电路说明 (5)4.3 8251概述 (6)4.4 8251的内部结构 (6)5 系统调试与结果测试 (8)5.1 调试 (8)5.2 程序结果测试 (9)6 总结 (10)参考文献 (11)附录1:总体电路原理图 (12)附录2 程序 (13)附录3:实验原器件清单 (15)1 引言通过对微机系统分析和具体设计,使学生加深对所学课程的理解,掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法,培养学生分析问题、解决问题的能力,培养学生对微型计算机应用系统的基本设计能力,提高学生的实践动手能力和创新能力。

从《微型计算机原理》中,我懂得了微机设计的基本原理,学会了微机的基本知识和内容,知道了其中的基本操作。

另外,我从《微型计算机原理与应用》中知道了在微机实验中如何应用的,并且学到了以前没有学到的知识。

在微机原理及应用课程中学过了微机各个基本组成模块的原理和编程技术,在实验室现有的设备情况下,设计一个具有一定功能的应用系统,达到对知识的深入理解和融会贯通,培养动手能力、实践能力以及团队合作的精神。

2 设计方案与论证2.1 设计内容连接好电路,(8251插通用插座)其中8253计数器用于产生8251的发送和接收时钟,TXD和RXD连在一起。

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

2.2 设计要求8253计数器的计数初值=时钟频率/(波特率*波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特率因子若选16,这计数器初值52.2.3 设计框图3 设计原理及功能3.1 8251的基本性能8251是可编程的串行通信接口,可以管理信号变化范围很大的串行数据通信。

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

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

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

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

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

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

3.2 8251的内部结构及外部引脚8251有7个主要部分,即数据总线缓冲器、读/写控制逻辑电路、调制/解调控制电路、发送缓冲器、发送控制电路、接收缓冲器和接收控制电路,每个部分还有对外的引脚。

8251共有28个外部引脚,每个引脚信号的输入输出方式不同。

根据第一个实验的两个程序设计出8251串口自发自收实验的实验程序,可参考双机通讯实验的两个程序的格式。

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

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

3.3 软件3.3.1 流程图3.3.2 主程序mov 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 out1loop delaymov al,40h ;向8251控制端口送40H,使其复位call out1mov al,4eh ;设置为1个停止位,8个数据位,波特率因子为16 call out1mov al,27h ;向8251送控制字允许其发送和接收call out1lds dx,mes2 ;显示提示信息mov ah,09int 21hwaiti: mov dx,io8251bin al,dxtest al,01 ;发送是否准备好jz waitimov ah,01 ;是,从键盘上读一字符int 21hcmp al,27 ;若为ESC,结束jz exitmov dx,io8251ainc alout dx,al ;发送mov cx,0F00h4 单元电路的设计4.1 电路图图 5-14.2 电路说明该电路图采用了串联的方式,运用了8253和8251,8253 是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V 单电源供电。

8253具有延时中断;可编程频率发生器;事件计数器;二进制倍频器;实时时钟;数字单稳复杂的电机控制器。

8253有计数结束中断;可编程频率发生;频率发生器;方波频率发生器;软件触发的选通信号;硬件触发的选通信号六种方式。

4.3 8251概述Intel 公司的8251 是可编程串行通信接口集成电路,可工作于同步或异步方式,并可指定为半双工或全双工工作方式,同时也可确定字符位数、奇偶校验和异步时钟频率。

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

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

图5-4 内部结构图图5-5外部引脚图5 系统调试与结果测试5.1 调试为了进一步了解系统的工作过程,这里介绍一下系统的调试过程。

(1)首先根据电路图连接好如图7-1。

(2)在PC机上敲入程序,并对其进行的查错,编译,连接,最后生成可执行文件。

(3)将试验箱接入电源,运行程序。

图5-15.2 程序结果测试(1)8253计数器的计数初值=时钟频率/(波特率*波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特率因子若选16,这计数器初值52.(2)收发采用查询方式。

图5-26 总结课程设计是培养我们综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察过程。

在这次的课程设计中,我深深地认识到理论联系实际的重要性。

此次课程设计有两周的时间,在第一周,我们不但在图书馆借了许多的相关资料,并且在网上也下载了一些电子书籍,和同学们一起讨论,遇到不懂的就向老师请教。

从而很快地了解到此次课程设计的内容及要求,并且确定了设计的方案。

在确定了方案之后,本以为会很快的完成设计。

但是,事情远比想象的困难的多。

有时会犯一些简单的原则性错误。

经过多次的检查,源程序编译把错误个个清除。

除此之外,通过这次课程设计,我也学会了当面对困难时我们应该以何种心态。

不论是做实验,还是做课程设计,我们都要有所准备。

俗话说的好“不打无准备之仗”,用到此处是再恰当不过了。

只有做好了充分的准备,才能顺利的完成课程设计。

其实,我们做其他事情也是如此。

参考文献[1] 专著.王忠民.《微型计算机原理》【M】.西安科技大学出版社.2005年5月[2] 专著.王永山.《微型计算机原理与应用》【M】.西安电子科技大学出版社.1991[3] 专著.白中英.《计算机组成原理》【M】.北京科学出版社.2000年[4] 专著.王晓军.《微机原理与接口技术》【M】.北京邮电大学出版社.2001年[5] 专著.吴功宜.《计算机网络教程》【M】,电子工业出版社. 2003 年[6] 专著.吴玲达.《计算机通信原理与技术》【M】.国防大学出版社. 2003年 3 月[7] 专著.张家超. 《计算机网络基础》【M】.中国电力出版社. 2003 年9 月附录1:总体电路原理图附录2 程序data segmentioport equ 1200h-0280hio8253a equ ioport+280hio8253b equ ioport+283hio8251a equ ioport+2b8hio8251b equ ioport+2b9hmes1 db 'you can play a key on the keybord!',0dh,0ah,24hmes2 dd mes1data 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 out1loop delaymov al,40h ;向8251控制端口送40H,使其复位call out1mov al,4eh ;设置为1个停止位,8个数据位,波特率因子为16 call out1mov al,27h ;向8251送控制字允许其发送和接收call out1lds dx,mes2 ;显示提示信息mov ah,09int 21hwaiti: mov dx,io8251bin al,dxtest al,01 ;发送是否准备好jz waitimov ah,01 ;是,从键盘上读一字符int 21hcmp al,27 ;若为ESC,结束jz exitmov dx,io8251ainc alout dx,al ;发送mov cx,0F00hs51: loop s51 ;延时next: mov dx,io8251bin al,dxtest al,02 ;检查接收是否准备好jz next ;没有,等待mov dx,io8251ain al,dx ;准备好,接收mov dl,almov ah,02 ;将接收到的字符显示在屏幕上int 21hjmp waitiexit: mov ah,4ch ;退出int 21hout1 proc near ;向外发送一字节的子程序out dx,alpush cxmov cx,0F00hgg: loop gg ;延时pop cxretout1 endpcode endsend start附录3:实验原器件清单(1)电脑(2)微机原理实验箱(3)8251芯片(4)8253芯片(5)导线若干。

相关文档
最新文档