微机原理实验材料.docx
- 文档编号:11651537
- 上传时间:2023-03-29
- 格式:DOCX
- 页数:20
- 大小:361.15KB
微机原理实验材料.docx
《微机原理实验材料.docx》由会员分享,可在线阅读,更多相关《微机原理实验材料.docx(20页珍藏版)》请在冰豆网上搜索。
微机原理实验材料
实验1二进制多位加法运算
一、实验目的
1、熟悉实验系统键盘显示的使用。
2、掌握使用加法类运算指令编程及调试方法。
3、掌握加法类指令对状态标志位的影响。
二、实验内容
计算X+Y+Z=?
(X、Y、Z为16位二制数)
三、编程指南
由于本实验是三个十六位二制数相加运算,因此,当X+Y时要考虑用ADC指令,把进位C加到结果的高16位中,当(X+Y)+Z时,再把进位C加到结果的高16位中,本实验设定三个加数0FFFFH,计算结果应为2FFFDH。
四、实验步骤
联机模式:
(1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598k8Asm文件夹,点击S1.ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。
(2)运算结果保留在内存4100H~4102H单元中,点击DJ-8086K软件中存贮器RAM窗口,输入RAM的起始地址4100、4101、4102,单元内容应为FD、FF、02。
脱机模式:
⑴在P.态下,按SCAL键,输入2CA0,按EXEC键。
⑵复位RST键,运算结果保留在内存4100H~4102H单元中,共内容分别为:
FD、FF、02,低位在前,高位在后,具体操作方法:
输入键[4100]→[ME]→[NX]→[NX]。
五、实验程序清单
CODESEGMENT;S1.ASM-->BINADD
ASSUMECS:
CODE
ORG2CA0H;thisisaprogramofadd
START:
CLC
MOVSI,4000H;resultin[4100]
MOV[SI],0ffffH
MOV[SI+2],0ffffH
MOV[SI+4],0ffffH
MOVAX,0000H
MOV[SI+102H],AX
MOVAX,[SI]
ADDAX,[SI+2]
ADC[SI+102H],0000
ADDAX,[SI+4]
MOV[SI+100H],AX
ADC[SI+102H],0000
JMP$
CODEENDS
ENDSTART
六、思考题
1试编程实现四个十六位二进制数的加法运算,结果存在相同位置。
2试实现X+Y-Z=?
的程序,结果存在相同位置。
实验2求最大值和最小值
一、实验目的
1、学习子程序的定义和调用方法。
2、掌握子程序设计、调试。
二、实验内容
对内存中给定的几个无符号字节数,求其最大值和最小值并在数码管上显示。
三、实验程序框图
四、实验步骤
联机模式:
(1)在内存4000H~4007H中写入任意八个字节的数,按下MON键,返回P状态。
(2)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598K8ASM文件夹,点击S7.ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。
(3)数码管显示为:
“XX——XX”,最左两位为最大值,最右两位为最小值。
脱机模式:
1、在P.态下,按SCAL键,然后在内存4000H~4007H中写入任意八个字节的数,按下MON键,返回P状态。
2、在P.态下,输入2E70,按EXEC键。
3、数码管显示为:
“XX——XX”,最左两位为最大值,最右两位为最小值。
五、实验程序清单
CODESEGMENT;S7.ASM,LOOKFORMAX&MIN
ASSUMECS:
CODE
ORG2E70H;INPUTDATA4000H--4007H
START:
JMPSTART0
PAEQU0FF20H;字位口
PBEQU0FF21H;字形口
PCEQU0FF22H;键入口
BUFDB?
?
?
?
?
?
data1:
db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h
db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH
START0:
MOVSI,4000H
MOVCX,0008H
CALLMAXMIN
CALLBUF1
CON1:
CALLDISP
JMPCON1
MAXMIN:
JCXZEXIT
PUSHSI
PUSHCX
PUSHBX
MOVBH,[SI]
MOVBL,BH
CON2:
LODSB
CMPAL,BH
JNAX1
MOVBH,AL
JMPX2
X1:
CMPAL,BL
JNBX2
MOVBL,AL
X2:
LOOPCON2
MOVAX,BX
POPBX
POPCX
POPSI
EXIT:
RET
DISP:
MOVAL,0FFH;00H
MOVDX,PA
OUTDX,AL
MOVCL,0DFH;显示子程序,5ms
MOVBX,OFFSETBUF
DIS1:
MOVAL,[BX]
MOVAH,00H
PUSHBX
MOVBX,OFFSETDATA1
ADDBX,AX
MOVAL,[BX]
POPBX
MOVDX,PB
OUTDX,AL
MOVAL,CL
MOVDX,PA
OUTDX,AL
PUSHCX
DIS2:
MOVCX,00A0H
LOOP$
POPCX
CMPCL,0FEH;01H
JZLX1
MOVAL,0FFH;00H
MOVDX,PA
OUTDX,AL
INCBX
RORCL,1;SHRCL,1
JMPDIS1
LX1:
MOVAL,0FFH
MOVDX,PB
OUTDX,AL
RET
BUF1:
MOVBH,AH
CALLZH
MOVBUF+5,AL
MOVBUF+4,AH
MOVAL,BH
CALLZH
MOVBUF,AH
MOVBUF+1,AL
MOVBUF+2,17H
MOVBUF+3,17H
RET
;--------------------------------------------------------
ZH:
MOVBL,AL
MOVCL,4
ROLAL,CL
ANDAL,0FH
MOVAH,AL
MOVAL,BL
ANDAL,0FH
RET
;-------------------------------------------------------
CODEENDS
ENDSTART
六、思考题
1将数码管显示改为“左边显示最小值,右边显示最大值”,试编程实现。
2试用JBE/JAE(或JC/JNC)指令改写“求最大最小值子程序”。
数码管显示器内部电路图
实验3 8255A并行口实验
(一)
一、实验目的
1.了解实验箱的组成及实验系统软件的使用。
2.掌握8255A的工作方式、编程原理和与微机的接口方法。
二、实验内容
用8255PA口控制PB口。
三、实验接线图
四、编程指南
⒈ 8255A芯片简介:
8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:
方式0:
基本输入/输出方式方式l:
选通输入/输出方式方式2:
双向选通工作方式
⒉使8255A端口A工作在方式0并作为输入口,读取Kl-K8个开关量,PB口工作在方式0作为输出口。
8255端口地址见第一章表“I/O地址分配
(二)”
五、实验程序框图
六、实验步骤
18255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连。
28255A芯片B口的PB0-PB7依次接Ll-L8。
3运行实验程序。
七、思考题
1由8255PA口接发光二极管,PB口接开关,该如何编程?
2由8255控制发光二极管顺序循环点亮,即“流水灯”过程,该如何编程?
3利用8255在方式0下工作,令其在PB1和PB2产生如图所示的波形,试编程实现。
(将图中的延时时间单位为ms的地方均改为s)
实验4串行接口和应用
一、实验目的
利用实验机内的8251芯片,实现与PC机通讯。
二、实验内容
(1)利用实验机内的8253芯片的分频作为8251的收发时钟频率。
(2)PC机键盘所按键值(串口调试助手发送)通过RS232串口及8251A后送入8088,然后将所接收键值的ASCII码显示在数码管上(十六进制显示),并将该键值同时回送至PC机显示。
三、实验接线图
图4-1接线图
四、编程指导
(1)8251状态口地址:
03F9H,8251数据口地址:
03F8H;
(2)8253命令口地址:
43H,8253计数器#1口地址:
41H;
(3)8255命令口地址:
0FF23H,键扫口/字位口:
0FF20H,键入口PC:
0FF22H,字形口PB:
0FF21H;
(4)通讯约定:
异步方式,字符8位,一个起始位,一个停止位,波特率因子为16,波特率为9600;
(5)计算T/RXC,收发时钟fc,fc=16*9600=153.6K;
(6)8253分频系数:
1843.2K/153.6K=12。
五、实验步骤
(1)8251单元:
T/RXC→OUT1,TXD→EX-TXD,RXD→EX-RXD,JX20→JX17;
(2)8253单元:
GATE1→+5V,CLK1→1.8432MHZ;
(3)CZ11用户通信口→PC机串口;
(4)按EXEC键运行程序;
(5)运行“串口调试助手”,通过PC键盘输入任意一个字符至发送区,在点击“手动发送”后,在实验箱数码管上显示“XXH”(ASCII码),并在“串口调试助手”接收区能看到由实验箱回送的该字符。
按RST键,返回P.态。
六、实验程序(自己编写)
七、思考题
1实现将“Howareyou!
”字符串通过8251A送至PC机并显示的程序,要求字符串每隔1s输出一次。
2利用实验机内小键盘,每按动一次任一数字键,就把该键值通过8251发送给PC机接收,并在PC机屏幕上显示出该键值。
实验58259单级中断控制器实验
一、实验目的
⒈ 掌握8259中断控制器的接口方法。
⒉ 掌握8259单级中断控制器的应用编程。
二、实验内容
利用8259实现对外部中断的响应和处理,要求按键以后使发光二极管按照每次加1的方式进行亮灭。
三、实验接线图
四、编程指南
⑴ 8259芯片介绍
中断控制器8259A是专为控制优先级中断而设计的芯片。
它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。
因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。
即中断结构可以由用户编程来设定。
同时,在不需要增加其它电路的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。
⑵ 本实验中使用3号中断源IR3,“
”插孔和IR3相连,中断方式为全嵌套、边沿触发、非级联、普通中断结束,中断类型码根据上表分析,每按一次开关触发一次中断请求。
此时发光二极管按照加1方式亮灭,延时用软件延时的方式。
端口地址见连线图。
五、实验程序框图
IR3中断服务程序:
六、实验步骤
1、按图连好实验线路图。
⑴8259的INT连8088的INTR;⑵8259的INTA连8088的INTA;⑶“
”插孔和8259的3号中断IR3插孔相连,“
”端初始为低电平;⑷8259的CS端接FF80H孔;⑸8255A芯片的PA0-PA7依次和发光二极管L1~L8相连。
2、运行实验程序并观察结果。
七、思考题
1另由开关K1接IR0,K2接IR1,开关K1拨动使发光二极管从左往右循环点亮一遍,开关K2拨动则使发光二极管从右往左循环点亮一遍,最多实现三重中断嵌套,并可回到断点处继续运行。
试编程实现该功能。
2利用8253每1S产生一次中断请求,送8259的IR3,通过该信号控制使得8255PA口连接的发光二极管每秒加1的方式亮灭。
试编程实现该功能。
3利用8253、8259和数码LED显示器构建一个能准确计时的数字时钟,要求能显示时、分、秒。
试编程实现该功能。
(显示电路如下图所示,字型口和字位口端口地址分别为FF21H和FF20H)
实验6定时器/计数器
一、实验目的
⒈ 学会8253芯片和微机接口的原理和方法。
⒉.掌握8253定时器/计数器的工作方式和编程原理。
二、实验内容
用8253的0通道工作在方式3,产生方波,其输出作为1通道的输入信号;1通道工作在方式2,产生分频信号。
通过2个发光二极管分别观察OUT0和OUT1的输出信号。
三、实验接线图
四、编程指南
⒈ 8253芯片介绍
8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。
端口地址为0040H~0043H。
8253的功能用途:
⑴ 延时中断⑸ 实时时钟
⑵ 可编程频率发生器⑹ 数字单稳
⑶ 事件计数器⑺ 复杂的电机控制器
⑷ 二进制倍频器
2,8253的六种工作方式:
⑴ 方式0:
计数结束中断 ⑷ 方式3:
方波频率发生器
⑵ 方式l:
可编程频率发生 ⑸ 方式4:
软件触发的选通信号
⑶ 方式2:
频率发生器 ⑹ 方式5:
硬件触发的选通信号
五、实验程序框图
六、实验步骤
⒈ 按图连好实验线路
⑴ 8253的GATE0和GATE1接+5V。
⑵8253的OUT0接CLK1。
⑶8253的OUT0和OUT1分别接发光二极管电路的LED1和LED2。
⑷8253的CLK0插孔接分频器74LS393(左下方)的T6(62500Hz)插孔,分频器的频率源为8.0MHZ,T→8.0MHZ。
⒉运行实验程序
七、思考题
1若要设定方波发生器周期为1秒,分频器为产生每小时一次的脉冲信号,该如何编程?
2将8253通道0设为方式3,或者方式5,该如何连线,如何编程?
3利用8253芯片对8255并行输入数据的过程进行延时读取控制,即延时开关按后1s才能读取数据。
设定8255PA口工作在方式1输入。
设定8253用定时通道0,设定为方式5,CLK0输入信号接分频器74LS393(左下方)的T6(62500Hz)插孔,GATE0由按钮控制,产生上升沿信号,则OUT0输出由按钮控制的选通信号送8255的PC4。
试题设要求连线并编程。
实验7 小直流电机调速实验
一、实验目的
1.掌握直流电机的驱动和调速原理。
2.掌握DAC0832的工作原理和编程方法。
二、实验内容
1、用0832D/A转换电路的输出经放大后驱动直流电机。
2、编制程序,改变0832输出经放大后的电压信号来控制电机转速;或者还可以采用改变电压信号波形占空比的方法来控制电机转速。
三、实验接线图
四、编程指南
通过DAC0832输出三角波来控制小直流电机的转速。
DAC0832芯片的端口地址见连线图。
上升阶段输出到DAC0832的数值从00H逐渐增加到FFH,每次加1并延时,到最大值FFH之后,下降阶段数值从FFH逐渐减少到00H,每次减1并延时,这样就是一个周期。
五、实验步骤
1、0832的片选信号CS5连到译码输出FF80H。
2、0832输出AOUT连DJ插孔。
3、运行实验程序。
4、观察直流电机的转速。
六、思考题
1试编程通过调节占空比的方式使电机转速由慢到快。
提示:
编程使每周期时间固定的前提下,FFH的延续时间不断增加,00H的延续时间相应减少即可。
电压波形如下图所示。
2在数码显示器中显示“DAC-?
?
”的字样,其中的“?
?
”为输出到DAC0832的数值,如何编程?
(显示电路如下图所示,字型口和字位口端口地址分别为FF21H和FF20H)
实验8 A/D转换实验
一、实验目的
了解模/数转换基本原理,掌握ADC0809的使用方法。
二、实验内容
利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。
三、实验接线图
图6-1
四、编程指南
⑴ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两条指令:
MOVDX,ADPORT ; ADC0809端口地址OUTDX,AL ;发CS和WR信号并送通道地址⑵用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果。
MOVDX,ADPORT; ADC0809端口地址IN AL,DX⑶循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量。
五、实验程序框图
六、实验步骤
①将0809CS4插孔连到译码输出FF80H插孔、连JX6→JX17。
②将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔,8MHZ→T。
③运行实验程序
如在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598K8ASM文件夹,点击H0809.ASM文件,单击“确定”即可装入A/D转换实验源文件,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“R运行”或工具图标运行,即开始运行程序。
如果在没有PC机的情况下,则在8086K系统显示监控提示符“P.”时,用户段地址固定为0000(省略输入),按SCAL键,输入起始偏移地址1000,按EXEC键,在系统上显示“0809XX”。
“XX”表示输入模拟量转换后的数字量。
④调节电位器Wl,显示器上会不断显示新的转换结果。
模拟量和数字量对应关系的典型值为:
0V→00H+2.5V→80H+5V→FFH
⑤按RST键退出。
以上两种方式运行结果完全一致,因此,在下面的实验中,不管按何种方式均能运行实验程序。
七、思考题
1试编程实现在数码管上直接显示所测电压的数值,显示方式为?
.?
?
。
(电压显示范围为0.00~5.00)
2综合实验7的内容,编程实现当数字量为80H~A0H之间时,直流电机转动,否则直流电机停止。
附录DJ-8086K字形字位表
字形表
字位表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实验 材料
![提示](https://static.bdocx.com/images/bang_tan.gif)