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 · 访问量 3169 私信 关注