微机原理及接口技术实验指导书10级Word文件下载.docx
- 文档编号:19824922
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:22
- 大小:563.49KB
微机原理及接口技术实验指导书10级Word文件下载.docx
《微机原理及接口技术实验指导书10级Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机原理及接口技术实验指导书10级Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。
双击错误处即可定位到出现错误的语句上,
图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:
TheNembersofSmallLettersis:
程序要求:
1、二进制转十六进制并显示的功能由BTOHDSP实现
2、回车换行用CRLF宏指令实现
3、字符H的显示用OUTPUT宏指令实现
4、提示信息的显示用宏INOUT宏指令实现
实验要求:
调试程序,直到正确实现所要求的功能。
软件实验三
从键盘键入字母数字串,统计各类字符个数并以十进制形式在显示器上显示出来。
显示格式要求
1、在显示器上显示提示信息:
Pleaceinputanydigitalandletterstring
2、在显示器上显示
Thestringyouinputedis:
XXXXXXXXXX
3、在显示器上分行显示十进制统计结果
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
高八位
Again:
moval,00000000B;
锁存计数器值
inal,dx;
读入计数值低八位
movbl,al
读入计数值高八位
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
moval,36h;
00110110B;
计数器0,16位,方式3,二进制
movax,1000
计数器低字节
moval,ah
计数器高字节
moval,76h;
01110110B;
计数器1,16位,方式3,二进制
movdx,COUNT1
jmp$
完成基本实验后,修改程序,改变各通道的计数初值,将定时时间分别改为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;
控制字地址
Start:
moval,mode
movdx,CAddr
输出控制字
实验1:
PortA输出
moval,80H
movcx,08H
OutA:
movdx,PortA
输出PortA
movdx,PortC
shral,1;
移位
movah,100
calldelay;
延时
loopOutA
实验2:
PortB输入PortA输出
movdx,PortB
读入PortB
movdx,PortC
输出到PortA
movah,200
calldelay
jmpStart
delayprocnear
pushax
moval,0
pushcx
movcx,ax
loop$
popcx
popax
ret
delayendp
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
moval,mode
movdx,CTL
again:
movdx,CS0809
起动A/D
movcx,40h
loop$;
延时>
100us
读入结果
movdx,PA
jmpagain
完成上述基础实验后,回答问题:
本程序采用什么方法实现A/D转换后的数据读取的(软件定时?
查询?
中断?
)
拓展实验
①要求以查询方式输入A/D转换后的数据,并在LED上显示转换的数字值。
②要求以中断方式输入A/D转换后的数据,并在LED上显示转换的数字值。
③8253、8259、8255、0809综合应用,进行软硬件设计,实现每隔1秒钟采集一次数据并在LED灯上显示数字值。
分别进行相应的软件和硬件设计后,调试程序直到达到实验要求。
2、D/A转换实验
选择“D/A转换实验”,按图接线后,点“汇编程序”装入实验程序,实验原参考程序如下:
CS0832equ0a000h
movdx,CS0832
moval,80h
moval,0ffh
修改程序,分别实现锯齿波、三角波、梯形波(其中梯形波要求输出的高电平为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,则立即产生正锯齿波,其它情况类推)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 实验 指导书 10
![提示](https://static.bdocx.com/images/bang_tan.gif)