zoukankan      html  css  js  c++  java
  • 51单片机中断学习笔记

    1.前言

    最近用到了51单片机的中断功能,于是找出了当初购买STC89C52开拓者单片机时附赠的学习视频,现将学习笔记记录如下。

    2.学习笔记

    中断简介

    主程序执行过程中,(中断请求)->主程序被打断,转而执行分支任务,分支任务执行完毕后,回到主程序继续执行。

    中断优点

    • 分时操作;
    • 实时响应(响应速度快);
    • 可靠性高;

    中断系统结构

    12图为STC89C52单片机

    4

    3

    中断源:                                                              

    • /INTO (P3.2管脚)
    • T0(采集外部脉冲个数)
    • /INT1(P3.3管脚)
    • T1(采集外部脉冲个数)
    • RX&TX(P3.0、P3.1串口引脚)

    TCON寄存器IT0 = 1(下降沿触发)

                                           0(高电平触发)

                                 IE0 = 0

                                          1(允许中断请求)

    IE寄存器(中断控制寄存器)EX0 = 0

                                                                           1(外部中断使能)

                                                                  EA = 0

                                                                           1(中断总开关)

    IP(中断优先级)寄存器1-高;(IP寄存器通常不使用)

     

    注意中断号!!中断号是中断的代号,也是默认优先级的排列顺序(优先级从大到小依次是01234);

    c程序中标记中断时也是通过:

    1 void int0() interrupt 0
    2 {
    3 
    4     //中断函数执行内容;
    5 
    6 }

    的形式,interrupt 0代表这个函数是中断0触发时执行的。

     

    中断寄存器:

    5

    TCON:8位

    TR0、TF0统归于定时器中断0;

    TR0 = 1,定时/计数器开启(开始计数),记满了(计数溢出),TF0置1,开始定时/计数器中断0请求;

    6

    7

    中断优先级:

    8

    9

    CPU同时收到请求,首先响应高优先级的中断;

    中断执行过程中,同等级或低等级不可被打断,可以被高优先级中断打断。

     

    中断的使用

    10

    示例:

     1 #include “reg52.h”
     2 
     3 void main()
     4 {
     5     EA = 1; //打开总中断开关
     6     EX0 = 1; //开外部中断0
     7     //IT0 = 0;
     8     IT0 = 1;//设置外部中断的触发方式
     9     while(1) ;     
    10 
    11 }
    12 
    13 //中断服务函数
    14 void int0() interrupt 0 using 1//中断0,使用第1组寄存器
    15 {
    16     //中断执行指令
    17 }

     本文目的在于学习分享,无商业目的。部分资源来自于网络,如有侵权,请联系作者删除,谢谢!

  • 相关阅读:
    程序猿之没事瞎吐槽
    iOS 打印日志的保存 (一)
    Xcode4.5 本地化,多语言设置
    css3渐变画斜线 demo
    关于JavaScript的一些记录
    Windows 10 自带输入法(微软拼音)繁体简体切换快捷键
    ng-class用法小记
    基于vue监听滚动事件,实现锚点链接平滑滚动
    总结继承的几种方式
    浅谈jQuery的内部框架结构,操作
  • 原文地址:https://www.cnblogs.com/brian-sun/p/12410034.html
Copyright © 2011-2022 走看看