一 实验目的:
1、自己编程设计一个外部中断处理程序。 2、学习中断处理程序的编程方法。
二 实验内容:(样例)
LED equ P1.0
LEDBuf equ 0
ljmp Start
org 3 Interrupt0:
push PSW cpl LEDBuf mov c, LEDBuf mov LED, c
pop PSW reti
Start:
clr LEDBuf clr LED
mov TCON, #01h mov IE, #81h
ljmp $
end
三 实验用设备仪器及材料: 计算机 伟福实验箱 四 实验原理图:
单次脉冲
- 11 -
实验框图
开始 中断入口 设置初始状态 保护现场 设置中断控制 寄存器 状态位取反 中断允许 状态位输出 等待中断 恢复现场 中断返回 主程序框图 INTO中断子程序框图 五 实验方法及步骤:
本实验中使用了INTO中断,一般中断程序进入时应保护PSW,ACC以及中断程序使用但非其专用的寄存器。本例的INTO程序保护了PSW,ACC等三个寄存器并且在退出前恢复了这三个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。INTO端接单次脉冲发生器。P1.0接LED灯,以查看信号反转. 六 实验结果分析:
成绩评定: _____________________ 指导教师:_________________________
年 月 日
- 12 -
撰写人姓名:____________ 撰写时间:_________________ 审查人姓名:_________________
实验全过程记录
实验 名称 姓名 同实验者 时间 地点 班 组 班 组 8255输入、输出实验 学号 学号 一、实验目的
- 13 -
利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255PA口作输出,PB口作输入。
1、了解8255芯片结构及编程方法。 2、了解8255输入/输出实验方法。
二、实验内容
mode equ 082h PortA equ 8000h PortB equ 8001h PortC equ 8002h CAddr equ 8003h
org 0h
mov a, #mode
mov dptr, #CAddr
movx @dptr,a
;实验1:PortA输出
mov a,#80H
mov dptr,#PortA mov b,#8H
OutA: movx @dptr,a rr a mov r5,#1
call delay djnz b, OutA
;实验2: PortB 输入 PortA 输出
mov dptr,#PortB movx a,@dptr mov dptr,#PortA movx @dptr,a
mov r5,#2 call delay
ljmp 0
delay:
mov r7,#0
- 14 -
ddd: djnz r7,ddd djnz r6,ddd djnz r5,ddd ret
end
三、 实验用设备仪器及材料:
计算机 伟福实验箱 万用表
四、实验电路及连线
8255的CS/接地址译码/CS0,则命令字地址为8003H,PA口地址为8000H,PB口地址为8001H,PC口地址为8002H。PA0-PA7(PA口)接LED0-LED7(LED)PB0-PB7(PB口)接K0-K7(开关量) 再接上数据线和读/写信号,地址线只接A0,A1即可,还要接上RESET信号,以便8255A可靠复位。
五 实验方法及步骤: 六 实验结果分析:
成绩评定: _____________________ 指导教师:_________________________
年 月 日
- 15 -