标题: 亲测有效 触摸屏开关控制LED灯 以及图片切换 STM32程序 [打印本页]

作者: 方便你定    时间: 2019-6-12 18:56
标题: 亲测有效 触摸屏开关控制LED灯 以及图片切换 STM32程序
对入门的小伙伴很有帮助噢  ~


单片机源程序如下:
  1. #include "stm32f10x.h"
  2. #include "public.h"
  3. #include "bsp_ili9341_lcd.h"
  4. #include "bsp_sdfs_app.h"
  5. #include "bsp_bmp.h"
  6. #include "bsp_SysTick.h"
  7. #include "bsp_touch.h"
  8. #include "bsp_spi_flash.h"
  9. #include "led.h"
  10. #include "even_process.h"

  11. /*
  12. 三个坐标系统的转换:
  13. 触摸屏:
  14.                                 column 240                         
  15.                          x
  16.         _ _ _ _ _ _
  17.        ^           |
  18.                          |           |
  19.                          |           |
  20.                          |           |
  21.                          |           |
  22.                          |           |  320        
  23.                          |           |
  24.                          |           |
  25.                          |           |
  26.                          |           |
  27.                          |           |
  28.                          |           |
  29.         (0,0) - - - - - ->  y      
  30.                                
  31. 液晶显示字体及清屏等函数:                               
  32.                                 column 240                         
  33.                                                                                 x
  34.   (0,0) ----------->
  35.                          |           |
  36.                          |           |
  37.                          |           |
  38.                          |           |
  39.                          |           |
  40.                          |           |  320        
  41.                          |           |
  42.                          |           |
  43.                          |           |
  44.                          |           |
  45.                          |           |
  46.                          |           |
  47.                          V- - - - - -

  48.        y                         
  49. 液晶显示图像:                               
  50.                                 column 240                 
  51.                                                                          X       
  52.                                 -----------A
  53.                          |           |
  54.                          |           |
  55.                          |           |
  56.                          |           |
  57.                          |           |
  58.                          |           |  320        
  59.                          |           |
  60.                          |           |
  61.                          |           |
  62.                          |           |
  63.                          |           |
  64.                          |           |
  65.                  Y <- - - - - -(0,0)      
  66. 转换关系:
  67. Y字 = 320 - X触摸
  68. X字 = Y触摸

  69. X图像 = X触摸
  70. Y图像 = 240-Y触摸

  71. Y图像 = 240 - X字
  72. X图像 = 320 - Y字
  73. */

  74. int main(void)
  75. {
  76.                 LCD_Init();       
  77.                 LCD_Clear(0, 0, 240, 320, BLACK);//背景黑色       
  78.                 Sd_fs_init();//初始化sd卡文件系统,汉字的字库
  79.                 SysTick_Init();/* 系统定时器 1us 定时初始化 */                               
  80.                 LED_GPIO();/* 初始化LED */
  81.                 LED(4,0);//全部关灯
  82.        
  83.                 SPI_FLASH_Init();/* 初始化外部FLASH */
  84.                 Touch_Init();/* 触摸屏IO和中断初始化 */                       
  85.                 SPI_FLASH_BufferRead(&cal_flag, 0, 1);
  86.                 if( cal_flag == 0x55 )
  87.                 {
  88.                         SPI_FLASH_BufferRead((void*)cal_p, 1, sizeof(cal_p));
  89.                         SPI_FLASH_CS_HIGH();
  90.                 }
  91.                 //右下角是0,0。竖立是x,横向是y
  92.                 Lcd_show_bmp(60, 0,"/button/bg1.bmp");//背景的图片是260*240,因此320-260=60
  93.                 Lcd_show_bmp(0, 177,"/button/4.bmp");//左边红
  94.                 Lcd_show_bmp(0, 116,"/button/1a.bmp");//左边红
  95.                 Lcd_show_bmp(0, 58,"/button/2a.bmp");//中间绿
  96.                 Lcd_show_bmp(0, 0,"/button/3a.bmp");//右边黄
  97.                 while(1)even_process();
  98. }


  99. /******************* end of file**************************/
复制代码

所有资料51hei提供下载:
图片按钮控制LED开关.7z (516.69 KB, 下载次数: 61)


作者: 方便你定    时间: 2019-6-12 18:57
希望快审核啊  我需要积分
作者: 刘全鑫    时间: 2020-11-13 16:43
谢谢楼主的给力例程!!!
作者: 爱睡觉的白龙马    时间: 2021-5-15 02:21
楼主优秀,受教了!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1