51单片机计数中断程序举例 外部按钮产生中断

发布者:calmrs最新更新时间:2017-10-12 来源: eefocus关键字:51单片机  计数中断程序 手机看文章 扫描二维码
随时随地手机看文章

本程序的功能很简单,按一次按钮1(接在12管脚上的)就引发一次中断0,取反一次P1。0,因此理论上按一下灯亮,按一下灯灭,但在实际做实验时,可能会发觉有时不“灵”,按了它没反应,但在大部份时候是对的,这是怎么回事呢?答案请在本站键盘应用中找,这个程序本身是没有问题的。

程序:外部中断实验 

ORG 0000H 

AJMP START 

ORG 0003H ;外部中断地直入口 

AJMP INT0 

ORG 30H 

START: MOV SP,#5FH 

MOV P1,#0FFH ;灯全灭 

MOV P3,#0FFH ;P3口置高电平 

SETB EA 

SETB EX0 

AJMP $ 

INT0: 

PUSH ACC 

PUSH PSW 

CPL P1.0 

POP PSW 

POP ACC 

RETI 

END


关键字:51单片机  计数中断程序 引用地址:51单片机计数中断程序举例 外部按钮产生中断

上一篇:51单片机计数器编程举例 计数值到一定大小后中断报警
下一篇:单片机音乐程序设计的原理

推荐阅读最新更新时间:2024-03-16 15:40

51单片机定时/计数器的方式控制字
我们已经得知,单片机中的定时/计数器都可以有多种用途,那么我怎样才能让它们工作于我所需要的用途呢?这就要通过定时/计数器的方式控制字来设置。 在单片机中有两个特殊功能寄存器与定时/计数有关,这就是TMOD和TCON。顺便说一下,TMOD和TCON是名称,我们在写程序时就可以直接用这个名称来指定它们,当然也可以直接用它们的地址89H和88H来指定它们(其实用名称也就是直接用地址,汇编软件帮你翻译一下而已)。 从图1中我们可以看出,TMOD被分成两部份,每部份4位。分别用于控制T1和T0,至于这里面是什么意思,我们下面介绍。 从图2中我们可以看出,TCON也被分成两部份,高4位用于定时/计数器,低4位则用于中断(我们暂
[单片机]
<font color='red'>51单片机</font>定时/<font color='red'>计数</font>器的方式控制字
MCS-51单片机有哪些寻址方式,是怎样操作的?
什么是寻址方式?MCS-51单片机有哪些寻址方式,是怎样操作的?各种寻址方式的寻址空间和范围是什么? 答: MCS-51单片机有7种寻址方式:立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、变址寻址、位寻址和指令寻址。可以分为两类:操作数寻址和指令寻址。 立即数寻址的寻址空间和范围是:在程序存储空间,随指令读入MOV A,#46H 直接寻址的寻址空间和范围是:片内RAM中,低128字节和SFR MOV A,46H 寄存器寻址的寻址空间和范围是:使用R0~R7、A、B、C、DPTR MOV A,R2 寄存器间接寻址的寻址空间和范围是:片内RAM:使用@Ri,SP;范围为256B,不含SFR,片外RAM:使用@Ri,@DP
[单片机]
51单片机产生pwm 占空比10khz频率 Proteus仿真程序
仿真原理图如下 单片机源程序如下: #include reg51.h #define uchar unsigned char #define uint unsigned int sbit pwm=P1^1; uchar num=0; main() { TMOD=0x02; TH0=TL0=206; ET0=1; TR0=1; EA=1; while(1); } void init() interrupt 1 { num++; if(num =6) pwm=1; else pwm=0; if(num==10)
[单片机]
<font color='red'>51单片机</font>产生pwm 占空比10khz频率 Proteus仿真<font color='red'>程序</font>
51单片机一个nop代表意思
标准51是12T的,就是说12个时钟周期(晶振周期,例如12M的,周期是1/12M,单位秒),机器做一个指令周期,刚好就是1/12M*12=1uS,常见指令例如nop就是一个周期,刚好1uS,其他的大多多于一个周期,乘除法更多。所以如果计算指令时间可以这样算。 而现在很多51核的单片机工艺质量上去后,频率大大提高,增强型51有6T的,如果接12M的话,一个nop就只需要0.51uS,如果是STC的部分单片机12T的话,那只需要1/12uS。 单片机的晶振不是随便选,要看技术手册,看最高频率,看支持类型等等。一般12M,接串口的话11.0592M。如果是PIC,很多4M,8M。 不是越高越好,对很多不需要大量处理,只是控制的
[单片机]
从零开始51单片机教程 —— 单片机条件转移指令
条件转移指令是指在满足一定条件时进行相对转移 判A内容是否为0转移指令 JZ rel JNZ rel 第一指令的功能是:如果(A)=0,则转移,不然次序执行(执行本指令的下一条指令)。转移到什么地方去呢?如果按照传统的办法,就要算偏移量,很麻烦,好在现在我们能借助于机器汇编了。因此这第指令我们能这样理解:JZ 标号。即转移到标号处。下面举一例说明: MOV A,R0 JZ L1 MOV R1,#00H AJMP L2 L1: MOV R1,#0FFH L2: SJMP L2 END 在执行上面这段程序前如果R0中的值是0的话,就转移到L1执行,因此最终的执行结果是R1中的值为0FFH。而如果R0中的值不
[单片机]
从零开始<font color='red'>51单片机</font>教程 —— 单片机条件转移指令
详解基于51单片机的small rtos
陈明计,这个人有必要要认识下,因为small rtos 是他写的,他根据ucos的原理写的。这个small rtos是可以再51单片机上运行的,但是受ARM内存的限制。 作为单片机开发的时刻都得想着内存的问题,因为51芯片资源有限。 好了不废话开始学习的旅程 首先你可以在51hei下个small rtos 源代码 http://www.51hei.com/f/small_rtos1.12.1.zip 或者跟我一步一步写。 keil51的工具编译代码后会生成一个.m51的文件,这个文件要学会去看,因为他把你的一些内存分配的地址和函数的地址都会以列表显示出来。 操作系统的任务其实都是一个死循环。我们写的操作系统其实就是把$
[单片机]
详解基于<font color='red'>51单片机</font>的small rtos
如何用51单片机点亮一个发光二极管
这是每个学51单片机的人都会做的一个实验,而且应该是第一个实验。它是如此的简单、通俗,本来没什么好讲的,但是想到了一些东西,可以放在一起说说,先上图: 这是某实验板上LED部分的原理图,进行LED实验的时候要把J1接上,不然VCC是无法给LED供电的。RP1是一个排阻,我们常见的电阻都是一个一个单独的,而排阻是8个电阻并在一起,这8个电阻有一段是公用的。这个图里面,就把公用端接了VCC。 然后是电阻值102,这里指的不是说电阻值只有102欧姆,而是10*102,也就是1000欧姆。该电阻的主要功能是限制电流,那么流过电阻的电流是多大? 假设VCC为5V,发光二极管的压降是1.7V,那么就有3.3V的电压在电阻上,根据欧姆
[单片机]
如何用<font color='red'>51单片机</font>点亮一个发光二极管
PC机与多MCS-51单片机间的串行通信设计
【摘 要】 主要讲解了IBM-PC机与MCS-51单片机多机系统的通信原理,给出了其硬件接口框图,并详细地分析了系统的多机通信软件设计。   关键词:单片机,分布式系统,串行通信 1 引 言   在测控系统和工程应用中,常遇到多项任务需同时执行的情况,因而主从式多机分布式系统成为现代工业广泛应用的模式。它们大多由IBM-PC微机和MCS-51单片机组成。单片机功能强、体积小、价格低廉、开发应用方便,尤其具有全双工串行通讯的特点,在工业控制、数据采集、智能仪器仪表、家用电器方面都有广泛的应用。同时,IBM-PC机正好补充单片机人机对话和外围设备薄弱的缺陷。各单片机独立完成数据采集处理和控制任务,同时通过通信接口将数据传给PC机
[工业控制]
PC机与多MCS-<font color='red'>51单片机</font>间的串行通信设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved