微型计算机原理与接口实验.docx
《微型计算机原理与接口实验.docx》由会员分享,可在线阅读,更多相关《微型计算机原理与接口实验.docx(18页珍藏版)》请在冰豆网上搜索。
微型计算机原理与接口实验
微型计算机原理与接口实验报告
实验一I/O地址译码
一. 实验目的:
掌握I/O地址译码电路的工作原理
二.实验仪器:
U374LS13874LS74 74LS00PC TPC-ZK实验系统
三.实验总体思路:
先使灯亮,延时,然后灭,不断循环
四.实验内容:
实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。
译码输出端Y0~Y7在实验台上“I/O地址”输出端引出,每个输出端包含8个地址,Y0:
280H~287H,Y1:
288H~28FH,当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。
五.实验代码:
DATASﻩSEGMENT
AADBAOH
BBDBﻩA8H
DATAS ﻩENDS
STACKSSEGMENT
ﻩﻩﻩﻩ;此处输入堆栈段代码
STACKSENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
PUSHDS
MOVﻩAX,0
PUSHAX
MOV ﻩAX,ﻩﻩDATAS
MOVDS,AX
CIR:
MOVﻩﻩAL,ﻩAAﻩﻩ
MOVDX,2A0H
OUT ﻩﻩDX,ﻩﻩALﻩﻩ;输出A0H,灯亮
CALLﻩDELAY
MOV ﻩﻩAL,ﻩBBﻩﻩﻩﻩ;输出A8H,灯灭
MOVﻩﻩDX,ﻩﻩ2A8
OUT ﻩDX,ﻩAL
JMPﻩﻩCIR
MOVﻩﻩAH,ﻩﻩ4CH
INTﻩ21H
DELAY ﻩPROCﻩFARﻩﻩ;延时函数
MOVBX,ﻩ100
WAIT:
ﻩ MOVCX,ﻩﻩ2601
FLASH:
LOOPﻩﻩFLASH
DECﻩﻩBX
JNZ ﻩWAIT
RET
DELAYﻩENDP
CODESﻩENDS
ENDSTART
六.实验结果:
L7闪烁发光(亮、灭、亮、灭、„„)
实验二 存储器读写实验
一.实验内容:
编制程序,将字符A-Z循环写入扩展的RAM中,然后再将扩展的RAM内容读出来显示在主机屏幕上。
二.实验目的:
1、熟悉6264静态RAM的使用方法,掌握PC机外存扩充的手段。
2、通过对硬件电路的分析,学习了解总线的工作时序。
三.实验仪器:
2K的6264 TPC-ZK实验系统PC
四.实验总体思路:
五.实验代码:
DATASﻩSEGMENT
MESSAGEDB'ANYKEY TOSHOW THECONTENTS!
',0DH,0AH,'$'
DATASﻩENDS
STACKSSEGMENT
;此处输入堆栈段代码
STACKSENDS
CODESﻩSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOVﻩAX,ﻩDATAS
MOVDS,ﻩAX
;此处输入代码段代码
MOV ﻩﻩAX,0D000H
MOVES,ﻩAXﻩ;inites
MOVﻩBX,ﻩ6000H ;EA=06000HSTARTFROMPA=0D6000H
MOV ﻩCX,ﻩﻩ100H
MOV ﻩﻩDL,ﻩ41H
WRITE:
ﻩﻩ;WRITEREAPTLY
MOV ﻩﻩES:
[BX],DL
INCﻩBX
INC DL
CMPDL,5AH
JLE CIR
MOV ﻩﻩDL,ﻩ41H
CIR:
LOOPWRITE
ﻩ;KEYOUT&IN
MOVDX,OFFSET MESSAGE
MOVAH,ﻩ9
INTﻩﻩ21H
MOVAH, 01H
INTﻩ21H ;WAIT
MOV ﻩAX,ﻩﻩ0D000H
MOV ES,ﻩAX
MOVﻩBX,ﻩ6000H
MOV ﻩCX,0100H
READ:
ﻩ MOV ﻩDL,ES:
[BX]
MOVﻩAH,ﻩﻩ02H
INT ﻩ21H
ﻩ INCBX
ﻩLOOPREAD
MOV ﻩﻩAH,4CH
INTﻩ21H
CODESﻩENDS
ENDSTART
六.实验结果:
主机屏幕上显示字符A-Z
实验三可编程并行接口
一.实验内容:
1.实验电路如图4-3-1,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。
2.编程从8255C口输入数据,再从A口输出。
二.实验目的:
通过实验,掌握8255工作于方式0以及设置A口为输出口,C口为输入口的方法
三.实验仪器:
TPC-ZK实验系统
四.实验总体思路:
五实验步骤:
DATASSEGMENT
;此处输入数据段代码
MESS DB'ANYKEYTOEXIT TODOS!
',0DH,0AH,'$'
DATASENDS
ﻩ
STACKSSEGMENT
;此处输入堆栈段代码
STACKSENDS
CODES SEGMENT
ASSUME CS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOVAX,ﻩDATAS
MOV ﻩDS,ﻩAX
;此处输入代码段代码
MOV ﻩAH,ﻩﻩ09H
MOVDX,ﻩﻩOFFSETMESS
INTﻩ21H
INIT:
MOVDX,ﻩ28BH
MOVﻩAL,ﻩﻩ89H
OUT DX,ﻩAL
READ:
MOVDX,ﻩ28AH
INﻩAL,DX
MOVDX,ﻩ288H
OUTﻩDX,AL
MOV AH,ﻩ06H
MOV DL,ﻩ0FFH
INTﻩ21H
JNZ ﻩEXIT
JMPﻩREAD
EXIT:
MOV ﻩAX,ﻩﻩ4C00H
INT21H
MOVAH,4CH
INT ﻩ21H
CODESﻩENDS
END START
六.实验结果:
通过逻辑电平开关可以控制LED灯的亮灭。
实验四 可编程定时器/计数器
一.实验内容:
1.按图4-8-1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
2.按图3-2连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。
二.实验目的:
掌握可编程定时器/计数器基本工作原理和编程方法,观察不同方式下的波形
三.实验仪器:
TPC-ZK实验系统
四.实验总体思路:
五.实验步骤:
实验
(一)
DATASSEGMENT
;此处输入数据段代码
DATAS ﻩENDS
STACKSﻩSEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODESﻩSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOVﻩﻩAX,DATAS
MOVﻩDS,ﻩﻩAX
;此处输入代码段代码
MOVﻩDX,ﻩﻩ0283H
MOV ﻩﻩAL,ﻩ10H
OUTDX,ﻩAL
MOVﻩDX,ﻩ0280H
MOVﻩAL,ﻩ0EH ;AFTER15 HIGH
OUTﻩDX,ﻩAL
READ:
MOV DX,0280H
INAL,DX
PUSHﻩDX
CALLﻩDISPLAY
POPﻩDX
MOVAH,ﻩ06
MOV ﻩDL,ﻩﻩ0FFH
ﻩ INTﻩﻩ21H
JZ READ
MOVAH,4CH
INTﻩ21H
DISPLAYPROCNEAR
;PUSHDX
;MOVBL,0EH
;SUBBL,ﻩAL
;XCHGAL,ﻩﻩBL
MOVDL,ﻩﻩAL
CMP ﻩDL,ﻩ9
JLEﻩACI
ADDﻩDL,ﻩ7
ACI:
ADD ﻩDL,ﻩ30H
MOVﻩAH,02
INTﻩ21H
MOV ﻩDL,ﻩ0DH
INT21H
MOVDL,0AH
INT21H
;POPﻩDX
RET
DISPLAYENDP
CODESﻩENDS
END START
实验
(二)
DATASﻩSEGMENT
;此处输入数据段代码
DATASﻩENDS
STACKSSEGMENT
;此处输入堆栈段代码
STACKSENDS
CODESﻩSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOV ﻩAX,ﻩDATAS
MOV ﻩﻩDS,ﻩﻩAX
;此处输入代码段代码
MOVﻩDX,ﻩﻩ0283H
MOVAL,ﻩ36H
OUTﻩDX,ﻩAL
MOVﻩﻩDX,0280H
MOVﻩAL,ﻩﻩ0E8H
OUTDX,ﻩAL
MOVAL,ﻩﻩ03H
OUTﻩﻩDX,ﻩﻩAL
MOVﻩﻩDX,ﻩ0283H
MOV ﻩAL,ﻩﻩ76H
OUT ﻩﻩDX,AL
MOVﻩﻩDX,ﻩﻩ0281H
MOVAL,ﻩ0E8H
OUTﻩﻩDX,AL
MOVAL,ﻩ03H
OUTﻩDX,ﻩAL
MOVﻩﻩAH,ﻩﻩ4CH
INT21H
CODESENDS
END START
六.实验结果:
1.手动逐个输入单脉冲,计数值在屏幕上显示,数值递减
2.逻辑笔观察OUT1输出电平的变化(频率1HZ),左右两灯交替闪烁
实验五 中断
一.实验内容:
1、中断IRQ3实验,实验电路如图4-12-1,直接用手动产生单脉冲2作为中断请求信号(只需连接一根导线)。
要求每按一次开关产生一次中断,在屏幕上显示一次“TPCA
Interrupt!
”,中断10次后程序退出。
2、中断IRQ10实验,实验电路如图4-12-1,用手动产生单脉冲1作为中断请求信号,每按一次开关产生一次中断,在屏幕上显示一次“”,中断10次后退出。
3、中断嵌套实验,实验电路如图4-12-1,分别用手动产生单脉冲作为中断IRQ3和IR