单片机LCD+键盘+LED闪烁

初始化,将.c文件导入 

 

 

 导入.h文件

 

 

 

 

#include "sys.h"
#include "usart.h" 
#include "delay.h" 
#include "led.h"
#include "beep.h"
#include "key.h"
#include "lcd.h"

int main(void)
{ 
    u8 x=0;
    u8 lcd_id[12]; //存放 LCD ID 字符串
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组 2
    delay_init(168); //初始化延时函数
    uart_init(115200); //初始化串口波特率为 115200
    LED_Init(); //初始化 LED
    LCD_Init(); //初始化 LCD FSMC 接口
    POINT_COLOR=RED; 
    sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id);//将 LCD ID 打印到 lcd_id 数组。
    int i;
    u8 key;
    delay_init(168); //初始化延时函数
	LED_Init(); //初始化 LED 时钟 
	BEEP_Init(); //初始化蜂鸣器端口
	KEY_Init(); 
	LED0=0;//red light on
	while(1)
{
		key=KEY_Scan(0); //得到键值
		if(key)
		{ 
		switch(key)
			{
			case WKUP_PRES://控制蜂鸣器
			BEEP=!BEEP;
			break;
			case KEY2_PRES: //控制 LED0 翻转
			while(1)
				{
					for(i=1000;i>=0;i=i-100)
					{
						BEEP=0;
						delay_ms(i);
						LED0=!LED0; //DS0 灭
						LED1=!LED1; //DS1 亮
					}		

					for(i=0;i<=1000;i=i+100)
					{
						BEEP=1;
						delay_ms(i);
						LED0=!LED0; //DS0 亮
						LED1=!LED1; //DS1 灭
					}
				}
			break;
			case KEY1_PRES: //控制 LED1 翻转
			LED0=1;//red off
			LED1=0;//green on
			BEEP=0;//beep off
			LCD_Clear(BLUE);
			POINT_COLOR=RED;	  
			LCD_ShowString(30,40,210,24,24,"XXXXX");	
			LCD_ShowString(30,70,200,16,16,"Shandong university");
			LCD_ShowString(30,90,200,16,16,"XXXXXXX");    					 
			LCD_ShowString(30,120,200,12,12,"2022/10/10");	      				
			break;
			case KEY0_PRES: //同时控制 LED0,LED1 翻转
			LED0=0;//red on
			LED1=1;//green off
			BEEP=1;//beep on
			LCD_Clear(RED);
			POINT_COLOR=RED;	  
			LCD_ShowString(30,40,210,24,24,"XXXXX");	
			LCD_ShowString(30,70,200,16,16,"Shandong university");
			LCD_ShowString(30,90,200,16,16,"XXXXXXX");    					 
			LCD_ShowString(30,120,200,12,12,"2022/10/10");	 				
			break;
			}
		}else delay_ms(10); 
} 




}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值