华北电力大学接口实验报告.docx
- 文档编号:12317089
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:22
- 大小:22.93KB
华北电力大学接口实验报告.docx
《华北电力大学接口实验报告.docx》由会员分享,可在线阅读,更多相关《华北电力大学接口实验报告.docx(22页珍藏版)》请在冰豆网上搜索。
华北电力大学接口实验报告
华北电力大学
实验报告
|
|
实验名称实验一开发器的使用与设计实验
实验二中断8259应用、
定时/计数器8253应用
实验三并行接口8255应用
实验四存储器拓展实验
实验五A/D转换结果送数码管显示
课程名称接口与通信课程设计
|
|
专业班级:
计科1202学生姓名:
谷玉虎
学号:
201209010205成绩:
指导教师:
张少敏实验日期:
2015-6-1
实验一、数据转换实验
一、实验目的
1、初步掌握在PC机上建立、汇编、链接和运行8086/88汇编语言程序的过程。
2、通过对两个验证性实验的阅读、调试,掌握不同进制数及编码相互转换的程序设计方法。
3、完成程序设计题,加深对数码转换的理解,了解简单程序设计方法。
二、实验条件
一台计算机
三、实验内容与步骤
1)设二字节十六进制数存放于起始地址为3500H的内存单元中,把他们转换成ASCII码后,再分别存入起始地址为350AH的四个内存单元。
从书上ASCII码表中可知十六进制数加30H即可得到0H~9H的ASCII码,而要得到AH~FH的ASCII码,则需再加7H。
2)参考程序如下:
CODESEGMENT
ASSUMECS:
CODE
START:
MOVAX,0
MOVDS,AX
MOVCX,0004H
MOVDI,3500H
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
四、实验结论与分析
实验结果:
在调试运行后350AH的内存单元中会显示3500H中所转换的对应的ASCII码。
分析:
本次实验的重要之处在于能够先对输入的ASI码进行判断然后根据条件进行处理,最后写入的位置要依照题目要求。
五、实验心得
本次实验中,出错并后来改正的地方是:
(1)ASM文件后面在保存后必须要以ASM标记。
(2)参考书上的代码有错,修改了写入位置才行。
(3)首次实验时,没有将内存信息拉倒3500H位置,导致以为实验失败,后来改正。
实验二、接收小写字母转换成大写字母并显示
一、实验目的
通过阅读并调试示例程序,完成程序设计题,掌握利用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
四、实验结论与分析
实验结论:
在CMD命令行中,找到当前文件所在的位置,打开.exe文件,输入小写字母按回车键相应的会输出大写的字母。
分析:
本次实验中首先考虑人机交互,读入用户输入的数据。
在内部进行处理然后输出。
将小写字母转化为大写字母。
五、实验心得
本次实验首先要了解DOS调用功能:
01号和02号子功能,输入输出功能。
试验中出现一个问题就是无法运行程序,找不到合适的方式打开EXE文件,浪费了不少时间。
后来采取CMD命令行中找到EXE文件位置打开文件,运行程序。
实验三、中断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显示。
修改参考书中程序,使每中断10次计数器加1,并将技术结果从8255的PB口输出到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显示按下的次数就是中断的次数。
思考题:
通过单脉冲,但是连续10次脉冲,才能产生一次中断,然后再LED显示按下的次数就是中断的次数
分析:
本次实验,连线是一个重要问题。
同时选择合适的插口进行连接比较重要。
本次实验由单脉冲作为触发源,当8259设置好中断模式后,在中断函数中写入触发次数,同时将数据传给8255,给其计数显示。
五、实验心得
本实验中遇到一些问题,
(1)首先遇到就是插线问题,由于实验牵扯到8259,8255,单脉冲,地址分配和地址插线就显得尤为重要。
(2)代码编写过程中,设定好中断模式后,如何在中断函数中将中断次数传给8255,让其进行保持显示,成为一个问题。
后来在参考同学代码思路的情况下,配置了8255,并且进行显示。
(3)实验中,由于用到了多个cpu地址线,本来按照帮助文档上的连线来接,发现并不出效果。
后来查看连线和代码,发现多个地址线和代码中规定的地址线不同。
后来改正,完成了实验。
实验四、定时/计数器8253应用
一、实验目的
通过阅读并调试示例程序,完成程序设计题,掌握8253的基本工作原理和编程方法,熟悉8253在系统中的典型接法。
二、实验条件
一台计算机,8253可编程定时/计数器
三、实验内容与步骤
1、实验原理
8253可编程定时/计数器是Intel公司生产的统一外围接口芯片它有3个独立的16位计数方式和操作方式都通过编程控制。
2、实验内容
利用8088/86外接8253可编程定时/计数器,可以实现对外部事件进行计数,且可以设置断点读回计数器的值。
本实验中计数器按方式0工作,即十六位二进制计数器。
当计数设置好后,计数器就开始计数。
如果要读入计数器的值,要先锁存计数值,才能读到计数值。
本实验所设计数值为五,也就是每5个外部脉冲,计数器值加1.同时out脚输出一个高电平。
实验时,可以将out0接到LED上,观察计数器是否工作。
思考题:
编程实现LED指示灯以1s的时间间隔闪烁。
本次实验报告重点放在思考题上。
3、流程图及参考程序
CONTROLEQU08003H
COUNT0EQU08000H
COUNT1EQU08001H
COUNT2EQU08002H
PORTBEQU09001H
PORTAEQU09000H
MODEEQU082H
CADDREQU9003H
CODESEGMENT
ASSUMECS:
CODE
STARTPROCNEAR
MOVAL,MODE
MOVDX,CADDR
OUTDX,AL
MOVAL,36H
MOVDX,CONTROL
OUTDX,AL
MOVAX,10000
MOVDX,COUNT0
OUTDX,AL
MOVAL,AH
OUTDX,AL
MOVAL,76H
MOVDX,CONTROL
OUTDX,AL
MOVAX,100
MOVDX,COUNT1
OUTDX,AL
MOVAL,0
OUTDX,AL
AGAIN:
MOVDX,PORTB
INAL,DX
ANDAL,01H
MOVDX,PORTA
OUTDX,AL
MOVAL,00000000B
MOVDX,CONTROL
OUTDX,AL
MOVDX,COUNT0
INAL,DX
MOVBL,AL
INAL,DX
MOVAH,AL
MOVAL,BL
JMPAGAIN
STARTENDP
CODEENDS
ENDSTART
四、实验结论与分析
参考书例程实验结果:
自动脉冲5下,LED灯就会显示。
思考题结果:
LED灯以1s的时间间隔显示。
分析:
首先是完成参考书中的单脉冲5下,LED灯显示。
再通过8253定时,1HZ自动脉冲条件下,LED灯显示。
本次实验重点放在后者。
同样,设定芯片8253、8259工作模式,使得1HZ的脉冲能够触发中断,然后点亮LED。
五、实验心得
本实验中遇到一些问题,
(1)首先遇到就是插线问题,8253在设定模式下,定时信息的传输依靠连线进行,这就要求8253必须合适端口进行相连。
(2)代码编写过程中,设定好定时周期,设定好中断模式后,如何将定时脉冲作为中断源触发中断成为一个问题。
后来在参考同学代码思路的情况下,配置了8253/8259,并且进行显示。
实验五、并行接口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)。
思考题:
跑马灯程序设计,要求K0=0,从左向右跑马灯;K1=0时,从右向左跑马灯;K2=0时,从左从右向中间跑马灯,LED从pc口输出。
完成电路设计及程序的编制,进行调试并验证结果。
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
四、实验结论与分析
实验结果:
将某个开关状态置1时,LED点亮。
置0,则LED灭。
思考题结果:
K0=0,从左向右跑马灯;K1=0时,从右向左跑马灯;K2=0时,从左从右向中间跑马灯
分析:
此实验牵扯到的芯片较多,首先要将K开关和8255A口相连,然后将LED和C口相连。
当开关触发一定条件时,将通过8255输出端口C口输出一定信息,从而达到跑马灯的效果。
本次实验先将参考书中提供的例程输入,查看效果,然后在编写多条件跑马灯,本实验重点在后者。
五、实验心得
实验中遇到了几个问题:
(1)在实验中,由于先是按照参考书中例程进行连线,后来进行思考题中要求时,8255配置不同,但是连线没有相对应改动,导致拨动开关,却没有效果。
后来出于简便,将8255输入输出重新配置。
(2)在编写代码的过程中,如何分辨开关及其状态,然后做出的操作,完成相应要求,比较困难。
在参照同学代码的基础上,将不同操作,分到几个不同的子函数中,用于完成不同操作,同时,在开始判断开关状态时,进行多个判断,最后成功完成逻辑。
实验六、存储器拓展实验
一、实验目的
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中,让后再检查扩展存储器中的内容。
思考题:
编写程序,将4KB扩展存储器交替写入55H和AAH。
本次实验报告重点在后者。
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
四、实验结论与分析
例程实验结果:
字符A~Z循环存入62256扩展RAM中。
思考题实验结果:
0000:
9000~0000:
9fffh这4KB拓展存储器内容为交替显示55H和AAH。
分析:
本实验着重于RAM存储,其中牵扯到地址线,数据线的连接。
同时,如何读写RAM中某块地址是本实验的基础部分。
五、实验心得
本次实验:
(1)试验中由于吸取之前实验的的连线经验,在本次实验中,首先熟悉了RAM的地址和数据总线,然后按照书中程序写定的地址进行连接,在后续实验中实验进行地就比较快。
(2)实验中,熟悉了对RAM的基本读写操作,在编写代码时,只需将需要写入的数据放到相应地址,实验进行地比较顺利。
实验七、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进制数)。
思考题:
编程实现在数码管上动态显示采集到的AD值。
本实验报告重点在后者。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华北电力 大学 接口 实验 报告