C51 INT0方式 1键多能程序

发布者:Serendipitous55最新更新时间:2016-10-14 来源: eefocus关键字:C51  INT0方式 手机看文章 扫描二维码
随时随地手机看文章
//按键接INT0,按键实现 P1.0~P1.7逐位翻转。

#include
void delay(unsigned int x);

sbit led0=P1^0;
sbit led1=P1^1;
sbit led2=P1^2;
sbit led3=P1^3;
sbit led4=P1^4;
sbit led5=P1^5;
sbit led6=P1^6;
sbit led7=P1^7;

unsigned char k;

main()
{
  IT0=1;
  EA=1;
  EX0=1;
  while(1)
    { }
}

void delay(unsigned int x)
{  unsigned int i;
   for(i=0;i   { }
}

void int0() interrupt 0
{  EX0=0;    //关中断,
   k++;
   if(k==9)
     {
    k=1;
  }
   switch(k)
     {
    case 1:led0=!led0;break;
    case 2:led1=!led1;break;
    case 3:led2=!led2;break;
    case 4:led3=!led3;break;
    case 5:led4=!led4;break;
    case 6:led5=!led5;break;
    case 7:led6=!led6;break;
    case 8:led7=!led7;break;
    break;
  }
   
   delay(15000);
   IE0=0;      //清除INT0中断程序执行过程中的中断请求。保证按一次键,led翻转一次,否则可能翻转2次。
   EX0=1;      //开中断
}      

关键字:C51  INT0方式 引用地址:C51 INT0方式 1键多能程序

上一篇:c51 1ms-6MHZ延时程序
下一篇:C51 INT0中断方式键盘扫描程序

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

Keil C51使用教程---库函数参考(五)
C51强大功能及其高效率的重要体现之一在于其丰富的可直接调用的库函数,多使用库函数使程序代码简单,结构清晰,易于调试和维护,下面介绍C51的库函数系统。 第一节 本征库函数(intrinsic routines)和非本征证库函数 C51提供的本征函数是指编译时直接将固定的代码插入当前行,而不是用ACALL和LCALL语句来实现,这样就大大提供了函数访问的效率,而非本征函数则必须由ACALL及LCALL调用。 C51的本征库函数只有9个,数目虽少,但都非常有用,列如下: _crol_,_cror_:将char型变量循环向左(右)移动指定位数后返回 _iror_,_irol_:将int型变量循环向左(右)移动指定位数后
[单片机]
基于C51单片机的MP3播放器设计与实现
0 引言     便携式MP3播放器作为一种集音频播放、数据存储为一身的数码产品,其功能结构为电子设计人员所津津乐道。MP3是MPEG一1音频III(1ayerIII)的简称。MPEG一1音频(ISO/IECll 172—3)是目前普遍应用的音频压缩标准,其中层III的算法最为复杂,但压缩比最大,效果也最好,在低码率的条件下基本能达到CD的音质效果。MP3标准用尽可能低的码流实现CD音质的声音而不会产生数据损失。如果对于一段声音不进行压缩的话,那么每存储一秒钟的立体声CD音质音乐必须用1.4Mbit,这是个十分大的开销。通过运用MPEG音频标准的压缩技术,我们可以把存储空间压缩到原来的1/12而不会降低声音的音质。即使使用1/
[嵌入式]
C51编程总结-单片机的奇怪知识1(IC输入输出电压)
在使用单片机中过程,我们肯定对数字信号的“0”与“1”,有了深刻的影响,一般来说高电平位“1”为5V(对于5V VCC的单片机来来说),低电平“0”是0V。 实际上我们可能使用供电电压3.3V的芯片,高电平“1”的电压是3.3V。使其与单片机进行交换数据,,这个时候5V单片机能够正常识别到3.3V芯片的 “1”吗? 3.3V芯片与5V单片能不能正常交换数据 IC输入输出电压(也常被成为I/O识别电压),不是看VCC。而是看输入输出电压 我们可以在IC的规格书上查看到相关的参数。以下是CH340部分电气参数。 从表格可以知道,相关输入输出电压有四个参数,分别是 注:看输入输出电压,需要看两个芯片的输入输出电压,
[单片机]
<font color='red'>C51</font>编程总结-单片机的奇怪知识1(IC输入输出电压)
LCD1602液晶秒表C51程序
此程序是基于51hei单片机开发板上面写的,如需要移植到自己的电路上,修改相应的端口即可 *********************************************************************** * @file main.c * @author xr * @date 2014年5月8日22:11:33 -- 2014年5月9日12:03:49 * @version V1.2.3 * @brief LCD1602液晶跑表 单片机STC89C52RC MCU 晶振 11.0592MHZ **************************************
[单片机]
C51位变量的定义格式是什么?
C51位变量的定义格式是什么?如何定义bdata型字节变量的位变量? 答: bit 位变量名1 ] sbit 位变量名 = bdata型变量名^位号常数
[单片机]
非常简单的8×8LED点阵c51源代码
/* 实验目的:学会8*8点阵动态扫描方法. */ /* 实验现象:8*8点阵光柱先从0-9每隔一定的时间动态显示。 */ /*********************************************************************************************/ #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int uchar code row ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//
[单片机]
C51---16 AD/DA 模拟数字转换
AD/DA介绍 硬件电路模型 运算放大器 运算放大电路 DA原理 AD原理 AD/DA性能指标 XPT2016芯片时序 AD采集可调电阻、热敏电阻、光敏电阻 main.c #include REGX52.H #include Delay.h #include LCD1602.h #include XPT2046.h unsigned int ADValue; void main(void) { LCD_Init(); LCD_ShowString(1,1, ADJ NTC GR ); while(1) { ADValue=XPT2046_ReadA
[单片机]
C51---16 AD/DA 模拟数字转换
SPI总线单片机发送数据的C51程序
关于spi协议见: http://hi.baidu.com/gilbertjuly/blog/item/0be222eeac9abae5cf1b3e38.html ISD4002芯片资料参考: http://download.csdn.net/source/1208805 以下是单片机spi通信的通用程序,在不同晶振情况下可能需调整延时。这里单片机晶振为11.0592MHz。 _nop_();语句指延迟一个机器周期,约1us左右。写1bit约10us,spi传输率约100kbit/s。 程序中只用了MOSI,/SS,SCLK信号,没有用MISO信号。 #include REGX52.H #include string
[单片机]
SPI总线单片机发送数据的<font color='red'>C51</font>程序
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

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

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

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