中断的使用说明 interrupt 表示中断优先级, using 表示所用工作寄存器组。 interrupt x using y 跟在 interrupt 后面的 xx 值得是中断号,就是说这个函数对应第几个中断端口,一般在 51中 0 外部中断 01 定时器 02 外部中断 13 定时器 14 串行中断其它的根据相应得单片机有自己的含义,实际上 c 在编译的时候就是把你这个函数的入口地址放到这个对应中断的跳转地址 using y 这个 y 是说这个中断函数使用的那个寄存器组就是 51 里面一般有 4个 r0 -- r7 寄存器,如果你的终端函数和别的程序用的不是同一个寄存器组则进入中断的时候就不会将寄存器组压入堆栈返回时也不会弹出来节省代码和时间外部中断 INT0 void intsvr0(void) interrupt 0 using 1 定时/ 计数器 T0 void timer0(void) interrupt 1 using 1 外部中断 INT1 void intsvr1(void) interrupt 2 using 1 定时/ 计数器 T1 void timer1(void) interrupt 3 using 1 串口中断 void serial0(void) interrupt4 using 1 单片机的 C 语言 培训电话:********** 一, 中断的概念中断: 当计算机执行正常程序时, 系统中出现某些急需处理的异常情况和特殊请求. 中断的执行:当 CPU 正在执行某一程序时, 若有中断响应,则 CPU 转而执行中断服务程序, 当中断服务程序执行完毕后,CP U 自动返回原来的程序继续执行. 中断服务程序的语句写法与函数的写法完全相同, 所以, 中断服务程序也是函数, 只在函数头部有不同( 后续). 中断服务程序的执行与函数的执行不同: 函数的执行是有固定位置的, 是通过函数的调用来完成的; 而中断服务程序的执行是不固定位置的, 只要有中断响应, 在一定条件下都会去响应中断, , 中断源中断源: 任何引起计算机中断的事件, 一般一台机器允许有许多个中断源. 8051 系列单片机至少有 5 个可能的中断(8052 有6个, 其它系列成员最多可达 15个). 下面以 5 个中断源为例. 8051 单片机的五个中断源是: 外部中断请求 0,由 INT0() 输入; 外部中断请求 1,由 INT1() 输入; 片内定时器/ 计数器 0 溢出中断请求; 片内定时器/ 计数器 1 溢出中断请求; 片内串行口发送/ 接收中断请求. 三, 与中断有关的寄存器 1, 定时/ 计数器控制寄存器 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 D7 D6 D5 D4 D3 D2 D1 D0 . IT0,IT1: 外部中断 0,1 触发方式选择位, 由软件设置; 1→下降沿触发方式,INT0/INT1 管脚上高到低的负跳变可引起中断; 0→电平触发方式, INT0/INT1 管脚上低电平可引起中断. . IE0,IE1: 外部中断 0,1 请求标志位; 当外部中断 0,l 依据触发方式满足条件, 产生中断请求时由硬件置位(IE0/IE1=1); 当 CPU 响应中断时由硬件清除(IE0/IE1= 0). . TR0,TR1: 启动定时/ 计数器 0,1. . TF0,TF1: 定时器/ 计数器 0,1(T/C0,T/C1) 溢出中断请求标志; 当 T/C0,1 计数溢出时由硬件置位(TF0/TF1=l); 当 CPU 响应中断由硬件清除(TFO/TF1=0). 三, 与中断有关的寄存器 2, 串行口控制寄存器 SCON TI RI D7 D6 D5 D4 D3 D2 D1 D0 . RI: 串行口接收中断请求标志位; 当串行口接收完一帧数据后请求中断, 由硬件置位(RI=1) RI 必须由软件清"0". . TI: 串行口发送中断请求标志位. 当串行口发送完一帧数据后请求中断, 由硬件置位(TI=1) TI 必须由软件清"0". 三, 与中断有关的寄存器 3, 中断允许寄存器 IE EA ET2 ES ET1 EX1 ET0 EX0 D7 D6 D5 D4 D3 D2 D1 D0 . EX0,EX1: 外部中断 0,1 的中断允许位; l→外部中断 0,1 开中断;0→外部中断 0,1 关中断. . ET0,ET1: 定时器/ 计数器 0,1(T/C0,T/C1) 溢出中断允许位; 1→ T/C0,T/Cl 开中断;0→ T/C0,T/Cl 关中断. . ES: 串行口中断允许位; 1→串行口开中断;0→串行口关中断. . ET2: 定时器/ 计数器 2(T
中断的使用说明 来自淘豆网m.daumloan.com转载请标明出处.