标签:现象 取反 注意事项 程序 class oid clu sbit 实验
/************************************************************************************** * 外部中断1实验 * 实现现象:下载程序后按下K4按键可以对D1小灯状态取反。 注意事项:无。 ***************************************************************************************/ #include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器 #include "init1.h" /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void main() { Int1Init(); // 设置外部中断1 while(1); }
1 #include "reg52.h" 2 #include "init1.h" 3 /******************************************************************************* 4 * 函 数 名 : Int1Init() 5 * 函数功能 : 设置外部中断1 6 * 输 入 : 无 7 * 输 出 : 无 8 *******************************************************************************/ 9 void Int1Init() 10 { 11 //设置INT1 12 IT1=1;//跳变沿出发方式(下降沿) 13 EX1=1;//打开INT1的中断允许。 14 EA=1;//打开总中断 15 } 16 17 /******************************************************************************* 18 * 函 数 名 : delay 19 * 函数功能 : 延时函数,i=1时,大约延时10us 20 *******************************************************************************/ 21 void delay(u16 i) 22 { 23 while(i--); 24 } 25 26 /******************************************************************************* 27 * 函 数 名 : Int1() interrupt 2 28 * 函数功能 : 外部中断0的中断函数 29 * 输 入 : 无 30 * 输 出 : 无 31 *******************************************************************************/ 32 33 void Int1() interrupt 2 //外部中断1的中断函数 34 { 35 delay(1000); //延时消抖 36 if(k4==0) 37 { 38 led=~led; 39 } 40 }
1 #ifndef __INIT1_H__ 2 #define __INIT1_H__ 3 #include "reg52.h" 4 5 typedef unsigned int u16; //对数据类型进行声明定义 6 typedef unsigned char u8; 7 8 sbit k4 = P3^3; //定义按键K4 9 sbit led = P2^0; //定义P20口是led 10 11 void Int1Init(); 12 void delay(u16 i); 13 14 #endif
1.外部Init1程序
标签:现象 取反 注意事项 程序 class oid clu sbit 实验
原文地址:https://www.cnblogs.com/clam-hao/p/10075751.html