8253、8255、8259综合实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8253、8255、8259 综合实验

医电61

刘晶

06121005

8253、8255、8259综合实验

一、实验目的

1.掌握8259、8253、8255芯片结构及工作方式;

2.熟悉8259、8252、8259的初始化和操作编程;

3.掌握各芯片之间或与CPU间的连接方法。

二、实验设备

b6000p实验教学系统;

2.IBM-PC机

三、实验内容

1.8255A口为输出口,接8个发光二极管,B口为输入口,接8个拨动开关,“0”或“1”,从而实现把开关的状态显示出来。

2.用8253计数器0对外部事件进行计数,每发生5次外部事件,用发光二极管亮做提示。

3.用8253计数器0输出一个1S为周期的方波,并用发光二极管显示其周期。

4.8个LED二级管循环点亮,每个亮1秒钟,用8253定时1秒,通过8259中断实现1S 循坏显示

四、实验结果

1.8255

程序如下:

DATA SEGMENT

COUNT DB 1

DATA ENDS

STACK SEGMENT

DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA,SS:STACK

START:

MOV AX,DA TA

MOV DS,AX

MOV DX,8003H ;8255控制口

MOV AL,10000010B ;控制字:A口方式0输出,B口方式0输入

OUT DX,AL ;写入控制字

TESTI:MOV DX,8001H ;指向B口

IN AL,DX ;从B口读入开关状态

MOV DX,8000H ;指向A 口

OUT DX,AL ;A 口用LED 指示开关状态 JMP TESTI ;循环检测 CODE ENDS

END START 实验结果:

程序运行后,波动开关,可以控制其对应二极管的亮、灭。

2.8253对外部事件计数 程序如下:

DATA SEGMENT COUNT DB 1 DATA ENDS

STACK SEGMENT DB 100 DUP(?) STACK ENDS

CODE SEGMENT MAIN PROC FAR

ASSUME CS:CODE,DS:DA TA,SS:STACK START:

MOV AX,DA TA MOV DS,AX JISHU:

MOV AL,00010001B

MOV DX,9003H

OUT DX,AL

MOV AL,3

MOV DX,9000H OUT DX,AL

DUHUI: MOV AL,00000000B MOV DX,9003H OUT DX,AL MOV DX,9000H IN AL,DX SUB AL,0 JZ JISHU JMP DUHUI MAIN ENDP CODE ENDS END START 实验结果:

程序运行后,每发生5次外部事件(单脉冲电路产生),二极管亮1次作为

MOV CX,0FFFFH

DELAY: DEC CX

CMP CX,00H

JNZ DELAY

3.8253输出周期为1s的方波

程序如下:

DATA SEGMENT

COUNT DB 1

DATA ENDS

STACK SEGMENT

DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

MAIN PROC FAR

ASSUME CS:CODE,DS:DA TA,SS:STACK

START:

MOV AX,DA TA

MOV DS,AX

MOV AL,00110110B

MOV DX,9003H

OUT DX,AL

MOV BX,62500

MOV AL,BL

MOV DX,9000H

OUT DX,AL

MOV AL,BH

OUT DX,AL

MAIN ENDP

CODE ENDS

END START

实验结果:

二极管以1s为周期闪烁,即得到了1s为周期的脉冲波,并用二极管显示出来。

4.8个LED二级管循环点亮,每个亮1秒钟

程序如下:

DATA SEGMENT

COUNT DB 18

DATA ENDS

STACK SEGMENT

DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

MAIN PROC FAR

ASSUME CS:CODE,DS:DA TA,ES:DATA,SS:STACK

MOV AX,DA TA

MOV DS,AX

MOV AL,00110110B ;8253初始化

MOV DX,9003H

OUT DX,AL

MOV BX,62500

MOV AL,BL

MOV DX,9000H

OUT DX,AL

MOV AL,BH

OUT DX,AL

MOV AX,0 ;设置中断服务程序入口地址MOV ES,AX

MOV BX,20H*4

MOV DX,OFFSET XUNH

MOV ES:WORD PTR[BX],DX

MOV AX,SEG XUNH

MOV ES:WORD PTR[BX+2],AX

STI

MOV AL,00010011B ;8259初始化

MOV DX,0A000H

OUT DX,AL

MOV AL,20H

MOV DX,0A001H

OUT DX,AL

MOV AL,00000001B

OUT DX,AL

MOV AL,0FEH

MOV CL,10000000B

S1: NOP

JMP S1

MAIN ENDP

XUNH PROC NEAR

PUSH DS

PUSH AX

PUSH DX

MOV AX,DA TA

MOV DS,AX

STI

ROL CL,1

相关文档
最新文档