安徽工程大学 微型原理及应用I 实验指导书
四、参考程序清单
data segment buf db 50 dup(?) count1 db 0 count2 db 0 count3 db 0 data ends code segment assume ds:data,cs:code main proc far push ds mov ax,0 push ax lea bx,buf input:mov ah,1 int 21h mov [bx],al inc bx cmp al,13 jnz input lea bx,buf again: mov al,[bx]
inc bx cmp al,13 jz ok cmp al,'0' jb next2 cmp al,'9' ja next1 inc count1 jmp again next1:cmp al,'A' jb next2 cmp al,'Z' ja next2 inc count2 jmp again next2:inc count3 jmp again ok: ret main endp code ends end
26
安徽工程大学 微型原理及应用I 实验指导书
第三章 硬件部分实验
3.1 存储器实验
实验名称:存储器实验
实验目的:
⑴、熟悉静态RAM的使用方法,掌握8088微机系统扩展RAM的方法。 ⑵、掌握静态RAM读写数据编程方法。 实验内容:
对指定地址区间的RAM(4000H~4FFH)先进行写数据55AAH,然后将其内容读出再写到5000H~5FFH中。
实验原理:
半导体存储器是采用半导体器件作为存储器的,按照断电后存储的信息是否丢失,而分为两类:RAM和ROM。
RAM:通称为易失性半导体存储器,断电后存储的信息就会丢失。 ROM:通称为非易失性半导体存储器,断电后存储的信息不会丢失。
易失性半导体存储器(RAM)按存储元件在运行中能否长时间保存信息而分为:静态存储器和动态存储器。
静态存储器(SRAM):利用双稳态触发器来保存信息。在运行中,只要不断电,信息就不会失丢。
动态存储器(DRAM):利用MOS电容存储电荷来保存信息。在运行中,需要不断刷新,才能保持信息不被丢失。
实验电路: 配有二片61C256静态RAM构成系统的64K基本内存,存放用户程序/数据,地址范围为00000H-0FFFFH,其中00000H-00FFFH监控占用。
配有二片W27C512 EEPROM(64K),EP1存放监控程序,地址范围F0000H-FFFFFH;EP2存放实验程序,为实验系统独立运行时下载实验程序提供方便。
图3-1 存储器控制电路
27
安徽工程大学 微型原理及应用I 实验指导书
实验接线:系统中已连接好 实验程序流程:
图3-2存储器读写实验流程
参考实验程序:
CODE SEGMENT ;RAM.ASM ASSUME CS:CODE
PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 ORG 1850h
START: JMP START0
BUF DB ?,?,?,?,?,?
data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h
db 80h,90h,88h,83h,0c6h,0a1h
db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0: MOV AX,0H
MOV DS,AX MOV BX,4000H MOV AX,55AAH MOV CX,0200H
RAMW1: MOV DS:[BX],AX
ADD BX,0002H LOOP RAMW1 MOV AX,4000H MOV SI,AX MOV AX,5000H MOV DI,AX MOV CX,0400H CLD
28
安徽工程大学 微型原理及应用I 实验指导书
REP MOVSB call buf1 mov cx,0ffh
con1: push cx
call disp pop cx loop con1 call buf2
con2: call disp
jmp con2
DISP: MOV AL,0FFH
MOV DX,PA OUT DX,AL
MOV CL,0DFH MOV BX,OFFSET BUF
DIS1: MOV AL,[BX] MOV AH,00H
PUSH BX
MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX] POP BX MOV DX,PB OUT DX,AL MOV AL,CL MOV DX,PA OUT DX,AL PUSH CX
DIS2: MOV CX,00A0H
LOOP $ POP CX
CMP CL,0FEH JZ LX1 INC BX
ROR CL,1 JMP DIS1
LX1: MOV AL,0FFH
MOV DX,PB OUT DX,AL RET
BUF1: MOV BUF,06H
MOV BUF+1,02H MOV BUF+2,02H MOV BUF+3,05H
显示子程序,5ms
29
;00H
;20H ;;01H
;SHR CL,1
安徽工程大学 微型原理及应用I 实验指导书
MOV BUF+4,06H MOV BUF+5,17H RET
BUF2: MOV BUF,17H
MOV BUF+1,17H MOV BUF+2,09H MOV BUF+3,00H MOV BUF+4,00H MOV BUF+5,0dH RET
CODE ENDS END START 实验结果:
全速运行程序后,退出程序,观察存储器中4000H-43FFH和5000H-53FFH中的内容全为“55AA”。
3.2 简单IO口实验
实验名称:简单I/O口实验 实验目的:
1、学习简单I/O口的扩展方法。 2、学习数据输入输出程序的编制方法。 实验内容:
用74LS244作为输入口,读取开关状态,并将此状态通过74LS273再驱动发光二极管显示出来。
实验原理:
在简单的无条件传送方式下,可直接采用TTL/CMOS锁存器、缓冲器设计接口。
对于输入接口:要求芯片具有三态输出电路。对于输出接口:要求芯片具有锁存功能。常用的TTL/CMOS锁存器、缓冲器有:74LS373、74LS374、74LS244、74LS273、74LS267 等。
实验电路:
30