觸控屏的控制電路製作小記(附STM32的驅動)

2020-11-25 電子產品世界

觸控屏已經不是什麼新鮮的東西,現在的電子產品基本上都帶有一個大大的彩色液晶,加上一個輕觸式的觸控屏。使用起來非常方便,可以完全取代以往那種固定式的按鍵。

下面就介紹一種觸控屏的驅動電路,我也是一個小時前才把這個小板子做出來,測試成功後馬上發表這篇日誌,新鮮熱辣的哦!

首先,介紹以下觸控屏幕的構造,它是由一塊觸控屏幕和一塊液晶顯示屏幕粘合在一起的。液晶顯示屏幕按色彩、材料、成像原理等多種方式分類,種類繁多,這裡對液晶屏幕不做詳細介紹,本文圖片中所使用的是16Bit半透明反射式TFT液晶點陣顯示屏。而觸控螢幕幕主要分為兩大類,分別是電容式和電阻式。

電容式觸控屏利用人體的電流感應進行工作,優點是使用壽命長,觸摸時不需用力,面板堅硬耐磨;缺點是觸摸精度低,必須使用特定的介質觸控(如人體皮膚),受溫度溼度影響很大,外界有較強磁場電場時,觸控屏會失靈,簡單來說就是抗幹擾性較差。

電阻式觸控屏是利用按壓時縱軸和橫軸的電阻值來定位的,優點是抗幹擾性好,觸摸精度高,可以用任何物體來觸摸,缺點是表面是塑料薄膜,易磨損,觸摸是需要稍加一點力度按壓。本文中使用的就是電阻式觸控屏。

接下來介紹一些幾個觸控屏控制IC:ADS7846、ADS7843和TSC2046,它們是最常見的四線觸控螢幕控制晶片,均為BURR-BROWN(已經被TI收購,找封裝庫的時候去TI那裡找)公司的產品,三者引腳相互兼容,但片內的功能是有區別的,例如7846內集成溫度傳感、可檢測觸摸壓力等功能,具體請參考DataSheet。TSC2046是新出的控制晶片,由於其國產片價錢便宜(零售約1元/片),廣泛應用於國產的具有觸控螢幕幕的MP3、手機等電子產品。

我這次製作採用的是ADS7846。

ADS7846引腳圖:


引腳功能介紹:

DCLK:時鐘輸入埠

CS:片選信號

DIN:串行數據輸入端,CS為低時數據在DCLK上升沿鎖存

BUSY:忙時信號輸出,CS為高時其為高阻態

DOUT:串行數據輸出端,CS為高時其為高阻態

PENIRQ:筆中斷(當屏幕被觸壓時,產生中斷信號)

Vref:參考電壓(一般直接接VCC)

Vbat:電源檢測輸入端(一般不使用)

AUX:備選輸入端(一般不使用)

X+、Y+、X-、Y- :四線觸控屏位置輸入端

程序思路是參考一位網友的,我把它移植過來了。  

工作原理:每次按下觸控螢幕,ADS7846的PEN腳會拉低,觸發STM32中斷,然後在中斷服務程序裡面處理要執行功能。畫圖的原理是通過在中斷裡對X、Y坐標連續採樣十次,若不夠十次,不做任何操作。得到十次數據後,進行排序,最後取中間三次的數據計算均值,便得到需要的X、Y坐標。得到觸屏的點以後,接著就是在屏幕上對應的這個點上畫點。

下面是電路的原理圖:



用感光法做的板子(未裁剪):

裁剪出中間那部分後和一元硬幣小一點,右側為硫酸紙列印出來的負片。
寫了一個可選畫筆和背景顏色的畫板:

最後貼上STM32的觸控螢幕驅動程序(已添加畫板功能),用C語言寫的,很容易移植,有興趣的同學可以將它移到51或其他單片機上面跑一下。完整的代碼從這裡下載


相關焦點

  • 13個基於STM32的經典項目設計實例,全套資料~
    今天總結了幾篇電路城上關於STM32 的製作,不能說每篇都是經典,但都是在其他地方找不到的,很有學習參考意義的設計實例。尤其對於新手,是一個學習stm32單片機的“活生生”的範例。
  • Stm32的TFT LCD顯示器控制學習筆記
    學習stm32,TFT LCD顯示屏控制是很重要的一章,本人在初步學習STM32遇到了很多困難,所以把學習中積累的部分感覺重要的知識點羅列出來
  • H橋驅動電路原理圖及使能控制和方向邏輯
    一、H橋驅動電路本文引用地址:http://www.eepw.com.cn/article/201607/293540.htm  圖4.12中所示為一個典型的直流電機控制電路
  • 基於STM32的LED點陣屏的設計與實現
    STM32 是32 位微處理器,具有低功耗,中斷延遲小,高性能等特點。  1. 2 光筆電路設計  人眼能分辨刷屏次數為24 次,根據經驗本系統點陣屏的刷屏速度採用每秒70 次的經驗刷屏次數,即70Hz,故要求光筆的反應速度大於70Hz.掃描方式是每一時刻只有一個點點亮,並且這個亮點朝一個方向移動,這時主控掃描的速度是1M.使用的點陣屏為32 ×32.當每秒刷屏次數超過24 次時才看不出點陣屏閃爍,在本系統中每秒刷屏
  • 單片機控制繼電器驅動電路圖原理分析
    首先看看繼電器的驅動這是典型的繼電器驅動電路圖,這樣的圖在網絡上隨處可以搜到,並且標準教科書上一般也是這樣的電路圖為什麼要明白這個圖的原理?單片機是一個弱電器件,一般情況下它們大都工作在5V甚至更低.驅動電流在mA級以下.而要把它用於一些大功率場合,比如控制電動機,顯然是不行的.所以,就要有一個環節來銜接,這個環節就是所謂的"功率驅動".繼電器驅動就是一個典型的、簡單的功率驅動環節.在這裡,繼電器驅動含有兩個意思:一是對繼電器進行驅動,因為繼電器本身對於單片機來說就是一個功率器件;還有就是繼電器去驅動其他負載
  • avr單片機和stm32區別與優缺點分析
    摘要:avr單片機和stm32單片機是目前使用較廣泛的單片機,那麼avr單片機和stm32單片機有什麼區別呢?有什麼優劣勢呢?   應用區域   AVR已被廣泛用於:   空調控制板   印表機控制板   智能電錶   智能手電筒   LED控制屏   醫療設備   GPS   avr單片機典型應用電路圖
  • STM32學習—如何選擇各個電路部分的主要晶片
    首先,STM32最小系統是必須的,這是小車控制的核心。然後小車的兩個輪子需要兩個H橋驅動和編碼器接口。需要陀螺儀感知小車的姿態(包括傾角,轉向角,角速度等)。需要一些調試和指示用的外設(蜂鳴器,LED等)。需要電源電路為系統供電。需要電池電壓採集電路來實時採集電池電壓,做低壓報警,防止電池過放。需要下載接口和調試用的串口。基本就是根據自己想要實現功能,然後確定需要那些部分的電路。
  • OLED驅動電路設計
    今天小編給大家帶來幾個平日裡做有源、無源oled顯示驅動設計的例子,以供大家作為電子設計參考。PM-OLED使用普通的矩陣交叉屏, OLED位於交叉排列的陽極和陰極中間,通過對陽極和陰極組合的選通,可以控制每一個OLED的點亮。SSD1303晶片內部電路框圖如下圖1所示:
  • 基於STM32單片機的DMD投影儀的驅動電路的設計
    該設計能使DLP顯示儀硬體電路結構更加精簡,電路控制更易於實現,能夠方便的整合到各種儀器中。>STM32系列單片機對信號輸入部分進行改進,將Stm32發送的圖像信號和行場同步信號傳送給DLPC100,來控制DLP1700的顯示和LED的驅動。
  • STM32 FSMC接口驅動TFT-LCD設計
    目前驅動TFT彩屏的方案有很多,可以用底端單片機驅動一個終端類型的液晶模組,這種模組價格比較貴,當然用起來還是很方便的。  只要單片機通過串口或並行口向TFT發送幾個字節的命令,就能在屏幕上顯示你需要的效果。本設計利用STM32 的FSMC 總線直接驅動TFT 數字彩屏。
  • 製作一個電磁閥控制電路
    打開APP 製作一個電磁閥控制電路 發表於 2019-11-05 09:26:26 電磁閥控制電路:為了智能化地實現隨時隨地控制電磁閥的開關
  • 一文解析stm32產生spwm原理及程序
    打開APP 一文解析stm32產生spwm原理及程序 發表於 2018-05-18 09:11:49 SPWM法就是以該結論為理論基礎,用脈衝寬度按正弦規律變化而和正弦波等效的PWM波形即SPWM波形控制逆變電路中開關器件的通斷,使其輸出的脈衝電壓的面積與所希望輸出的正弦波在相應區間內的面積相等,通過改變調製波的頻率和幅值則可調節逆變電路輸出電壓的頻率和幅值。本文主要詳解stm32產生spwm原理及程序,首先來了解一下生成SPWM波的基理是什麼,具體得跟隨小編一起來了解一下。
  • 嵌入式開發:STM32 FSMC接口驅動TFT-LCD設計
    本文提出了一種能直接驅動數字液晶屏的設計方案,方案先介紹了TFT數字彩屏的工作原理,利用STM32處理器的FSMC接口設計的硬體電路和軟體程序均能對顯示控制晶片進行有效的控制。在實際應用中顯示清晰流暢,並且CPU有足夠的時間來處理用戶程序。該方案能成功應用在電腦橫機的人機界面顯示中,且其硬體電路結構簡單、控制方式靈活、對於其他型號的接口晶片也能提供參考。
  • 淺談SSR的輸入控制方法和電路驅動
    輸入端用微小的控制信號驅動大電流負載。固態繼電器具有接觸器同樣的功能,它具有控制靈活,可靠性高,壽命長,在通與斷的時間不會產生電火花,無噪聲,開關速度快,工作頻率高,抗幹擾能力強等優點,SSR的另一個特點是驅動電流(或電壓)小,給輸入端加一個很小的信號,就可以實現對被控制系統的控制。
  • LCD萬用接口電路設計,示波器如何來控制LCD驅動?
    主要看LCD的驅動方式和控制方式,目前手機上的彩色LCD的連接方式一般有這麼幾種:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式,DSI模式。MCU模式(也寫成MPU模式的)。只有TFT模塊才有RGB接口。
  • OLED驅動電路設計之高手進階必看篇
    今天小編給大家帶來幾個平日裡做有源、無源oled顯示驅動設計的例子,以供大家作為電子設計參考。 一、驅動控制SSD1303實現96x64點陣PM-OLED 本例子使用Solomon公司的OLED顯示驅動電路SSD1303,結合AT89C51單片機實現驅動OLED顯示屏的方法。
  • 艾司特代理臺灣奕力科技CTP觸控IC,全力推動大陸觸控螢幕行業發展
    奕力科技成立於2004年11月,為專業的IC設計公司,主要從事TFT-LCD面板驅動及觸控IC之研發及銷售,產品主要應用於手機、數字相機、車用顯示器、平板計算機、筆記本電腦、教育系統,電子白板智能型家電等各式電子產品 奕力科技藉由完整產品線、高質量、及良好客戶服務獲得市場肯定,中大尺寸觸控IC穩居中國市場佔比約五成,目前在小尺寸面板驅動IC的出貨量居全國前列。
  • 華為Mate30 Pro側屏觸控體驗:四指吃雞很輕鬆
    最近,剛剛發布的華為Mate30Pro就通過側屏觸控,在遊戲時可以模擬手柄操作,讓玩家體驗便利的四指操作。而且,華為Mate30Pro側屏觸控還能調節音量和控制拍照;配合隔空操控和AI屏幕隨心,讓用戶在使用時更加順心。下面,就讓小編給大家分享一下華為Mate30Pro出色的交互體驗吧。
  • 詳解電容觸控晶片與指紋晶片的研發與生產流程
    三種與電容檢測有關的晶片電容屏觸控晶片 電容屏觸控晶片對互電容式傳感器起檢測和控制作用
  • TFT-LCD驅動電路的設計
    輸出視頻信號到灰度電壓產生電路,得到驅動液晶屏所需要的驅動電壓。ADSP-21160還有通用可編程I/O標誌腳,可用於接受外部控制信號,給系統及其模塊發送控制信息,以使整個系統穩定有序地工作。例如,ADSP-21160為灰度電壓產生電路和液晶屏提供必要的控制信號。另外,系統還設置了一些LED燈,用於直觀的指示系統硬體及DSP內部程序各模塊的工作狀態。