久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STM32+XPT2046觸摸屏帶刷卡識別的程序和教程等資料下載
[打印本頁]
作者:
wumiao
時間:
2017-8-18 23:04
標題:
STM32+XPT2046觸摸屏帶刷卡識別的程序和教程等資料下載
最近做了一個小項目,里面一個小部分,基于STM32刷卡帶觸摸屏,功能可能有點簡單,但是可以繼續往下編。還有刷卡號的識別要更改。
使用觸摸屏-SPI程序時如果出現觸摸不靈或者誤差大,可以按照下面方法進行校正修改,如果使用可以強制校準程序則不需要,只需通過K_UP按鍵強制校準即可。
如果下載程序后對觸摸屏劃線,沒有出現線條,可以顯示觸摸值變化,這個是因為沒有對觸摸屏校正,因此只需要在 touch.c 這個文件內的函數 void TOUCH_Init(void),將這個函數內的語句
if(TouchAdj.posState != TOUCH_ADJ_OK)
{
TOUCH_Adjust(); //校正
}
改成
if(TouchAdj.posState == TOUCH_ADJ_OK)
{
TOUCH_Adjust(); //校正
}
編譯后將HEX下載到開發板內進行觸摸屏校正,校正完成后再修改為!=就可以了。
0.png
(50.75 KB, 下載次數: 179)
下載附件
2017-8-18 23:14 上傳
本帖附件中可下載此壓縮包
stm32單片機源程序如下(主程序):
/* 程序下載進去后D1指示燈閃爍,表示程序正常運行,按下按鍵K_UP可以強制觸摸校正 */
#include "stm32f10x.h"
#include "led.h"
#include "system.h"
#include "gui.h"
#include "touch.h"
#include "flash.h"
#include "key.h"
#include "systick.h"
#include "tim.h"
#include "RC522.h"
#include "usart.h"
uint16_t penColor;
unsigned char data2[4] = {0,0,0,0x01};
unsigned char DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
unsigned char g_ucTempbuf[20];
void kai_display() //開機顯示
{
TFT_ClearScreen(BLACK);
GUI_Show12Char(10,103,"歡迎使用",GREEN,BLACK);
GUI_Show12Char(10,10,"K_UP:Adjust",GREEN,BLACK);
}
void lcd_display() //LCD初始化顯示
{
TFT_ClearScreen(BLACK);
TFT_ClearScreen(BLACK);
GUI_Show12Char(10,50,"關門 ",RED,BLACK); //關門
GUI_Show12Char(10,150," ",YELLOW,BLACK);
}
void display_init() //初始化顯示
{
TFT_ClearScreen(BLACK);
GUI_Show12Char(0, TFT_YMAX - 16, "X:", RED, BLACK);
GUI_Show12Char(56, TFT_YMAX - 16, "Y:", RED, BLACK);
GUI_Show12Char(TFT_XMAX-8*3, 0, "RST", RED, BLACK);
GUI_Show12Char(56, TFT_YMAX - 106, "一號存儲:", RED, BLACK);
GUI_Show12Char(56, TFT_YMAX - 156, "二號存儲:", RED, BLACK);
GUI_Show12Char(56, TFT_YMAX - 206, "三號存儲:", RED, BLACK);
}
int main(void)
{
unsigned char status,i;
unsigned int temp;
uint8_t touchValue[5] = {0, 0, 0, 0, 0};
// uint32_t i;
penColor = BLUE;
RC522_Init();
/* 初始化 */
PcdReset();
PcdAntennaOff();
TFT_Init();
FLASH_Init();
LED_Config();
KEY_Config();
SYSTICK_Config();
delay_ms(10);
PcdAntennaOn();
delay_ms(10);
tim3_init(1000,7199);
uart_init(9600);
kai_display();
SYSTICK_Delay1ms(1500);
TOUCH_Init();
display_init();
while(1)
{
if(KEY_Scan()==KEY_UP) //按下K_UP按鍵 強制校準
{
TOUCH_Adjust(); //校正
display_init();
}
if(TOUCH_Scan() == 0)
{
/* 顯示X軸的物理坐標值 */
touchValue[0] = (TouchData.x % 10000 /1000) + '0';
touchValue[1] = (TouchData.x % 1000 /100) + '0';
touchValue[2] = (TouchData.x % 100 /10) + '0';
touchValue[3] = (TouchData.x % 10) + '0';
GUI_Show12Char(16, TFT_YMAX - 16, touchValue, RED, BLACK);
/* 顯示Y軸的物理坐標值 */
touchValue[0] = (TouchData.y % 10000 /1000) + '0';
touchValue[1] = (TouchData.y % 1000 /100) + '0';
touchValue[2] = (TouchData.y % 100 /10) + '0';
touchValue[3] = (TouchData.y % 10) + '0';
GUI_Show12Char(72, TFT_YMAX - 16, touchValue, RED, BLACK);
}
status = PcdRequest(PICC_REQALL, g_ucTempbuf);//尋卡
if (status != MI_OK)
{
PcdReset();
PcdAntennaOff();
PcdAntennaOn();
continue;
}
printf("卡的類型:");
for(i=0;i<2;i++)
{
temp=g_ucTempbuf[i];
printf("%X",temp);
}
status = PcdAnticoll(g_ucTempbuf);//防沖撞
if(status != MI_OK)
{ continue; }
////////以下為超級終端打印出的內容////////////////////////
printf("卡序列號:"); //超級終端顯示,
for(i=0;i<4;i++)
{
temp=g_ucTempbuf[i];
printf("%X",temp);
}
if(g_ucTempbuf[0]==0x37&&g_ucTempbuf[1]==0x25&&g_ucTempbuf[2]==0xAA&&g_ucTempbuf[3]==0x29)
{
GUI_Show12Char(10,50,"開門 ",GREEN,BLACK); //開門
GUI_Show12Char(10,10,"姓名:一號 ",RED,BLACK);
// GPIO_SetBits(GPIOC, (uint16_t)0xff & 0x00FF);
if((TouchData.lcdx>50)&&(TouchData.lcdx<100))
{
if((TouchData.lcdy>280)&&(TouchData.lcdy<330))
{
GPIO_ResetBits(GPIOC, (~(uint16_t)0xfe) & 0x00FF);
delay_ms(50000);
// TouchData.lcdx=0;
// TouchData.lcdy=0;
// delay_ms(10);
// GPIO_SetBits(GPIOC, (uint16_t)0xfe& 0x00FF);
}
if((TouchData.lcdy>220)&&(TouchData.lcdy<270))
{
GPIO_ResetBits(GPIOC, (~(uint16_t)0xfd) & 0x00FF);
delay_ms(50000);
// TouchData.lcdx=0;
// TouchData.lcdy=0;
// delay_ms(10);
// GPIO_SetBits(GPIOC, (uint16_t)0xfd & 0x00FF);
}
if((TouchData.lcdy>120)&&(TouchData.lcdy<180))
{
GPIO_ResetBits(GPIOC, (~(uint16_t)0xfb) & 0x00FF);
delay_ms(50000);
// TouchData.lcdx=0;
// TouchData.lcdy=0;
// delay_ms(10);
// GPIO_SetBits(GPIOC, (uint16_t)0xfb & 0x00FF);
}
if ((TouchData.lcdx > TFT_XMAX-8*3) && (TouchData.lcdy < 16))//215 = TFT_XMAX - 24
{
GPIO_SetBits(GPIOC, (uint16_t)0xff & 0x00FF);
}
delay_ms(50000);
GPIO_SetBits(GPIOC, (uint16_t)0xff & 0x00FF);
TouchData.lcdx=0;
TouchData.lcdy=0;
}
}
else
{
if(g_ucTempbuf[0]==0x1A&&g_ucTempbuf[1]==0x46&&g_ucTempbuf[2]==0x95&&g_ucTempbuf[3]==0x1E)
{
// led1=0;
GUI_Show12Char(10,50,"開門 ",GREEN,BLACK); //開門
GUI_Show12Char(10,10,"姓名:二號 ",RED,BLACK);
// GPIO_SetBits(GPIOC, (uint16_t)0xff & 0x00FF);
if((TouchData.lcdx>50)&&(TouchData.lcdx<100))
{
if((TouchData.lcdy>280)&&(TouchData.lcdy<330))
{
GPIO_ResetBits(GPIOC, (~(uint16_t)0xfe) & 0x00FF);
delay_ms(50000);
TouchData.lcdx=0;
TouchData.lcdy=0;
// delay_ms(10);
// GPIO_SetBits(GPIOC, (uint16_t)0xfe& 0x00FF);
}
if((TouchData.lcdy>220)&&(TouchData.lcdy<270))
{
GPIO_ResetBits(GPIOC, (~(uint16_t)0xfd) & 0x00FF);
delay_ms(50000);
TouchData.lcdx=0;
TouchData.lcdy=0;
// delay_ms(10);
// GPIO_SetBits(GPIOC, (uint16_t)0xfd & 0x00FF);
}
if((TouchData.lcdy>120)&&(TouchData.lcdy<180))
{
GPIO_ResetBits(GPIOC, (~(uint16_t)0xfb) & 0x00FF);
delay_ms(50000);
TouchData.lcdx=0;
TouchData.lcdy=0;
// delay_ms(10);
// GPIO_SetBits(GPIOC, (uint16_t)0xfb & 0x00FF);
}
if ((TouchData.lcdx > TFT_XMAX-8*3) && (TouchData.lcdy < 16))//215 = TFT_XMAX - 24
{
GPIO_SetBits(GPIOC, (uint16_t)0xff & 0x00FF);
}
}
if ((TouchData.lcdx > TFT_XMAX-8*3) && (TouchData.lcdy < 16))//215 = TFT_XMAX - 24
{
GPIO_SetBits(GPIOC, (uint16_t)0xff & 0x00FF);
}
}
else
{
// led1=1;
GUI_Show12Char(10,50,"刷卡無法識別 ",RED,BLACK);
}}}}
復制代碼
所有資料51hei提供下載:
觸摸屏刷卡.rar
(1.95 MB, 下載次數: 580)
2017-8-18 23:16 上傳
點擊文件名下載附件
卡號要更改
下載積分: 黑幣 -5
作者:
free陳
時間:
2017-8-24 17:03
謝謝 !~
作者:
hnwangkg_ezio
時間:
2017-8-31 14:58
最近在調試一款屏幕,這個觸屏的驅動總是有點問題,借鑒樓主的參考看看
作者:
cnc2020
時間:
2017-9-3 22:11
不錯的東西,收藏了
作者:
tmwiajd
時間:
2017-12-5 09:13
參考一下
作者:
魯銘
時間:
2018-1-18 16:58
參考一下看看
作者:
lamkingchiu
時間:
2018-1-25 16:39
不錯不錯
作者:
飛餌
時間:
2018-2-24 19:11
來看看校準怎么寫的。原子的看不懂
作者:
1盅2件
時間:
2018-3-11 22:17
原子的也看了,不太懂,找這個來看看。
作者:
chengfgc
時間:
2018-4-8 11:46
學習下,不知道是不是很容易理解
作者:
SMC
時間:
2018-4-10 16:48
好棒,感覺好厲害呀。
作者:
zzabc
時間:
2018-7-11 09:19
謝謝,學習下
作者:
moneng
時間:
2018-7-17 09:00
謝謝分享!
作者:
wesly-made-robo
時間:
2018-8-8 17:55
多謝分享
作者:
lwr960
時間:
2018-9-7 09:19
學習了,謝謝分享
作者:
wc12561
時間:
2018-9-11 23:28
不錯,好東西,謝謝分享
作者:
32icnhsp
時間:
2019-1-7 12:34
學習了 謝謝分享
作者:
pure_man
時間:
2019-4-7 13:05
謝謝 !學習一下
作者:
yjcTcjy
時間:
2019-5-2 21:40
不錯哦,可以仔細看看
作者:
cc小菜
時間:
2019-5-14 08:49
請問有基于STC89C52的嗎??
作者:
willy926234097
時間:
2019-6-23 15:31
感謝分享!正在找這方面的資料!
作者:
鵬博士PBs
時間:
2019-6-23 16:44
樓上所示里面應該包含RFID的相關技術吧
作者:
qq82871836
時間:
2019-6-30 00:37
不錯的東西,收藏了
作者:
arun8899
時間:
2019-9-20 08:56
不錯不錯,收藏了
作者:
sphei
時間:
2019-10-25 15:22
項目正好要用到,謝謝分享!
作者:
pan200x
時間:
2020-1-8 22:32
不錯,收藏了,感謝分享!
作者:
shu_007
時間:
2020-1-10 19:29
請問刷什么卡的?
作者:
azalea
時間:
2020-2-19 16:07
參考一下,真心不錯
作者:
hua123456
時間:
2020-2-19 17:15
非常好的視頻,謝謝樓主分享
作者:
lazymike11
時間:
2020-2-25 13:56
謝謝,下載學習
作者:
x88484532
時間:
2020-3-5 11:27
正好需要的資料,謝謝分享。
作者:
longke6246
時間:
2020-3-24 09:47
正好需要的資料,謝謝分享
作者:
wumiao
時間:
2020-3-31 16:40
shu_007 發表于 2020-1-10 19:29
請問刷什么卡的?
射頻IC卡
作者:
wangkj
時間:
2021-3-5 09:49
***x:2065 y:3345 **
***x:2321 y:3345 **
***x:2577 y:3345 **
***x:3089 y:3345 **
***x:3345 y:3345 **
***x:3345 y:3089 **
***x:1121 y:1169 **
這是原始數據。。。 需要轉換
作者:
xuepengbin
時間:
2021-9-3 15:17
謝謝。非常感謝樓主的分享。
作者:
d026530
時間:
2021-9-21 22:58
感謝分享 調試一下看看
作者:
limesoft
時間:
2022-8-13 12:39
這個LCD 是怎么接線的
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
超碰欧美
|
久久国产99
|
午夜www
|
成人午夜视频在线观看
|
在线欧美a
|
奇米视频777
|
一二三四在线视频观看社区
|
亚洲精品女人久久久
|
黄色av观看
|
中文字幕一区二区三区四区五区
|
av在线视
|
在线不卡一区
|
九九伦理片
|
中文字幕第7页
|
99久久精品免费看国产四区
|
欧美视频三级
|
欧美日韩高清在线一区
|
亚洲视频免费在线观看
|
亚洲成人一区二区三区
|
日本小电影在线
|
国产在线高清
|
日韩美香港a一级毛片免费 国产综合av
|
午夜电影福利
|
一区二区三区精品在线
|
国产一区二区三区
|
国产香蕉视频在线播放
|
国产一区在线视频
|
亚洲欧洲一区
|
日韩一区二区三区在线视频
|
精品一区二区三区在线播放
|
亚洲欧洲中文日韩
|
欧美三级在线
|
欧美日韩久久久
|
超碰成人免费
|
精品视频久久久久久
|
久久久久久久久国产精品
|
99re在线视频
|
欧美成人久久
|
久久精品免费观看
|
久久成人免费观看
|
欧美又大粗又爽又黄大片视频
|