02_蓝桥杯_独立按键

02_蓝桥杯_独立按键_第1张图片

  • 使用独立按键的时候需要用跳线帽连接J5的23引脚,让S7,S6S,S5,S4一端连接GND,
  • 且连接s7,s6,s5,s4按键对应的引脚分别是p30,p31…,要使用按键 必须先让四个引脚拉高(单片机默认高电平),然后按下按键后,对应的引脚连接GND,被拉低。

然后我们实现用四个按键分别点亮led四种流水灯的流转模式

#include "stc15f2k60s2.h"
#include 
#define uchar unsigned char 
#define uint unsigned int 
uchar moshi =0;
uint led_n=0;
void buzz_init()
{
	P2=((P2&0X1F)|0XA0);  //初始化 暂时不讲
	P0=0X00;
	P2&=0X1F;
	
	P2=((P2&0X1F)|0X80);
	P0=0Xff;	
	P2&=0X1F;
	
	P2=((P2&0X1F)|0XC0);
	P0=0Xff;
	P2&=0X1F;
	
	P2=((P2&0X1F)|0XE0); //Y7位选
	P0=0Xff;
	P2&=0X1F;	
}
void Delaynms(int ms)	//@11.0592MHz
{
	unsigned char i, j;
	for(i = 2;i>0;i--)
		for(j = 199;j>0;j--)
			for(;ms>0;ms--);
}
void Itnt_led( )  //led流转模式
{
	switch (moshi)
		{

		case 1 :
						P2=((P2&0X1F)|0X80);  //开led锁存器
						P0=~(0x01<>led_n);
				P2&=0X1F;
				led_n++;
				if(led_n==8){led_n=0;}
				Delaynms(1000);
			break;
		case 3:
				P2=((P2&0X1F)|0X80);
				P0=~((0x80>>led_n)|(0x01<>led_n)|(0x10<
  • 在蓝桥杯历届考题中 按键属于必考部分,而且考官已经不满足简单的考按键了,已经开始让考生实现长按短按 连击之类的功能,这些功能后面在讲,程序部分大家可以多多练习。
  • 测验,四个按键分别点亮四个led

你可能感兴趣的:(蓝桥杯电子类)