#include 'led.h' #include 'delay.h' #include 'sys.h' #include 'usart.h' #include <stdio.h> #include 'timer.h' #include 'key.h' #include 'myled.h' #include 'lcd1602.h'

char dis0[17]; //暂存数组

unsigned char disFlag=0;//更新显示标志

static unsigned char rekey =0; unsigned char playMode =0; //设置标志

int main(void) { delay_init(); //延时函数初始化
uart_init(9600); //串口初始化为115200 // uart2_init(9600) ; TIM3_Int_Init(499,7199);//5ms 初始化定时器 MyLED_Init(); //初始化输出 KEY_Init(); //初始化输入

Lcd_GPIO_init();  //初始化lcd引脚
Lcd_Init();		  //初始化lcd屏幕
delay_ms(20);

Lcd_Puts(0,0,(u8 *)'Loop Playback '); //初始化显示 //Key trigger Lcd_Puts(0,1,(u8 *)'Sound recording '); //初始化显示

playMode  =0;//初始化方式

while(1)
{		
	if(disFlag == 1)
	{
		disFlag = 0;//清空标志

		if(key3==0){//录音
			yy_rec = 1; //录音中
			Lcd_Puts(0,1,(u8 *)'Sound recording ');	//显示
		}	
		else{
			yy_rec = 0; //停止录音
			Lcd_Puts(0,1,(u8 *)'                ');	
		}
		
		if(playMode == 0){//手动播报
			Lcd_Puts(0,0,(u8 *)'Key trigger     ');
		}
		else{//循环播报
			yy_play = !yy_play; //播报
			Lcd_Puts(0,0,(u8 *)'Loop Playback   ');	//初始化显示 //
		}
		
	}
	
	if((key1==0)||(key2==0)) 		 //检测到按键按下
	{
		delay_ms(10);   //小抖动
		if(rekey==0)
		{
			if(key1==0)    //检测是否按下
			{
				rekey=1;	
				if(playMode ) {  //播放方式
					playMode = 0;										
				}
				else{
						playMode = 1;										
				}
			}	
			else if(key2==0)//设置值键
			{
				rekey=1;
				yy_play  =1;  //上电动作下
				delay_ms(200);
				yy_play  =0;//关闭运行
			}
		}
	}
	else
	{
		rekey=0;    //防止重复检测到按键
	}	
}

原文地址: https://www.cveoy.top/t/topic/jxH8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录