北交大微机原理实验报告.docx

上传人:b****2 文档编号:2183330 上传时间:2022-10-27 格式:DOCX 页数:21 大小:696.55KB
下载 相关 举报
北交大微机原理实验报告.docx_第1页
第1页 / 共21页
北交大微机原理实验报告.docx_第2页
第2页 / 共21页
北交大微机原理实验报告.docx_第3页
第3页 / 共21页
北交大微机原理实验报告.docx_第4页
第4页 / 共21页
北交大微机原理实验报告.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

北交大微机原理实验报告.docx

《北交大微机原理实验报告.docx》由会员分享,可在线阅读,更多相关《北交大微机原理实验报告.docx(21页珍藏版)》请在冰豆网上搜索。

北交大微机原理实验报告.docx

北交大微机原理实验报告

--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--

 

北交大微机原理实验报告(总22页)

[键入公司名称]

[键入公司名称]

北交大微机原理实验报告

2021年6月

2014/12/21星期日

 

 

 

实验一交通灯控制实验

一、实验目的

掌握8255方式0的工作原理及对并口的使用。

二、实验内容

通过并行接口8255实现十字路口交通灯的模拟控制。

如图L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。

编程使六个灯按交通灯变化规律亮灭。

十字路口交通灯的变化规律要求:

(1)南北路口的绿灯、东西路口的红灯同时亮3秒左右。

(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。

(3)南北路口的红灯、东西路口的绿灯同时亮3秒左右。

(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。

(5)转

(1)重复。

三、程序流程图

四、程序设计

DATASEGMENT

XDB

DATAENDS

STACK1SEGMENTSTACK

DW100HDUP(0)

STACK1ENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK1

START:

MOVAX,DATA

MOVDS,AX

MOVDX,0EC0BH;写控制字

MOVAL,80H;PC0~PC7输出

OUTDX,AL

L0:

MOVDX,0EC0AH

MOVAL,24H;南北绿灯,东西红灯亮

OUTDX,AL

CALLDELAY

CALLDELAY;长延时,3s左右

CALLDELAY

CALLDELAY

CALLDELAY

CALLDELAY

CALLDELAY

MOVBL,8

MOVAL,04H

L1:

XORAL,40H;南北黄灯闪,东西红灯亮

OUTDX,AL

CALLDELAY;延时

CALLDELAY

DECBL;闪烁4次

JNZL1

CALLDELAY

MOVAL,81H;南北红灯亮,东西绿灯亮

OUTDX,AL

CALLDELAY

CALLDELAY

CALLDELAY;长延时,3s左右

CALLDELAY

CALLDELAY

CALLDELAY

CALLDELAY

MOVBL,8

MOVAL,80H

L2:

XORAL,02H;南北红灯亮,东西黄灯闪

OUTDX,AL

CALLDELAY;延时

CALLDELAY

DECBL

JNZL2;闪烁4次

CALLDELAY

MOVDL,0FFH

MOVAH,06H

INT21H

JZL0;六号功能判断若无字符输入ZF=1继续循环

MOVAH,4CH

INT21H

DELAY:

PUSHCX

PUSHDX

MOVCX,4000H

LOP1:

MOVDX,0FFFFH

LOP2:

DECDX

JNZLOP2

LOOPLOP1

POPDX

POPCX

RET

CODEENDS

ENDSTART

五、实验中遇到的问题及解决方法

1.关于片选地址的问题

由于TPC卡使用PCI总线,而PCI总线结构支持即插即用功能,每台微机分配给PCI扩展板的资源是动态浮动的,不像ISA总线是固定的。

因此分配给设备的I/O基地址、MEM基地址空间及INT中断号会因为不同的微机而变化。

所以实验时需要使用当前微机中动态分配的地址。

方法:

启动“TPC-2003A集成开发环境”软件---硬件检测---报告卡硬件资源。

结果如下图所示:

其中EC00H:

是TPC设备在微机中被动态分配的I/O基地址,相当于原固定I/O基地址0280H。

综上所述,8255动态分配地址:

控制寄存器:

0EC0BH

C口地址:

0EC0AH

2.如何实现按下键盘结束循环的功能

使用调用DOS功能子程序中的6号功能即可完成这项任务。

具体操作是:

当(DL)=0FFH时,执行键盘输入操作,在执行功能子程序时:

有键按下,ZF=0,字符的ASCII码在AL中;无键按下:

ZF=1。

因此,我们只需在程序后面加一条JZ指令即可控制循环结束。

六、体会与收获

本次实验上手较为简单,只需注意一下TPC卡动态分配端口地址和开发环境的使用即可。

虽然难度不是很大,但对于初次接触理论课中所学习的硬件接口的我们,亲自动手操作无疑让我们加深了对8255的了解,巩固了课上所学习的基础知识。

本次实验同时也巩固了第四章所学习的内容,应用并掌握了了汇编程序的的编译环境,为今后的实验打下了基础。

实验二可编程定时器/计数器(8253)

一、实验目的

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

二、实验内容

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

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

三、实验流程图

四、程序设计

实验1

CODESEGMENT

ASSUMECS:

CODE

START:

MOVDX,0EC03H;计数器0,方式0

MOVAL,00010000B

OUTDX,AL

MOVDX,0EC00H

MOVAL,0EH;送初值E

OUTDX,AL

MOVCL,1

READ:

INCCL;自加1

CMPCL,0

JZSTART

MOVDX,0EC00H;读计数器0口

INAL,DX

MOVDL,AL

MOVCL,AL

CMPAL,9

JGBIG

ADDDL,30H;0到9,显示ASCII数字

MOVAH,02H

INT21H

MOVDL,0DH

INT21H

JMPJUDGE

BIG:

ADDDL,37H;大于9,显示ASCII字母

MOVAH,02H

INT21H

MOVDL,0DH;加回车符,只显示一个符号

INT21H

JMPJUDGE

JUDGE:

MOVDL,0FFH;有键按下回DOS

MOVAH,06H

INT21H

JZREAD

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验2

CODESEGMENT

ASSUMECS:

CODE

START:

MOVDX,0EC03H;计数器0置控制字为工作方式3

MOVAL,00110110B

OUTDX,AL

MOVDX,0EC00H

MOVAX,1000;向计数器0送初值

OUTDX,AL;先送低字节后送高字节

MOVAL,AH

OUTDX,AL

MOVDX,0EC03H;计数器1置控制字为工作方式3

MOVAL,01110110B

OUTDX,AL

MOVDX,0EC01H;向计数器1送初值

MOVAX,1000;先送低字节后送高字节

OUTDX,AL

MOVAL,AH

OUTDX,AL

NEXT:

MOVDL,0FFH;DOS6号功能调用,按任意键返回

MOVAH,06H

INT21H

MOVAH,4CH;返回系统

INT21H

CODEENDS

ENDSTART

五、实验中遇到的问题及解决方法

在屏幕上显示计数器数值时,如果直接从计数器读取此时的计数值,然后调用02H功能输出,则屏幕上显示的不是数字,而是乱码。

原因是,02H功能是在屏幕上输出DL中所存ASCII码所代表的字符,因此,在输出时,应先将DL中的数据变换为其所对应的ASCII码。

六、体会与收获

通过实验,学会8253芯片和微机接口原理和方法,掌握8253定时器/计数器的基本工作原理、工作方式和编程原理,熟悉汇编代码的编写。

实验中,连接电路,利用代码控制实验电路,深对课本理论的理解。

实验三PC机串行通讯实验

一、实验目的

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

2.掌握串行接口芯片8250的基本原理和编程方法

3.熟悉PC机串行口的基本连接方法

二、实验内容

1.PC机RS-232串口自发自收

按照PC机串口自发自收的连接方法(将RS232C的DB9的电缆插头第2脚和第3脚短接)连线。

编写PC机自发自收串行通信程序,要求:

从键盘输入一个字符,将字符通过串口发送出去,再由此串口将字符接收回来并在屏幕上显示,实现自发自收。

2.2台PC间RS-232串口通信

按照PC机RS-232串口直接互连的方法连接两台PC机。

编写PC机直接互连串行通信程序;要求:

由甲机键盘键入字符经串口发送给乙机,再由乙机通过串口接收字符并显示在屏幕上。

当键入感叹号“!

”,结束收发过程。

由乙机键盘键入字符经串口发送给甲机,再由甲机通过串口接收字符并显示在屏幕上。

当键入感叹号“!

”时,结束收发过程。

即,全双工模式。

实验提示:

1.连接线

DB-9连接器双机近距离通信连接图

2.8250寄存器地址

PC机自带两个串口,分为COM1和COM2,地址分别在3F8-3FFH和2F8-2FFH,接口芯片选用8250。

8250片内有10个寄存器,其中有几个是共用地址的,其识别由线路控制寄存器(LCR)的最高位DLAB来决定。

各寄存器的地址和格式如下所示:

三、程序流程图

Y

开始

返回DOS

初始化8250

读线路状态寄存器

出错否

发送数据就绪否

发送数据

接收数据

显示数据

有!

按下吗?

N

显示?

Y

N

自发自收:

 

Y

Y

开始

返回DOS

初始化8250

读线路状态寄存器

出错否

读发送寄存器

是否为空

读键盘

发送

有!

按下吗?

N

显示?

N

双机通信:

发送程序:

 

Y

开始

返回DOS

初始化8250

读线路状态寄存器

出错否

接收数据就绪否

接收

读接收数据

显示接收字符

结束

显示?

N

接收程序:

 

四、程序设计

程序1——自发自收:

CODESEGMENT

ASSUMECS:

CODE

START:

MOVAL,80H;初始化

MOVDX,3FBH

OUTDX,AL

MOVAX,30H

MOVDX,3F8H

OUTDX,AL;写入除数低字节

MOVAL,AH

MOVDX,3F9H

OUTDX,AL;写入除数高字节

MOVAL,0AH;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1