山东理工大学微机原理及应用B实验指导书及参考答案Word下载.docx
- 文档编号:16501882
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:11
- 大小:51.63KB
山东理工大学微机原理及应用B实验指导书及参考答案Word下载.docx
《山东理工大学微机原理及应用B实验指导书及参考答案Word下载.docx》由会员分享,可在线阅读,更多相关《山东理工大学微机原理及应用B实验指导书及参考答案Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
CODE,DS:
CODE
START:
JMPSTART1
D1DB12H
D2DB34H
D3DB?
START1:
MOVAX,CS
MOVDS,AX
MOVAL,D1
ADDAL,D2
MOVD3,AL
NOP
CODEENDS
ENDSTART
实验二汇编程序设计及调试
通过编写一个较复杂的汇编语言程序,在微机原理实验仪或PC机上进行调试,以便掌握汇编语言程序设计的方法及步骤。
熟悉和掌握汇编语言程序设计的方法及步骤。
注:
通讯前应先复位;
3、单击文件/新建,输入源程序,存E盘根目录;
文件名长度不能超过8个字符。
4、单击汇编链接,程序自动加载。
若有错误,则改正。
nostackssegment”错误可继续,不影响调试。
5、调试运行,F8单步,F9连续,若有错,查错后重运行。
6、做完后关闭设备电源。
统计一个串中的正数、零和负数的个数。
codesegment
assumecs:
code,ds:
code
start:
jmpstart1
sty1db-1,128,0,0,0,1,15,7,127
nmdb0
zmdb0
pmdb0
start1:
pushcs
popds
movcx,nm-sty1
movbx,offsetsty1
aa:
cmpbyteptr[bx],0
jgel1
incnm
jmpbb
l1:
jgl2
inczm
l2:
incpm
bb:
incbx
loopaa
codeends
endstart
程序也可以编为:
assumecs:
start:
bufdb-1,-128,0,0,0,1,15,127,20
nmdb0
zmdb0
pmdb0
movax,cs
movds,ax
movnm,0
movzm,0
movpm,0
leabx,buf
movcx,9
next:
moval,[bx]
cmpal,0
jzinc_zm
jginc_pm
incnm
jmpinc_bx
inc_zm:
inczm
jmpinc_bx
inc_pm:
incpm
inc_bx:
incbx
loopnext
nop
codeends
endstart
实验三8255A接口实验
通过采用并行接口8255A编写一个用开关量控制LED灯的程序,在微机原理实验仪上调试,运行后可以看到LED灯在对应开关量控制下点亮或熄灭。
熟悉和掌握并行口8255A的初始化和使用方法。
三、实验电路及连接图:
根据实验要求设计实验原理图,并标明端口地址。
如果按下图连接得到8255A的A口、B口、控制口地址分别为208H、209H、20BH。
在连线的过程中,将上述带有圈号的地方连接,并将实验台8279芯片右侧的A0、A1、A2和实验平台上地址总线的A0、A1、A2连接上,8255A的CS连接至地址译码的208H~20FH地址孔,8255A的PA0~PA7对应接开关量发生器0~7,8255A的PB0~PB7对应接LED灯0~7。
1.按上述要求设计连接硬件图;
2.根据要求画出程序框图;
3.根据框图编写程序;
4.根据原理图连线,并确保连线正确,接触可靠;
5.输入程序进行调试,实现实验题目要求。
code
moval,90h;
方式0,A口输入,B口输出
movdx,20bh
outdx,al
again:
movdx,208h
inal,dx
movdx,209h
outdx,al
jmpagain
endstart
实验四交通灯控制器的设计
通过采用并行口8255A和定时器/计数器8253编写一模仿交通灯程序,在微机原理实验仪上调试,运行后可以看到LED灯在不停的红绿交替亮。
熟悉和掌握并行口8255A和定时器/计数器8253的初始化和综合使用。
如果按下图连接得到8255的A口、C口、控制口地址分别为208H、20AH、20BH,8253的通道0、控制口地址为200H、203H。
在连线的过程中,将上述带有圈号的地方连接,并将实验台8279芯片右侧的A0、A1、A2和实验平台上地址总线的A0、A1、A2连接上,8253的CS53连接至地址译码的200H~207H,8255的CS55连接至地址译码的208H~20FH地址孔。
8253的工作频率为0-2MHZ,输入的CLK频率必须在2MHZ以下,因此这里选择频率为0.5MHZ。
moval,81h;
8255初始化,A口方式0,输出,PC0-PC3输入
movdx,203h;
8253初始化,通道0,方式3,方波发生器
moval,00110110B
movax,50000;
置计数初值,0.1秒一个周期。
为何不是1秒?
movdx,200h
moval,ah
movbl,0;
置循环次数
movdx,208h;
输出A口的红绿灯信号,21H=00100001
moval,21h
calltime
movbl,0
movdx,208h;
输出A口的红绿灯信号,12H=00010010
moval,12h
calltime
timeproc;
检测一个方波计数周期(高电平-低电平)
re1:
movdx,20ah;
检测PC0是否为1,直到为0结束
andal,1
cmpal,1
jere1
re2:
inal,dx;
检测PC0是否为0,直到为1结束
cmpal,0
jere2
incbl;
循环次数加1
cmpbl,50;
循环共计50次,为5s
jlre1
ret
timeendp
实验五0809AD转换实验
【实验要求】
编程:
电位器输入电压,启动0809A/D转换器开始转换,采用延迟等待的方式读取转换后的结果。
并将读取的结果实时地通过八位发光二极管显示。
【实验目的】
1.掌握AD芯片AD0809的转换性能及编程方法。
2.学习AD芯片与其他芯片(如8255)一起使用、共同解决问题的方法,初步建立系统的概念。
【实验连线】
AD0809的CS09接译码器220~227插孔,8255A的CS55接译码器218~21F插孔,AD0809的IN0接至电位器VINO的中心插孔,CLOCK接2MHz。
将8088CPU适配板上的A0、A1、A2分别与实验平台的地址总线A0、A1、A2连接。
注意:
电位器W1两边的两个插孔已经分别接好电源+5V和地。
【实验说明】
本实验中所用的AD转换芯片为逐次逼近型,精度为8位,每转换一次约100微秒,所以AD0809在启动后要延时。
另外,0809芯片提供转换结束信号(EOC),利用此信号可实现中断采集。
【实验程序】
ASSMECS:
CODE,DS:
CODE
PUSHCS
POPDS
MOVDX,21BH
MOVAL,80H
OUTDX,AL
AGAIN:
MOVDX,220H
MOVCX,100
NEXT:
LOOPNEXT
INAL,DX
MOVDX,218H
JMPAGAIN
ENDSTART
【思考题】
1、0809芯片提供转换完成信号(EOC),利用此信号实现中断采集时,程序应该怎样编写。
2、频率对程序有什么影响?
实验六采用中断读A/D的值
学生自己设计电路,进行系统连线,编写相应的程序,调试程序,达到预期的目标。
掌握系统设计的方法,培养综合运用所学知识的能力,进一步提高编程能力及系统的设计能力。
【实验内容】
设计一个完整的系统。
具体要求如下:
1、能够输入模拟量、通过发光二极管输出数字量;
2、能够进行模/数转换;
3、计数产生中断,CPU响应中断,执行中断处理程序;
4、完成主程序、中断处理程序的编写。
本实验中所用的AD转换芯片为逐次逼近型,0809芯片提供转换完成信号(EOC),利用此信号可实现中断采集。
1、为了让ADC0809开始工作必须先启动ADC0809,应该怎样启动ADC0809?
2、如果需要把转换后的数字量在LED上显示出来,应怎样连线及编写程序?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 山东 理工大学 微机 原理 应用 实验 指导书 参考答案
![提示](https://static.bdocx.com/images/bang_tan.gif)