接口作业2: 8255-2:利用8255A实现LED的流水点亮
实验
一、 实验目的
该实验的目的在于掌握8255A和微机接口的连接方法,了解8255A的基本的工作原理和编程方法。
二、 实验内容
PA口接8个拨动开关K0-K7,PB口接8个LED。初始由开关K0-K7设定8位不同的值,当执行程序后LED按K0-K7初始设定的值点亮,并向右流动(8255A工作在0方式)。
三、 实验接线图
8255PA0PA1PA2PA3PA4PA5PA6PA7CSPB0PB1PB2PB3PB4PB5PB6PB7拨动开关K0K1K2K3K4K5K6K7LED显示灯L0L1L2L3L4L5L6L7地址译码200-20FH210-21FH220-22FH230-23FH240-24FH250-25FH260-26FH270-27FH自定译码地址连线…………数码管四、
实验编程提示
根据难易程度,学生可以选择完成下列两个程序之一:
1、 LED右流水仅仅取决于第1次开关的位置,一旦LED流水开始, LED流水的次序
将不再理睬开关位置的重新变化。
2、 在LED右流水中,如果开关的位置发生了变化,LED右流水从变化的位置重新开
始。
程序2的提示:程序要能检测到某个时间开关状态的变化,并针对变化后的开关状态右流水,因此程序中要有两个变量,一个存当前开关的状态以检测开关状态是否发生了变化,一个存LED右流水的状态,以便使LED连续右流动。为了使流水显示明显,每个位置应加延时程序。
五、 实验步骤
1、 根据原理图正确连接实验线路(需要连接红线)。 2、 正确理解实验原理。
3、 编写实验程序,并上机调试,观察实验结果。
- 31 -
六、 思考题
在本实验的硬件电路中,能使用C口对LED指示灯控制码?如果可以,请写出2种控制方法(编程方法)。
- 32 -
实验五、8259中断控制器实验和作业
实验题目:8259中断控制器点亮LED灯实验
一、 二、
实验目的 实验内容
了解8259中断控制器的基本使用,掌握中断程序编程技术。
使用单脉冲电路产生的脉冲信号作为386EX模块8259中断请求输入,每按一次单脉冲按键,触发一次中断,通过8255 PC0驱动LED交替亮和灭,硬件连接如题图所示。
8255地址译码200-20FH210-21FH220-22FH230-23FH240-24FH250-25FH260-26FH270-27FH自定译码地址连线RDWRA0A1CSPC0IORIOWA0A1+5V 总线MIR5/PLUS单脉冲
基础三题图、8259中断控制器实验连线示意图
三、 实验提示
MIR5是接到PC的主8259A中断控制器的IR5端,因此不需要对8259A初始化(ICW1-ICW4),但要进行设置中断矢量和打开中断等操作;注意:TPC实验平台中采用的是非自动结束,则需要在中断结束前(中断服务程序的最后)发中断结束命令。另外、写入中断屏蔽字应采用“读—修改—写”过程,如下所述:
IN AL,21H AND AL,0DFH OUT 21H,AL 用户中断输入引脚 对应8259引脚输入 中断屏蔽字 中断类型号 IRQ5(MIR5) IRQ8(SIR0)
8259端口地址 20H,21H 0A0H,0A1H 主片IR5 从片IR0 11011111B 11111110B 35H 70H - 33 -
开始中断服务程序初始化8255;设置8259屏蔽字,开放MIR5根据CL值,设置8255PC0=1,0写入35H中断向量中断结束开中断 软件实现流程图
.Model small .386
code segment
assume cs:code start: mov dx,203h
mov al,90h ;设置8255控制字, out dx,al mov cl,0
cli ;关386 CPU中断
;写入中断屏蔽字OCW1时,采用读取-修改-写入的顺序
in al,21h
and al,11011111b ;mask byte out 21h,al ;将中断入口地址写入中断向量表 push ds mov bx,0 mov ds,bx
lea ax,cs:int_proc ;将中断程序的入口地址给ax mov bx,5 ;n=IRx 中断IR5 mov si,30h ;base =30H 基址
add si,bx ;基址+IR5=中断类型号为35H
sal si,2 ; 中断类型号为35H X 4=中断向量 存于si mov ds:[si],ax ;将入口地址ax送到中断向量表中 push cs pop ax mov ds:[si+2],ax pop ds
sti ;开386 CPU中断 lll: jmp lll
int_proc proc far
- 34 -
push ax cmp cl,0 jz set0
mov dx,203h ;pc0=1 mov al,01 out dx,al mov cl,0 jmp endint
set0: mov dx,203h ;pc0=0 mov al,00 out dx,al mov cl,1
endint: mov al,20h out 20h,al pop ax sti
iret int_proc endp code ends
end start
- 35 -
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库汇编和接口技术实验指导书和作业-学生版(7)在线全文阅读。
相关推荐: