中断INT0.doc_第1页
中断INT0.doc_第2页
中断INT0.doc_第3页
中断INT0.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、外部中断利用中断INT0计数,并显示计数值,INT0为P3.2口,中断的接线图参考下图: 外部中断有INT0和INT1两个,CPU通过INT0引脚(12脚,即P3.2口)及INT1引脚(即13脚,即P3.3口)即可接受外部中断的请求。 外部中断信号的采样方式可分电平触发(低电平触发)及边缘触发(负边缘触发)两种。通过TCON寄存来控制(见第二点)。(1) 中断允许(2) TCON 中断启用寄存器IE,可看作开闭中断功能的开关,各个位的功能见下图:(3) 中断向量表中断编号中断源名称中断向量地址-系统复位0x000第一个外部中断INT00x031第一个定时器/计数器中断TF00x0B2第二个外部中断INT00x133第二个定时器/计数器中断TF10x1B4串行口中断RI/TI0x235第三个定时器/计数器(8052)TF2/EXF20x02B 上表所示为8051/8052的中断向量。当发生中断时,程序员将跳至其对应的中断向量地址,执行该位置上的程序。对于C语言程序,可心不必知道其真实地址,程序设计者只要知道发生中断时,将会执行其中断程序即可。当然,在中断也程序的定义上,必须明确定义该中断子程序属于哪个中断的中断也程序。(4) 中断子程序格式void 中断子程序名称(void) interrupt中断编号 using 寄存器组如:void my_INT0 interrupt 1 程序:#include unsigned char code table=0x28, 0x7E, 0xA2, 0x62, 0x74, 0x61, 0x21, 0x7A, 0x20, 0x60,0xff;unsigned char count;unsigned int f,e; void delay10ms(void) unsigned char i,j; for(i=20;i0;i-) for(j=248;j0;j-); /*显示子程序*/ void disp_count() e=count; f=e%10; /个位P0 =tablef;P2 = 0x7f; delay10ms(); f=e/10; /十位P0 =tablef;P2 = 0xbf; delay10ms() ; void main(void)/ IT0=0; /低电平触发 IT0=1; /下降沿触发 EA=1; /允许中断 EX0=1; /开外部中部INT0 while(1) disp_count(); /* INT0中断函数 */void counter(void) interrupt 0 char x; EX0=0; count+; disp_count(); EX0=1;/*/练习:1. 中断前,程序执行P1口的灯从L1L8灯顺序点亮,如此不断循环。当发生INT0外部中断时,P1口的灯按L8到L1顺序点亮一圈后结束。2. 采用INT1外部中断完

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论