目录

一.实验目的:

二.实验内容:

三.实验步骤:

四.实验参考程序:

五、实验结果

六、实验小结


一.实验目的:

1.掌握51单片机中断原理及编程方法;

2.了解中断触发方式及中断优先级的概念。

二.实验内容:

通过手动按键产生负脉冲信号,K3控制输出的负脉冲信号加于INT0,K4控制输出的负脉冲加于INT1.主程序以1秒为间隔循环点亮响铃的两个LED程序,设置INT0为低优先级,当按K3键并释放按键后,发出中断信号,使得8个LED以1秒为间隔“全亮-全灭”方式闪动3次。

完成上述试验后,设置INT1的触发方式为边沿触发,优先级为高优先级,安东开关K4,产生负脉冲,INT1中断服务为高优先级,按动开关K4,长生负脉冲,INT1响应,以0.5秒为间隔“全亮-全灭”方式闪动4次。

三.实验步骤:

1.理解TCON寄存器中IT0 IT1的设置,IE和EA的正旗设置。

2.理解外部中断的触发原理.

2.进入DEBUG方式,打开I/O口查看工具,监视P3口的输出变化。

4.生成HEX文件,烧入实验板,按键并观察发光二极管闪烁情况。

四.实验参考程序:

ORG 0000H;启动地址
LJMP MAIN;转到主程序
ORG 0003H;外部中断INT_0的入口地址
LJMP INT_0;转向外部INT_0中断服务程序
ORG 0013H;
LJMP INT_1
ORG 0030H
MAIN:
MOV SP,#07H;设定栈底
MOV A,#0FCH
SETB EA;允许单片机总断
SETB EX0;允许外部断0
SETB EX1;允许外部断1
SETB IT1;置1,下降沿触发中断
ETB PX1;
LOOP:
MOV     P2,A
ACALL DELAY1;调用延时
RL A;循环左移
SJMP LOOP;CPU从LOOP处开始执行
INT_0:
PUSH ACC;将累加器压栈
PUSH PSW;将程序状态字压栈
SETB RS0;RE0置1
CLR     RS1;
MOV     A,#00H
MOV     R3,#6
LOOP1:
MOV     P2,A
ACALL DELAY1
CPL     A;将A取反
DJNZ R3,LOOP1;R3内容减1,非0跳转到LOOP1
POP     PSW;栈顶数据传送到PSW
POP     ACC;出栈
RETI
INT_1:
PUSH ACC;将累加器压栈
PUSH PSW;将程序状态字压栈
SETB RS1
SETB RS0
MOV     A,#00H
MOV     R3,#8
LOOP2:
MOV     P2,A
ACALL DELAY2
CPL A
DJNZ R3,LOOP2
POP     PSW
POP     ACC
RETI
DELAY1: MOV     R2,#10;延时一秒
DL1: MOV     R1,#200
DL2:MOV R0,#248
DJNZ R0,$;R0内容减1,非0跳转
DJNZ R1,DL2;R1内容减1,非0跳转DL2
DJNZ R7,DL1;同上
RET
DELAY2:MOV R0,#5;延时0.5秒
DL3:MOV R1,#200;
DL4:MOV R0,#248
DJNZ R0,$;R0内容减1,非0跳转
DJNZ R1,DL4;R1内容减1,非0跳转DL4
DJNZ R2,DL3;同上
RETEND

五、实验结果

六、实验小结

在每一行代码后添加注释可以帮助自己更熟练地记住一些汇编指令,SETB是将后面的寄存器置1,触发下降沿触发方式,觉得比用MOV指令要简便一些,区分开了SJMP和LJMP,以及了解了在指令中运用ACALL和LCALL的区别。在写代码方面还是不够熟练,在老师临时要求改代码的情况下,明显要比其他同学慢了一步,可以看出对一些指令的作用和含义理解的还是不透彻,课下会巩固自己的基础知识。

单片机实验五、外部中断实验相关推荐

  1. 单片机第四次实验课——外部中断实验

    (1)通过外部中断使 P1 口的开关控制 8 个发光二极管,开始是 P1.0 所接的灯亮,以后每中断一次,下一个灯亮,顺序左移,周而复始. (2)外部中断控制 P1 口连接的 8 个发光二极管,同时亮 ...

  2. hal库开启中断关中断_「正点原子NANO STM32开发板资料连载」第十章 外部中断实验...

    1)实验平台:ALIENTEK NANO STM32F411 V1开发板 2)摘自<正点原子STM32F4 开发指南(HAL 库版>关注官方微信号公众号,获取更多资料:正点原子 第十章 外 ...

  3. [Keil][Verilog][微机原理] 流水灯、存储器、外部中断实验_北京邮电大学计算机原理与应用课程实验报告

    计算机原理与应用实验-流水灯.存储器.外部中断实验 1 实验一 流水灯实验 1.1 实验目的 掌握ARM开发工具的使用. 掌握基本IO的使用. 1.2 实验原理及内容 电路结构图 实现流水灯的电路结构 ...

  4. gd32f303 设计中断优先级_ALIENTEK 阿波罗 STM32F767 开发板资料连载第九章 外部中断实验...

    1)实验平台:alientek 阿波罗 STM32F767 开发板2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第九章 外部中断实验 这 ...

  5. 一起学mini2440裸机开发(十)--mini2440外部中断实验

    我今天一整天都在试着将TQ2440的那种处理中断的方法(即安装中断向量表)移植到MDK中的mini2440,但是一直没成功,这种方法一直没成功,后来又想,还是先从最简单的开始吧,就是不利用中断向量表, ...

  6. 基于Atmega16的外部中断实验

    一.实验目的 1. 理解单片机中断的概念. 2. 掌握外部中断的编程方法. 二.实验内容 1. 验证课堂例题 编译下载运行课堂例题--"按键次数显示"(INT_EX1)和" ...

  7. zigbee CC2530 系列教程 5 外部中断实验

    所有课程见此链接: zigbee CC2530 系列教程 0 课程介绍 4.4外部中断实验 4.4.1 实验目的 了解使用外部中断的方法,在中断处理函数中切换LED的状态. 4.4.2 实验讲解 首先 ...

  8. 51单片机开发 矩阵键盘中断实验与简易计算器及proteus仿真

    51单片机开发 矩阵键盘中断实验与简易计算器及proteus仿真 文章目录 51单片机开发 矩阵键盘中断实验与简易计算器及proteus仿真 实验内容 一.实验一 矩阵键盘中断实验 数码管显示 1.仿 ...

  9. EXIT外部中断实验——EXTI

    外部中断概述: STM32的每个IO都可以作为外部中断输入. STM32的中断控制器支持19个外部中断/事件请求: 线0~15:对应外部IO口的输入中断. 线16:连接到PVD输出. 线17:连接到R ...

  10. 基于STM32F103ZET6库函数外部中断实验

    基于STM32F103ZET6库函数外部中断实验 外部中断简介 IO 口外部中断的一般步骤 软件设计 外部中断简介 通过板载的 3 个按键,控制板载的两个 LED 的亮灭以及蜂鸣器的发声. 代码主要分 ...

最新文章

  1. 一文看尽 27 篇 CVPR 2021 2D 目标检测论文
  2. kvm性能优化方案---cpu/内存/磁盘/网络
  3. asp.net代码审计起始篇之系统搭建
  4. 用Java测试多线程代码
  5. VUE之文字跑马灯效果
  6. python的等待代码是什么_Python selenium 三种等待方式详解
  7. intellij Find Usage 查找符号使用快捷键alt + f7在ubuntu下无法使用的解决方法
  8. C#笔记12 自定义集合和常用集合
  9. python刚出来多少薪资-Python工资待遇的几个层级,你工作几年了?目前是哪个层级?...
  10. Git(2)-- Git安装后首次配置与第一次使用Git和Github管理自己的代码(超详细纯小白图文教程)
  11. Flutter进阶第13篇: 打开外部浏览器、打开外部应用、拨打电话、发送短信
  12. 马云和卫哲:从不屑到仰慕 从朋友到诀别
  13. 五分钟学会PowerDesigner创建概念数据模型
  14. 怎么用计算机向手机上传照片,华为手机怎么传照片到电脑上去?华为手机往电脑传照片方法...
  15. 【presto】函数大全
  16. [LiteratureReview]A Collaborative Visual SLAM Framework for Service Robots
  17. [渝粤教育] 广东-国家-开放大学 21秋期末考试马克思主义基本原理概论(A)10882k1 (3)
  18. 全选主元matlab,全选主元高斯-约当法实矩阵求逆及传统方法求逆
  19. mysql语法错误:Every derived table must have its own alias
  20. 试题 算法训练 九宫格的奥(解题思路与代码)

热门文章

  1. ptx760功能图解_ptx760对讲机使用教程
  2. 算法训练营 图的应用(拓扑排序)
  3. 字符编码发展史和密码算法那些事儿
  4. 批量修改图幅lisp_AutoCAD中自动批量修改图形文件的程序
  5. VS 2017安装教程
  6. python通配符_Python通配符一览
  7. ILSVRC2015_DET.tar.gz下载地址
  8. python两种方法实现从1000万个随机数中找出top n元素(附c语言版)
  9. QtQuick TableView 操作
  10. Java md5加密算法