标题: 51单片机中断,含源程序,代码 [打印本页]

作者: Mr-L    时间: 2018-11-18 18:01
标题: 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)









欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1