八个中断请求源:
1、外部中断0
2、外部中断1
3、外部中断 2
4、外部中断3
5、定时器0中断
6、定时器1中断
7、定时器2中断
8、串口中断
所有的中断都具有四个中断优先级:
优先级0:0,0(最低)
优先级1:0,1
优先级2:1,0
优先级3:1,1(最高)
中断触发方式:
外部中断0、1、2、3既可低电平触发也可下降沿触发。
定时器中断0、1:溢出
串口中断:发送或接收完成
C语言编程,中断查询次序号就是中断号:
void Int0_ISR(void) interrupt 0;
void timer0_ISR(void) interrupt 1;
void Int1_ISR(void) interrupt 2;
void timer1_ISR(void) interrupt 3;
void uart_ISR(void) interrupt 4;
void timer2_ISR(void) interrupt 5;
void Int2_ISR(void) interrupt 6;
void Int3_ISR(void) interrupt 7;
中断寄存器:
关键字:51单片机 STC89C52 中断学习
引用地址:
51单片机-STC89C52系列学习第三篇之中断学习
推荐阅读最新更新时间:2024-11-08 11:59
【51单片机】STC89C52流水灯实验,含C代码(3)
1.参考教程: 清翔51单片机教程 2.基本原理 : 移位和延迟 3.程序 : #include reg52.h #include intrins.h //标准库函数 #define uint unsigned int #define uchar unsigned char uchar temp; //LED灯相关变量 //毫秒级延时函数定义 void delay(uint z) { uint x,y; for(x = z; x 0; x--) for(y = 114; y 0; y--); } void main() { temp = 0xfe; P1 = temp; //1111
[单片机]
51单片机学习之陆 —— 1.5 数码管的动态显示
1 学习回顾,上节课学习了静态显示 我们显示了第一位数码管,并让其显示了8 现在我们试着多一些花样 1 点亮所有数码管让其显示6 编程 代码 注意上面已经写好了函数leddata P0 = ox00;让所有数码管都打开 P0 = leddata ;让数码管显示三 这时就达成了我们的目的了 2 让数码管从0到9循环显示间隔500毫秒 编程 代码: #include reg52.h // 52系列单片机头文件 2 #define uint unsigned int 3 #define uchar unsigned char
[单片机]
51单片机程序进行软件加密和硬件解密的方法
由于固化在片外EPROM 里的单片机程序容易复制,所以,如不在技术上采取保护措施,则程序中所采用的处理方法易被他人分析仿制。对单片机程序进行加密是一种有效的保护措施,也是一项实用的技术。虽然本身带有EPROM 的单片机可做到程序保密,但由于价格和存储容量方面的原因,用户仍常常采用外接EPROM 的单片机来开发产品。 本文以MCS - 51 单片机为例介绍一种对片外E2PROM 里的程序进行软件加密和硬件解密的方法。这种方法不增加用户应用程序开销。 1 基本原理 我们知道,异或运算有这样的特点: A Ý B Ý B =A ,亦即当用变量B 对变量A 作偶数次异或运算后,其结果恢复为变量A。例如A = 32H , B = 5EH ,
[单片机]
51单片机游戏(贪吃蛇)
一、电路设计 此电路由AT89C51最小系统、74HC595位移缓存器、8*8点阵LED屏和按键组成。 74HC595位移缓存器 74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK 的上升沿,串行数据由SDL输入到内部的8位位移缓存器,并由Q7’输出,而并行输出则是在LCK的上升沿将在8位位移缓存器的数据存入到8位并行输出缓存器。当串行数据输入端OE的控制信号为低使能时,并行输出端的输出值等于并行输出缓存器所存储的值。 二、运行结果 三、部分代码 /*想要更多项目私wo!!!*/ #include config.h static struct Food { unsig
[单片机]
51单片机堆栈深入剖析
用C语言进行MCS51系列单片机程序设计是单片机开发和应用的必然趋势。Keil公司的C51编译器支持经典8051和8051派生产品的版本,通称为Cx51。应该说,Cx51是C语言在MCS51单片机上的扩展,既有C语言的共性,又有它自己的特点。本文介绍的是Cx51程序设计时堆栈的计算方法。 1.堆栈的溢出问题。MCS51系列单片机将堆栈设置在片内RAM中,由于片内RAM资源有限,堆栈区的范围也是有限的。堆栈区留得太大,会减少其他数据的存放空间,留得太少则很容易溢出。所谓堆栈溢出,是指在堆栈区已经满了的时候还要进行新的压栈操作,这时只好将压栈的内容存放到非堆栈区的特殊功能寄存器(SFR)中或者堆栈外的数据区中。特殊功能寄存器的内
[单片机]
51单片机(STC89C52RC)光电耦合控制继电器实验
单片机控制继电器一般是两种方式:一是单片机-三极管(PNP)-继电器,二是单片机-光电耦合器-三极管(NPN)-继电器,后者由于采用了光电隔离,故起抗干扰能力相对前者要强.前者选用PNP型主要是考虑控制逻辑,采用低电平触发的控制逻辑能够防止单片机复位时候产生的误动作.后者NPN是为了控制的方便,但也是遵循这样的控制逻辑. 本次实验采用材料有: STC89C52RC 51单片机 NEC/Ps2002B 晶体管光电耦合器 9013 NPN型三极管 SRD-06VDC-SL-C 松乐6V继电器 电路图我就不画了,可以google,MCS-51直流继电器接口关键字.在这里主要碰到的问
[单片机]
51单片机实例讲解,由按钮控制灯亮程序
按钮控制灯亮接线原理图如图11所示。在单片机的P1口的低4位按上按钮,在高4位接上发光二极管。当按下SB1时(P1.0口为“0”),LED1发亮(P1.4口为“0”)。同理,若分别按下SB2、SB3、SB4,则对应的端口P1.5、P1.6、P1.7输出低电平,对应的发光二极管LED2、LED3、LED4就发亮。 若同时按下两个以上的按钮,则对应的发光二极管发亮。例如按下SB1和SB3,则对应的输出端口P1.4和P1.6输出为低电平,对应的发光二极管LED1、LED3发亮。 (1)按钮控制灯亮硬件电路(见图11)。 图11 按钮控制灯亮接线原理图 (2)按钮控制灯亮硬件电路元器件(见表3)。 表3 按
[单片机]
TMS320VC5402DSP与51单片机的接口设计技术
TMS320VC5402(VC5402)是德州仪器公司推出的具有较高性价比的定点数字信号处理器。VC5402增强外设由软件等待状态发生器、锁相环时钟发生器、6通道直接存储器访问(DMA)控制器、增强型8位并行主机接口(HPI)等组成。两个可编程的多通道缓冲串口(McBSP)能够全双工、快速地与其他同步串口进行数据交换,硬件连接简单,串口的工作模式和传送数据的格式可通过编程实现。DSP和单片机之间的通信一般利用双口RAM,通过串口或DSP的HPI接口实现。 利用双口RAM实现 CY7C026是CYPRESS公司生产的16k×16B高速双口静态RAM,存取速度小于25ns。他具有真正的双端口,可以同时进行数据存取,两个端口具有独立的
[嵌入式]