微机原理及应用实验指导书(汇编语言)

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

实验一8251A串行通讯

一、实验目的

1.了解串行通讯的基本原理

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

二、实验内容

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

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

三、硬件接线图与程序流程图

硬件连接图:

流程图:

四、实验源程序

DATA SEGMENT

STRING DB 'PLEASE INPUT A CHARACTER:',0DH,0AH,'$' DATA ENDS

STACK SEGMENT STACK 'STACK'

DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

START:MOV AX,DATA

MOV DS,AX

MOV DX,0283H

MOV AL,16H 00010110

OUT DX,AL

MOV DX,0280H; 设置8253A计数器0的初值

MOV AL,34H;

OUT DX,AL

MOV DX,02B9H;初始化8251

MOV AL,40H

CALL OUT1

MOV AL,4EH;01001110方式控制字

CALL OUT1

MOV AL,27H;00100111向8251命令控制字,允许其发送和接收

CALL OUT1

MOV DX,SEG STRING

MOV DS,DX

MOV DX,OFFSET STRING

MOV AH,09H

INT 21H

WAIT1:MOV DX,02B9H

IN AL,DX

TEST AL,01H;发送是否准备好

JZ WAIT1

MOV AH,01H

INT 21H

CMP AL,1BH

JZ EXIT

INC AL

MOV DX,02B8H

OUT DX,AL;发送

MOV CX,0040H

LOP1: LOOP LOP1

NEXT: MOV DX,02B9H

IN AL,DX

TEST AL,02H;检查接收是否准备好

JZ NEXT

MOV DX,02B8H

IN AL,DX;准备好,接收

MOV DL,AL

MOV AH,02H

INT 21H

JMP WAIT1

EXIT: MOV AH,4CH

INT 21H

OUT1 PROC NEAR;向端口输出一字节的子程序

OUT DX,AL

PUSH CX

MOV CX,0040H

LOP2: LOOP LOP2

POP CX

RET

OUT1 ENDP

CODE ENDS

END START

五、实验结果

运行程序,屏幕显示提示输入,输入一个字符后同时显示这个字符的ASCII码值加一的ASCII码所代表的字符,例如输入1,显示2. 六、实验总结

本次试验主要是对串行接口芯片8251的理解与运用。模拟的是

两台计算机之间的通信,所以适合使用异步通信方式。通过这次实验,我学习了串口通信的相关知识,也学习了8251芯片的使用方法。作为串行通信接口,时序是非常重要的,输入输出之间的时间差必须控制得合适,否则就不能正常收发,这可以通过软件编程实现,当时序不符合时,可插入等待时间,即软件延时来解决。实验完成后对8251的工作原理有了更加深入的理解,也对异步通信和同步通信的区别与特点有了更加生动的认识。

实验二8255可编程并行接口(方式0)

一、实验目的

掌握8255方式0的工作原理及使用方法

二、实验内容

(1)实验电路如图6,8255C口接逻辑电平开关K0—K7,A口接LED 显示电路L0—L7

(2)编程从8255C口输入数据,再从A口输出数据

三、源程序:

DATA SEGMENT

DATA ENDS

STACK SEGMENT STACK 'STACK'

DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

START:MOV AX,DATA

MOV DS,AX

MOV DX,28BH;8255初始化,10001001,C口输入,A口输出

MOV AL,89H

OUT DX,AL

LOOP1: MOV DX,28AH;C口输入

IN AL,DX

MOV DX,288H;A口输出

OUT DX,AL

MOV AL,01H

JNT 16H

JNZ EXIT;ZF=0说明有按键输入,故退出

JMP LOOP1

EXIT:MOV AX,4COOH

INT 21H

CODE ENDS

END START

四、实验结果

拨动K0—K7,对应的L0-L7亮,有按键输入则退出

五、实验总结

8255芯片需要设置好控制字,然后进行读写控制操作。

实验三8253可编程定时器/计数器

一、实验目的

掌握8253的基本工作原理和编程方法

二、实验内容

按图7虚线连接电路,将计数器0设置为方式0,计数器初值为N(N ≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。

按图8连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。

相关文档
最新文档