北京交通大学微机原理实验报告

发布时间 : 星期一 文章北京交通大学微机原理实验报告更新完毕开始阅读

push dx

mov ah,06h ;判断是否有键按下 mov dl,0ffh int 21h pop dx

je start ;若没有转START mov ah,4ch ;退出 int 21h

disp proc near ;显示子程序 mov dl,al

cmp dl,9 ;比较DL是否>9

jle ddd ;若不大于则为'0'-'9',加30h为其ASCII码 add dl,7 ;否则为'A'-'F',再加7 ddd: add dl,30h ;显示 mov ah,02 int 21h ret

disp endp code ends end start

五、串行通讯

一、实验目的

1、 进一步了解串行通信的基本原理。

2、 掌握串行接口芯片8250的工作原理和编程方法。 3、 熟悉PC机串行口的基本连接方法

二、实验内容

1、PC机RS-232串口自发自收。

按照PC机串口自发自收的连接方法连线。编写PC机自发自收串行通信程序,要求:从键盘输入一个字符,将字符通过串口发送出去,再由此串口将字符接收回来并在屏幕上显示,实现自发自收。 2、 两台PC机间RS-232串口通信。

按照PC机RS-232串口直接互连的方法连接两台PC机。 编写PC机直接互连串行通信程序;要求:由甲机键盘键入字符经串口发送给乙机,再由乙机通过串口接收字符并显示在屏幕上。当键入感叹号“!”,结束收发过程。

21

三.实验原理

1)本实验为异步通信:以字符为单位进行传送,每传送一个字符,以起始位作为开始标志,以停止位作为结束标志。

异步串行通信的工作过程是:传送开始后,接收设备不断地检测传输线是否有起始位到来,当接收到一系列的“1”(空闲或停止位)之后,检测到第一个“0”,说明起始位出现,就开始接收所规定的数据位、奇偶校验位及停止位。经过接收器处理,将停止位去掉,把数据位拼装成一字节数据,并且经奇偶校验无错误,才算是正确地接收到了一个字符。当一个字符接收完毕,接收设备又继续测试传输线,监视“0”电平的到来(下一个字符的开始),直到全部数据接收完毕。

帧 Dn?D0 D1 数据位 起 空闲位 始 位 奇 偶 校验位 停 止 位 空闲位

2)8250各部分功能说明

8250片内有10个寄存器,其中有几个是共用地址的,其识别由线路控制寄存器(LCR)的最高位DLAB来决定。各寄存器的地址和格式如下所示:.

22

3)数据发送和接收:

四.程序清单 1.自发自收

DATA SEGMENT CHL

STACK1 SEGMENT STACK DW 100 DUP(0) STACK1 ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATA MOV DS,AX

;--------------INIT----------------

23

DB 0AH,0DH,'$' ;换行字符串

DATA ENDS

MOV DX,3FBH ; MOV AL,80H ;DLAB=1

OUT DX,AL

MOV AX,0CH ;N=12 BAUD=9600bps MOV DX,3F8H ;低位

MOV AL,AH INC DX

OUT DX,AL

OUT DX,AL

MOV AL,03H ;八位数据,1停止,无校验 MOV DX,3FBH ;线路控制REG

OUT DX,AL

MOV AL,0 ;屏蔽全部中断 MOV DX,3F9H

OUT DX,AL

WAIT1: MOV DX,3FDH ;读线路状态寄存器

CHAR: PUSH AX

MOV DL,AL MOV AH,02H INT 21H

MOV DX,OFFSET CHL;输出字符串换行 MOV AH,09H

24

IN AL,DX

TEST AL,1EH ;判断是否有错 JNZ ERROR

TEST AL,01H ;判断是否收到 JNZ RECEIVE

TEST AL,20H ;判断发送端是否空 JZ WAIT1

MOV DL,0FFH ;六号功能调用读入待发送数据 MOV AH,06H INT 21H JZ WAIT1

MOV DX,3F8H ;写发送REG OUT DX,AL JMP WAIT1

;返回 WAIT1

;显示接收

联系合同范文客服:xxxxx#qq.com(#替换为@)