⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 anjian.c

📁 51单片机项目集
💻 C
字号:
#include<reg51.h> 
#define uchar unsigned char
uchar code  seven_seg[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
sbit key1 = P3^4;
sbit key2 = P3^5;
uchar key1_state,key2_state;       //按键按下的状态变量
void delay(uchar i)
{
	while(i) i--; 
}
void key_scan(void)              //键盘扫描函数
{	
	if(key1 == 0)                //如果按键按下
	{	
		delay(200);              //延时一段时间,消除键抖
		while(key1 == 0);
	   key1_state = 1;           //再对按键检测,如果确实按下,按键状态变量为1
	}
	if(key2 == 0)
	{	
		delay(200);
		while(key2 == 0)
 		key2_state = 1;
	}
}
void main(void)
{	
	char i;
	while(1)
	{
		key_scan();                        //调用键盘扫描函数
		if(key1_state == 1)                //判断键盘状态变量,如果为1,说明有按键按下
		{
			i++;                            //显示数据增加
			key1_state = 0;                 //数据增加后,键盘状态变量清零
			if(i>9) i = 0;                  //数据增加超过9后,回到0
		}
		if(key2_state == 1)
		{	
			i--;
			key2_state = 0; 
			if(i < 0) i = 9;
		}
		P0 = seven_seg[i];                  //显示键盘调整数据
		P2 = 0xfe;									//数码管SEG0显示
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -