微型计算机原理与接口实验.doc
《微型计算机原理与接口实验.doc》由会员分享,可在线阅读,更多相关《微型计算机原理与接口实验.doc(13页珍藏版)》请在冰豆网上搜索。
微型计算机原理与接口实验报告
实验一I/O地址译码
一.实验目的:
掌握I/O地址译码电路的工作原理
二.实验仪器:
U374LS13874LS7474LS00PCTPC-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
AA DB AOH
BB DB A8H
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
PUSH DS
MOV AX, 0
PUSH AX
MOV AX, DATAS
MOV DS, AX
CIR:
MOV AL, AA
MOV DX, 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 ;延时函数
MOV BX, 100
WAIT:
MOV CX, 2601
FLASH:
LOOP FLASH
DEC BX
JNZ WAIT
RET
DELAY ENDP
CODES ENDS
END START
六.实验结果:
L7闪烁发光(亮、灭、亮、灭、„„)
实验二存储器读写实验
一.实验内容:
编制程序,将字符A-Z循环写入扩展的RAM中,然后再将扩展的RAM内容读出来显示在主机屏幕上。
二.实验目的:
1、熟悉6264静态RAM的使用方法,掌握PC机外存扩充的手段。
2、通过对硬件电路的分析,学习了解总线的工作时序。
三.实验仪器:
2K的6264TPC-ZK实验系统 PC
四.实验总体思路:
五.实验代码:
DATAS SEGMENT
MESSAGEDB'ANYKEYTOSHOWTHECONTENTS!
',0DH,0AH,'$'
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOV AX, DATAS
MOV DS, AX
;此处输入代码段代码
MOV AX,0D000H
MOV ES, AX ;inites
MOV BX, 6000H ;EA=06000HSTARTFROMPA=0D6000H
MOV CX, 100H
MOV DL, 41H
WRITE:
;WRITEREAPTLY
MOV ES:
[BX], DL
INC BX
INC DL
CMP DL, 5AH
JLE CIR
MOV DL, 41H
CIR:
LOOPWRITE
;KEYOUT&IN
MOV DX, OFFSETMESSAGE
MOV AH, 9
INT 21H
MOV AH, 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
INC BX
LOOP READ
MOV AH, 4CH
INT 21H
CODES ENDS
END START
六.实验结果:
主机屏幕上显示字符A-Z
实验三可编程并行接口
一.实验内容:
1.实验电路如图4-3-1,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。
2.编程从8255C口输入数据,再从A口输出。
二.实验目的:
通过实验,掌握8255工作于方式0以及设置A口为输出口,C口为输入口的方法
三.实验仪器:
TPC-ZK实验系统
四.实验总体思路:
五实验步骤:
DATASSEGMENT
;此处输入数据段代码
MESSDB'ANYKEYTOEXITTODOS!
',0DH,0AH,'$'
DATASENDS
STACKSSEGMENT
;此处输入堆栈段代码
STACKSENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOV AX, DATAS
MOV DS, AX
;此处输入代码段代码
MOV AH, 09H
MOV DX, OFFSETMESS
INT 21H
INIT:
MOV DX, 28BH
MOV AL, 89H
OUT DX, AL
READ:
MOV DX, 28AH
IN AL, DX
MOV DX, 288H
OUT DX, AL
MOV AH, 06H
MOV DL, 0FFH
INT 21H
JNZ EXIT
JMP READ
EXIT:
MOV AX, 4C00H
INT 21H
MOV AH, 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实验系统
四.实验总体思路:
五.实验步骤:
实验
(一)
DATAS SEGMENT
;此处输入数据段代码
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
OUT DX, AL
MOV DX, 0280H
MOV AL, 0EH;AFTER15HIGH
OUT DX, AL
READ:
MOV DX, 0280H
IN AL, DX
PUSH DX
CALL DISPLAY
POP DX
MOV AH, 06
MOV DL, 0FFH
INT 21H
JZREAD
MOV AH, 4CH
INT 21H
DISPLAY PROC NEAR
;PUSHDX
;MOV BL, 0EH
;SUB BL, AL
;XCHG AL, BL
MOV DL, AL
CMP DL, 9
JLE ACI
ADD DL, 7
ACI:
ADD DL, 30H
MOV AH, 02
INT 21H
MOV DL, 0DH
INT 21H
MOV DL, 0AH
INT 21H
;POP DX
RET
DISPLAY ENDP
CODES ENDS
END START
实验
(二)
DATAS SEGMENT
;此处输入数据段代码
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, 36H
OUT DX, AL
MOV DX, 0280H
MOV AL, 0E8H
OUT DX, AL
MOV AL, 03H
OUT DX, AL
MOV DX, 0283H
MOV AL, 76H
OUT DX, AL
MOV DX, 0281H
MOV AL, 0E8H
OUT DX, AL
MOV AL, 03H
OUT DX, AL
MOV AH, 4CH
I