;普中51开发板
;单片机的P3.2(INT0)引脚与按键K3脚连接
;用汇编语言实现:按一次K1外部中断INT0响应一次,LED显示值加1(十进制),
;前提是共阴数码LED第一位,需要设定,由P0口控制。
ORG 0000H
LJMP START
ORG 0003H
LJMP INTT0
ORG 0600H
START: SETB EA
SETB EX0 ; 打开外部中断0
SETB IT0 ; 跳变沿出发方式(下降沿) 这个方法比较稳定
;CLR IT0 ; 令中断0为电平触发,这个方式需要有延时程序,
;否则,单片机处理速度快,按一下按键,
;已经处理了很多个低电平中断了。
CLR P2.2 ;段位选择第一位
CLR P2.3
CLR P2.4
CLR1: MOV R0,#00H DISPLAY: MOV DPTR,#TAB ;给字形表的初地址
MOV A,R0 ;将要显示的数给A
;/////////////////////////
MOV B, A ;save a value
CLR C
SUBB A, #10H ;如果已计数到15,说明一次循环结束
MOV A, B ;load a value
JNC CLR1 ;C=1,重新开始,R0=00H,若等于0,回display MOVC A,@A+DPTR ;在字形表中取数放到A
MOV P0,A ;假设是P0口输出要显示的数据把A放到P0中 SJMP DISPLAY ;循环显示等待中断 INTT0: INC R0 ;中断中有按键着加1
RETI
TAB: DB 3FH,06H,5BH,4FH,66H ;字形表0-15
DB 6DH,7DH,07H,7FH,6FH
DB 77H,7CH,39H,5EH,79H,71H
END

51单片机外部中断INT0实例(汇编程序)的更多相关文章

  1. 嵌入式单片机,ATmega328P,外部中断INT0,INT1,INT2,中断标志位介绍

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  2. 51单片机中断interrupt……using……

    51单片机中断细节的一些问题. interrupt0:外部中断0interrupt1:定时器中断0interrupt2:外部中断interrupt3:定时器中断1interrupt4:串口 using ...

  3. 51单片机SRF寄存器

    1.21个寄存器介绍        51系列单片机内部主要有四大功能模块,分别是I/O口模块.中断模块.定时器模块和串口通信模块(串行I/O口),如其结构和功能如下图: 图1 51单片机结构和功能图 ...

  4. STM32之EXTI——外部中断

    互联网的广大网友,大家早上中午晚上好.EXTI...故名思义..EX表外,出..I表示Intrrupt..所以合起来就是外部中断...说到这..我觉得我最近的六级水平(背单词)又进了一步,稍微自夸了下 ...

  5. 基于51单片机的CAN通讯协议C语言程序

      //-----------------------函数声明,变量定义-------------------------------------------------------- #includ ...

  6. 51单片机实现外部中断00H-FFH、000-255、0000-1023

    外部中断00H-FFH #include< reg51.h> #define uint unsigned int #define uchar unsigned char sfr P0M0 ...

  7. 十天学会单片机Day1点亮数码管(数码管、外部中断、定时器中断)

    1.引脚定义 P3口各引脚第二功能定义 标号 引脚 第二功能 说明 P3.0 10 RXD 串行输入口 P3.1 11 TXD 串行输出口 P3.2 12 INT0(上划线) 外部中断0 P3.3 1 ...

  8. c语言编写51单片机中断程序,执行过程是怎样的?

    Q:c语言编写51单片机中断程序,执行过程是怎样的? 例如程序:#include<reg52.h>  void main(void)  {   EA=1;      //开放总中断   E ...

  9. 51单片机 | 实现SMC1602液晶屏显示实例

    ———————————————————————————————————————————— LCD1602 - - - - - - - - - - - - - - - - - - - - - - - - ...

随机推荐

  1. JAVA代码覆盖率采集与分析方案

    原文地址-> http://m.blog.csdn.net/article/details?id=48688763

  2. 每天一个linux命令:less(14)

    less less命令的作用与more十分相似,都可以用来浏览文字档案的内容,less 在查看之前不会加载整个文件 .用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页. ...

  3. php strip_tags()函数 语法

    php strip_tags()函数 语法 作用:剥去字符串中的 HTML 标签 语法:strip_tags(string,allow) 参数: 参数 描述 string  必须,规定要检查的字符串. ...

  4. 【FPGA】 007 --Verilog中 case,casez,casex的区别

    贴一个链接:http://www.cnblogs.com/poiu-elab/archive/2012/11/02/2751323.html Verilog中  case,casez,casex的区别 ...

  5. 【Linux】grub引导修复

    将系统盘挂载上并设置开机从光盘启动(U盘也可以) 进入系统安装引导初始界面,然后选择最后一项Troubleshooting 然后选择第二项Rescue a CentOS system进入系统救援模式选 ...

  6. nIce 不看会后悔的o!

    今天小编来跟大家探讨关于“控件”.控件非常好玩,可以构建出不同的场景和不同风格的Windows画面.相信大家绝对狠感兴趣是吧~~~   好了,下面小编就为大家来展示风采喽 下面先为大家展示一些比较基础 ...

  7. myeclipse2017使用总结

    1.之前的myeclipse 2010项目导入后,需要配置项目发布内容,否则class.lib.web.xml等文件不会自动发布到tomcat中:

  8. mysql中or和in,in和exists的效率问题

     mysql中or和in的效率问题      在网上一直看到的是or和in的效率没啥区别,一直也感觉是这样,前几天刚好在看<mysql数据库开发的36条军规>的文章,里面提到了or和in的 ...

  9. __int128使用

    输入输出模板: __int128无法使用cin和cout进行输入输出,所以只能自己写一个输入输出的模板: #include <bits/stdc++.h> using namespace ...

  10. xcodebuild 自动化打包

    altool 文档 使用xcode自带的xcodebuild 命令通过脚本进行打包 打包->导出ipa, 两行关键的脚本代码 1.Archive xcodebuild archive -arch ...