利用8259A中断实现LED灯和数码管显示实验_第1页
利用8259A中断实现LED灯和数码管显示实验_第2页
利用8259A中断实现LED灯和数码管显示实验_第3页
利用8259A中断实现LED灯和数码管显示实验_第4页
利用8259A中断实现LED灯和数码管显示实验_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验三:利用8259A中断实现LED灯和数码管显示实验安全0901 王宇航09283020实验报告1. 实验目的:了解8259中断控制器的基本使用,掌握中断程序编程技术。同时使同学掌握中断 和其它接口芯片配合来完成某一特定任务的方法。2. 实验步骤:8254A的OUT1输出接到8259A的MIR5上,每秒产生一次中断信号向8259A发出中断请求,在中断程序里将连接在 8255A 口的LED灯按照中断次数二进制点亮 (即中断一次L0亮, 中断两次L1亮,中断三次L1L0亮,中断四次L2亮)。同时在数码管低位上显示中断次 数。满10次后停止。1. 8254A在主程序中初始化。CLK0工作在方式3,

2、则控制字为 00110110B,计数常数设为 1000;CLK1工作在方式 3,则控制字为 01110110B,计数常数设为 1000,贝U OUT1输出为1HZ 的方波。2. 8255A在使用前需要在主程序中初始化。A 口方式0输出,B 口方式0输入,则控制字为 10000011B。3. 8259A不用初始化,但在程序中需要包含以下几个部分:(1) 8259A的MIR5对应的中断向量号为 35H,需用此来设置中断入口地址。(2) 设置中断入口地址之后,需设置中断屏蔽字OCW1使IR5请求被允许,其他请求 被禁止。(3) 中断服务程序结束之前写OCW2送中断结束命令 EOI。4 中断服务程序的

3、主要功能是LED指示灯和数码管显示。PA0PA1PA2PA3PA4PA5PA68255 PA7CSL0L1L2L3L4L5L6L7匸图3-1 实验连线图注意:实验系统的主 8259A的片选信号为20H3.实验代码:.Model small.386DATASEGMENTDATA0 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;分别对应字符 0-9COUNT DB 10;计数值为10DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA SI,DATA0 ;8254初始化

4、MOV DX,203HMOV AL,00110110BOUT DX,ALMOV DX,200HMOV AX,1000OUT DX,ALMOV AL,AHOUT DX,ALMOV DX,203HMOV AL,01110110BOUT DX,ALMOV DX,201HMOV AX,1000OUT DX,ALMOV AL,AHOUT DX,AL;DS装入段基址;取操作数DATA0的16位偏移地址送到寄存器SI中;8254命令口;控制字-0通道、方式3(方波发生器)、二进制计数;将控制字写入命令口;0通道的数据口;计数常数=1000;先写入低字节;再写入高字节;8254命令口;控制字1通道、方式3(方

5、波发生器)、二进制计数;1通道的数据口;计数常数=1000;8255初始化MOV DX,213HMOV AL,10000011BOUT DX,ALCLIMOV AX,0MOV ES,AXMOV DI,4*35HMOV AX,OFFSET INT_3CLDSTOSWMOV AX,SEG INT_35STOSWIN AL,21HAND AL,11011111BOUT 21H,ALSTIWAIT:CMP COUNT,10JNZ WAIT ;CLIMOV AH,4CHINT 21H; 延时程序DELAY PROCPUSH CX MOV CX,100HDELAY1: LOOP DELAY1POP CXR

6、ETDELAY ENDP; 中断服务程序INT_35 PROCPUSH DXPUSH AXPUSH CXCLIMOV AX,DATAMOV DS,AXINC COUNTMOV AL,COUNTMOV DX,210HOUT DX,ALMOV CX,680H; 保护现场; 关中断;8255 命令口;8255控制字-A 口方式0输出,B 口方式0输入; 将控制字写入命令口; 中断入口地址设置 ( 用串指令 ); 关中断; 置附件段基地址为 0; 置附件段偏移地址到 DI5; 置中断程序首地址的偏移量到 AX; 填首地址的偏移量到中断地址表; 置中断程序的段基地址到 AX; 填段基地址到中断地址表;

7、读中断屏蔽寄存器 IMR; 设置中断屏蔽字 OCW,1 IR5 请求被允许,其他请求被禁止;将OCW写入IMR中; 开中断; 判断 10 次中断是否结束未结束,等待;10 次中断后,关中断;结束,返回DOS; 保护现场;延时时间为处理一次 CX自减1的时间乘以100H; 恢复现场; 返回到调用处,继续执行; 中断次数加 1; 将中断次数写入 AL 中;8255 数据口;将中断次数输出到 LED显示灯CMP COUNT,10JB GOON -randomirandom;CMP COUNT,10JNZ L1SUB SI,9L1:MOV AL,SIMOV DX,220HOUT DX,ALMOV DX

8、,221HMOV AL,00000001BOUT DX,ALCALL DELAYMOV AL,06HMOV DX,220HOUT DX,ALMOV DX,221H; 低于 10 时跳转到 GOON; 不等于 10( 此处即大于 10) 时跳转到 L1;第10次中断时SI减去9,即归0; 查表,对应 0-9; 地址译码器连接六位数码管电路的数据口; 数据口; 指定六位数码管在最低位显示 0-9; 调用延时程序; 对应字符 1MOV AL,00000010B ; 指定六位数码管在次低位显示 1OUT DX,ALCALL DELAYLOOP L1INC SIJMP LGOON:INC SIMOV AL,SIMOV DX,220HOUT DX,ALMOV DX,221HMOV AL,00000001BOUT DX,ALL:MOV AL,20HOUT 20H,ALSTIPOP CXPOP AXPO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论