华北电力大学接口实验报告.docx

上传人:b****7 文档编号:23801002 上传时间:2023-05-20 格式:DOCX 页数:21 大小:21.09KB
下载 相关 举报
华北电力大学接口实验报告.docx_第1页
第1页 / 共21页
华北电力大学接口实验报告.docx_第2页
第2页 / 共21页
华北电力大学接口实验报告.docx_第3页
第3页 / 共21页
华北电力大学接口实验报告.docx_第4页
第4页 / 共21页
华北电力大学接口实验报告.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

华北电力大学接口实验报告.docx

《华北电力大学接口实验报告.docx》由会员分享,可在线阅读,更多相关《华北电力大学接口实验报告.docx(21页珍藏版)》请在冰豆网上搜索。

华北电力大学接口实验报告.docx

华北电力大学接口实验报告

华北电力大学科技学院

实验报告

|

|

实验名称实验一开发器的使用与设计实验

实验二中断8259应用、

定时/计数器8253应用

实验三并行接口8255应用

实验四存储器拓展实验

实验五A/D转换结果送数码管显示

课程名称微机原理实验与课程设计

|

|

专业班级:

学生姓名:

学号:

成绩:

指导教师:

张少敏实验日期:

2013/5

实验一、数据转换实验

一、实验目的

1、初步掌握在PC机上建立、汇编、链接和运行8086/88汇编语言程序的过程。

2、通过对两个验证性实验的阅读、调试,掌握不同进制数及编码相互转换的程序设计方法。

3、完成程序设计题,加深对数码转换的理解,了解简单程序设计方法。

二、实验条件

一台计算机

三、实验内容与步骤

1)设二字节十六进制数存放于起始地址为3500H的内存单元中,把他们转换成ASCII码后,再分别存入起始地址为350AH的四个内存单元。

从书上ASCII码表中可知十六进制数加30H即可得到0H~9H的ASCII码,而要得到AH~FH的ASCII码,则需再加7H。

2)参考程序如下:

CODESEGMENT

ASSUMECS:

CODE

START:

MOVCX,0004h

MOVDI,3500H

MOVAX,0000H

MOVDS,AX

MOVDX,[DI]

A1:

MOVAX,DX

ANDAX,000FH

CMPAL,0AH

JBA2

ADDAL,07H

A2:

ADDAL,30H

MOV[DI+0AH],AL

INCDI

PUSHCX

MOVCL,04H

SHRDX,CL

POPCX

LOOPA1

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

四、实验结论与分析

错误分析:

在保存文件时,第一步忘了加后缀.ASM,导致打开不了文件。

实验结果:

在调试运行后350AH的内存单元中会显示3500H中所转换的对应的ASCII码。

五、实验心得

在这次课程设计的过程中的收获是很大的。

这次课程设计我主要是应用老师教的相关知识及自己的一些想法,完成了数据转换问题。

当然,这次实验,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在这方面有一个大的发展,我真的很高兴有这次的锻炼机会。

实验二、接收小写字母转换成大写字母并显示

一、实验目的

通过阅读并调试示例程序,完成程序设计题,掌握利用DOS中断的调用来实现人机对话的编程方法。

二、实验条件

一台计算机

三、实验内容与步骤

1)从键盘上接收一串小写字母存入内存单元,经过转换后在屏幕上显示其大写字母。

设计思路:

利用DOS中断的01号子功能接收键盘输入的一串字符串并存入内存单元,当接收到回车键时,将小写字母的ASCII码转换为大写字母的ASCII码,利用DOS功能的02号子功能将其显示在屏幕上。

2)参考程序如下:

DATASEGMENT

BUFDB200DUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVSI,OFFSETBUF

MOVCL,00H

A1:

MOVAH,01H

INT21H

CMPAL,0DH

JZA2

SUBAL,20H

MOV[SI],AL

INCSI

INCCL

JMPA1

A2:

MOVDL,0AH

MOVAH,02H

INT21H

MOVDL,ODH

INT21H

MOVSI,OFFSETBUF

MOVCH,00H

A3:

MOVDL,[SI]

MOVAH,02H

INT21H

INCSI

LOOPA3

MOVAH,4CH

INT21H

CODESEGMENT

ENDSTART

四、实验结论与分析

实验结果:

找到当前文件所在的位置,打开.exe文件,输入小写字母,按回车键相应的会输出大写的字母

五、实验心得

在这次课程设计的过程中的收获是很大的。

这次课程设计我主要是应用老师教的相关知识及自己的一些想法,完成了接收小写字母转换成大写字母DOS调用问题。

主要掌握了01号和02号子功能。

当然,这次实验,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在这方面有一个大的发展,我真的很高兴有这次的锻炼机会。

实验三、中断8259应用

一、实验目的

1、通过阅读并调试示例程序,学习8088/86与8259A的连接与控制方法,掌握8259A中断控制器的工作原理。

2、完成程序设计题,学会编写中断服务程序。

二、实验条件

一台计算机,8259A可编程中断控制器,仿真软件

三、实验内容与步骤

1、实验原理

8259A是一种可编程中断控制器,与8088/86微机兼容,能处理8级向量优先权中断,亦可以通过级联构成64级向量优先权中断系统。

具有可编程控制中断方式,并能分别屏蔽各个中断请求。

通过4个初始化命令字(icw1~icw4)及3个操作命令字(ocw1~ocw3)使用8259A可编程程序中断控制器。

2、实验内容

用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。

要求程序对每次中断进行计数,并将计数结果用8255的PA口输出到LED显示。

3、参考流程图及程序

modeequ80h

pa8255equ8000h

pb8255equ8001h

ctl8255equ8003h

icw1equ00010011b

icw2equ00100000b

icw4equ01h

ocw1equ11111110b

cs8259aequ09000h

cs8259bequ09001h

datasegment

cntdb0

cndb0

dataends

codesegment

assumecs:

code,ds:

data

ienterprocnear

pushax

pushdx

movdx,pb8255

inccnt

cmpcnt,0ah

jnzP1

movcnt,0

inccn

moval,cn

outdx,al

P1:

movdx,cs8259a

moval,20h

outdx,al

popdx

popax

iret

ienterendp

initprocnear

movdx,cs8259a

moval,icw1

outdx,al

movdx,cs8259b

moval,icw2

outdx,al

moval,icw4

outdx,al

moval,ocw1

outdx,al

ret

initendp

startprocnear

movdx,ctl8255

moval,mode

outdx,al

cli

movax,0

movds,ax

movbx,4*icw2

movax,offsetienter

mov[bx],ax

movax,code

incbx

incbx

mov[bx],ax

callinit

movax,data

movds,ax

movcn,0

moval,cn

movdx,pb8255

outdx,al

sti

lp:

nop

jmplp

startendp

codeends

endstart

四、实验结论与分析

错误分析:

由于此次实验的连线较多,有几个临近的线连错了,导致显示的结果又问题。

实验结果:

通过按单脉冲,使之产生中断,然后再LED显示按下的次数就是中断的次数。

五、实验心得

在这次课程设计的过程中的收获是很大的。

这次课程设计我主要是应用老师教的相关知识及自己的一些想法,完成了中断8259应用。

当然,这次实验,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在这方面有一个大的发展,我真的很高兴有这次的锻炼机会。

实验四、定时/计数器8253应用

一、实验目的

通过阅读并调试示例程序,完成程序设计题,掌握8253的基本工作原理和编程方法,熟悉8253在系统中的典型接法。

二、实验条件

一台计算机,8253可编程定时/计数器

三、实验内容与步骤

1、实验原理

8253可编程定时/计数器是Intel公司生产的统一外围接口芯片它有3个独立的16位计数方式和操作方式都通过编程控制。

2、实验内容

利用8088/86外接8253可编程定时/计数器,可以实现对外部事件进行计数,且可以设置断点读回计数器的值。

本实验中计数器按方式0工作,即十六位二进制计数器。

当计数设置好后,计数器就开始计数。

如果要读入计数器的值,要先锁存计数值,才能读到计数值。

本实验所设计数值为五,也就是每5个外部脉冲,计数器值加1.同时out脚输出一个高电平。

实验时,可以将out0接到LED上,观察计数器是否工作。

3、流程图及参考程序

CONTROLEQU08003H

COUNT0EQU08000H

COUNT1EQU08001H

COUNT2EQU08002H

CODESEGMENT

ASSUMECS:

CODE

STARTPROCNEAR

MOVAL,30H

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

四、实验结论与分析

错误分析:

由于计数是自己手动时按的太快,没有计到5就LED就显示了,后来经过重新仔细的数了一遍发现是正确的。

实验结果:

每按单脉冲5下,LED灯就会显示。

五、实验心得

在这次课程设计的过程中的收获是很大的。

这次课程设计我主要是应用老师教的相关知识及自己的一些想法,完成了定时/计数器8253应用问题。

经过老师的指导,才做到了心中有数,我在此很想感谢给予我耐心解答的老师,同学们勤恳塌实,始终热情高涨,我感谢这种氛围。

当然,这次实验,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在这方面有一个大的发展,我真的很高兴有这次的锻炼机会。

 

实验五、并行接口8255应用

一、实验目的

1、通过阅读并调试示例程序,掌握8255A可编程并行接口的工作原理;

2、完成程序设计题,学会并行接口电路的设计,及编写输入输出控制程序。

二、实验条件

一台计算机,8255A可编程控制芯片,LED灯的电路板

三、实验内容与步骤

1、实验原理

8255A是可编程的通用并行输入输出接口芯片,因通用性强,使用灵活,可直接与cpu总线相连,应用非常广泛。

8255A芯片内部有3个8位的输入输出端口,即A口、B口、C口。

从内部控制的角度来讲,可分为两组:

A组和B组。

A组控制模块管理A口和C口的高4位(pc7~PC4),B组控制模块管理B口和C口的低4位(pc3~pc0)。

2、实验内容

设计跑马灯程序设计,要求K0=0,从左向右跑马灯;K1=0时,从右向左跑马灯;K2=0时,从左从右向中间跑马灯,LED从pc口输出。

完成电路设计及程序的编制,进行调试并验证结果。

参考程序

MNSSDATASEGMENT

MODEEQU082H

PORTAEQU8000H

PORTBEQU8001H

PORTCEQU8002H

CADDREQU8003H

POSDB0FFH

NOWDATADB0FFH

LEFTDB0FFH

RIGHTDB0FFH

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAL,MODE

MOVDX,CADDR

OUTDX,AL

INPUT:

MOVDX,PORTB

INAL,DX

CMPAL,NOWDATA

JNZINITIAL

CMPAL,0FEH

JZK0

CMPAL,0FDH

JZK1

CMPAL,0FBH

JZK2

CMPAL,0F7H

JZK3

JMPINPUT

INITIAL:

MOVNOWDATA,AL

CMPAL,0FEH

JZINTIK0

CMPAL,0FDH

JZINTIK1

CMPAL,0FBH

JZINTIK2

CMPAL,0F7H

JZINTIK3

INTIK0:

MOVPOS,10000000B

JMPOUTPUT

INTIK1:

MOVPOS,00000001B

JMPOUTPUT

INTIK2:

MOVLEFT,10000000B

MOVRIGHT,00000001B

MOVAL,LEFT

ORAL,RIGHT

MOVPOS,AL

JMPOUTPUT

INTIK3:

MOVLEFT,00010000B

MOVRIGHT,00001000B

MOVAL,LEFT

ORAL,RIGHT

MOVPOS,AL

JMPOUTPUT

K0:

RORPOS,1

JMPOUTPUT

K1:

ROLPOS,1

JMPOUTPUT

K2:

RORLEFT,1

ROLRIGHT,1

MOVAL,LEFT

ORAL,RIGHT

MOVPOS,AL

K3:

RORLEFT,1

ROLRIGHT,1

MOVAL,LEFT

ORAL,RIGHT

MOVPOS,AL

OUTPUT:

MOVAL,POS

MOVDX,PORTA

OUTDX,AL

MOVCX,5000H

LOOP$

JMPINPUT

CODEENDS

ENDSTART

四、实验结论与分析

错误分析:

由于连接线有的有问题,造成接触不良,给实验造成的不可预测的结果,比如只有亮一个灯的情况。

实验结果:

K0=0,从左向右跑马灯;K1=0时,从右向左跑马灯;K2=0时,从左从右向中间跑马灯

五、实验心得

在这次课程设计的过程中的收获是很大的。

这次课程设计我主要是应用老师教的相关知识及自己的一些想法,完成了并行接口8255应用问题。

经过老师的指导,才做到了心中有数,我在此很想感谢给予我耐心解答的老师,同学们勤恳塌实,始终热情高涨,我感谢这种氛围。

当然,这次实验,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在这方面有一个大的发展,我真的很高兴有这次的锻炼机会。

实验六、存储器拓展实验

一、实验目的

1.通过阅读并调试示例程序,完成程序设计题,熟悉静态Ram的拓展方法;

2.了解8086/8088与存储器的连接,掌握拓展存储器的读写方法。

二、实验条件

一台计算机,62256RAM

三、实验内容与步骤

1.实验原理(62256RAM介绍)

62256是32*8的静态存储器,管脚如图所示。

其中:

A0~A14为地址线,DB0~DB7为数据线,/cs为存储器的片选,/OE为存储器数据输出选通信号,/WE为数据写入存储器信号。

62256工作方式如下图。

/CS/WE/OE方式DB-~DB7

HXX未选中高阻

LHH读写禁止高阻

LLH写IN

LHL读OUT

2.实验内容

设计扩展存储电器的硬件连接图并编制程序,讲字符A~Z循环存入62256扩展RAM中,让后再检查扩展存储器中的内容。

3、参考程序

RAMADDREQU0000H

RAMOFFEQU9000H

COUNTEQU800H

CODESEGMENT

ASSUMECS:

CODE

START:

PROCNEAR

MOVAX,RAMADDR

MOVDS,AX

MOVBX,RAMOFF

MOVCX,COUNT

REP1:

MOVDL,55H

MOV[BX],DL

INCBX

MOVDL,0AAH

MOV[BX],DL

INCBX

LOOPREP1

JMP$

MOVAH,04H

INT21H

CODEENDS

四、实验结论与分析

错误分析:

调试后发现没有对0000:

9000~0000:

9fffh进行重写,后来发现时线连错了,连接的应该是CS1。

后来换回来就行了。

实验结果:

0000:

9000~0000:

9fffh这4KB拓展存储器内容为交替显示55H和AAH

五、实验心得

在这次课程设计的过程中的收获是很大的。

这次课程设计我主要是应用老师教的相关知识及自己的一些想法,完成了存储器拓展问题。

经过老师的指导,才做到了心中有数,我在此很想感谢给予我耐心解答的老师,同学们勤恳塌实,始终热情高涨,我感谢这种氛围。

当然,这次实验,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在这方面有一个大的发展,我真的很高兴有这次的锻炼机会。

实验七、A/D转换结果送数码管显示

一、实验目的

1.通过阅读并调试示例程序,了解A/D转换的基本原理

2.完成程序设计题,掌握ADC0809的使用方法

二、实验条件

一台计算机,A/D转换器,LED数码显示管

三、实验内容与步骤

1.实验原理

ADC0809是8位8通道A/D转换器,芯片包括一个8位的逐次逼近型的ADC部分,并提供一个8通道的模拟多路开关盒联合寻址逻辑。

用该电路可直接采样8个单端的模拟信号,分时进行A/D转换,在多点巡回检测,过程控制等应用领域使用非常广泛。

2.实验内容

通过电位器输出0~5V直流电压送入ADC0809通道0(in0),利用输出命令启动A/D转换器,输入命令读取转换结果,验证输入电压与转换后数字的关系。

编程采集in0输入电压,通过8255PA连接发光二级管显示转换后的数据(16进制数)。

3.实验电路

参考程序

CS0809EQU09000H

OUTBITEQU08002H

OUTSEGEQU08004H

DATASEGMENT

LEDBUFDB2DUP(?

NUMDB1DUP(?

DELAYTDB1DUP(?

LEDMAP:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

DELAYPROCNEAR

PUSHAX

PUSHCX

MOVAL,0H

MOVCX,AX

LOOP$

POPCX

POPAX

RET

DELAYENDP

DISPLAYLEDPROCNEAR

MOVBX,OFFSETLEDBUF

MOVCL,2

MOVAH,00100000B

DLOOP:

MOVDX,OUTBIT

MOVAL,0

OUTDX,AL

MOVAL,[BX]

MOVDX,OUTSEG

OUTDX,AL

MOVDX,OUTBIT

MOVAL,AH

OUTDX,AL

PUSHAX

MOVAH,1

CALLDELAY

POPAX

SHRAH,1

INCBX

DECCL

JNZDLOOP

MOVDX,OUTBIT

MOVAL,0

OUTDX,AL

RET

DISPLAYLEDENDP

STARTPROCNEAR

MOVAX,DATA

MOVDS,AX

AGAIN:

MOVAL,0

MOVDX,CS0809

OUTDX,AL

MOVCX,40H

LOOP$

INAL,DX

MOVNUM,AL

MLOOP:

MOVCH,NUM

MOVAH,0

MOVBX,OFFSETLEDBUF

FILLBUF:

MOVSI,OFFSETLEDMAP

MOVAL,CH

ANDAL,0F0H

MOVCL,4

SHRAL,CL

ADDAX,SI

MOVSI,AX

MOVAL,[SI]

MOV[BX],AL

INCBX

DECCL

MOVAL,CH

ANDAL,0FH

MOVSI,OFFSETLEDMAP

ADDAX,SI

MOVSI,AX

MOVAL,[SI]

MOV[BX],AL

MOVDELAYT,20

DISPAGAIN:

CALLDISPLAYLED

DECDELAYT

JNZDISPAGAIN

JMPSTART

STARTENDP

CODEENDS

ENDSTART

四、实验结论与分析

错误分析:

由于线路的接触问题导致无法测试结果,后来换了电路板,才解决。

实验结果:

通过调节电压的大小,可以在发光二极管上显示当前电压大小的近似值。

五、实验心得

在这次课程设计的过程中的收获是很大的。

这次课程设计我主要是应用老师教的相关知识及自己的一些想法,完成了A/D并将结果显示在发光二极管上问题。

经过老师的指导,才做到了心中有数,我在此很想感谢给予我耐心解答的老师,同学们勤恳塌实,始终热情高涨,我感谢这种氛围。

当然,这次实验,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在这方面有一个大的发展,我真的很高兴有这次的锻炼机会。

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

当前位置:首页 > 医药卫生 > 中医中药

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

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