89c51单片机中用汇编语言编程,在原来点亮的数码管加入中断,key1按一下,显示字符“22”。其中,第一块数码管端口从p0.0到p0.7。第二块数码管端口从p2.0到p2.7。key1按钮接int0

时间: 2024-03-24 13:42:04 浏览: 23
好的,我来回答你的问题。 首先,需要定义中断向量表,将INT0中断与相应的中断处理程序关联起来。代码如下: ``` ORG 0000H ; 程序从地址0开始存放 LJMP MAIN ; 跳转到主程序 ORG 0003H ; 定义INT0的中断向量表 LJMP KEYINT ; 跳转到中断处理程序 MAIN: MOV P0, #0FFH ; 将第一块数码管全部置为低电平 MOV P2, #0FFH ; 将第二块数码管全部置为低电平 SETB IT0 ; 设置INT0为下降沿触发 SETB EA ; 开启全局中断 LOOP: ; 主程序循环 SJMP LOOP KEYINT: ; 中断处理程序 MOV P0, #0 ; 将第一块数码管全部置为高电平 MOV P2, #0 ; 将第二块数码管全部置为高电平 MOV P0.0, #0 ; 将第一块数码管的第一位点亮 MOV P2.1, #0 ; 将第二块数码管的第二位点亮 MOV P2.2, #0 ; 将第二块数码管的第三位点亮 MOV A, #22H ; 将字符“22”存入累加器A ACALL DISPLAY ; 调用显示函数 RETI ; 中断返回 DISPLAY: ; 数码管显示函数 MOV P0, #0FFH ; 将第一块数码管全部置为低电平 MOV P2, #0FFH ; 将第二块数码管全部置为低电平 MOV R1, #10 ; 将常数10存入寄存器R1 DIV AB, R1 ; 将累加器A中的数除以10,商存在B中,余数存在A中 MOV P0.0, A ; 将余数A显示在第一块数码管的第一位 MOV P2.1, B ; 将商B显示在第二块数码管的第二位 MOV A, #0AH ; 将常数0AH存入累加器A DIV AB, R1 ; 将累加器A中的数除以10,商存在B中,余数存在A中 MOV P2.2, A ; 将余数A显示在第二块数码管的第三位 MOV P2.3, B ; 将商B显示在第二块数码管的第四位 RET ; 函数返回 ``` 以上是完整的汇编代码,其中用到了数码管显示函数和中断处理程序。在主程序中,将第一块数码管和第二块数码管全部置为低电平,然后设置INT0为下降沿触发,开启全局中断。 在中断处理程序中,将第一块数码管和第二块数码管全部置为高电平,然后点亮第一块数码管的第一位和第二块数码管的第二、三位,最后将字符“22”存入累加器A,调用显示函数显示在数码管上。 数码管显示函数中,先将第一块数码管和第二块数码管全部置为低电平,然后将累加器A中的数除以10,商存在B中,余数存在A中,将余数A显示在第一块数码管的第一位,将商B显示在第二块数码管的第二位。再将累加器A中的数除以10,商存在B中,余数存在A中,将余数A显示在第二块数码管的第三位,将商B显示在第二块数码管的第四位。 以上就是用汇编语言编写在原来点亮的数码管加入中断,key1按一下,显示字符“22”的程序。

相关推荐

最新推荐

recommend-type

基于AT89C51单片机的LED汉字显示屏设计方案

研究了基于AT89C51单片机16×16 LED汉字滚动显示屏的设计与运用Proteus软件的仿真实现。主要介绍了LED汉字显示屏的硬件电路、汇编程序设计与调试、Proteus软件仿真等方面的内容,本显示屏的设计具有体积小、硬件少、...
recommend-type

基于AT89C51单片机的十进制计算器系统设计

本设计是基于AT89C51 单片机进行的十进制计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除4 位无符号数字的简单四则运算,并在LED 上相应的显示结果。硬件方面从功能考虑,首先选择内部存储资源丰富的...
recommend-type

51单片机(AT89C52)一键多功能(短按、长按)

短按(按下持续时间小于3s)一次数码管显示加1,同时流水灯计数加1。长按(按下持续时间大于3s)时,数码管显示每500ms加1,同时流水灯每500ms计数加1。
recommend-type

基于89C51单片机的环境噪声测量仪

本文介绍一种以89C51单片机为核心,采用V/F转换技术构成的低成本、便携式数字显示环境噪声测量仪。该仪器工作稳定、性能良好,经校验定标后能满足一般民用需要,可广泛应用于工矿企业、机关、学校等需要对环境噪声...
recommend-type

基于AT89C51单片机的交通灯控制系统设计与仿真

AT89C51单片机的交通灯控制系统是由AT89C51单片机、键盘电路、LED倒计时、交通灯显示等模块组成。系统除基本交通灯功能外,还具有通行时间手动设置、可倒计时显示、急车强行通过、交通特殊情况处理等相关功能,实验...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

get() { return this.photoState },

这是一个 JavaScript 中的方法定义,它定义了一个名为 `get` 的方法。这个方法没有参数,它返回了 `this.photoState`。在这个方法中,`this` 是指当前对象,而 `photoState` 是该对象的一个属性。通常情况下,`get` 方法用于获取对象的属性值,并且可以在获取属性值之前进行一些逻辑操作。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。