STC51单片机-中断控制LED-物联网应用系统设计项目开发

简介: STC51单片机-中断控制LED-物联网应用系统设计项目开发

一、说明

单片机中“中断”处理主要是指单片机暂停当前主程序的执行,而去执行更重要或需急迫处理的事件请求的处理程序,处理完成后,再回到主程序暂停处继续执行。这个事件叫“中断源”,发出的中断信号叫“中断请求”,事件处理程序叫“中断处理程序”或“中断服务程序”,暂停主程序的程序位置叫“断点”。


中断技术主要用于实时监测与控制,避免单片机CPU花大量的时间去查询和判断需要处理的事件是否发生。有了中断系统,CPU就可以减少大量的查询时间而去处理其他工作,当事件发生提出处理要求,单片机能及时地响应中断请求源提出的服务请求,并快速响应与及时处理。


单片机对于中断的处理是由中断响应和中断服务二个部分组成。中断响应主要由单片机硬件实现,中断服务主要由软件(中断服务程序)完成。


一个中断源中断请求被响应,须满足以下必要条件:

  • (1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。
  • (2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。
  • (3)该中断的中断允许位=1,即该中断被允许。
  • (4)无同级或更高级中断正在被服务。

中断响应就是CPU对中断源提出的中断请求的判断和处理,只有满足上述条件时,就进行中断响应。

利用C51设计2个基本的I/O控制程序,编程实现以下功能:

  • 对外部按键的状态读取
  • 对多个按键的判断处理
  • 根据按键进行不同的输出控制LED显示
  • 8个LED的4-6种“花样”显示控制

二、重点

  • 51系列单片机的基本结构特点、引脚功能及其使用的基本方法
  • 掌握keil c51的程序设计特点及方法

三、实现

#include <reg52.h>
sbit INT_0 = P3^2;
sbit P26 = P2^6; 
unsigned  int i=0,count=0;
unsigned char kc1=0x01,kc2=0x0f,kc3=0x03,kc4=0;   //不同中断次数下LED显示的初值
void delay10ms(void)          //约10ms延时子程序(12MHZ),用于防键抖动
   {  unsigned char  i,j,k;    
for(i=5;i>0;i--)   
for(j=4;j>0;j--)  
for(k=248;k>0;k--);  
}
void delay500ms(void)         //约500ms延时子程序(12MHZ),用于显示变化的间隔
   {  unsigned char  i,j,k;   
      for(i=10;i>0;i--)  
for(j=132;j>0;j--)  
for(k=150;k>0;k--); 
}
void main() 
{ EA=1; EX0=1; IT0=1;   //允许/INT0中断,IT0=1为边沿触发
  while(1)
  {   
    switch (count) 
      { case 0:P0=kc1; P26=1;P26=0; kc1<<=1;delay500ms();if (kc1==0) kc1=0x01;break; //0次
        case 1: P0=kc2; P26=1;P26=0;kc2=~kc2;delay500ms(); break;            //1次
        case 2: P0=kc3;P26=1;P26=0;kc3<<=1; kc3<<=1;delay500ms();          //2次
                  if (kc3==0x00) kc3=0x03; break;
        case 3: P0=kc4; P26=1;P26=0; delay500ms();kc4++; break;            //3次
      }
  }
}
void int0(void) interrupt 0     ///INT0中断服务函数
{
  delay10ms();          //防按钮抖动,可根据实际情况调整
  if (INT_0==0)
   { count++;
      if (count==4) count=0;
   }
} 

b7e355d108514c659b15c69dba50841e.png

四、下载

详见:STC51单片机-中断控制LED-物联网应用系统设计项目开发

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
6月前
|
编译器 C语言 开发者
单片机原理与应用:探索微型计算机世界
单片机原理与应用:探索微型计算机世界
58 1
|
6月前
|
数据采集 数据处理 C语言
单片机:探索其原理、应用与编程实践
单片机:探索其原理、应用与编程实践
98 1
|
1月前
|
传感器 存储 物联网
单片机的原理与应用
单片机是一种将计算机的CPU、存储器、输入输出接口等功能集成在一块芯片上的微型计算机,被广泛应用于各类控制系统和智能设备中。
69 5
|
4月前
|
传感器 存储 程序员
《单片机原理与应用及C51编程技术》期末复习笔记
《单片机原理与应用及C51编程技术》期末复习笔记
|
6月前
|
传感器 人工智能 物联网
单片机:编程实践与应用探索
单片机:编程实践与应用探索
70 4
|
6月前
|
存储 芯片
【期末不挂科-单片机考前速过系列P11】(第十一章:15题速过串行口的工作原理和应用)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P11】(第十一章:15题速过串行口的工作原理和应用)经典例题盘点(带图解析)
|
6月前
|
传感器 安全 物联网
单片机在智能家居系统中的应用研究
单片机在智能家居系统中的应用研究
203 1
|
6月前
|
传感器 人工智能 C语言
单片机:微控制器的魅力与应用
单片机:微控制器的魅力与应用
|
6月前
|
芯片
AT89S52单片机的最小应用系统
AT89S52单片机的最小应用系统
98 0
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)
下一篇
无影云桌面