中断INT0.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中断INT0

1、外部中断 利用中断INT0计数,并显示计数值,INT0为P3.2口,中断的接线图参考下图: 外部中断有INT0和INT1两个,CPU通过INT0引脚(12脚,即P3.2口)及INT1引脚(即13脚,即P3.3口)即可接受外部中断的请求。 外部中断信号的采样方式可分电平触发(低电平触发)及边缘触发(负边缘触发)两种。通过TCON寄存来控制(见第二点)。 中断允许 TCON 中断启用寄存器IE,可看作开闭中断功能的开关,各个位的功能见下图: 中断向量表 中断编号 中断源名称 中断向量地址 - 系统复位 0x00 0 第一个外部中断INT0 0x03 1 第一个定时器/计数器中断TF0 0x0B 2 第二个外部中断INT0 0x13 3 第二个定时器/计数器中断TF1 0x1B 4 串行口中断RI/TI 0x23 5 第三个定时器/计数器(8052)TF2/EXF2 0x02B 上表所示为8051/8052的中断向量。当发生中断时,程序员将跳至其对应的中断向量地址,执行该位置上的程序。对于C语言程序,可心不必知道其真实地址,程序设计者只要知道发生中断时,将会执行其中断程序即可。当然,在中断也程序的定义上,必须明确定义该中断子程序属于哪个中断的中断也程序。 中断子程序格式 void 中断子程序名称(void) interrupt中断编号 using 寄存器组 如:void my_INT0 interrupt 1 { } 程序: #include AT89X52.H 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 =table[f]; P2 = 0x7f; delay10ms(); f=e/10; //十位 P0 =table[f]; 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; } /********************************************************/ 练习: 中断前,程序执行P1口的灯从L1~L8灯顺序点亮,如此不断循环。当发生INT0外部中断时,P1口的灯按L8到L1顺序点亮一圈后结束。 采用INT1外部中断完成,进行数据范围为(0~20)的计数,并将计数值通过两个LED数码管显示。 两个外部中断嵌套使用 定时器中断 (1)中断允许

文档评论(0)

80019pp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档