单片机解密STM32-2.8寸TFTLCD屏虚拟键盘触摸密码锁程序
- 单片机解密#include "sys.h"
- 单片机解密#include "delay.h"
- 单片机解密#include "usart.h"
- 单片机解密#include "lcd.h"
- #include "key.h"
- #include "touch.h"
- #include "malloc.h"
- #include "usmart.h"
- #include "sdio_sdcard.h"
- #include "w25qxx.h"
- #include "ff.h"
- #include "exfuns.h"
- #include "fontupd.h"
- #include "text.h"
- #include "led.h"
- #include "bjdj.h"
- #include "timer.h"
- #include "usart3.h"
- #include "gizwits_product.h"
- dataPoint_t currentDataPoint;
- u8 wifi_sta=0;
- //协议初始化
- void Gizwits_Init(void)
- {
- TIM3_Int_Init(9,7199);//1MS系统定时
- usart3_init(9600);//WIFI初始化
- memset((uint8_t*)¤tDataPoint, 0, sizeof(dataPoint_t));//设备状态结构体初始化
- gizwitsInit();//缓冲区初始化
- }
- u8** kbd_tbl;
- const u8* kbd_delFR[15]={"密码",":","清空","1","2","3","4","5","6","7","8","9","DEL","0","Enter",};//按键表
- u16 flag=0;
- u8 passnum[3]={4,5,6};
- void Del_FR(void); //前进
- void AS608_load_keyboard(u16 x,u16 y,u8 **kbtbl);//加载虚拟键盘
- u8 AS608_get_keynum(u16 x,u16 y);//获取键盘数
- u16 GET_NUM(void);//获取数值
- int main(void)
- {
- u8 key_num;
- int key;
- u16 num,pass_num=258;
- u8 wifi_con=0;//记录wifi连接状态 1:连接 0:断开
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
- delay_init(); //初始化延时函数
- uart_init(115200); //初始化串口1波特率为115200,用于支持USMART
- KEY_Init(); //按键初始化
- LCD_Init(); //LCD初始化
- BEEP_Init();
- LED_Init(); //LED端口初始化
- Gizwits_Init(); //协议初始化
- Moto_Init();
- W25QXX_Init(); //初始化W25Q128
- tp_dev.init(); //初始化触摸屏
- usmart_dev.init(72); //初始化USMART
- my_mem_init(SRAMIN); //初始化内部内存池
- exfuns_init(); //为fatfs相关变量申请内存
- f_mount(fs[1],"1:",1); //挂载FLASH.
- POINT_COLOR=RED;
- while(font_init()) //检查字库
- {
- LCD_ShowString(60,50,240,16,16,"Font Error!");
- delay_ms(200);
- LCD_Fill(60,50,240,66,WHITE);//清除显示
- delay_ms(200);
- }
- LCD_Clear(WHITE);
- POINT_COLOR=RED;
- Show_Str_Mid(0,0,"STM32F103ZET6",16,240);
- Show_Str_Mid(0,20,"触屏密码锁",16,240);
- Show_Str_Mid(0,140,"请输入密码",16,240);
- AS608_load_keyboard(0,170,(u8**)kbd_delFR);//加载虚拟键盘
- flag=0;
- // Show_Str_Mid(0,120,"close",16,240);
-
- while(1)
- {
- num=GET_NUM();//获取返回的数值
- if(num==pass_num)
- {
- flag++;
- if(flag==2){flag=0;}
- }
- switch(flag)
- {
- case 0: POINT_COLOR=RED;Show_Str_Mid(0,120,"close",16,240); GPIO_ResetBits(GPIOB,GPIO_Pin_8);delay_ms(50);GPIO_SetBits(GPIOB,GPIO_Pin_8);delay_ms(50);break;
- case 1: POINT_COLOR=RED;Show_Str_Mid(0,120,"-open",16,240); break;
-
- }
- LED1=!LED1;
-
- }
- }

芯片解密