找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 13743|回复: 0
打印 上一主题 下一主题
收起左侧

51单片机中断,含源程序,代码

[复制链接]
跳转到指定楼层
楼主
中断程序代码
对初学者很有帮助
在学校实验中得过验证
运用proteus和keil软件进行呈现



  1. #include<reg51.h>
  2. #include<intrins.h>

  3. sbit K2 = P3^2;
  4. sbit K3 = P3^3;

  5. void delayms(unsigned int m);
  6. unsigned char  aa = 0xfe;

  7. void main()
  8. {
  9.         EA = 1;
  10.         EX0 = 1;
  11.         EX1 = 1;
  12.         IT0 = 1;  //跳变沿触发方式
  13.         IT1 = 1;  // 打开INT0的中断允许
  14.         IP = 0xf1;
  15.         P1 = 0xff;
  16. }

  17. /*低级的外部中断2,负责按钮1 的操作,即实现流水灯*/
  18. void button_1() interrupt 2
  19. {               
  20.         if(K3 == 0)
  21.         {
  22.                  delayms(10);
  23.                 if(K3 == 0)
  24.                 {
  25.                         while(1)
  26.                         {       
  27.                                 P1 = aa;
  28.                                 aa = _crol_(aa,1);
  29.                                 delayms(500);
  30.                         }       
  31.                 }
  32.         }
  33.                                                
  34. }

  35. /*外部中断0(最高级),负责打断外部中断 2*/
  36. void button_2() interrupt 0
  37. {
  38.         if(K2 == 0)
  39.         {
  40.                 delayms(10);
  41.                 if(K2 == 0)
  42.                 {
  43.                        
  44.                         while(1)
  45.                         ;
  46.                        
  47.                 }
  48.         }
  49.                        
  50. }

  51. void delayms(unsigned int m)
  52. {
  53.         unsigned int i, j;
  54.         for(i = m; i > 0; i--)
  55.         {
  56.                 for(j = 110; j > 0; j--)
  57.                 ;
  58.         }
  59. }
复制代码
中断.docx (108.77 KB, 下载次数: 38)




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表