關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于C8051F021和ADS7846的觸摸屏系統設計

        基于C8051F021和ADS7846的觸摸屏系統設計

        作者: 時間:2009-12-04 來源:網絡 收藏

        2.2 的主要功能和特點
        是BB公司生產的一種四線制控制器。可廣泛應用在電阻式中。的核心是一個具有采樣和保持功能的12位逐次逼近式A/D轉換器,其轉換速率可達125kHz.且分辨率可編程為8位或12位。該器件不僅具有X、Y坐標測量功能,還具有電池電壓、芯片溫度、觸摸壓力和外模擬量4種測量功能,其工作方式可由控制字決定,片內的6選1模擬多路開關可根據微控制器送來的命令字來選擇6個電壓量之一(X+、Y+、Y-、VBAT、TEMP、AUX-IN),并將其送入A/D轉換器轉換,然后再通過SPI接口將轉換值送入微控制器。此外,ADS7846還集成有觸摸識別電路,當檢測到有觸摸時,該電路會在PENIRQ(筆中斷)引腳輸出一個低電平信號,并以該信號向微控制器提出測量觸點坐標的中斷請求。該芯片采用單電源供電,工作電壓為2.2~5.25 V,且內部自帶+2.5 V的參考電壓。
        2.3 和ADS7846的硬件接口
        單片機和ADS7846控制器的觸摸屏控制的硬件接口電路如圖2所示。

        本文引用地址:http://www.104case.com/article/163440.htm

        圖2中。TX+、TX-、TY+、TY-為位置輸入端,分別對應四線制電阻式觸摸屏的四線制接口:
        BUSY為忙信號指示,可在數據轉換時持續一個時鐘周期的高電平狀態,當TCS為高時,BUSY為高阻狀態:
        TCS為片選輸入,只有當TCS為低時,串行數據才可以從DIN讀入;
        DIN為串行數據輸入,在DCLK的上升沿讀入數據;
        DOUT為串行數據輸出,用于輸出轉換后的觸摸點位置數據,12位工作方式下,其最大為4095,可在DCLK的下降沿輸出數據,當TCS為高時,DOUT為高阻狀態;
        DCLK為外部時鐘輸人引腳,其輸入時鐘信號的頻率決定了電路的轉換速度,其推薦占空比為40%~60%;
        PENIRQ為筆中斷引腳。工作時應通過10~100 kΩ電阻器上拉,當有觸摸事件發生時,可向微控制器申請中斷服務;
        VREF為A/D參考電壓輸入;
        TCS、DCLK、 DIN、 BUSY、DOUT、PENIRQ分別接的P1.0、P1.1、P1.2、P1.3、P1.4、PO.3。另外,IN3、IN4為兩個附屬A/D輸入通道,本沒有用到,使用時可將其接地。


        3 系統軟件的與實現
        ADS7846可通過片內模擬多路開關的切換,將X+/Y+端接VCC,將X-/Y-端接地,并將X+/Y+和X-/Y-以差分形式接到A/D轉換器的輸入端。這樣,當點擊觸摸屏的不同位置時,輸入到A/D轉換器中的電壓就不相同,然后再經A/D轉換后,就可得到觸點的輸出值,該輸出值與觸點的位置成近似線性關系。ADS7846通過一般控制字來設置工作方式,其控制字如表1所列。

        在表1中,S為數據傳輸起始標志位,該位必為“1”;A2~A0用于通道選擇;MODE用來選擇A/D轉換精度: “1”選擇8位, “0”選擇12位;SER/DFR選擇參考電壓的輸入模式;PD1、PD0選擇省電模式: “00”為省電模式,可在兩次A/D轉換之間掉電,且允許中斷,而“01”同“00”相似,但不允許中斷; “10”為保留; “11”為禁止省電模式。
        ADS7846與C8051F021之間通過標準的SPI接口相連。并由C8051F021啟動3次SPI傳送來完成轉換。第1次SPI傳送由C8051F021向ADS7846發送控制字,含起始位、通道選擇、8/12位模式選擇、差分/單端選擇和掉電模式選擇;后兩次SPI傳送則是C8051F021讀取A/D轉換后的結果數據,至此便完成了ADS7846和C8051F021之間的一次通信。其數據傳送時序如圖3所示。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 邯郸县| 闻喜县| 涪陵区| 宁河县| 大关县| 喀喇| 余江县| 马尔康县| 海城市| 天门市| 营山县| 汕尾市| 中山市| 顺昌县| 南城县| 交城县| 文成县| 河东区| 班戈县| 石台县| 龙游县| 灵寿县| 越西县| 磴口县| 纳雍县| 通州市| 黔江区| 伊宁市| 全椒县| 合山市| 巩留县| 额尔古纳市| 龙陵县| 密云县| 榆社县| 兴和县| 柳河县| 东光县| 平定县| 龙游县| 唐海县|