|
实验内容
1.使用外部中断0,(S0开关)作为控制开关,外部中断0工作在电平或跳沿触发方式,上电后,P1.0位的LED灯点亮,按一次按钮,点亮P1.7位的LED灯,熄灭P1.0位的LED灯。
2.使用外部中断1,(S1开关)作为控制开关,外部中断1工作在电平或跳沿触发方式,在(1)步骤的基础上,按压S1开关,实现上电状态,即,P1.0位的LED灯点亮,熄灭P1.7位的LED灯。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- //实验1
- #include<reg51.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit P10=P1^0;
- sbit P17=P1^7;
- void main()
- {
- EA=1; //总中断允许
- EX0=1; //允许外部中断0中断
- IT0=1; //选择外部中断0为跳沿触发
- while (1)
- {
- P10=0;
- }
- }
- void int0() interrupt 0 using 0 //外部中断0的中断函数 中断号n=0,选择第0区工作寄存器区
- {
- EX0=0; //禁止外部中断0中断
- while(1)
- {
- P10=1;
- P17=0;
- }
- EX0=1;
- }
复制代码- //实验2
- #include<reg51.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit P10=P1^0;
- sbit P17=P1^7;
- void main()
- {
- EA=1; //总中断允许
- EX0=1; //允许外部中断0中断
- IT0=1; //选择外部中断0为跳沿触发
- EX1=1;
- IT1=1;
- PX1=1;
- while (1)
- {
- P10=0;
- }
- }
- void int0() interrupt 0 using 0 //外部中断0的中断函数 中断号n=0,选择第0区工作寄存器区
- {
- EX0=0; //禁止外部中断0中断
- while(1)
- {
- P10=1;
- P17=0;
- }
- EX0=1; //中断返回前,打开外部中断0中断
- }
- void int1() interrupt 2 using 2
- {
- uchar m;
- EX1=0;
- while(1)
- {
- P10=0;
- P17=1;
- }
- EX1=1;
- }
-
复制代码
全部资料51hei下载地址:
实验二 外部中断实验.zip
(94.99 KB, 下载次数: 35)
|
评分
-
查看全部评分
|