一、实验目的 1.学习并掌握外中断的使用。 2.学习中断处理程序的编程方法。 二、实验设备 PC 机一台、Keil C 、Proteus 三、实验内容 1.使用单脉冲作中断源,每按一次按钮,响应一次外部中断; 2. 实现中断的嵌套功能,设置其优先级; 四、实验步骤 1.本实验电路如下所示。
五、实验报告要求 1.编写程序并加上注释; 2.把设计的PROTEUS仿真图,写入实验报告。 6.思考题: 单片机外中断两种触发方式的区别,各适用于何种情况。 - #include<reg51.h>
- #define SEG1 P0
- #define SEG2 P1
- #define SEG3 P2
- unsigned char code TAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};
- void delay(int x)
- {
- int i ,j;
- for(i=0;i<x;i++)
- for(j=0;j<100;j++);
- }
- main()
- {
- IE=0x85;
- IP=0x04;
- TCON=0x05;
- while(1)
- {
- int i;
- for(i=0;i<10;i++)
- {
- SEG1=TAB[i];
- delay(250);
- }
- }
- }
- void my_int1(void) interrupt 2
- {
- int i;
- for (i=0;i<10;i++)
- {
- SEG2=TAB[i];
- delay(250);
- }
- }
- void my_int0(void) interrupt 0
- {
- int i;
- for (i=0;i<10;i++)
- {
- SEG3=TAB[i];
- delay(250);
- }
- }
复制代码全部资料51hei下载地址:
外部中断的应用.zip
(18.14 KB, 下载次数: 17)
|