单片机c语言中断/定时器

本文介绍了汇编语言和C语言中中断处理的概念,强调中断函数的特点:无参数传递、无返回值、不可直接调用。讨论了中断服务程序的设计原则,包括保持简洁以减少冲突,并给出了外部中断和定时器的初始化配置。此外,还提到了中断服务程序与主程序功能划分的重要性。
摘要由CSDN通过智能技术生成

一、 汇编语言执行中断会跳到特定的地址执行中断
c语言采用interrupt加序号,序号对应中断向量地址

中断号 中断源 中断向量
interrupt 0 外部中断0 0003H
interrupt 1 T0中断 000BH
interrupt 2 外部中断1 0013H
interrupt 3 T1中断 001BH
interrupt 4 串口中断 0023H

中断向量(中断入口地址)= 中断号x8 +3

二、 (1)中断函数不能进行参数传递;(2)中断函数没有返回值;(3)不能在其他函数中直接调用中断函数;(4)若在中断中调用了其他函数,必须保证这些函数和中断函数使用了相同的寄存器组(5)在设计中断时,要注意的是哪些功能应该放在中断程序中,哪些功能应该放在主程序中。一般来说中断服务程序应该做最少量的工作,这样做有很多好处。首先系统对中断的反应面更宽了,有些系统如果丢失中断或对中断反应太慢将产生十分严重的后果,这时有充足的时间等待中断是十分重要的。其次它可使中断服务程序的结构简单,不容易出错。中断程序中放入的东西越多,他们之间越容易起冲突。简化中断服务程序意味着软件中将有更多的代码段,但可把这些都放入主程序中。中断服务程序的设计对系统的成败有至关重要的作用,要仔细考虑各中断之间的关系和每个中断执行的时间,特别要注意那些对同一个数据进行操作的ISR.

外部中断初始化
EA
EX0
IT0:触发方式,为0电平触发,为1边沿触发
定时器初始化
1.TMOD:选择模式
T0,tmod低四位,t1,tmod高四位
模式0:00 13位
模式1:01 16位
模式2:10
模式3:11
2.TL0,TH0:设置定时初值
3.启动开始工作
EA:CPU开中断
ET0:允许T0中断,EX0,外部中断
TR0:启动T0
TF0:溢出标志位置1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值