微机原理实验报告Word下载.docx

上传人:b****1 文档编号:3780180 上传时间:2023-05-02 格式:DOCX 页数:20 大小:275.69KB
下载 相关 举报
微机原理实验报告Word下载.docx_第1页
第1页 / 共20页
微机原理实验报告Word下载.docx_第2页
第2页 / 共20页
微机原理实验报告Word下载.docx_第3页
第3页 / 共20页
微机原理实验报告Word下载.docx_第4页
第4页 / 共20页
微机原理实验报告Word下载.docx_第5页
第5页 / 共20页
微机原理实验报告Word下载.docx_第6页
第6页 / 共20页
微机原理实验报告Word下载.docx_第7页
第7页 / 共20页
微机原理实验报告Word下载.docx_第8页
第8页 / 共20页
微机原理实验报告Word下载.docx_第9页
第9页 / 共20页
微机原理实验报告Word下载.docx_第10页
第10页 / 共20页
微机原理实验报告Word下载.docx_第11页
第11页 / 共20页
微机原理实验报告Word下载.docx_第12页
第12页 / 共20页
微机原理实验报告Word下载.docx_第13页
第13页 / 共20页
微机原理实验报告Word下载.docx_第14页
第14页 / 共20页
微机原理实验报告Word下载.docx_第15页
第15页 / 共20页
微机原理实验报告Word下载.docx_第16页
第16页 / 共20页
微机原理实验报告Word下载.docx_第17页
第17页 / 共20页
微机原理实验报告Word下载.docx_第18页
第18页 / 共20页
微机原理实验报告Word下载.docx_第19页
第19页 / 共20页
微机原理实验报告Word下载.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理实验报告Word下载.docx

《微机原理实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《微机原理实验报告Word下载.docx(20页珍藏版)》请在冰点文库上搜索。

微机原理实验报告Word下载.docx

MOVAX,DATA

MOVDS,AX

MOVAL,10H

MOVDX,0C403H

OUTDX,AL;

写控制字

MOVAL,N

MOVDX,0C400H

写入计数器0初值,初始化完成

READ:

INAL,DX;

读入计数值

CMPAL,09H

JLEASCI

ADDAL,07H

ASCI:

ADDAL,30H;

转化成ascii码

MOVDL,AL

MOVAH,02H

INT21H;

显示计数值

MOVDL,0DH;

加回车符,只显示一个符号

INT21H

MOVDL,0FFH;

有键按下回DOS

MOVAH,06H

JNZEXIT

JMPREAD

EXIT:

MOVAH,4CH

CODEENDS

ENDSTART

程序2

ASSUMECS:

CODE

MOVDX,0C403H

MOVAL,00110110B;

计数器0方式3产生方波

OUTDX,AL

MOVDX,0C400H

MOVAX,1000;

计数器0计数值1000

MOVAL,AH

OUTDX,AL

MOVAL,01110110B;

计数器1方式3

MOVDX,0C401H

计数器1送入记数值1000

有按键时结束

MOVAH,06H

CODEENDS

实验二交通灯控制实验(8255)

2、掌握8253的编程方法

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

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

1、8255地址分析:

0C40BH

A口地址:

04C408H

C口地址:

04C40AH

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

(1)南北路口的绿灯、东西路口的红灯同时亮三秒;

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

(3)南北路口的红灯、东西路口的绿灯同时亮三秒;

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

(5)转

(1)重复。

3、C口置数分析

由于发光二极管是共阴极相连,所以若要其发亮应给高电平;

黄灯闪烁是让其不断交替亮灭来实现;

同时分析可知只要有绿灯亮,灯就会持续亮三秒,黄灯亮就会闪烁三次。

4、程序设计流程图

N

四、汇编语言程序

STACKSEGMENT

DB100DUP(0)

STACKENDS

CODE,SS:

STACK

DYPROCNEAR

PUSHAX

PUSHCX

MOVAX,0FFFFH;

延时程序

MOVCX,02FFFH

L0:

DECAX

JNZL0

LOOPL0

POPCX

POPAX

RET

DYENDP

MOVDX,0C40BH

MOVAL,10000000B

MOVDX,0C40AH

MOVBL,6H;

设置延迟3秒

L1:

MOVAL,00100100B;

南北绿灯亮,东西红灯亮

CALLDY;

调用延迟子程序

DECBL

JNZL1

MOVBL,4H;

设置第二次闪烁3次

L2:

MOVDX,0C40AH

MOVAL,01000100B;

南北黄灯亮,东西红灯亮

CALLDY

MOVAL,00000100B;

南北黄灯灭,东西红灯亮,实现要求闪的功能

DECBL

JNZL2

MOVBL,6H;

第三次设置亮灭时间为3秒

L3:

MOVAL,10000001B;

JNZL3

MOVBL,4H

L4:

MOVAL,10000010B;

南北红灯亮,东西黄灯亮

MOVAL,10000000B;

南北红灯亮,东西黄灯灭,实现闪的功能

OUTDX,AL

JNZL4

判断是否有键按下,结束程序

JZSTART;

没有键按下,进入下一次循环

MOVAH,4CH

CODEENDS

ENDSTART

五、实验现象及分析:

红黄绿灯变化规律如下:

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

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

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

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

依次重复。

六、实验出现错误及感想:

延时过短,经计算后采用新的循环数值,得到预期结果

此程序条理很清晰,调试非常顺利。

两个实验的独自完成,使我对汇编语言产生了浓厚的兴趣,对之后的实验也有了信心。

实验三竞赛抢答器(8255)

一、实验目的

1、了解微机化竞赛抢答器的基本原理。

2、进一步学习使用并行接口。

二、实验内容

图5-4为竞赛抢答器(模拟)的原理图,逻辑开关K0~K7代表竞赛抢答按钮0~7号,当某个逻辑电平开关置“1”时,相当某组抢答按钮按下。

在七段数码管上将其组号(0~7)显示出来,并使喇叭响一下。

从键盘上按空格键开始下一轮抢答,按其它键程序退出。

1、设置8255为C口输入、A口输出,读取C口数据,若为0表示无人抢答,若不为0则有人抢答。

根据读取数据可判断其组号。

2、计算组号的算法:

组号=C口数据连续除以2得到商为零的除法运算次数

MOVAH,0

MOVDL,2

MOVCL,0

JISUAN:

DIVDL

INCCL

CMPAL,0

JNZJISUAN

DECCL

MOVAL,CL

3、响铃的DOS功能调用:

MOVDL,7;

响铃ASCII码为07

MOVAH,2

4、程序设计流程图

LISTDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H

MOVBX,OFFSETLIST

MOVAL,10001001B

8255初始化

INPUT:

MOVDX,0C408H

MOVAL,0FFH

C口输入

JZINPUT

MOVAL,CL;

计算出组号

XLAT

查表并从A口输出

MOVDL,7

MOVAH,2

响铃

MOVAH,01H

CMPAL,'

'

;

接收一字符

EXIT:

ENDSTART

五、实验现象及分析:

初始状态为数码管全亮。

拨下任一开关后,铃响,同时数码管显示该组的组号。

按空格键,恢复到初始状态

六、实验出现错误及感想:

1、组号的计算是一个难点,在这个算法的设计上花费了较多的时间。

我用除2循环实现要求之后,经过与别人交流,发现用移位算法更为直观,方便理解。

但是除以2与右移一位本来是等价的,所以这两种算法本质还是相同的。

2、第一次运行时发生故障,抢答后无法恢复初始状态。

经检查发现相关代码位置有误,重新调整之后实现预想结果。

实验四8250串行通信实验

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

2、熟悉PC机串行的基本连接方法

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

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

2、自发自收实验:

将RS232C的DB9的电缆插头第2脚和第3脚短接,然后编程实现。

3、2台PC的串行通信:

用RS232C的DB9的电缆(交叉线)将两台机器连接,然后编程实现收发数据。

三、硬件连接

程序1-自发自收

CODESEGMENT

8250初始化,设DLAB=1

MOVDX,3FBH

MOVAX,30H;

写入除数低字节

MOVDX,3F8H

MOVAL,AH;

写入除数高字节

MOVDX,3F9H

MOVAL,00001010B;

7位数据,1位停止,奇校验

MOVDX,3FBH

OUTDX,AL;

写入线路控制寄存器

MOVAL,00010000B;

自检控制

MOVDX,3FCH

写入Modem控制寄存器

MOVAL,0

写中断允许寄存器,屏蔽中断

WAIT_FOR:

MOVDX,3FDH;

读线路状态寄存器

INAL,DX

TESTAL,00011110B;

出错否

JNZERROR;

出错,转ERROR

TESTAL,00000001B;

接收数据就绪否

JNZRECEIVE;

就绪,转接受

TESTAL,00100000B;

发送寄存器空否,不空,返回等待

JZWAIT_FOR

MOVAH,1

INT21H;

读键盘

MOVDX,3F8H;

发送

JMPWAIT_FOR;

返回等待

RECEIVE:

PUSHCX

MOVCX,02000H

T1:

MOVAX,0FFFFH

T2:

DECAX

JNZT2

LOOPT1;

读接收数据

ANDAL,01111111B;

保留7位数据

CMPAL,03H;

是Ctrl+C?

JNZCHAR

MOVAH,4CH;

返回DOS

CHAR:

MOVDL,AL

MOVAH,2H;

显示接收字符

ERROR:

出错则清除线路状态寄存器

MOVDL,'

?

'

;

显示'

JMPWAIT_FOR

程序2-双机通信

发送部分:

MOVAL,80H;

8250初始化,设DLAB=1

MOVAX,0030H

MOVAL,0AH;

7位数据,1位停止,奇校验

MOVAL,03H;

数据终端就绪,请求发送数据

发送寄存器空否,不空,返回等待

SEND:

INT21H

CMPAL,21H

JZEXIT

读键盘,若是'

!

返回DOS,若不是,则发送

MOVAX,4C00H

接收部分:

CODE

转接收

CMPAL,21H;

是'

MOVAX,4C00H;

MOVDL,AL

MOVAH,2;

自发自收:

输入带屏幕显示字符后,屏幕上会出现一个相同的字符

双机通信:

发送机发出一个字符,接收机屏幕上会显示该字符。

当发送字符为“!

”时,程序停止运行

1、自发自收由于要求和细节比较多,难度较大,因此参照课本上的例题编写程序。

最后的结果是输入一个字符时,屏幕上会几乎同时显示两个相同的字符。

为了使发送和接收的过程更为明显,在程序中接受字符之前加一段延时。

这样得到的最终结果是:

发出一个带屏幕显示的字符后,过1~2秒的时间,屏幕上会显示一个相同的字符。

2、双机通信的编写较为顺利,由于有了自发自收编写程序的经验,双机通信第一次运行就完好地实现了功能。

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2