单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3971|回复: 4
收起左侧

51单片机驱动触摸屏综合实验源程序

[复制链接]
黑51110 发表于 2018-6-27 10:40 | 显示全部楼层 |阅读模式

第1步:根据开发板单片机型号选择“实验28:开发板资源数据下载 -> 1、开发板资源数据下载”程序下载到STC8A开发板中运行,下载程序时ISP软件设置:用户程序运行时的IRC频率22.1184MHZ


第2步:光盘资料 ->上位机数据下载源程序->运行串口文件下载V1.0 -> 下载
(“开发板资源数据:开发板触摸屏综合实验资源数据.bin(地址:实验30-准备工作)”)资源数据到开发板,起始扇区设置为0,波特率设置57600;


第3步:根据开发板单片机型号选择“实验28:开发板资源数据下载 -> 2、触摸屏资源数据下载”程序下载到STC8A开发板中运行,下载程序时ISP软件设置:用户程序运行时的IRC频率22.1184MHZ


第4不:光盘资料 ->上位机数据下载源程序->运行串口文件下载V1.0 -> 下载
(资源B或者资源C视频数据,只能二选一)
到触摸屏存储器中,起始扇区设置为0,波特率设置57600;


第5步:以上步骤都完成后,打开“实验30:2.8寸触摸屏综合实验程序中的obj文件夹内的程序”;(第一次运行开发板默认已经包含以上数据,当运行部分独立实验时可能清除了触摸屏综合实验数据时才需要从新下载)

单片机源程序如下:
  1. /*************************************************************************************************************************************************************
  2. * 作者      :施威
  3. **************************************************************************************************************************************************************/
  4. #include "sys.h"
  5. #include "sw_home.h"

  6. /******************************************************************
  7. - 实验平台:SW1A_51&ARM开发板
  8. - 函数名称:main()
  9. - 功能说明:根据用户触摸输入调用相应功能模块
  10. - 参数说明:无

  11. - 返回说明:无
  12. - 备注说明:使用51单片机,外部晶体频率:22.1184MHZ-1T模式
  13. ******************************************************************/
  14. void main()
  15. {
  16.         spi_init(); //SPI接口初始化
  17.         tft_init(); //调用触摸屏初始化函数
  18.         if(touch_openpar()!=0x5A)touch_adjust(); //判断是否校验过触摸屏,如果是第一次进入系统则调用屏幕校准程序
  19.         
  20.         SW1A_Init();  //进入系统初始化
  21.   while(1)
  22.         {
  23.                 switch(sw.ps) //当前触摸菜单深度
  24.                 {
  25.       case 0:   //当前在主页
  26.                                 swHOME_TouchScan(); //创建主桌面
  27.                           break;
  28.                         
  29.                         
  30.                         case 1:         //当前在功能页
  31.                           switch(sw.psi[0])   //根据在主页用户触摸图标的索引进入下一层相应的功能页
  32.                           {
  33.           case 0:                 //当前用户触摸了LED图标
  34.                                                 swLED_TouchScan();    //调用LED功能模块
  35.                                           break;
  36.                                        
  37.                                         case 1:                 //当前用户触摸了红外图标
  38.                                                 swIR_TouchScan();     //调用红外功能模块
  39.                                           break;
  40.                                        
  41.                                         case 2:                 //当前用户触摸了电源图标
  42.                                                 swPW_TouchScan();     //调用电源功能模块
  43.                                           break;
  44.                                        
  45.                                         case 3:                 //当前用户触摸了频率计图标
  46.                                                 swFRQ_TouchScan();    //调用频率计功能模块
  47.                                           break;
  48.                                        
  49.                                         case 4:                 //当前用户触摸了温度计图标
  50.                                                 swDS18B20_TouchScan();//调用温度功能模块
  51.                                           break;
  52.                                        
  53.                                         case 5:                 //当前用户出没了时钟图标
  54.                                                 swRTC_TouchScan();    //调用时钟功能模块
  55.                                           break;
  56.                                        
  57.                                         case 6:                 //当前用户触摸了密码锁图标
  58.                                                 swMMS_TouchScan(0);   //调用密码锁功能模块
  59.                                           break;
  60.                                        
  61.                                         case 7:                 //当前用户触摸了电子书图标
  62.                                                 swTXT_TouchScan();    //调用密码锁功能模块
  63.                                           break;
  64.                                        
  65.                                         case 8:                 //当前用户触摸了电子琴图标
  66.                                                 swPIANO_TouchScan();  //调用电子琴功能模块
  67.                                           break;
  68.                                        
  69.                                         case 9:                 //当前用户触摸了画板图标
  70.                                                 swDRAW_TouchScan();   //调用画板功能模块
  71.                                           break;
  72.                                        
  73.                                         case 10:                //当前用户触摸了触摸屏校准图标
  74.                                                 touch_adjust();       //调用屏幕校准功能模块
  75.                                           break;
  76.                                        
  77.                                         case 11:                //当前用户触摸了上位机实验图标
  78.                                                 swPC_TouchScan();     //调用上位机实验功能模块
  79.                                           break;
  80.                                        
  81.                                         case 12:                //当前用户触摸了音乐播放器图标
  82.                                                 swMUSIC_TouchScan();  //调用音乐播放器功能模块
  83.                                           break;
  84.                                        
  85.                                         case 13:                //当前用户触摸了相册图标
  86.                                                 swPIC_TouchScan();    //调用相册功能模块
  87.                                           break;
  88.                                        
  89.                                         case 14:                //当前用户触摸了视频播放器图标
  90.                                                 swVIDEO_TouchScan();  //调用视频播放器功能模块
  91.                                           break;
  92.                                        
  93.                                         case 15:                //当前用户触摸了录音功耐急贶
  94.                                                 swREC_TouchScan();    //调用录音功能模块
  95.                                           break;
  96.                                        
  97.                                         case 16:                //当前用户触摸了游戏图标
  98.                                                 swSNAKE_TouchScan();  //调用游戏功能模块
  99.                                           break;
  100.                                        
  101.                                         case 17:                //当前用户触摸了帮助图标
  102.                                                 swHELP_TouchScan();   //调用帮助功能模块
  103.                                           break;
  104.         }
  105.                                 break;
  106.     }
  107.   }
  108. }
复制代码

所有资料51hei提供下载:

实验30:2.8寸触摸屏综合实验.rar (5.54 MB, 下载次数: 68)
回复

使用道具 举报

wuxishun 发表于 2018-6-28 10:02 来自手机 | 显示全部楼层
资料不错,能上个图片吗
回复

使用道具 举报

hj3ger 发表于 2019-4-1 21:02 | 显示全部楼层
谢谢分享啊
回复

使用道具 举报

想带你骑单车 发表于 2019-4-10 11:21 | 显示全部楼层
51驱动cchu触摸屏会不会有压力
回复

使用道具 举报

717512QQ 发表于 2020-8-1 15:52 | 显示全部楼层
请问这是谁的视频教程里的内容
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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