几种单片机C语言的中断程序写法

几种单片机C语言的中断程序写法,第1张

关于c的中断使用一般是,定义函数的时候在后面加上interrupt

n

其中

n

对应中断源的编号,其值从

0

开始,以

80c51

单片机为例,编号从

0~4,分别对应外中断

0

定时器0

中断外部中断

1

定时器1

中断和串行口中断

void

xxxx(void)interrupt

n//中断服务函数

{

要写的中断服务程序

}

中断服务程序:处理器处理“急件”,可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的,这种处理“急件”的程序被称为——中断服务程序。

当中央处理器正在处理内部数据时,外界发生了紧急情况,要求CPU暂停当前的工作转去处理这个紧急事件。处理完毕后,再回到原来被中断的地址,继续原来的工作,这样的过程称为中断。实现这一功能的部件称为中断系统,申请CPU中断的请求源称为中断源,单片机的中断系统一般允许多个中断源,当多个中断源同时向CPU请求中断时,就存在一个中断优先权的问题。通常根据中断源的优先级别,优先处理最紧急事件的中断请求源,即最先响应级别最高的中断请求。

格式是固定的

void

中断名(void)

interrupt

n

这个中断名你可以随意取只要不是保留字就可以

n=0对应外部中断0

n=1对应定时器0

n=2对应外部中断1

n=3对应定时器1

n=4对应串口

比如定时器0中断服务程序

void

isr_timer0()

interrupt

1

{

TH0=(65536-10000)/256;

TL0=(65536-10000)%256;

P0=~P0;

}

中断就是执行中断服务程序,这是中断系统的核心。不同计算机系统的中断处理过程各具特色,但对多数计算机而言,其中中断服务程序的流程如下。 中断处理过程基本上由3部分组成,第一部分为准备部分,其基本功能是保护现场,对于非向量中断方式则需要确定中断源,最后开放中断,允许更高级的中断请求打断低级的中断服务程序;第二部分为处理部分,即真正执行具体的为某个中断源服务的中断服务程序;第三部分为结尾部分,首先要关中断,以防止在恢复现场过程中被新的中断请求打断,接着恢复现场,然后开放中断,以便返回原来的程序后可响应其他的中断请求。中断服务程序的最后一条指令一定是中断返回指令。

一个完整的中断过程包括:

中断请求:是指中断源(引起中断的事件或设备)向CPU

 发出的请求中断的要求。

中断判优:当有多个中断源发出请求时,需要通过适当的办法决定先处理哪个中断请求;

中断响应:指CPU中止现行程序转至中断服务程序的过程;

中断处理:就是指CPU执行中断服务程序;

中断返回:   执行完中断服务程序后,返回到被中断的程序

 

中断的作用:

(1)CPU与I/O设备并行工作

(2)硬件故障处理

(3)实现人机联系:在计算机工作过程中,如果用户要干预机器,如查看计算的中间结果,了解机器的工作状态,给机器下达临时性的命令等。在没有中断系统的计算机里这些功能几乎是无法实现的。

(4)实现多道程序和分时 *** 作

(5)实现实时处理

(6)实现应用程序和 *** 作系统的联系

(7)多处理机系统各处理机间的联系

以上就是关于几种单片机C语言的中断程序写法全部的内容,包括:几种单片机C语言的中断程序写法、什么是C语言的中断程序作用是什么、单片机中断,写中断程序的格式是什么,是固定的么,程序是怎么执行的,能举个例子,说明白么,我很想搞懂等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10084070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存