单片机实验说明<二>外部中断基本使用

举报
zhangrelay 发表于 2021/07/15 01:38:05 2021/07/15
【摘要】 实验二 外部中断应用 设计要求: 自行设计实验线路并编制程序:要求在无外部中断时最右一位发光二极管点亮。请编程实现:当外部中断0请求中断时发光二极管左移;当外部中断1请求中断时发光二极管闪烁。 电路设计: 软件代码: /*********************************************************************...

实验二 外部中断应用

设计要求:

自行设计实验线路并编制程序:要求在无外部中断时最右一位发光二极管点亮。请编程实现:当外部中断0请求中断时发光二极管左移;当外部中断1请求中断时发光二极管闪烁。

电路设计:

软件代码:


  
  1. /*****************************************************************************
  2. * 头文件 *
  3. *****************************************************************************/
  4. #include "hml/hml.h"
  5. #define LSA P1_5
  6. #define LSB P1_6
  7. #define LSC P1_7
  8. void EXINT0() __interrupt 0;
  9. void EXINT1() __interrupt 2;
  10. /*****************************************************************************
  11. * 初始化和功能函数 *
  12. *****************************************************************************/
  13. void sys_init(void)
  14. {
  15. LSA=0;
  16. LSB=0;
  17. LSC=0;
  18. IT0=0;
  19. IT1=0;
  20. EA=1;
  21. EX0=1;
  22. EX1=1;
  23. }
  24. void Up2Down(int x)
  25. {
  26. int i, j;
  27. unsigned char sel=0x7f;
  28. for(i=0;i<x;i++)
  29. {
  30. for(j=0;j<8;j++)
  31. {
  32. P0 = sel;
  33. sleep(125);
  34. sel=sel>>1|0x80;
  35. }
  36. sel=0x7f;
  37. }
  38. }
  39. void EXINT0() __interrupt 0
  40. {
  41. Up2Down(1);
  42. }
  43. void EXINT1() __interrupt 2
  44. {
  45. P0=0xFF;
  46. sleep(125);
  47. P0=0x7F;
  48. sleep(125);
  49. P0=0xFF;
  50. sleep(125);
  51. }
  52. /*****************************************************************************
  53. * 主函数 *
  54. *****************************************************************************/
  55. void main(void)
  56. {
  57. sys_init();
  58. while(true)
  59. {
  60. P0=0x7F;
  61. }
  62. }

思考题:

1.51 单片机的中断系统由哪几个特殊功能寄存器组成?
2.中断函数与函数调用有何不同?
3.如果 INT0 和 INT1 的优先级都设置成 0,但我们知道中断号越小,优先级越高,即 INT0 的自
然优先级高于 INT1,请修改程序,先按下 KEY1,在 LED 的闪烁过程中按下 KEY0,看能否打断 LED
的闪烁?原因是什么?


 

文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。

原文链接:zhangrelay.blog.csdn.net/article/details/109209696

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。