微机原理实验材料.docx

上传人:b****5 文档编号:11651537 上传时间:2023-03-29 格式:DOCX 页数:20 大小:361.15KB
下载 相关 举报
微机原理实验材料.docx_第1页
第1页 / 共20页
微机原理实验材料.docx_第2页
第2页 / 共20页
微机原理实验材料.docx_第3页
第3页 / 共20页
微机原理实验材料.docx_第4页
第4页 / 共20页
微机原理实验材料.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

微机原理实验材料.docx

《微机原理实验材料.docx》由会员分享,可在线阅读,更多相关《微机原理实验材料.docx(20页珍藏版)》请在冰豆网上搜索。

微机原理实验材料.docx

微机原理实验材料

实验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字形字位表

字形表

字位表

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

当前位置:首页 > 求职职场 > 简历

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

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