单片机中void Timer0_isr(void) interrupt 1 using 1 怎么理解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机中void Timer0_isr(void) interrupt 1 using 1 怎么理解相关的知识,希望对你有一定的参考价值。
我知道这是完成中断的,但是不太理解interrupt 1 ?using1?
1、这个是定时器0的中断函数。
2、从字面上可以看到Timer0——定时器0,interrupt——中断。
3、定时器设置初值并打开后,当计数器计数到你设置的数后,就会产生一个定时器中断,然后无论你当时程序在运行什么代码,都会跳转到IsrTimer0这个函数运行,运行完毕后再跳回去执行之前的代码。
4、void IsrTimer0(void) interrupt 1using 1这个写法不能变,函数名是也要这样写的。
扩展资料
定时器的适用范围及注意事项
适用范围
1、在实行峰谷电价差的地区,可使用大功率电器在低电价阶段自动运行。
2、用于控制需定时开与关的家用电器。如:饮水机、热水器、空调、电饭煲、广告照明等。
3、用于控制通电时间长短。如:电动自行车电池、手机电池、蓄电池的充电。
4、需频繁通断的用电场合。如花圃、草坪的间歇喷灌、鱼缸的周期性增氧过滤、喷泉等。
5、家庭防盗系统的自动控制。
注意事项
1、本产品所接电器功率总和不得超过额定功率,为室内干燥环境中使用。
2、本产品可循环工作,设置的程序可循环使用。
3、不可把本产品直接插入已运行中的电器上。
4、当电器用品接入定时器后,开关状态务必是开启状态。
5、保修期内请勿擅自拆卸定时器,一旦拆卸,将终止保修服务。需维修时请找专业电工或专业人士。
参考资料:百度百科-定时器
参考技术A可以参考下面的理解:
1、这个是定时器0的中断函数。
2、从字面上可以看到Timer0——定时器0,interrupt——中断。
3、定时器设置初值并打开后,当计数器计数到用户设置的数后,就会产生一个定时器中断,然后无论你当时程序在运行什么代码,都会跳转到IsrTimer0这个函数运行,运行完毕后再跳回去执行之前的代码。
4、void IsrTimer0(void) interrupt 1using 1这个写法不能变,函数名是也要这样写的。
扩展资料:
单片机定时器介绍
定时/计数器T0和T1分别是由两个8位的专用寄存器组成,即定时/计数器T0由TH0和TL0组成,T1由TH1和TL1组成。
此外,其内部还有2个8位的特殊功能寄存器TMOD和TCON,TMOD负责控制和确定T0和T1的功能和工作模式,TCON用来控制T0和T1启动或停止计数,同时包含定时/计数器的状态。
TF1:定时器1溢出标志。定时/计数器溢出时由硬件置位。中断处理时由硬件清除。或用软件清除。
TF0:定时器0溢出标志。定时/计数器溢出时由硬件置位。中断处理时由硬件清除,或用软件清除。
参考资料来源:百度百科-单片机
参考技术B interrupt 1这就相当于门牌号,因为51有5个中断源,不同的中断对应的号不一样,1对应的是定时器0中断,外部中断0 对应的是0,外部中断1对应的是2,定时器1对应的是3,串口中断对应的是4,通过不同的号区分不同的中断。至于using1这个可以不用本回答被提问者采纳 参考技术C 这是按照51单片机的中断向量顺序编的号,也是缺省状态下的优先级。外部中断0 interrupt 0
定时器0 interrupt 1
外部中断1 interrupt 2
定时器1 interrupt 3
串口中断 interrupt 4
定时器2 interrupt 5
后面的using1 就是在中断服务器里工作寄存器Rn使用第1工作区
工作寄存器共有4个工作区,由PSW中的RS1 RS0决定
RS1 RS0
0 0 工作区0 对应00H~07H
0 1 工作区1 对应08H~0FH
1 0 工作区2 对应10H~17H
1 1 工作区3 对应18H~1FH 参考技术D interrupt 1 就是定时器0的中断处理程序, 后面的1是中断号
interrupt 0 外部中断0
interrupt 2 外部中断1
interrupt 3 定时器1中断
interrupt 4 串口中断
using 1 就是寄存器组切换到第二组, 共4个寄存器组, 都是用R0 ~ R7来使用
00H ~ 07H 第一组
08H ~ 0FH 第二组
10H ~ 17H 第三组
18H ~ 1FH 第四组
单片机中的Timer0Interrupt(void) interrupt 1啥意思?
1.这是定时器0的中断函数。
2.可以看到Timer0——Timer0——定时器0——中断。
3.定时器设置初始值和开放,当计数器计数设置数量,将会有一个定时器中断,然后不管你有什么代码运行时的程序,将跳转到IsrTimer0这个函数运行,运行完成后返回之前执行的代码。
4.这个方法不能改变,函数名也不能改变。
扩展资料:
定时器适用范围及注意事项
适用范围
1.在峰谷电价不同的地区,在低电价阶段可以使用大功率电器自动运行。
2.用于控制需要定时开关的家用电器。如:饮水机、热水器、空调、电饭煲、广告灯饰等。
3.用于定时控制电源。如:电动自行车电池、手机电池、充电电池等。
4.频繁开关的场合。如花坛、草坪的间歇式喷灌,鱼缸、喷泉的定期氧气过滤等。
5.家用防盗系统自动控制。
注意事项
1.连接本产品的电器总功率不得超过室内干燥环境下的额定功率和应使用。
2.产品可以回收,程序集也可以回收。
3.请勿将本产品直接插入运行中的电器中。
4.当电器连接到定时器时,开关必须处于开启状态。
5.在保修期内请不要拆卸定时器。一旦拆卸,保修服务将终止。请咨询专业电工或专业维修。
参考技术A 这是中断函数(C语言的),其中Timerolnterrupt是函数名,是自己定义的,也可以叫别的什么名字如zhongduan.xyz 等等。 interrutpt1是中断序号,这是定时器0中断的意思,只要用定时器0中断,必须用此句。interrutpt0 外中断0
interrutpt2 外中断1
interrutpt3 定时器1
interrutpt4 串行口中断 参考技术B 这里指的是中断向量号,因为单片机中的中断都是编号好了的,这样便于单片机查询中断服务程序的入口地址在哪里,你这里应该是对应的51单片机,51单片机中的中断向量是这样安排的:
外部中断0 EX0 interrupt 0
定时器0 ET0 interrupt 1
外部中断1 EX1 interrupt 2
定时器1 ET1 interrupt 3
串口中断 interrupt 4 参考技术C 这个写法有问题吧。。
void timer(void) interrupt 1 using 1
timer:函数名称
interrupt 1: 定时器中断0;
using 1:R0~R7为第二组寄存器;
希望能帮到你本回答被提问者和网友采纳 参考技术D 看你用的是哪个型号的单片机了,确切的说,interrupt+数字,表示的是单片机中断系统中的第几号中断,相当于中断向量表,让你的中断程序能找到中断入口地址,不然可以程序跑飞。
以上是关于单片机中void Timer0_isr(void) interrupt 1 using 1 怎么理解的主要内容,如果未能解决你的问题,请参考以下文章