📄 l4-2.c
字号:
/**********************************************************************
程序名称:L4-2.c
程序功能:通过外部中断0,用K1~K4分别单独控制D1~D4的发光、熄灭
调用函数:Xint0( void )
程序作者:张三
创建时间:2008-3-28
**********************************************************************/
# include <reg51. h>
sbit K1 = P1^0; // 定义4个按键K1~K4,用于外部中断扩展
sbit K2 = P1^1;
sbit K3 = P1^2;
sbit K4 = P1^3;
sbit D1 = P1^4; // 定义4个发光二极管D1~D4
sbit D2 = P1^5;
sbit D3 = P1^6;
sbit D4 = P1^7;
void Xint0( void ); // 外部中断0中断函数声明
/**********************************************************************
函数名称:void main( )
功能描述:主函数,初始化CPU
函数作者:张三
创建时间:2008-3-28
**********************************************************************/
void main( void )
{
P1 = 0x00; // 发光二极管熄灭,准备扫描按键
EA = 1; // 打开总中断
EX0 = 1; // 允许外部中断0中断
IT0 = 1; // INT0为电平触发方式
for( ; ; ){ ; }
}
/**********************************************************************
函数名称:void Xint0( void ) Interrupt 0 using 3
功能描述:用外部中断0控制发光二极管的发光与熄灭
函数作者:张三
创建时间:2008-3-28
**********************************************************************/
void Xint0( void ) interrupt 0 using 3
{
P1 = P1&0xff;
if( K1==1 ) D1 = !D1; // 按一次K1,D1发光;再按一次K1,D1熄灭
if( K2==1 ) D2 = !D2; // 按一次K2,D2发光;再按一次K2,D2熄灭
if( K3==1 ) D3 = !D3; // 按一次K3,D3发光;再按一次K3,D3熄灭
if( K4==1 ) D4 = !D4; // 按一次K4,D4发光;再按一次K4,D4熄灭
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -