• 中断


    中断原理

    51单片机中有5个中断源(忽略定时/计数器2),分为2个优先级,有优先级从高到低依次为

    外部中断0:INT0 (入口:0x0003,0003H)中断号是0

    定时/计数器0:TF0(入口:0x000B,000BH)中断号是1

    外部中断1:INT1(入口:0x0013,0013H)中断号是2

    定时/计数器1:TF1(入口:0x001B,001BH)中断号是3

    串口中断:R1/T1(入口:0x0023,0023H)中断号是4

     中断系统结构

     中断寄存器

     

     代码实现

    中断函数格式

    1 void Init() intterupt 1 (1这个是中断号)
    {

    }

    项目代码

     1 #include "reg52.h"
     2 
     3 sbit L0 = P0^0;
     4 sbit L8 = P0^7;
     5 
     6 void delay(unsigned int i)
     7 {
     8     while(i--);
     9 }
    10 
    11 void SeletHC573()
    12 {
    13     P2 = P2 & 0x1f | 0x80;
    14 }
    15 
    16 void LED0()
    17 {
    18     SeletHC573();
    19     L0 = 0;
    20     delay(60000);
    21     L0 = 1;
    22     delay(60000);
    23 }
    24 
    25 void Init_INT0()
    26 {
    27     EX0 = 1;
    28     IT0 = 1;
    29     EA  = 1;
    30 }
    31 
    32 unsigned char flag = 0;
    33 void Init_0() interrupt 0
    34 {
    35     flag = 1;
    36 }
    37     
    38 void LED1()
    39 {
    40     if(flag == 1)
    41     {
    42         L8 = 0;
    43         delay(60000);
    44         delay(60000);
    45         delay(60000);
    46         delay(60000);
    47         L8 = 1;
    48     }
    49     flag = 0;
    50 }
    51 
    52 void main()
    53 {
    54     Init_INT0();
    55     while(1)
    56     {
    57         LED0();
    58         LED1();
    59     }
    60 }
  • 相关阅读:
    开机自启动程序 注册表
    windows系统调用 线程创建
    windows系统调用 进程终止
    windows系统调用 进程快照
    线性表基本维护[ACM]
    获取操作系统版本号
    获得进程句柄
    <五>JDBC_利用反射及JDBC元数据编写通用的查询方法
    <四>JDBC_PreparedStatement的使用
    <三>JDBC_面向对象思想的体现
  • 原文地址:https://www.cnblogs.com/kevinkala/p/13767311.html
Copyright © 2020-2023  润新知