找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3179|回复: 0
打印 上一主题 下一主题
收起左侧

STM32按键切换LCD背景色 源程序

[复制链接]
跳转到指定楼层
楼主
按键切换LCD背景色,采用嵌入式设计

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "lcd.h"
  6. #include "stm32f10x_gpio.h"
  7. #define key1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_15)
  8. #include "stm32f10x_rcc.h"

  9. void key_init(void)
  10. {
  11.         GPIO_InitTypeDef GPIO_InitStructure;
  12.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
  13.         GPIO_Init(GPIOA,&GPIO_InitStructure);
  14.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;
  15.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_15;
  16.         GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;
  17.        
  18. }
  19. int main(void)
  20. { void key_init(void);
  21.          u8 x=0;
  22.         LCD_Display_Dir(0);
  23.         //u8 lcd_id[12];                        //存放LCD ID字符串       
  24.         delay_init();                     //延时函数初始化          
  25.         uart_init(9600);                 //串口初始化为9600
  26.         LED_Init();                                  //初始化与LED连接的硬件接口
  27.         LCD_Init();
  28.         POINT_COLOR=BLUE;
  29.         //sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id);//将LCD ID打印到lcd_id数组。                                        
  30.   while(1)
  31.         {
  32.          while(!key1)
  33.         {       
  34.                
  35.                 switch(x)
  36.                         {
  37.                                 case 0:{LCD_Fill(0,0,240,107,RED);
  38.                          LCD_Fill(0,107,240,214,WHITE);
  39.                          LCD_Fill(0,214,240,320,BLUE);}break;
  40.                         case 1:{LCD_Fill(0,0,240,107,WHITE);
  41.                          LCD_Fill(0,107,240,214,BLUE);
  42.                          LCD_Fill(0,214,240,320,RED);}break;
  43.                         case 2:{LCD_Fill(0,0,240,107,BLUE);
  44.                          LCD_Fill(0,107,240,214,RED);
  45.                          LCD_Fill(0,214,240,320,WHITE);}break;                       
  46.                 }
  47.                           
  48.                  LCD_ShowString(85,40,200,24,24,"HE XI");       
  49.                 LCD_ShowString(70,150,300,300,24,"LUO HENG");
  50.                 LCD_ShowString(55,255,200,200,24,"SHAO PEIJUN");
  51.                 //LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
  52.                 //LCD_ShowString(30,110,200,16,16,lcd_id);                //显示LCD ID                                                       
  53.                 //LCD_ShowString(30,130,200,12,12,"2014/3/7");                                                       
  54.           // if(key1==0)
  55.                  //{delay_ms(20);
  56.                   x++;//}
  57.                 delay_ms(300);
  58.                 if(x==3)x=0;
  59.                 LED0=!LED0;
  60.                 LED1=!LED1;
  61.     delay_ms(150);
  62.     LED0=!LED0;
  63.                 LED1=!LED1;               
  64.                 //delay_ms(1);       
  65.         }
  66. }
  67.         }
复制代码

所有资料51hei提供下载:
按键切换LCD背景色.7z (222.31 KB, 下载次数: 12)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表