单片机小白学习之路(十三)---外部中断0实现led闪烁

发布者:少年不识愁滋味最新更新时间:2020-03-28 来源: eefocus关键字:单片机  外部中断0  led闪烁 手机看文章 扫描二维码
随时随地手机看文章

目标:外部中断0实现led闪烁


#include

 

typedef unsigned int u16;

typedef unsigned char u8;

 

sbit k3 = P3^2; //独立按键,连接外部中断0

sbit led = P2^0;

 

void delay(u16 i)

{

    while(i--);

}

 

void Int0_init() //提前把外部中断0的参数准备好

{

    EA = 1;

    IT0 = 1;

    EX0 = 1;

}

 

 

void main()

{

    Int0_init();

    while(1);

}

 

void INT0() interrupt 0

{

    delay(1000);

    if(k3==0){  //按键按下

        led = ~led; //led取反

    }

}

关键字:单片机  外部中断0  led闪烁 引用地址:单片机小白学习之路(十三)---外部中断0实现led闪烁

上一篇:单片机小白学习之路(十四)---外部中断1实现蜂鸣器报警
下一篇:单片机小白学习之路(十二)---中断系统的理解

推荐阅读最新更新时间:2024-11-13 12:54

C51单片机之keil编程入门(一)
51单片机组成 CPU:由运算和逻辑控制组成,同时还包括中断系统和部分外部特殊功能寄存器; RAM:用以存放可以读写的数据。如运算的中间结果、最终结果以及欲显示的结果; ROM:用以存放程序,一些原始数据及表格; I/O口:四个8位并行I/O口,即可用作输入,也可用作输出; T/C:两个定时/记数器,既可以工作在定时模式,也可工作在记数模式; 1.点亮一个发光管 //通过位操作点亮发光管 include reg52.h sbit D1=P1^0;//sbit位定义,P1^0表示P1口的第一位(从0开始计数) int main() { D1=0;//单片机的P1.0端口输出低电平时发光管亮,51单片机默认上电后所有I/O
[单片机]
DS18B20温度测试程序(51单片机数码管显示)+电路图
下面是电路图 采用4位数码管显示 程序一共有2个文件 : /*********************************************** ds18b20.h 头文件 *************************************************/ #ifndef _DS18B20_H_ #define _DS18B20_H_ #include reg51.h #define led P1 #define ledw P2 extern unsigned char f; extern void ds18b20_reset(); extern void dela(unsigned char
[单片机]
DS18B20温度测试程序(51<font color='red'>单片机</font>数码管显示)+电路图
基于单片机的电动汽车多功能充电系统电路设计
  由于石油危机和日益严重的环境污染,电动汽车发展已经是大势所趋。蓄电池为电动汽车提供动力,而蓄电池充电性能直接影响蓄电池的使用和寿命,蓄电池一般分为铅蓄电池、镍镉电池、镍氢电池和锂离子电池。由于蓄电池种类繁多且容量不一,不同种类和容量的蓄电池往往需要不同的充电器匹配,如果蓄电池的充电器匹配不好会出现过充过热等不安全现象,从而影响蓄电池的正常使用并缩短蓄电池寿命。因此,设计一款基于单片机控制的能为各类蓄电池充电的多功能充电系统是十分必要的。多功能充电系统能快速稳定地为不同类型和不同容量的蓄电池充电,我们在软件上针对不同类型的蓄电池设计了相应的充电方法,使每种蓄电池都能在最佳充电方法下充电。对于不同容量的蓄电池,在选择好充电方法时只
[电源管理]
基于<font color='red'>单片机</font>的电动汽车多功能充电系统电路设计
基于PIC16F877单片机的多功能电子时钟
一、功能实现 本设计主要实现实时时钟显示,时间可调;实时温度显示,并具有超限报警功能,输出显示采用LCD1602。 二、仿真图 基于proteus的仿真 三、主程序 #include lian_pic.h #include DHT11.h #include ds1302.h #include key.h #include lcd12864.h #include control.h __CONFIG(HS&WDTDIS&LVPDIS&PWRTEN); //HS振荡,禁止看门狗,低压编程关闭,启动延时定时器 void Basic_Io_Init(void) { ADCON1=0x06; //PORTA,PORTE
[单片机]
基于PIC16F877<font color='red'>单片机</font>的多功能电子时钟
单片机 avr c语言 二进制 十进制 十六进制 快速转换
二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是 逢二进一 ,借位规则是 借一当二 ,如:8位二进制数: 00110101 ;c语言中表示为 0b00110101; 十进制数是我们日常使用的计数方式,如245,21,23453。 十六进制:逢16进1,用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F表示,对应十进制数是:0,1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15。c语言中十六进制数前加 0x 表示,例如:十六进制:0x35 转换为二进制数为:00110101 二进制转换为十六进制: 4位二进制的权值,从高位往低位记,:8、4、2、1。即,最高位的权
[单片机]
<font color='red'>单片机</font> avr c语言 二进制 十进制 十六进制 快速转换
AVR单片机入门系列(26)AVR PWM OC2
系统功能 AVR内部脉宽调制OC2输出实验,用LED指示PWM的频率,在PWM速度较低时,可观察到LED的闪烁。 硬件设计 AVR主控电路原理图 软件设计 //目标系统: 基于AVR单片机 //应用软件: ICC AVR /*01010101010101010101010101010101010101010101010101010101010101010101 ---------------------------------------------------------------------- 实验内容: AVR内部脉宽调制输出实验,用LED指示PWM的频率,在PWM速度较低时,可观察到LED的闪烁。 --
[单片机]
51单片机驱动能力
51单片机输出低电平的时候,单个的引脚,向引脚灌入的最大电流为10mA;一个8位的接口(P1、P2以及P3),灌入的总电流最大为15mA,P0允许灌入的最大总电流为26mA;全部的四个接口所允许的灌电流之和,最大为71mA。但是当引脚输出高电平的时候,它们的 拉电流 能力可就差多了,竟然还不到1mA(0.08mA 0.16mA;一般TTL电路高电平输入电流为20uA)。 摘自百度文库做而论道。 可用三极管或驱动芯片如74LS244、ULN2003等来增强其驱动能力。
[单片机]
STM32之一 建立工程及led闪烁
摸索了好久,今天终于实现了自己的工程模板,首先看下我的工程结构: 我的工程文件夹建立了五个文件夹,CMSIS、Libraries、Project、Startup、USER。里面分别存放了各自的初始文件, 关于MDK中的工程树情况如上图,分别在各自的文件夹下存放各自的文件,我们采用的是模块化编程,例如编写led程序就建立led.h和led.c文件,添加至工程,另外建立了延时函数文件,即delay.c和delay.h文件,而且这文件以后都可以用在其他工程中,led灯闪烁即led.c中, 首先要建立GPIO对象,然后首先要进行时钟使能,然后对GPIO进行初始化,下面来看led.h文件: 关键是中间的两个宏定义,定义ledon代表了
[单片机]
STM32之一 建立工程及<font color='red'>led</font><font color='red'>闪烁</font>
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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