|
按鍵切換LCD背景色,采用嵌入式設(shè)計(jì)
單片機(jī)源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "lcd.h"
- #include "stm32f10x_gpio.h"
- #define key1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_15)
- #include "stm32f10x_rcc.h"
- void key_init(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
- GPIO_Init(GPIOA,&GPIO_InitStructure);
- GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;
- GPIO_InitStructure.GPIO_Pin=GPIO_Pin_15;
- GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;
-
- }
- int main(void)
- { void key_init(void);
- u8 x=0;
- LCD_Display_Dir(0);
- //u8 lcd_id[12]; //存放LCD ID字符串
- delay_init(); //延時(shí)函數(shù)初始化
- uart_init(9600); //串口初始化為9600
- LED_Init(); //初始化與LED連接的硬件接口
- LCD_Init();
- POINT_COLOR=BLUE;
- //sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id);//將LCD ID打印到lcd_id數(shù)組。
- while(1)
- {
- while(!key1)
- {
-
- switch(x)
- {
- case 0:{LCD_Fill(0,0,240,107,RED);
- LCD_Fill(0,107,240,214,WHITE);
- LCD_Fill(0,214,240,320,BLUE);}break;
- case 1:{LCD_Fill(0,0,240,107,WHITE);
- LCD_Fill(0,107,240,214,BLUE);
- LCD_Fill(0,214,240,320,RED);}break;
- case 2:{LCD_Fill(0,0,240,107,BLUE);
- LCD_Fill(0,107,240,214,RED);
- LCD_Fill(0,214,240,320,WHITE);}break;
- }
-
- LCD_ShowString(85,40,200,24,24,"HE XI");
- LCD_ShowString(70,150,300,300,24,"LUO HENG");
- LCD_ShowString(55,255,200,200,24,"SHAO PEIJUN");
- //LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
- //LCD_ShowString(30,110,200,16,16,lcd_id); //顯示LCD ID
- //LCD_ShowString(30,130,200,12,12,"2014/3/7");
- // if(key1==0)
- //{delay_ms(20);
- x++;//}
- delay_ms(300);
- if(x==3)x=0;
- LED0=!LED0;
- LED1=!LED1;
- delay_ms(150);
- LED0=!LED0;
- LED1=!LED1;
- //delay_ms(1);
- }
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
按鍵切換LCD背景色.7z
(222.31 KB, 下載次數(shù): 12)
2020-4-22 02:39 上傳
點(diǎn)擊文件名下載附件
|
|