微机原理及接口技术实验指导书10级.docx

上传人:b****5 文档编号:6803624 上传时间:2023-01-10 格式:DOCX 页数:22 大小:563.49KB
下载 相关 举报
微机原理及接口技术实验指导书10级.docx_第1页
第1页 / 共22页
微机原理及接口技术实验指导书10级.docx_第2页
第2页 / 共22页
微机原理及接口技术实验指导书10级.docx_第3页
第3页 / 共22页
微机原理及接口技术实验指导书10级.docx_第4页
第4页 / 共22页
微机原理及接口技术实验指导书10级.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

微机原理及接口技术实验指导书10级.docx

《微机原理及接口技术实验指导书10级.docx》由会员分享,可在线阅读,更多相关《微机原理及接口技术实验指导书10级.docx(22页珍藏版)》请在冰豆网上搜索。

微机原理及接口技术实验指导书10级.docx

微机原理及接口技术实验指导书10级

第一部分软件程序设计(共8学时)

一、实验环境wave6000简介

1、软件安装

以安装在C盘为例:

将WAVE文件夹拷贝到C盘根目录下,再将WAVE文件夹下的ICESOFT文件夹拷贝到C盘根目录下。

图1安装文件

然后双击图标INSTALL.EXE开始安装,进入界面:

图2安装wave6000仿真环境

点击安装WAVE6000仿真开发环境,点击安装,开始安装过程,安装结束后出现:

图3安装过程

再点击安装Lab6000/2000P实验例子:

图4安装Lab6000/2000P实验例子

出现界面:

图5实验例子安装过程

电机OK开始安装,直到安装结束。

安装成功后,会在桌面上出现图标:

,双击即可进入编辑环境。

图6编辑环境

2、编辑环境设置

图7仿真器设置a

图8仿真器设置b

图9勾选使用伟福软件模拟器

图10语言设置

图11目标文件设置

2、①新建文件

图12新建文件

②打开已有文件

图13打开文件

双击选择要打开的文件即可。

3、文件保存:

文件名为英文字母,不超过8个字符,扩展名为ASM,保存在C:

\WAVE6000下,注意保存路径中不能出现中文字符。

图14保存文件

4、源程序的汇编链接及程序调试

①源程序输入完毕或打开已有文件后,单击图标

程序进入编译链接状态,若程序无语法错误,则显示:

图15汇编链接状态a

程序中出现语法错误时的编译结果是:

图16汇编链接状态b

双击错误处即可定位到出现错误的语句上,

图17汇编链接状态及错误定位

错误语句逐句修改后,再重新编译连接,直到通过编译。

②程序调试:

方法有:

复位(CTRL-F2)设置断点(CTR+F8)、跟踪(F7)、单步运行(F8)、连续运行(CTR+F9)等方法。

断点的设置和取消:

光标置预设断点行,按CTRL_F8,即可,在已设断点行再次按下CTRL_F8即可取消断点设置。

图18设置断点后的情况

③实验结果查看

可以通过查看寄存器内容、数据段内容、观察窗口内容、DOS显示结果等判断程序执行是否正常。

图19设置观察窗口图20数据段内容查看

 

图21查看DOS显示结果

 

图22查看寄存器内容

 

软件实验一

实验内容

在数据区定义字母数字串,分别统计数字、大写字母、小写字母个数,分别存放在SHUZI、DAXIE、XIAOXIE单元中。

多次统计,记录统计结果。

实验要求

在熟悉wave6000编程环境的基础上,完成上述源程序的输入、汇编、修改、运行等实验步骤,直到程序执行得到正确结果为止。

熟练掌握单步运行、断点设置、自动运行、寄存器内容,数据区内容查看等程序调试技术。

软件实验二

实验内容

将内存区定义的字母数字串的统计结果以16进制形式显示出来,显示格式为:

TheNembersofDigitalis:

XXH

TheNembersofCapitalLettersis:

XXH

TheNembersofSmallLettersis:

XXH

程序要求:

1、二进制转十六进制并显示的功能由BTOHDSP实现

2、回车换行用CRLF宏指令实现

3、字符H的显示用OUTPUT宏指令实现

4、提示信息的显示用宏INOUT宏指令实现

实验要求:

调试程序,直到正确实现所要求的功能。

 

软件实验三

实验内容

从键盘键入字母数字串,统计各类字符个数并以十进制形式在显示器上显示出来。

显示格式要求

1、在显示器上显示提示信息:

Pleaceinputanydigitalandletterstring

2、在显示器上显示

Thestringyouinputedis:

XXXXXXXXXX

3、在显示器上分行显示十进制统计结果

TheNembersofDigitalis:

XX

TheNembersofCapitalLettersis:

XX

TheNembersofSmallLettersis:

XX

4、在显示器上显示提示信息

Areyoucontinue?

(Y/N)

按Y继续1~3的统计显示过程,按N或其它字符均退出统计返回DOS。

这里建议:

不区分输入Y或N的大小写,均为有效。

程序要求:

1、提示字符串的显示功能用宏指令INOUT实现

2、回车换行用CRLF宏指令实现

3、单个字符输入用INPUT宏指令实现

4、分类统计功能由子程序TONGJI实现

5、二进制转十进制并显示功能由子程序BTOD实现

软件实验四(选做)

实验内容

在数据区定义30个学生的成绩(0~100之间),统计不及格(<60)、及格(60~69)、中等(70~79)、良好(80~89)、优秀(90~100)学生的个数和平均分,分类以十进制形式显示出来(平均分仅显示整数即可)。

显示格式要求

分行在各相关提示信息下,以十进制形式显示各统计结果的数值。

 

第二部分硬件实验(8学时)

一、仿真器设置:

(Lab6000实验箱为绿色箱子、Lab2000实验箱为黑色箱子)

1、通信设置:

将用来做软件仿真的“使用伟福软件模拟器”选项取消,勾选“使用USB通信

图23Lab6000通信设置图24Lab2000通信设置

其中Lab2000实验箱上的COM口选择要与配套计算机上的串口标签一致,点击“测试串行口“可测试串口是否正常。

2、仿真器设置

图25Lab6000仿真器设置图26Lab2000仿真器设置

二、硬件布局图

首先根据硬件布局图熟悉各接口芯片、译码电路、开关、LED指示灯、单脉冲输入、电位器等常用输入输出器件所处位置。

各片选译码起始地址如下:

CS0:

8000HCS1:

9000HCS2:

A000HCS3:

B000H

CS4:

C000HCS5:

D000HCS6:

E000HCS7:

F000H

图27硬件实验布局图

三、实验选择:

 

图28实验选择

此时按“实验要求”即可看到本次实验的要求、按“实验目的”可看到本次实验的目的等等。

按“连线”可根据指示将所需连线连接好。

按“汇编程序”即可将实验程序装入wave6000环境进行编译连接和下载。

 

实验四、8259中断实验

选择8259外部中断试验,按图接线后,点“汇编程序”装入实验程序,阅读并理解试验程序后编译链接下载程序,观察实验现象。

然后按如下要求对程序进行修改;实验原程序如下:

(行号是为描述方便而后加的)

1modeequ82h;8255工作方式

2PA8255equ8000h;8255PA口输出地址

3CTL8255equ8003h

4ICW1equ00010011b;单片8259,上升沿中断,要写ICW4

5ICW2equ00100000b;中断号为20H

6ICW4equ00000001b;工作在8086/88方式

7OCW1equ11111110b;只响应INT0中断

8CS8259Aequ09000h;8259地址

9CS8259Bequ09001h

10datasegment

11CNTdb0

12dataends

13codesegment

14assumecs:

code,ds:

data

15IEnterprocnear

16pushax

17pushdx

18movdx,PA8255

19incCNT

20moval,CNT

21outdx,al;输出计数值

22movdx,CS8259A

23moval,20h;中断服务程序结束指令

24outdx,al

25popdx

26popax

27iret

28IEnterendp

29IInitproc

30movdx,CS8259A

31moval,ICW1

32outdx,al

33movdx,CS8259B

34moval,ICW2

35outdx,al

36moval,ICW4

37outdx,al

38moval,OCW1

39outdx,al

40ret

41IInitendp

42startprocnear

43movdx,CTL8255

44moval,mode

45outdx,al

46cli

47movax,0

48movds,ax

49movbx,4*ICW2;中断号

50movax,code

51shlax,4;x16

52addax,offsetIEnter;中断入口地址(段地址为0)

53mov[bx],ax

54movax,0

55incbx

56incbx

57mov[bx],ax;代码段地址为0

58callIInit

59movax,data

60movds,ax

61movCNT,0;计数值初始为0

62moval,CNT

63movdx,PA8255

64outdx,al

65sti

66LP:

;等待中断,并计数。

67nop

68jmpLP

69startendp

70codeends

71endstart

①将65行的sti指令用分号;注释掉,再重新编译链接下载程序,运行,观察实验现象并正确解释实验现象,然后取消注释。

②将第7行的OCW1改为11111111b,再重新编译链接下载程序,运行,观察并正确解释实验现象,然后改回原来的值。

正确理解OCW1的作用。

③将24行的outdx,al指令注释掉,再重新编译链接下载程序,运行,观察并正确解释实验现象,然后取消注释。

④将27行的iret注释掉,再重新编译链接下载程序,运行,观察并正确解释实验现象,然后取消注释。

正确理解IRET指令的作用。

⑤将40行的ret注释掉,再重新编译链接下载程序,运行,观察并正确解释实验现象,然后取消注释。

正确理解RET指令的作用

⑥程序在哪个片段内等待中断?

⑦修改程序,使按下单脉冲10次后,程序结束退出。

实验五定时器/计数器8253实验

1、选择8253计数器实验,按图接线后,点“汇编程序”装入实验程序,阅读并理解试验程序后编译链接下载程序,观察实验现象。

实验原参考程序如下:

CONTROLequ08003h

COUNT0equ08000h

COUNT1equ08001h

COUNT2equ08002h

codesegment

assumecs:

code

startprocnear

moval,30h;通道0,方式0

movdx,CONTROL

outdx,al

moval,5;计数器初始值。

movdx,COUNT0

outdx,al;低八位

moval,0

outdx,al;高八位

Again:

moval,00000000B;锁存计数器值

movdx,CONTROL

outdx,al

movdx,COUNT0

inal,dx;读入计数值低八位

movbl,al

inal,dx;读入计数值高八位

movah,al

moval,bl

jmpAgain

startendp

codeends

endstart

①运行程序,观察实验现象,体会按单脉冲次数与信号输出之间的关系。

②注释掉或删除从标号AGAIN开始到JMPAGAIN的程序段,再重新编译链接下载,观察对实验结果有无影响,解释此程序片段的作用是什么,在本实验条件下能否观察到实验现象?

③改变计数初值为10,观察实验现象。

实验拓展:

结合并行接口8255,将计数值在B口输出至8个LED灯上,观察每按一次单脉冲,LED灯的变化情况。

修改程序,加上8255初始化片段,修改从标号AGAIN开始到JMPAGAIN的程序段完成此功能。

2、选择8253定时器实验,按图接线后,点“汇编程序”装入实验程序,阅读并理解试验程序后编译链接下载程序,观察实验现象。

实验原参考程序如下:

 

CONTROLequ0c003h

COUNT0equ0c000h

COUNT1equ0c001h

COUNT2equ0c002h

codesegment

assumecs:

code

startprocnear

moval,36h;00110110B;计数器0,16位,方式3,二进制

movdx,CONTROL

outdx,al

movax,1000

movdx,COUNT0

outdx,al;计数器低字节

moval,ah

outdx,al;计数器高字节

moval,76h;01110110B;计数器1,16位,方式3,二进制

movdx,CONTROL

outdx,al

movax,1000

movdx,COUNT1

outdx,al;计数器低字节

moval,ah

outdx,al;计数器高字节

jmp$

startendp

codeends

endstart

完成基本实验后,修改程序,改变各通道的计数初值,将定时时间分别改为1分钟和5分钟,再重新编译链接下载,观察实验结果是否达到要求。

拓展实验:

8259、8253和8255的综合应用

用8253产生1分钟定时中断,在中断服务程序中向8255的B口输出中断次数至LED灯,10次中断后程序退出。

要求:

分别将8259的有效中断请求信号设为边沿触发和高电平触发,8253工作方式选择片段和中断服务程序片段该如何编写,分析并观察中断重入现象及防止对策。

 

实验六并行接口8255实验

1、选择8255输入输出实验,按图接线后,点“汇编程序”装入实验程序,阅读并理解试验程序后编译链接下载程序,观察实验现象。

实验原参考程序如下:

modeequ082h;方式0,PA,PC输出,PB输入

PortAequ8000h;PortA

PortBequ8001h;PortB

PortCequ8002h;PortC

CAddrequ8003h;控制字地址

codesegment

assumecs:

code

startprocnear

Start:

moval,mode

movdx,CAddr

outdx,al;输出控制字

;实验1:

PortA输出

moval,80H

movcx,08H

OutA:

movdx,PortA

outdx,al;输出PortA

movdx,PortC

outdx,al

shral,1;移位

movah,100

calldelay;延时

loopOutA

;实验2:

PortB输入PortA输出

movdx,PortB

inal,dx;读入PortB

movdx,PortC

outdx,al

movdx,PortA

outdx,al;输出到PortA

movah,200

calldelay

jmpStart

startendp

delayprocnear

pushax

moval,0

pushcx

movcx,ax

loop$

popcx

popax

ret

delayendp

codeends

endstart

1阅读程序,观察实验1程序的实验结果,回答问题:

movdx,PortC

outdx,al

这两条指令的实验现象能否观察到,为什么?

对这两条指令做相应处理。

2修改程序,使程序在实验1范围内运行,不进入实验2。

3在②的基础上修改程序,使LED灯的点亮顺序与原来的相反。

4删除实验1的内容或修改程序使初始化后程序直接进入实验2,完成B口输入开关状态,A口显示开关状态的功能。

拓展实验:

根据8255的B口输入的K1~K8的状态,在A口输出LED灯的不同显示组合。

要求Ki的i值越大,相应的图案显示的优先级越高(例如在K1按键置1显示相应图案时,K4置1,则按K4相应的图案显示)。

例如:

K1置1:

灯从左至右依次单个灯点亮,图案如下:

K2置1:

灯从右至左依次单个灯点亮,图案如下:

K3置1:

右侧四个灯和左侧四个灯轮番同时点亮,图案如下:

 

K4置1:

按如下图案将灯循环间隔点亮,

 

在没有任何开关置1时,按如下图案循环同时点亮LED灯(即8个灯同时亮或者灭。

 

在完成上述功能的情况下,还可增加K5~K8的显示图案。

实验七A/D和D/A实验

1、A/D实验

选择“A/D转换实验”,按图接线后,点“汇编程序”装入实验程序,阅读并理解试验程序后编译链接下载程序,观察实验现象。

实验原参考程序如下:

modeequ082h

PAequ09000h

CTLequ09003h

CS0809equ08000h

codesegment

assumecs:

code

startprocnear

moval,mode

movdx,CTL

outdx,al

again:

moval,0

movdx,CS0809

outdx,al;起动A/D

movcx,40h

loop$;延时>100us

inal,dx;读入结果

movdx,PA

outdx,al

jmpagain

codeends

endstart

完成上述基础实验后,回答问题:

本程序采用什么方法实现A/D转换后的数据读取的(软件定时?

查询?

中断?

拓展实验

①要求以查询方式输入A/D转换后的数据,并在LED上显示转换的数字值。

②要求以中断方式输入A/D转换后的数据,并在LED上显示转换的数字值。

③8253、8259、8255、0809综合应用,进行软硬件设计,实现每隔1秒钟采集一次数据并在LED灯上显示数字值。

分别进行相应的软件和硬件设计后,调试程序直到达到实验要求。

2、D/A转换实验

选择“D/A转换实验”,按图接线后,点“汇编程序”装入实验程序,实验原参考程序如下:

CS0832equ0a000h

codesegment

assumecs:

code

startprocnear

moval,0

movdx,CS0832

outdx,al

moval,80h

outdx,al

moval,0ffh

outdx,al

jmp$

startendp

codeends

endstart

修改程序,分别实现锯齿波、三角波、梯形波(其中梯形波要求输出的高电平为3.5V,低电平为1.5V),在示波器上观察相关波形。

拓展实验(8255、D/A转换综合)

1、根据开关K1~K4的置1情况,分别实现不同波形的产生和示波器上的显示。

①K1置1,产生并显示正锯齿波;

②K2置1,产生并显示倒锯齿波;

③K3置1,产生并显示三角波

④K4置1,产生并显示指定幅值的梯形波

⑤K1~K4均未置1的情况下,显示方波。

要求:

Ki置1产生相关波形的优先级为K1>K2>K3>K4(即如果K1置1显示正锯齿波后,K4也置1了,则不予理睬;若K4先置1产生梯形波后,K1置1,则立即产生正锯齿波,其它情况类推)。

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

当前位置:首页 > 法律文书 > 起诉状

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

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