中断程序代码
对初学者很有帮助
在学校实验中得过验证
运用proteus和keil软件进行呈现
- #include<reg51.h>
- #include<intrins.h>
-
- sbit K2 = P3^2;
- sbit K3 = P3^3;
-
- void delayms(unsigned int m);
- unsigned char aa = 0xfe;
-
- void main()
- {
- EA = 1;
- EX0 = 1;
- EX1 = 1;
- IT0 = 1; //跳变沿触发方式
- IT1 = 1; // 打开INT0的中断允许
- IP = 0xf1;
- P1 = 0xff;
- }
-
- /*低级的外部中断2,负责按钮1 的操作,即实现流水灯*/
- void button_1() interrupt 2
- {
- if(K3 == 0)
- {
- delayms(10);
- if(K3 == 0)
- {
- while(1)
- {
- P1 = aa;
- aa = _crol_(aa,1);
- delayms(500);
- }
- }
- }
-
- }
-
- /*外部中断0(最高级),负责打断外部中断 2*/
- void button_2() interrupt 0
- {
- if(K2 == 0)
- {
- delayms(10);
- if(K2 == 0)
- {
-
- while(1)
- ;
-
- }
- }
-
- }
-
- void delayms(unsigned int m)
- {
- unsigned int i, j;
- for(i = m; i > 0; i--)
- {
- for(j = 110; j > 0; j--)
- ;
- }
- }
复制代码
中断.docx
(108.77 KB, 下载次数: 38)
|