微机实验8255方式1
来源:互联网 发布:linux如何退出终端 编辑:程序博客网 时间:2024/05/16 13:50
题目要求:
每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务:依次输出01H、02H、……80H使得L0~L7依次发光,中断8次结束。
输出电路:
代码:
data segmentcount db 0data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axcli;关中断push ds;设置新的中断向量mov dx,offset intrmov ax,seg intrmov ds,axmov ax,250bh;设外部终端intr类型号为08hint 21h;将外部中断服务程序intr入口地址填入中断向量表pop ds;恢复ds;设置中断掩码in al,21h;读取旧的中断屏蔽字push ax;保存在堆栈中and al,0f7h;允许IR3out 21h,al;初始化设置8255mov dx,28bhmov al,0a0hout dx,al;A口方式1输出mov al,0dhout dx,al;将pc6置位mov bl,1sti;开中断again:cmp count,8jb again;中断8次后退出cli;关中断pop ax;弹出旧的中断屏蔽字out 21h,al;回复旧的中断屏蔽字stimov ax,4c00hint 21hintr proc ;cli push ax ;push bx push ds push si mov al,bl mov dx,288h out dx,al mov al,20h out 20h,al;EOI shl bl,1 inc count pop si pop ds ;pop bx pop ax ;sti iretintr endpcode ends end start
这个代码写的复杂了一些,很多没有用上。以后要力求简单!
如果遇见同班的同学,大家千万别照抄,看看就好,因为这个作业两个老师都看过了,因为写成这样,所以印象应该很深。拜托(^人^)
阅读全文
0 0
- 微机实验8255方式1
- 微机接口实验一 :8255并行接口实验
- 微机原理实验 系列
- 微机原理实验 系列
- 微机原理8255并行接口实验-红绿灯的模拟实现
- 微机寻址方式总结
- 微机实验 数字钟 代码
- 微机原理上机实验 - 汇编
- 微机实验之电子琴制作
- 微机原理--第三章(1) 8086的寻址方式
- 微机接口实验二:存储器扩展实验
- 微机接口技术实验三测试微机系统串行口
- 【微机实验系列】基于微机的串行通信口扩展
- 微机接口寻址方式分类
- 微机实验的汇编编程总结
- 微机接口实验 C# 串行通信
- 键盘--(微机原理实验五)
- 南邮微机实验(设计定时器)
- 数据结构实验之查找二:平衡二叉树
- cocos2d: fullPathForFilename: No file found at Hero.png. Possible missing file.问题解决方法
- 不爱学习的小W HNUST 1881(数组开小点的灵活运用)
- Java程序与RSR232串口通讯小练手
- 2.1 用引用操作对象
- 微机实验8255方式1
- 第5条:避免创建不必要的对象
- The advance of Java -- Html, Servlet(Day07)
- 【拜小白opencv】45-二维H-S直方图绘制----calcHist()函数、minMaxLoc()函数
- 11、Tensorflow:tf.truncated_normal的用法详解
- Python基础-常用内建模块 collections
- 正则表达式中中括号的三种用途 []
- a标签底部的留白无法清除
- 定时任务Quartz和spring task