接口实验指导书(7)

2019-05-18 19:44

实验六 8251A串行口实验

一、实验目的:

1.了解串行通信的一般原理和8251A的工作原理。

2.初步了解RS-232串行接口标准及与TTL电路的连接方法。 3.掌握8251A编程方法。 二、实验内容:

通过8251串行口实现双机通信。 1.实验线路如下:

电路图说明:

·TXC和RXC分别为8251A的发送时钟和接收时钟,由片外8253的OUT2提供。

·CS端接208H-20FH。

·RXRDY端接IRQ2端,由此端向PC/XT主机发送中断请求。

·CTS端必须接低电平,8251A才可向外发送数据,其它回答信号RTS、DTR、DSR可不用。

2.编写程序,使得在主机键盘敲入的字符显示在终端机屏幕上;在终端机键盘上敲入字符显示在主机屏幕上。串行通讯波特率可选1200BPS、4800BPS;主机发送数据用查询方式;主机接收数据用查询方式或中断方式。 三、程序框图

1. 主机发送接、收字节均采用查询方式。 定时器初值计算公式: FDK2 定时器2初值= BPS*波特率因子

31

FDK2 8253定时器2的时钟频率。 BPS 8251A和终端机之间数据传送的波特率。 波特率因子 在8251A初始化时编程设定。

2.在主机发送数据采用查询方式,接受数据采用中断方式时,与1的区别在于: ·需要8251A的RXRDY管脚接PC/XT总线的IRQ2端,且要在主机接受数据前,设置0AH中断的向量地址,并清除IRQ2的中断屏蔽位,而在程序退出时,要设置IRQ2的中断屏蔽位为1。

·接收字节时,主程序处于死循环状态;而由中断处理子程序完成接收字节和判断是否返回DOS的工作。详细框图如下:

32

开始 调过程SET-BPS,将8253定时器2设置为模式3,并通过计算,给定时器2赋以正确的初始值 调过程INIT51,初始化8251A为8个数据位,1个停止位,波特率因子为16,无奇偶校验。并使8251A处于允许接收和发送状态。 提示用户:“在主机键盘上输入字符,将显示在终端机屏幕上;键入‘!’,则结束发送过程。” 主机从键盘读入一个字符存入(BL)中 从8251A命令端口取出状态字节装入(AL)中 N 状态字节最低位(TXRDY)为1吗? Y 通过8251A数据端口,主机把(BL)中的字节送出 N 该字节为“!”吗? Y 显示提示信息:“用户在终端机键盘上输入字符,将显示在主机显示器上,用“!”结束程序。” 从8251A控制端口读入状态字节 N 状态字节中RXRDY位为“1”吗? Y 从8251A数据端口读入一个字节 主机将这个字符显示在屏幕上 N 这个字符为“!”吗? 返回到DOS

33

中断处理子程序:

开始 从8251A的数据端口取入一个字节 将此字节显示在微机屏幕上 开中断STI 清除8259A中ISR的标志 接收的字节为“!”吗? N 中断结束IRET 3.可修改程序中BPS00的值,如改为:BPS00 EQU 4800,即可得到在4800BPS下传输数据的程序。

四、程序清单<一> (接收为查询方式): DATA51 EQU 208H ;8251A数据端口地址 CTRL51 EQU 209H ;8251A控制端口地址 TIMER2 EQU 202H ;8253计数器通道2端口地址 TIMCTL EQU 203H ;8253计数器控制端口地址 CLK00 EQU 4770 ;8251A时钟频率为4.77MHZ BPS00 EQU 1200 ;波特率1200 FACTOR EQU 16 ;波特率因子为16 DATA SEGMENT MES1 DB NOW YOU CAN PLAY A KEY ON THE CPU KEYBORD‘,0AH,0DH DB ‘IT WILL DISPLAY ON THE TERMINAL SCREEN!’ 0AH,0DH DB ‘END WITH !’,0AH,0DH, ‘$’ MES2 DB 0AH,0DH,‘NOW YOU CAN PLAY KEY ON THE TERMINAL’,0AH,0DH DB ‘IT WILL DISPLAY ON THE CPU SCREEN!’,0AH, 0DH DB ‘END WITH !’,0AH,0DH,’$’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA INIT51 PROC NEAR ;8251A初始化 MOV DX,CTRL51 ;8251A控制口地址

34

置IRQ2的中断屏蔽位为1,即禁止IRQ2中断 Y 用INT 21H的4CH功能调用返回DOS LL: CHAROUT: GG: INIT51 SET_BPS

XOR

AX,AX MOV CX,03 CALL CHAROUT

LOOP LL

MOV AL,40H CALL CHAROUT MOV AL,4EH CALL CHAROUT MOV AL,27H CALL CHAROUT RET DX,AL PUSH CX

MOV CX,02

LOOP GG POP

CX

RET ENDP PROC NEAR

MOV DX,0

MOV AX,CLK00

MOV BX,1000 MUL BX

MOV BX,BPS00 DIV BX MOV

DX,00 MOV BX,FACTOR DIV BX

MOV BX,AX

MOV DX,TIMCTL MOV

AL,0B6H OUT

DX,AL MOV DX,TIMER2 MOV AX,BX OUT

DX,AL MOV

AL,AH

35

;AX清0 ;复位8251A

;设置模式字,使8251A工作于 异步方式,8个数据位,1个 停止位,波特率因子为16 ;设置控制字启动发送器和接收 器

;子程序,从DX指定端口输出 AL内容

;延时以等待输出完成

;子程序,初始化8253计数器/ 定时器 ;8251A时钟频率

;计算8253计数器通道2的计 数初值,结果送BX

;设置8253的控制字,使其工 作于模式3(方波发生器)

;设置通道2的计数初值,先送 低位,再送高位

OUT


接口实验指导书(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浅论实践教学中的指导环节

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: