找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3366|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

眾拳STM8的觸摸屏實(shí)驗(yàn) 附源代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:170279 發(fā)表于 2017-12-12 10:31 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式



用觸摸筆在觸摸屏上寫字,畫畫等等。
芯片封裝與管腳定義:


數(shù)字接口:
XPT2046數(shù)據(jù)接口是串行接口,其典型工作時(shí)序如圖12所示,圖中展示的信號來自帶有基本串行接口的單片機(jī)或數(shù)據(jù)信號處理器。處理器和轉(zhuǎn)換器之間的通信需要8個(gè)時(shí)鐘周期,可采用SPI同步串行接口。一次完整的轉(zhuǎn)換需要24個(gè)串行同步時(shí)鐘(DCLK)來完成。
    前8個(gè)時(shí)鐘用來通過DIN引腳輸入控制字節(jié)。當(dāng)轉(zhuǎn)換器獲取有關(guān)下一次轉(zhuǎn)換的足夠信息后,將進(jìn)入采樣模式。3個(gè)多時(shí)鐘周期后,控制字節(jié)設(shè)置完成,轉(zhuǎn)換器進(jìn)入轉(zhuǎn)換狀態(tài)。接著的12個(gè)時(shí)鐘周期將完成真正的模數(shù)轉(zhuǎn)換,第13個(gè)時(shí)鐘將輸出轉(zhuǎn)換結(jié)果的最后一位。剩下的3個(gè)多時(shí)鐘周期將用來完成被轉(zhuǎn)換器忽略的最后字節(jié)(DOUT置低)。


控制字節(jié)由DIN輸入的控制字如表5所示,它用來啟動(dòng)轉(zhuǎn)換,尋址,設(shè)置ADC分辨率,配置和對XPT2046進(jìn)行掉電控制。表6給出控制字的各控制位的詳細(xì)說明。


起始位——第一位,即S位?刂谱值氖孜槐仨毷1,即S=1。在XPT2046的DIN引腳檢測到起始位前,所有的輸入將被忽略。
地址——接下來的3位(A2、A1和A0)選擇多路選擇器的現(xiàn)行通道,觸摸屏驅(qū)動(dòng)和參考源輸入。



MODE——模式選擇位,用于設(shè)置ADC的分辨率。MODE=0,下一次的轉(zhuǎn)換將是12位模式;MODE=1,下一次的轉(zhuǎn)換將是8位模式。

SER/DFR——位控制參考源模式,選擇單端模式(SER/DFR=1),或者差分模式(SER/DFR=0)。在X坐標(biāo)、Y坐標(biāo)和觸摸壓力測量中,為達(dá)到最佳性能,首選差分工作模式。參考電壓來自開關(guān)驅(qū)動(dòng)器的電壓。在單端模式下,轉(zhuǎn)換器的參考電壓固定為VREF相對于GND引腳的電壓。

PD0和PD1——ADC的內(nèi)部參考電壓可以單獨(dú)關(guān)閉或者打開,但是,在轉(zhuǎn)換前,需要額外的時(shí)間讓內(nèi)部參考電壓穩(wěn)定到最終穩(wěn)定值;如果內(nèi)部參考源處于掉電狀態(tài),還要確保有足夠的喚醒時(shí)間。ADC要求是即時(shí)使用,無喚醒時(shí)間的。另外還得注意,當(dāng)BUSY是高電平的時(shí)候,內(nèi)部參考源禁止進(jìn)入掉電模式。XPT2046的通道改變后,如果要關(guān)閉參考源,則要重新對XPT2046寫入命令。



單片機(jī)源程序如下:
  1. /***********************************************************************
  2. *   說    明: 點(diǎn)亮第一個(gè)發(fā)光二極管
  3. *   開發(fā)平臺: 劍齒虎STM8開發(fā)板        
  4. *
  5. *   作    者: 劉洋 張殿東
  6. *   版    本: V1.0
  7. *   日    期: 2016-05-03   
  8. *
  9. *   IAR開發(fā)環(huán)境    版本 V2.20.1
  10. *   ST庫函數(shù)       版本 V2.2.0
  11. ***********************************************************************/

  12. #include "pbdata.h"//引入自定義公共頭文件

  13. void BSP_Configuration(void);//硬件初始化函數(shù)聲明

  14. /***********************************************************************
  15. *   函 數(shù) 名: main
  16. *   功能說明: c程序入口
  17. *   形    參:無
  18. *   返 回 值: 錯(cuò)誤代碼(無需處理)
  19. ***********************************************************************/
  20. int main(void)
  21. {
  22.   BSP_Configuration();//硬件驅(qū)動(dòng)初始化函數(shù)
  23.   
  24.   LCD_Demo();
  25.   while(1)//主程序循環(huán),反復(fù)執(zhí)行循環(huán)體里的語句
  26.   {
  27.     TP_Demo();
  28.   }
  29. }
  30. /***********************************************************************
  31. *   函 數(shù) 名: BSP_Configuration
  32. *   功能說明: 初始化硬件設(shè)備。只需要調(diào)用一次。該函數(shù)配置CPU寄存器和外設(shè)的寄存器并初始化一些全局變量。
  33. *   形    參:無
  34. *   返 回 值: 無
  35. ***********************************************************************/
  36. void BSP_Configuration(void)
  37. {  
  38.   CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//時(shí)鐘速度為內(nèi)部16M,1分頻,
  39.   UART1_Congfiguration();//調(diào)用RS232串口1初始化函數(shù)
  40.   LED_Init();//調(diào)用LED初始化函數(shù)
  41.   LCD_Init();
  42.   SPI_Configuration();
  43.   TP_Init();
  44.   rim();//打開總中斷
  45. }

  46. /*斷言函數(shù):它的作用是在編程的過程中為程序提供參數(shù)檢查*/
  47. #ifdef USE_FULL_ASSERT
  48. ……………………

  49. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼


所有資料51hei提供下載:
【眾拳】劍齒虎STM8的代碼下載:
眾拳劍齒虎觸摸屏程序.zip (2.44 MB, 下載次數(shù): 17)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表