项目4_外部中断.docxVIP

  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文档。上传文档
查看更多
项目4外部中断 总体任务:以多种方式响应外部中断 进阶任务0:通过外部中断0控制发光二极管的点亮与熄灭 进阶任务1编写代码通过外部中断 1控制七段数码管加1 进阶任务2:单个共阳七段数码管从 0到F不断加1循环显示,按下 S1键数码管清零显示 进阶任务3:验证和更改外部中断 0和1优先级程序 所用器件:STC89C52最小系统,键盘模块,LED发光二极管模块,单个共阳七段数码管模 块,四位共阳七段数码管模块,杜邦线若干,如图 3-0所示。 ⑻STC89C52最小系统(c) LED发光二极管模块(b)单个共阳七段数码管模块(f)杜邦线(d)键盘模块 (e) ⑻STC89C52最小系统 (c) LED发光二极管模块 (b)单个共阳七段数码管模块 (f)杜邦线 (d)键盘模块 (e)四位共阳七段共阳数码管模块 图4-0 进阶任务0:通过外部中断0控制发光二极管的点亮与熄灭 进阶任务0连线如图4-1所示: Cl卩1打P0.6RSTP0.7P3.0/RXDEAP3.1/TXDALEP3 2/1NT0PSENP3 3/INTIP2.7P3.4/T0 Cl 卩1打 P0.6 RST P0.7 P3.0/RXD EA P3.1/TXD ALE P3 2/1NT0 PSEN P3 3/INTI P2.7 P3.4/T0 P2.6 P3 5/T1 P2.5 P3.6TWR P2.4 P3.7/RD P2 3 XTAL2 P2.2 XTAL1 P2.] GND P2.D 卩3.111 P阴口 卩 ?T7i7 吃 ig ~201 31 30 28 27 26 25 23 22 2? — STC83C52 33 P0.1 EA ALE P2.7 陀方 P2) P2T P2.1 pHT TRI 图4-1 STC89C52最小系统、LED发光二极管模块实物引脚连接见表 4-0。 表4-0 STC89C52最小系统、LED发光二极管模块实物引脚连接 STC89C52最小系统 LED发光二极管模块 P2.0 IO0 P2.1 连接 P3.2 +5V VCC GND GND 进阶任务0程序见代码4-0。 代码4-0:外部中断0控制发光二极管的点亮与熄灭 程序 01 #i nclude stc89c52.h 02 #i nclude delay.h 03 sbit LED = P2A0; //连接LED发光二极管模块 100 04 sbit TRI = P2A1; 〃产生高低电平跳变的 10弓I脚 05 void int0_init(void)//外部中断 0初始化函数 06 { 07 IT0 = 1;//设置外部中断0类型, 1为下降沿,0为低电平 08 EX0 = 1;//使能外部中断0 09 } 10 void main( void) 11 { 12 LED = 0; 13 TRI = 1; 14 in t0_i ni t(); 15 EA = 1; //使能全局中断 16 while(1) 17 { 18 TRI = 0; //外部中断0, 即P3.2脚输入低电平 19 delay_ms(400); 20 TRI = 1; //外部中断0, 即P3.2脚输入高电平 21 delay_ms(400); } void intO_fun() interrupt 0 //外部中断 0 程序,0 为中断号 { LED = ~LED; } 知识要点: STC89C52有两个个外部中断引脚,分别是外部中断 0和外部中断1。C51的外部中断 有两种触发方式,分别是下降沿(即由高到低)和低电平。 中断程序的一般编写过程是设置中断类型,使能该中断和使能全局中断。 设置中断类型的过程就是配置寄存器的过程。 与外部中断0有关的寄存器是TCON和IE。 TCON的最低位IT0决定触发中断的类型是下降沿还是低电平。 IE的最低位EX0是打 开或关闭外部中断 0的控制位,EX=1使能,EX=0关闭。IE的最高位第7位EA是C51 的全局中断使能控制位。 EA=1使能全局中断,EA=0禁用所有中断。相关寄存器说明见 表 4-1。 表4-1外部中断0相关寄存器说明 TCON.0(IT0) = 1 下降沿触发 TCON.0(IT0) = 0 低电平触发 IE.0(EX0) = 1 使能外部中断0 IE.0(EX0) = 0 禁用外部中断0 IE.7(EA) = 1 使能全局中断 IE.7(EA) = 0 禁用所有中断 ④ 中断程序的函数名称可以由任意的合法的 C语言的标识符组成,通过中断查询号来表示 响应哪一个类型的中断,比如 interrup 0即响应外部中断 0的中断。 一般外部中断由相应的元器件引脚触发, 为了模拟高低电平的产生, 用STC89C52的P2.1 引脚模拟产生高低跳变来产

文档评论(0)

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

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

1亿VIP精品文档

相关文档