由于很多原因,我们需要再设备使用一段时间后,不在授权设备的使用,所以需要触摸屏和控制器再一定的时间后,停止使用,本文使用STM32与触摸屏配合实现此功能
1.硬件需求:
1)迪文触摸屏型号:DMG80480L070/ DMT80480C070,T5L屏使用DGUS 2模式;
2)单片机型号:STM32F103RCT6;
3)硬件连接方式:RS232;因为使用RS232连接方式,使用T5L屏时请将TTL/RS232短接端子处于OFF模式;
4)通讯协议:迪文DGUS/DGUS2触摸屏通讯协议;
5)STM32硬件原理图参考文件夹中“原理图.PDF”;
由于屏幕的控制指令有差异,为实现程序兼容两种屏幕型号,使用KEY0/KEY1外部端子来控制触摸屏型号,当KEY0/KEY1都街上短接冒时,屏幕支持K600+模式,其他为T5L模式;
2.迪文屏幕配置:
由于T5L再控件配置上基本兼容K600+,所以这里只讲述T5L的配置,T5L与K600+再本工程中使用的地址完全一致,K600+的屏幕配置请参考T5L,
时间锁页面密码地址:
显示地址 写入地址
时间锁页面密码: 1200 无
时间配置使能: 1300 1310
第 一 期 时间: 1301 1311
第 一 期 密码: 1302 1312
第 二 期 时间: 1303 1313
第 二 期 密码: 1304 1314 第 三 期 时间: 1305 1316
第 三 期 密码: 1306 1316
3.STM32软件配置:由于本工程为项目更改而来,有许多删减,再使用过程中可能会又不可避免的BUG,如发现请指出,时间锁功能经过项目验证,定时时间后锁定屏幕,可以参考使用! 1) STM32软件使用STM32CubeMX成成的MDK5工程,具体配置请参考“STM32与DWIN屏_DMT80480C070-DMG80480L070设备 时间锁”中“DWIN_DMG80480L070_S3_DF_WIFI”,此文件需要电脑安装“STM32CubeMX”版本4.16以上; 2)STM32使用到的硬件包括: (1)串口3,与触摸屏通讯; (2)flash读写操作,用于存储时间和密码等数据,写入次数10W次 (3)定时器2,配置为5ms; (4)PB12配置为输出,运行指示灯,500ms间隔闪烁; 3)原理:通过T2定时器计时,每2小时计数器增加1并写入到FLASH,每个flash地址写入1000次,超过1000,则写入相邻的下个地址,当计时时间大于用户触摸屏设定的时间,弹出锁定界面并给出相关提示, 本工程一共给出三期时间设定,第3期权限最高,以此排序; 用户通过触摸屏写入的数据保存在STM32的FLASH中,掉电后不会丢失; 4.详细信息请参考附件文件; 5.操作方法: 1)连接好单片机与触摸屏; 2)上电后如下图所示: 首页:按键地址0x1000,键值0X0019,如下图:轻触进入密码输入页: 3) 轻触屏幕弹出输入密码界面:密码输入页:密码输入框地址:0x1200;
4)输入密码10237120,进入时间设定界面: 输入每一期使用的时间和密码,并将“时间配置使能”设定为1后,时间锁开始生效; 软件的详细注释清参考MDK工程;
后续会更新K600+和T5系类屏OS的时间锁程序
工程下载地址后续上传;
|