《C51中断函数的写法(最新整理)》由会员分享,可在线阅读,更多相关《C51中断函数的写法(最新整理)(4页珍藏版)》请在人人文库网上搜索。
1、一、中断允许控制CPU 对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE 控制的。EX0(IE.0),外部中断 0 允许位;ET0(IE.1),定时/计数器 T0 中断允许位;EX1(IE.2),外部中断 0 允许位;ET1(IE.3),定时/计数器 T1 中断允许位;ES(IE.4),串行口中断允许位;EA (IE.7), CPU 中断允许(总允许)位。80C51 单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD 用于设置其工作方式;TCON 用于控制其启动和中断申请。一、工作方式寄存器 TMOD工作方式寄存器 TMOD 用于设置定时/计数器的工作方式,低四位用于。
2、 T0,高四位用于 T1。其格式如下:GATE:门控位。GATE0 时,只要用软件使 TCON 中的 TR0 或 TR1 为 1,就可以启动定时/计数器工作;GATA1 时,要用软件使 TR0 或 TR1 为 1,同时外部中断引脚 INT0/1也为高电平时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了 INT0/1 引脚为高电平这一条件。:定时/计数模式选择位。C/T 0 为定时模式;C/T=1 为计数模式。M1M0:工作方式设置位。定时/计数器有四种工作方式,由 M1M0 进行设置。TCON 的低 4 位用于控制外部中断,已在前面介绍。TCON 的高 4 位用于控制定时/计数器的。
3、启动和中断申请。其格式如下:TF1(TCON.7):T1 溢出中断请求标志位。T1 计数溢出时由硬件自动置TF1 为 1。CPU 响应中断后TF1 由硬件自动清 0。T1 工作时,CPU 可随时查询TF1的状态。所以,TF1 可用作查询测试的标志。TF1 也可以用软件置 1 或清 0,同硬件置 1 或清 0 的效果一样。TR1(TCON.6):T1 运行控制位。TR1 置 1 时,T1 开始工作;TR1 置 0 时,T1 停止工作。TR1 由软件置 1 或清 0。所以,用软件可控制定时/计数器的启动与停止。TF0(TCON.5):T0 溢出中断请求标志位,其功能与 TF1 类同。TR0(TCO。
4、N.4):T0 运行控制位,其功能与 TR1 类同。3.3.5 定时/计数器应用举例初始化程序应完成如下工作:对 TMOD 赋值,以确定 T0 和 T1 的工作方式。计算初值,并将其写入 TH0、TL0 或 TH1、TL1。中断方式时,则对 IE 赋值,开放中断。使 TR0 或 TR1 置位,启动定时/计数器定时或计数。定时器 T0 中断的初始化TMOD=0x01;设定工作方式为 16 位定时器TH0=(65536-50000)/256; 赋定时器 T0 高四的值为 50MS(对 256 求模) TL0=(65536-50000)%256; 赋定时器 T0 低四的值为 50MS(对 256 求。
5、余) EA=1;开总中断ET0=1;开定时器 T0 中断TR0=1;启动定时器 T0当定时器时间到产生中断就自动跳到以下中断函数,中断函数不需要做任何声明;void timer0( ) interrupt 1 5 个中断源的排序:0 代表外部中断 0 中断 ,1 代表定时器/计数器 0 中断 ,2 代表外部中断 1 中断, 3 代表定时器/计数器 1, 4 代表串行中断的中断TH0=(65536-50000)/256;重装初值TL0=(65536-50000)%256;重装初值往下写 CPU 要处理的事情就 OK 了中断响应条件中断源有中断请求;此中断源的中断允许位为 1;CPU 开中断(即 。
6、EA=1)。以上三条同时满足时,CPU 才有可能响应中断。P3.2 口的外部中断EA=1;/开总中断EX0=1;/开外部中断 0/IT0=1;/当 IT=0 时为电平的外部中断触发方式,当 IT=1 时位跳变沿外部中断触发方式TCON=0x01;(这是对寄存器将 IT 置 1,和 IT0=1 的效果是一样的)因为 TCON 的地址是可以被 8 整除,所以可以对其进行位操作。当符合外部中断的条件时执行下面的中断函数void exter0() interrupt 0 5 个中断源的排序:0 代表外部中断 0 中断 ,1 代表定时器/计数器 0 中断 ,2 代表外部中断 1 中断, 3 代表定时器/。
7、计数器 1, 4 代表串行中断的中断这里下写 CPU 要处理的事情就 OK 了“”“”At the end, Xiao Bian gives you a passage. Minand once said, people who learn to learn are very happy people. In every wonderful life, learning is an eternal theme. As a professional clerical and teaching position, I understand the importance of continuous 。
8、learning, life is diligent, nothing can be gained, only continuous learning can achieve better self. Only by constantly learning and mastering the latest relevant knowledge, can employees from all walks of life keep up with the pace of enterprise development and innovate to meet the needs of the market. This document is also edited by my studio professionals, there may be errors in the document, if there are errors, please correct, thank you。