简单介绍--[高手绕过这一段;心急的直接跳到下一部份]
>_<:51单片机上的应用[应用控制篇]
>_<:MCS51的中断源
外部中断请求源:即外部中断0 和1,经由外部引脚引入,在单片机上有两个引脚,外称为INT0、INT1,也就是P3.2、P3.3这两个引脚
>_<:MCS51的中断向量表
单片机内部的中断模块在每个CPU周期都查询各个中断源的状态,当其发生预期的中断事件时,通知CPU将程序跳转到中断服务程序所在的程序存储器(ROM)地址。该地址称为中断向量。
中断的实质仍然是查询,只是不需要用户程序查询,不占用CPU运行时间而已。
51系列只有5个中断向量,5X系列还增加一个定时器2的中断向量
——————————————————————————————
地址 中断入口 中断编号
——————————————————————————————
0x0 复位
0x3 外部中断0 0
0xB 定时器0 1
0x0013 外部中断1 2
0x001B 定时器1 3
0x0023 串口 4
0x002B 定时器2(5x系列新增的) 5
——————————————————————————————
>_<:MCS51中断运行的机里
以INT0为例:中断模块在每个CPU时钟周期都查询P3.2的状态,当输入的电平由高电平变为低电平时,CPU的程序运行会立即跳转的到地址0x03。处理INT0中断的代码放在地址为0x03开始的ROM区域。c语言中采用一类特殊的函数来实现此代码定位的功能,叫做 中断服务函数,格式如下:
void 函数名()interrupt N
函数名可以任意,但一般要用一个有意义的函数名,N代表中断向量编号。
>_<:中断控制寄存器IE
MCS51中断系统中,中断的允许或禁止是由片内可以进行位寻址的8位中断允许寄存器IE来控制的。
EX0 :外中断0中断允许
ET0 :定时器0中断允许
EX1 :外中断1中断允许
ET1 :定时器1中断允许
ES :串行口中断允许
ET2 :定时器2中断允许
EA :是总开关,若为0,则所有中断都不允许。
>_<:中断标志及外部中断方式选择寄存器 TCON
IT0 :INT0触发方式控制位,边沿/电平触发模式
IE0 :INT0中断请标志,
IT1 :同上
IE1 :同上
TF0 :定时器/计数器0的溢出中断标志
TF1 :定时器/计数器1的溢出中断标志
>_<:外部中断的2种触发模式
触发模式由IT0和IT1控制。
1)边沿触发:IT0(IT1)=1,INT0(INT1)为边沿触发方式。如果一个周期中采样到高电平,下个周期中采样到低电平,则硬件使IE0(IE1)置1,向CPU请求中断。
2)电平触发:IT0(IT1)=0,INT0(INT1)为电平触发方式。此时外部中断是通过检测P3.2(P3.3)脚的输入电平(低电平)来触发的。采用电平触发时,输入脚的外部中断源必须保持低电平有效,直到该中断被响应。同时在中断返回前必须使用电平变高,否则将会再次产生中断。
一般采用边沿触发方式,因为此模式抗干扰能力较强,极少采用电平触发模式。
关键字:51单片机 中断
引用地址:
51单片机 中断1中断整体介绍
推荐阅读最新更新时间:2024-03-16 14:55
STM32CubeMX系列教程2:外部中断(EXIT)
这一章我们在前一章GPIO的工程修改。复制GPIO的工程,修改文件夹名。点击STM32F746I.ioc打开STM32cubeMX的工程文件重新配置。PA0管脚重新配置为GPIO_EXIT0模式。 WAKEUP按键已经外部下拉,按下是PA0为高电平。在GPIO配置中配置PA0为上升沿触发。内部既不上拉也不下拉,添加用户标签WAKEUP。 在NVIC(嵌套向量中断控制器)中,勾选EXIT Line0 interrupt使能PA0中断。右边两个选项设置抢占优先级和响应优先级。此处我们选择默认的,不修改。 在这里简单介绍一下NVIC(嵌套向量中断控制器)。NVIC就是控制中断响应的。主要由三个参数,一个是中断使能,
[单片机]
基于51单片机的GPS公交车自动报站系统
一.硬件方案 本设计主要是制作出一款基于51单片机的GPS自动报站公交车,根据设计需求,硬件部分应该具有的功能有,GPS定位、语音播报、液晶显示、按键操作以及相应的指示灯提示,所以本次设计采用了STC89C58RC单片机作为主控芯片、GPS模块采用了VK2828U7G5LF、液晶显示部分采用了LCD12864液晶、音频播放部分采用了Miniplay模块,以及按键电路、指示灯提示电路还增加了时钟显示电路。整体硬件框图如图: 二.设计功能 (1)本设计播报主要有两种方式,其一是当到达播报站点时,司机按下对应按键进行播报;另一种是全自动语音播报方式,到达播报站点时,设计会自动进行播报。 (2)自带时钟显示,并且设有GPS自动校时
[单片机]
如何用51单片机来产生PWM波
89C51芯片没有自带PWM发生器,如果要用51来产生PWM波就必须要用软件编程的方法来模拟。方法大概可以分为软件延时和定时器产生两种方法。下面将逐一介绍。 1 软件延时法 利用软件延时函数,控制电平持续的时间,达到模拟pwm的效果。 程序如下: #include sbit pwm=P1^0; main() while(1) pwm=1; delayus(60);//置高电平后延时60us,占空比60% pwm=0; delayus(40); void delayus(uint x) while(x--); proteus软件仿真结果如下: 可见,用这种延时函数的方法就能简单地模拟出pwm输出。但是这种方法的缺点也相当明显
[单片机]
51单片机入门——Proteus 8 Professional的使用
1.什么是Proteus 8 Professional ? Proteus是Lab Center Electronics公司推出的一个EDA工具软件。 Proteus具有原理布图、PCB自动或人工布线、SPICE电路仿真、互动电路仿真、仿真处理器及其外围电路等特点功能。 Proteus 8.9 安装包,内附安装教程 链接:https://pan.baidu.com/s/19YPyUeNt5bTVd7ch_15tig 提取码:qcyx 2.Proteus 8 Professional的使用 双击图标后进入主页面:如图: 首先我们要建立一个工程文件,点击左上角的图标或在开始设计中点击新建工程,如图: 选择合适的保
[单片机]
8051单片机教程第五课:延时程序分析
上一次课中,我们已经知道,程序中的符号R7、R6是代表了一个个的RAM单元,是用来放一些数据的,下面我们再来看一下其它符号的含义。 DELAY:MOVR7,#250;(6) D1:MOVR6,#250;(7) D2:DJNZR6,D2;(8) DJNZR7,D1;(9) RET;(10) MOV:这是一条指令,意思是传递数据。说到传递,我们都很清楚,传东西要从一个人的手上传到另一个人的手上,也就是说要有一个接受者,一个传递者和一样东西。从指令MOVR7,#250中来分析,R7是一个接受者,250是被传递的数,传递者在这条指令中被省略了(注意:并不是每一条传递指令都会省的,事实上大部份数据传递指令都会有传递者
[单片机]
基于2051单片机串行数据采集传输模块的设计
在微机测控系统中,经常要用到A/D转换。常用的方法是扩展一块或多块A/D采集卡。当模拟量较少或是温度、压力等缓变信号场合,采用总线型A/D卡并不是最合适、最经济的方案。这里介绍一种以GNS97C2051单片机为核心,采用TLC2543 12位串行A/D转换器构成的采样模块,该模块的采样数据由单片机串口经电平转换后送到上位机(IBM PC兼容机)的串口COM1或COM2,形成一种串行数据采集串行数据传输的方式。经实践调试证实:该模块功耗低、采样精度高、可靠性好、接口简便,有一定实用价值。 1 主要器件介绍 1.1 TLC2543串行A/D转换器 模块采用TI公司的TLC2543 12位串行A/D转换器,使用开关电容逐次逼近技术完
[单片机]
80c51是几位单片机 80c51单片机有几个中断源
80c51是几位单片机 80C51是一种8位微处理器,也被称为8051,由Intel公司推出。它是最早的商用单片机之一,由于它的简单易用、灵活可靠,被广泛应用于许多嵌入式系统中。在80C51系列中,最常见的型号包括AT89C51和AT89S52等。 80c51单片机寻址范围有多少 80C51单片机的寻址范围取决于其具体的型号和存储器结构。在最常见的AT89C51和AT89S52型号中,其寻址范围如下: 内部RAM寻址范围:0x00-0x7F(128字节) 内部ROM寻址范围:0x0000-0xFFFF(64KB) 特殊功能寄存器(SFR)寻址范围:0x80-0xFF(128字节) 外部扩展RAM
[单片机]
单片机的中断函数编写方法
interrupt m修饰符 C51中断函数必须通过该修饰符进行修饰。在C51程序设计中,当函数定义时用了interrupt m修饰符,系统编译时把对应函数转化为中断函数,自动加上程序头段和尾段,并按51系统中断的处理方式自动把它安排在程序存储器中的相应位置。 在该修饰符中,m的取值为0~31,对应的中断情况如下: 0——外部中断0 1——定时/计数器T0 2——外部中断1 3——定时/计数器T1 4——串行口中断 5——定时/计数器T2 其它值预留。 C51编译器从绝对地址8m+3处产生一个中断向量,其中m为中断号,也即interrupt后面的数字。该向量包含一个到中断函数入口地址的绝对跳转。 【例】编写一个用于统计外中断0
[单片机]