余启航 微机原理与接口技术实验报告副本.docx
- 文档编号:8814527
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:54
- 大小:1.34MB
余启航 微机原理与接口技术实验报告副本.docx
《余启航 微机原理与接口技术实验报告副本.docx》由会员分享,可在线阅读,更多相关《余启航 微机原理与接口技术实验报告副本.docx(54页珍藏版)》请在冰点文库上搜索。
余启航微机原理与接口技术实验报告副本
中南大学
微机原理与接口技术实验报告
学院:
信息科学与工程学院
班级:
姓名:
学号
指导老师
实验一DEBUG调试
一、实验内容
(1)进入和退出DEBUG程序
(2)学会掌握DEBUG中的D命令,E,R,T,A,G命令等的使用,对于U命令,N命令,W命令等也应试一下。
二、实验环境
Windows系统下从进入命令行窗口。
三、实验步骤
(1)在windows系统下按WIN+R键,在弹出窗口下输入cmd,进入命令行窗口,然后再窗口下输入debug,进入debug程序。
(2)输入-a命令:
如图:
(3)运行程序命令
连续输入3次-t
输入-t=100后显示:
输入-t=100,3后显示:
分析–t与–t=100的区别:
第二种执行命令G
-G=100,108↙
结论
(1)此命令的100,108的含义是什么?
(2)说明T与G命令的异同.
(4)存盘操作
-NC:
CC
-RBX↙
显示:
BX0034
:
0000↙
-RCX↙
CX0000↙
:
0008↙
-W[指定存贮区]
(5)装入文件命令>DEBUG↙
-Nc:
cc↙
-L(指定装入的存贮区)如未指定,则装入cs:
100开始的存贮区
(6)反汇编-U(指定存贮区)
(7)显示存贮单元命令-D
(8)其它命令:
1、修改存贮单元的命令E
A:
用给定的内容来替代指定范围的存贮单元的内容
-DDS:
100↙
-EDS:
100F3‘XYZ’8D↙
-DDS:
100↙
B:
用逐个单元相继修改
-EDS:
100↙
可能显示18E4:
01008978
再按“空格”键可接着显示下一个单元的内容,可继续修改直到用↙结束
2、填写命令F
-F4234:
0100L5F3‘XYZ’8D
实验一、简单的程序建立过程以及简化段定义
一、实验目的
1.熟悉汇编过程
2.熟悉并掌握简化段定义方式方法
二、实验过程
1.实例汇编程序
2.针对例题进行汇编语言设计
三、实验代码
1.完整代码部分
;nameitex_movs
;-----------------------------------------------------------------
datasegment
source_bufferdb40dup(‘a’)
dataends
;-----------------------------------------------------------------
extrasegment
dest_bufferdb40dup(?
)
extraends
;-----------------------------------------------------------------
codesegment
;-----------------------------------------------------------------
mainprocfar
assumecs:
code,ds:
data,es:
extra
start:
pushds
subax,ax
pushax
movax,data
movds,ax
leasi,source_buffer
leadi,dest_buffer
cld
movcx,40
repmovsb
ret
mainendp
;-------------------------------------------------------
codeends
;-------------------------------------------------------
实验二汇编语言程序设计
endstart
2.简化段定义代码
.modelsmall
.data
source_bufferdb40dup(‘a’)
.fardata
dest_bufferdb40dup(?
)
.code
start:
leasi,source_buffer
leadi,dest_buffer
cld
movcx,40
repmovsb
endstart
实验二、循环与分支结构程序设计
一、实验目的
1、熟悉并掌握循环分支结构程序设计的要点。
2、熟悉汇编语言的实际操作。
二、实验过程
针对部分课后习题,进行实际编程操作
三、程序实现
5.16取十个数并取平均值放在AX中,然后将小于平均值的数放至BX中
代码如下:
;WRITTENBYHEIOATPM.14.30.2011.12.15
DATASEGMENT
ADW13H,15H,10H,10H,12H,17H,18H,19H,21H,22H
pkeydb"AVERAGEIS...$"
;pkey1db"BXIS...$"
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
;moves,ax
LEADX,pkey
MOVAH,9
INT21H
;outputstringatds:
dx
PUSHBX
PUSHSI
LEASI,A
MOVCX,10D
MOVAX,0
PROADD:
ADDAL,[SI]
INCSI
INCSI
LOOPPROADD
POPBX
MOVDX,0
MOVBX,10D
DIVBX
MOVDX,0BH
MOVBX,0
POPSI
COMPARE:
DECDX
CMPAX,[SI]
;MOVDX,[SI]测试代码
JNBEBIGGER
INCSI
INCSI
JMPSHORTCOM
BIGGER:
INCBX
INCSI
INCSI
COM:
CMPDX,0
JNECOMPARE
ADDAL,30H
MOVDL,AL
MOVAH,2
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
5.19A数组包含15个互不相等的整数,B数组20个,比较A,B将相等的放于C
数组中
输入A为:
IamHeioRay
输入B为:
fIamHeioRaydc
最终C输出为:
IamHeioRay(如下图)
代码如下:
;WRITTENBYHEIOATPM.21:
30.2011.12.19
datasegment
data1dw49H,20H,61H,6dH,20H,48H,65H,69H,6fH,20H,52H,61H,79H
data2dw65H,49H,20H,61H,6dH,20H,48H,65H,69H,6fH,20H,52H,61H,63H,62H
data3dw15dup(?
)
dataends
codesegment
assumeds:
data,cs:
code
start:
movax,data
movds,ax
moves,ax
leasi,data1
leadi,data2
leabx,data3
movdx,14H
movax,0dh
pushax
cmpa:
movax,[si]
cmpax,[di]
jenext1
adddi,2
decdx
cmpdx,0
jenext2
jmpcmpa
next1:
movbx,[si+2]
movdl,byteptr[si]
movah,2
int21h
next2:
popax
decax
cmpax,0
pushax
jeresult
addsi,2
movdx,14H
leadi,data2
jmpcmpa
result:
movah,4cH
int21H
codeends
endstart
5.21对数组ARRAY中三个数,相互比较,三个互不相等显示0,两个相等显示1,三
个相等显示2
数组三个数为:
50H,51H,50H
其中:
两个相等输出为1(如下图)
代码如下:
;WRITTENBYHEIOATPM.13:
37.2011.12.15
DATASEGMENT
ADW50H,51H,50H
DATAENDS
CODESEGMENT
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
LEASI,A
MOVDL,0
NEXT:
MOVAX,A[BX]
PUSHAX
CMPAX,A[BX+2]
JNENEXT1
INCDL
NEXT1:
MOVAX,A[BX+2]
ADDBX,2
CMPAX,A[BX+2]
JNENEXT2
INCDL
NEXT2:
POPAX
CMPAX,A[BX+2]
JNEADDTWO
INCDL
ADDTWO:
CMPDL,3
JESHORTDEC1
CMPDL,1
JESHORTRESULT
CMPDL,0
JERESULT
DEC1:
DECDL
RESULT:
实验三硬件部分
实验一使用ADC0809的A/D转换实验
一、实验目的
加深理解逐次逼近法模数转换器的特征和工作原理,掌握ADC0809的接口方法以及A/D输入程序的设计和调试方法。
二、预备知识
逐次逼近法A/D也称逐次比较法A/D。
它由结果寄存器、D/A、比较器和置位控制逻辑等部件组成,如图1-1所示。
图1-1
三、实验内容
1、实验原理
本实验采用ADC0809做A/D转换实验。
ADC0809是一种8路模拟输入、8位数字输出的逐次逼近法A/D器件,转换时间约100us,转换精度为±1/512,适用于多路数据采集系统。
ADC0809片内有三态输出的数据锁存器,故可以与8088微机总线直接接口。
图1-2
图中ADC0809的CLK信号CL接T1(1MHZ),基准电压Vref(+)接Vcc(已连好)。
一般在实际应用系统中应该接精确+5V,以提高转换精度,ADC0809片选信号CS_0809和WR、RD经逻辑组合后,去控制ADC0809的ALE、START、ENABLE信号。
ADC0809的转换结束信号EOC未接,如果以中断方式实现数据采集,需将EOC信号线接至中断控制器8259A的中断源输入通道。
本实验以延时方式等待A/D转换结束,ADC0809的通道号选择线ADD-A、ADD-B、ADD-C接系统数据线的低3位,因此ADC0809的8个通道值地址分别为00H、01H、02H、03H、04H、05H、06H、07H。
启动本A/D转换只需如下三条命令:
MOVDX,ADPORT ;ADPORT为ADC0809端口地址。
MOVAL,DATA ;DATA为通道值。
OUTDX,AL;通道值送端口。
读取A/D转换结果用下面二条指令:
MOVDX,ADPORT
INAL,DX
实验代码为:
MOVCX,0500H
DELAY:
LOOPDELAY
MOVDX,ADPORT
INAL,DX
MOVCL,AL
CALLCONVERS
CALLLEDDISP
JMPADCON
CONVERS:
MOVBH,0H
ANDAL,0FH
MOVBL,AL
MOVAL,CS:
[BX+DATA2]
MOVBX,DATA1+7
MOVDS:
[BX],AL
DECBX
PUSHBX
MOVAL,CL
MOVCL,04H
SHRAL,CL
MOVBL,AL
MOVBH,0H
MOVAL,CS:
[BX+DATA2]
POPBX
MOVDS:
[BX],AL
RET
LEDDISP:
MOVAL,90H
MOVDX,CONTPORT
OUTDX,AL
MOVBYTEPTRDS:
[0600H],00
LED1:
CMPBYTEPTRDS:
[0600H],07H
JALED2
MOVBL,DS:
[0600H]
MOVBH,0H
MOVAL,CS:
[BX+DATA1]
MOVDX,DATAPORT
OUTDX,AL
ADDBYTEPTRDS:
[0600H],01H
JNZLED1
LED2:
RET
CODEENDS
ENDSTART
2、实验线路的连接
在上面原理图中,粗黑线是学生需要连接的线,粗黑线两端是需连接的信号名称。
1)IN0插孔连WD1的输出Vout插孔。
2)CS_0809连译码输出Y6插孔。
3)CLK_0809连上面主板的脉冲输出T2(500KHZ)。
4)将8279接口模块上的插座DU(JB51)(a-h)用8芯线连接至数码管模块插座DU(a-h),8279接口模块上插座BIT(JB53)连接至数码管模块插座BIT。
5)8279接口模块上的插孔8279ClK连至上面主板的CLCK(对58B机型该线不连)。
6)8279接口模块上的插孔8279CS连至上面主板的CS5(对58B机型该线不连)。
实验二8255A可编程并行口实验
一、实验目的
1、掌握并行接口芯片8255A和微机接口的连接方法。
2、掌握并行接口芯片8255A的工作方式及其编程方法。
二、预备知识
1、8255A结构
8255A是可编程并行接口芯片,双列直插式封装,用+5V单电源供电,如图4-1是8255A的逻辑框图,内部有3个8位I/O端口:
A口、B口、C口;也可以分为各有12位的两组:
A和B组,A组包含A口8位和C口的高四位,B组包含B口8位和C口的低4位;A组控制和B组控制用于实现方式选择操作;读写控制逻辑用于控制芯片内寄存器的数据和控制字经数据总线缓冲器送入各组接口寄存器中。
由于8255A数据总线缓冲器是双向三态8位驱动器,因此可以直接和8088系统数据总线相连。
2、8255A端口地址见表4-1
图4-1
3、8255A工作方式
8255A芯片有三种工作方式:
方式0、方式1、方式2。
它通过对控制寄存器写入不同的控制字来决定其三种不同的工作方式。
方式0:
基本输入/输出
图4-2(a)方式0引脚功能
如图4-2(a)所示。
该方式下的A口8位和B口8位可以由输入的控制字决定为输入或输出,C口分成高4位(PC7~PC4)和低4位(PC3~PC0)两组,也有控制字决定其输入或输出。
需注意的是:
该方式下,只能将C口其中一组的四位全部置为输入或输出。
方式1:
选通输入/输出
图4-2(b)方式1输入图4-2(c)方式1输出
如图4-2(b)、(c)所示。
该方式又叫单向输入输出方式,它分为A、B两组,A组由数据口A和控制口C的高4位组成,B组由数据口B和控制口C的低4位组成。
数据口的输入/输出都是锁存的,与方式0不同,由控制字来决定它作输入还是输出。
C口的相应位用于寄存数据传送中所需的状态信号和控制信息。
方式2:
双向输入输出
图4-2(d)方式2双向输入输出
如图4-2(d)所示。
本方式只有A组可以使用,此时A口为输入输出双向口,C口中的5位(PC3~PC7)作为A口的控制位。
4、8255A控制字
(1)PC口按位置/复位控制字
(2)方式选择控制字
7
6
5
4
3
2
1
0
PC3~0:
1=输入,0=输出
PB口:
1=输入,0=输出B组
方式选择:
0=方式0,1=方式1
PC7~4:
1=输入,0=输出
PA口:
1=输入,0=输出
方式选择:
00=方式0A组01=方式1
01=方式1
01×=方式2
方式标志:
1=有效
三、实验内容
1、实验原理
如实验原理图4-3所示,PC口8位接8个开关K1~K8,PB口8位接8个发光二极管,从PC口读入8位开关量送PB口显示。
拨动K1~K8,PB口上接的8个发光二极管L0~L7对应显示K1~K8的状态。
2、实验线路连接
(1)8255A芯片PC0~PC7插孔依次接K1~K8。
(2)8255A芯片PB0~PB7插孔依次接L0~L7。
(3)8255A的片选插孔8255CS接译码输出Y7插孔。
图4-3
实验代码
CODESEGMENT
ASSUMECS:
CODE
IOCONPTEQU0073H
IOCPT
EQU0072H
IOBPT
EQU0071H
START:
MOVCX,8FFFH
DELAY0:
LOOPDELAY0
MOVAL,89H
MOVDX,IOCONPT
OUTDX,AL
NOP
NOP
NOP
IOLED1:
MOVDX,IOCPT
INAL,DX
MOVDX,IOBPT
OUTDX,AL
MOVCX,8FFFH
DELAY:
LOOPDELAY
JMPIOLED1
CODEENDS
ENDSTART
实验三8253A定时/计数器实验
一、实验目的
学习8253A可编程定时/计数器与8088CPU的接口方法;了解8253A的工作方式;掌握8253A在各种方式下的编程方法。
二、预备知识
1、8253A内部结构
8253A定时/计数器具有定时、计数双功能。
它具有三个相同且相互独立的16位减法计数器,分别称为计数器0、计数器1、计数器2。
每个计数器计数频率为0~2MHZ,其内部结构如图5-1所示。
由于其内部数据总线缓冲器为双向三态,故可直接接在系统数据总线上,通过CPU写入计数初值,也可由CPU读出计数当前值;其工作方式通过控制字确定;图中的读写控制逻辑,当选中该芯片时,根据读写命令及送来的地址信息控制整个芯片工作;图中的控制字寄存器用于接收数据总线缓冲器的信息:
当写入控制字时,控制计数器的工作方式,当写入数据时则装入计数初值,控制寄存器为8位,只写不能读。
图5-18253A内部结构图图5-2计数器内部结构图
2、计数器内部结构
如图5-2所示,每个计数器由一个16位可预置的减1计数器组成,计数初值可保存在16位的锁存器中,该锁存器只写不能读。
在计数器工作时,初值不受影响,以便进行重复计数。
图中每个计数器有一个时钟输入端CLK作为计数脉冲源,计数方式可以是二进制,计数范围1~10000H,也可以是十进制,计数范围1~65536。
门控端GATE用于控制计数开始和停止。
输出OUT端当计数器计数值减到零时,该端输出标志信号。
3、8253A端口地址选择见表5-1
4、8253A功能
8253A既可作定时器又可作计数器:
(1)计数:
计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK脉冲对计数值进行减1计数,每来一个脉冲减1,当计数值减至0时,由OUT端输出一个标志信号。
(2)定时:
计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数,当计数到零时,发计数结束定时信号。
除上述典型应用外,8253A还可作频率发生器、分频器、实时钟、单脉冲发生器等。
5、8253A控制字
00选计数器0数制控制:
0=二进制,1=BCD
01选计数器1
10选计数器2工作方式选择:
000方式0
11非法001方式1
×10方式2
00计数器锁存命令×11方式3
01只读/写低8位,高8位自动置0100方式4
10只读/写高8位,低8位自动置0101方式5
11先写低8位,后写高8位
说明:
(1)8253A每个通道对输入CLK按二进制或十进制从预置值开始减1计数,减到0时从OUT输出一个信号。
(2)8253A编程时先写控制字,再写时间常数。
6、8253A工作方式
(1)方式0:
计数结束产生中断方式
当写入控制字后,OUT变为低电平,当写入初值后立即开始计数,当计数结束时,变成高电平。
(2)方式1:
可编程单次脉冲方式
当初值装入后且GATE由低变高时,OUT变为低电平,计数结束变为高电平。
(3)方式2:
频率发生器方式
当初值装入时,OUT变为高;计数结束,OUT变为低。
该方式下如果计数未结束,但GATE为低时,立即停止计数,强逼OUT变高,当GATE再变高时,便启动一次新的计数周期。
(4)方式3:
方波发生器
当装入初值后,在GATE上升沿启动计数,OUT输出高电平;当计数完成一半时,OUT输出低电平。
(5)方式4:
软件触发选通
当写入控制字后,OUT输出为高;装入初值且GATE为高时开始计数,当计数结束,OUT端输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 余启航 微机原理与接口技术实验报告 副本 启航 微机 原理 接口 技术 实验 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)