找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3746|回复: 3
收起左侧

亲测有效 触摸屏开关控制LED灯 以及图片切换 STM32程序

[复制链接]
ID:561141 发表于 2019-6-12 18:56 | 显示全部楼层 |阅读模式
对入门的小伙伴很有帮助噢  ~
EZYI`K4OLJWPK8QTOFSA0AB.png H~)CEJID`@`)GZOZ2WSQD.png T9]9O8FEK~0LA_JYTS.png

单片机源程序如下:
  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)
回复

使用道具 举报

ID:561141 发表于 2019-6-12 18:57 | 显示全部楼层
希望快审核啊  我需要积分
回复

使用道具 举报

ID:822447 发表于 2020-11-13 16:43 | 显示全部楼层
谢谢楼主的给力例程!!!
回复

使用道具 举报

ID:921528 发表于 2021-5-15 02:21 来自手机 | 显示全部楼层
楼主优秀,受教了!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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