蓝桥杯—独立按键

1、实验目的与要求

        (1)掌握独立按键原理图;

        (2)熟练使用独立按键控制流水灯;

2、原理图

 3、具体实例

 3.1 独立按键控制流水灯

#include<stc15f2k60s2.h>
void main(){
P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;
while(1){
if(P30==0) P00=0;
if(P31==0) P01=0;
if(P32==0) P02=0;
if(P33==0) P03=0;
}
}

3.2 独立按键实现流水灯

法一:

#include<stc15f2k60s2.h>
unsigned char num=0;
void delay();
void main(){
P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;
while(1){
if(P30==0){
P0=~(0X01<<num); //左移,依次从L1到L8点亮,一直循环下去;
delay();   //调用延时函数可以消除按键的抖动;当不用延时函数时,应用于硬件时得不到理想效果;
num=num+1;
if(num==8)
num=0;
}
}
}
void delay(){
int i,j;
for(i=0;i<800;i++)
for(j=0;j<800;j++);
}

法二:

#include<stc15f2k60s2.h>
unsigned char num=0;
void delay();
void main(){
P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;
while(1){

if(P30==0){
delay();
if(P30==0){
P0=~(0X01<<num);
num++;
if(num==8) num=0;
}
while(!P30);
}
}
}
void delay(){
int i,j;
for(i=0;i<5;i++)
for(j=0;j<800;j++);
}

3.3 每个按键分别控制不同的功能

        例如:要求按键P30控制8个流水灯自左向右依次点亮,P31控制流水灯全亮,P32控制L1亮;(代码省略)

4、结论与体会

        独立按键结合了流水灯,用按键控制灯的亮灭,就相当于加上一个开关,也比较简单,建议多练习一下,为后面的打下比较好的基础。

发布了15 篇原创文章 · 获赞 11 · 访问量 3163

猜你喜欢

转载自blog.csdn.net/fanjufei123456/article/details/104099686