📄 main.c
字号:
/***********************************************************
实验名称:独立按键
程序说明:本程序测试了独立按键
实验平台:stc15单片机开发板v1.0版
日期:2012-05-27
QQ: 259902530
www.stcstudy.com 61mcu.taobao.com 版权所有
***********************************************************/
/*----------------------------------------
使用说明
将拨码开关8拨到GND,SL13到SL16为4个独立按键
按下SL13-SL16时,对应的LEDE1-LEDE4灯亮。
------------------------------------------*/
#include "STC15F2K.H"
#include <intrins.H>
typedef unsigned char uchar;
typedef unsigned int uint;
sbit SL13=P3^3;
sbit SL14=P3^2;
sbit SL15=P3^1;
sbit SL16=P3^0; //定义了SL13-SL16按键对应的IO口。
sbit LEDE1 = P0^0;
sbit LEDE2 = P0^1;
sbit LEDE3 = P0^2;
sbit LEDE4 = P0^3; //定义了LEDE1-LEDE4 灯对应的IO口。
void Delay(uint x);
void main(void)
{
P2=0x01;
while(1)
{
if(!SL13)
{
Delay(10); //去抖动;
if(!SL13)
{
LEDE1 = 0 ; //点亮LED灯。
}
while(!SL13); //等待松开。
Delay(10); //再次去抖动。
while(!SL13);
LEDE1= 1 ; //熄灭LED灯。
}
if(!SL14)
{
Delay(10); //去抖动;
if(!SL14)
{
LEDE2 = 0 ; //点亮LED灯。
}
while(!SL14); //等待松开。
Delay(10); //再次去抖动。
while(!SL14);
LEDE2= 1 ; //熄灭LED灯。
}
if(!SL15)
{
Delay(10); //去抖动;
if(!SL15)
{
LEDE3 = 0 ; //点亮LED灯。
}
while(!SL15); //等待松开。
Delay(10); //再次去抖动。
while(!SL15);
LEDE3= 1 ; //熄灭LED灯。
}
if(!SL16)
{
Delay(10); //去抖动;
if(!SL16)
{
LEDE4 = 0 ; //点亮LED灯。
}
while(!SL16); //等待松开。
Delay(10); //再次去抖动。
while(!SL16);
LEDE4= 1 ; //熄灭LED灯。
}
}
}
void Delay(uint x) //@11.0592MHz x ms
{
unsigned char i, j;
while(x--)
{
_nop_();
_nop_();
_nop_();
i = 11;
j = 190;
do
{
while (--j);
}
while (--i);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -