微机原理及其接口技术重要实验详解 下载本文

实验三 可编程定时器/计数器(8253)

一、实验目的

掌握8253的基本工作原理和编程方法。 二、实验容

1、按图3-1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。

三、编程提示

1、8253控制寄存器地址 283H 计数器0地址 280H 计数器1地址 281H CLK0连接时钟 1MHZ

;*************************;

;* 8253方式0计数器实验 *; ;*************************; io8253a equ 283h io8253b equ 280h code segment

assume cs:code

start: mov al,14h ;设置8253通道0为工作方式2,二进制计数 mov dx,io8253a out dx,al

mov dx,io8253b ;送计数初值为0FH mov al,0fh out dx,al

lll: in al,dx ;读计数初值 call disp ;调显示子程序 push dx mov ah,06h mov dl,0ffh int 21h pop dx jz lll

mov ah,4ch ;退出 int 21h

disp proc near ;显示子程序 push dx

and al,0fh ;首先取低四位

Word 资料

mov dl,al

cmp dl,9 ;判断是否<=9

jle num ;若是则为'0'-'9',ASCII码加30H add dl,7 ;否则为'A'-'F',ASCII码加37H num: add dl,30h

mov ah,02h ;显示 int 21h

mov dl,0dh ;加回车符 int 21h

mov dl,0ah ;加换行符 int 21h pop dx

ret ;子程序返回 disp endp code ends end start

实验三 可编程定时器/计数器(8253)

一、实验目的

掌握8253的基本工作原理和编程方法。 二、实验容

1、按图3-2连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。

三、编程提示

1、8253控制寄存器地址 283H 计数器0地址 280H 计数器1地址 281H CLK0连接时钟 1MHZ

;******************* ;* 8253分频 * ;*******************

io8253a equ 280h io8253b equ 281h io8253c equ 283h

code segment //声明代码段 assume cs:code

start:mov dx,io8253c ;向8253写控制字 mov dx,283h; mov al,36h ;使0通道为工作方式3

Word 资料

D7D6D5D4D3D2D1D0=00110110,D7D6=00表示计数器0;D5D4=11先读写低8为再读写高8位;D3D2D1=011表示计数器工作方式3;D0=0表示计数器的初值为二进制数

out dx,al //向283h写控制字

mov ax,1000 ;写入循环计数初值1000 mov dx,io8253a

out dx,al ;先写入低字节到计数器0地址280H mov al,ah

out dx,al ;后写入高字节到计数器0地址280H mov dx,io8253c

mov al,76h ;设8253通道1工作方式3 .D7D6D5D4D3D2D1D0=01110110,D7D6=01表示计数器1;D5D4=11 先读写低8为再读写高8位;D3D2D1=011表示计数器工作方式3;D0=0表示计数器的初值为二进制; out dx,al

mov ax,1000 ;写入循环计数初值1000 mov dx,io8253b

out dx,al ;先写低字节到计数器1地址281H mov al,ah

out dx,al ;后写高字节到计数器1地址281H mov ah,4ch ;程序退出 int 21h code ends

end start

实验四 可编程并行接口(一)(8255方式0)

一、实验目的

掌握8255方式0的工作原理及使用方法。 二、实验容

1、实验电路如图4-1,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。 2、编程从8255C口输入数据,再从A口输出。

三、编程提示

1、8255控制寄存器端口地址 28BH A口的地址 288H C口的地址 28AH ;*******************************;

;* 8255方式0的C口输入,A口输出 *; ;*******************************; io8255a equ 288h io8255b equ 28bh io8255c equ 28ah

Word 资料