<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 觸摸屏技術(shù)在16位單片機(jī)中的應(yīng)用

          觸摸屏技術(shù)在16位單片機(jī)中的應(yīng)用

          作者: 時(shí)間:2012-10-18 來源:網(wǎng)絡(luò) 收藏

          2. 2 X ilinx95144

          是一款高品質(zhì)的Comp lex Prog ramm able Logic Device 復(fù)雜的可編程邏輯器件( CPLD), 典型工作電壓為3. 3- 5V, 支持ISP即在線編程功能, 編程次數(shù)可達(dá)上萬次, 管腳到管腳信號(hào)延遲7. 5ns, 工作頻率可達(dá)111MH z, 內(nèi)部有144個(gè)宏單元均是ROM 結(jié)構(gòu), 掉電后內(nèi)部的邏輯數(shù)據(jù)不會(huì)丟失。每個(gè)I /O管腳在輸出狀態(tài)下: 高電平時(shí)典型值- 4mA, 低電平典型值24mA; 每個(gè)I /O管腳在輸入狀態(tài)下: 高、低電平時(shí)均為uA級(jí)。因此輸出電氣特性: 在通常的TTL電平芯片電路中、外接驅(qū)動(dòng)不多的情況下, 可以不使用上拉電阻; 輸入電氣特性:

          一般的集成芯片都可以直接與其相連, 不會(huì)出現(xiàn)驅(qū)動(dòng)力不夠現(xiàn)象, 更不會(huì)出現(xiàn)損壞。

          2. 3 觸摸顯示屏

          顯示部分的控制芯片是SED1335, 是日本EPSON 公司生產(chǎn)的一款液晶顯示屏專用控制器, 與同類產(chǎn)品相比功能最強(qiáng)。其特點(diǎn)主要是: 有較強(qiáng)功能的I /O 緩沖器; 指令功能豐富; 4位數(shù)據(jù)并行發(fā)送; 圖形和文本方式混合顯示。觸摸部分的控制芯片是模擬數(shù)據(jù)轉(zhuǎn)換器ADS7843, 是美國(guó)T i公司生產(chǎn)的具有同步串行接口的8 位、12位數(shù)據(jù)輸出, 四線電阻模數(shù)轉(zhuǎn)換接口芯片。它通過標(biāo)準(zhǔn)SPI協(xié)議和CPU 通信; 精度高, 當(dāng)使用12位時(shí)精度達(dá)到0. 04mm, 可以達(dá)到X, Y 方向上的1/256, 1 /4096精度; 最大可接受電流? 50mA, 典型值為數(shù)uA; 工作電壓為- 0. 3- + 6V; 工作時(shí)鐘典型值2MH z即數(shù)量級(jí)是uS; 當(dāng)被按下時(shí)( 即有觸摸事件發(fā)生) ,ADS7843會(huì)發(fā)出中斷請(qǐng)求。

          在出現(xiàn)數(shù)次問題后, 我們都發(fā)現(xiàn)顯示部分正常, 而觸摸部分不正常, 也就是ADS7843的使用有問題, 其內(nèi)部結(jié)構(gòu)原理圖如圖3所示。從圖上我們可以看見主要有四通道信號(hào)轉(zhuǎn)換器、逐次逼近寄存器( SAR )、電容型數(shù)據(jù)/轉(zhuǎn)換器( CDAC )、比較器、串行接口與控制器功能模塊組成。其中與編程有關(guān)的信號(hào)是DCLK、/CS、DIN、DOUT、BUSY、/PENIRQ,數(shù)據(jù)流向見圖4所示。

          圖3 AD7843內(nèi)部原理結(jié)構(gòu)

          圖3 AD7843內(nèi)部原理結(jié)構(gòu)

          圖4 ADS7843接口圖

          圖4 ADS7843接口圖

          對(duì)于ADS7843來說, 除了電源與地線, 輸入模擬信號(hào)X+ 、X- 、Y+ 、Y - 、IN3、IN4, 輸入數(shù)字信號(hào)DCLK、/CS、DIN;輸出數(shù)字信號(hào)BUSY、DOUT、/PEN IRQ.與編程有關(guān)的均是數(shù)字信號(hào), 數(shù)據(jù)輸入、輸出、時(shí)鐘輸入均為串行方式, 最高轉(zhuǎn)換速率為1/125KH z, 線路設(shè)計(jì)結(jié)構(gòu)上比較方便只需要6根端口線就可以建立完全的數(shù)據(jù)交互。

          2. 4 現(xiàn)象分析

          采用80196的P1口的6個(gè)端口專門與其打交道, 從硬件上講是完全可以的。然而由于在編程中P1口有些端口是作輸入、有些端口需要作為輸出, 80196又沒有對(duì)位直接進(jìn)行操作的指令, 對(duì)P1某一個(gè)端口作輸出操作, 通常196會(huì)先讀P1口的8個(gè)管腳, 然后再進(jìn)行 寫!的操作, 根據(jù)P1口結(jié)構(gòu), 必然會(huì)帶來若作為輸入端口的管腳在其外部輸入信號(hào)為低時(shí), 執(zhí)行 寫!指令后出現(xiàn)了將其輸入狀態(tài)改為了輸出狀態(tài)。此時(shí)在80196與ADS7843的DOUT與/PEN IRQ這兩根線上都將出現(xiàn)了同一根線上出現(xiàn)兩個(gè)輸出信號(hào)、爭(zhēng)搶信號(hào)的問題, 這是數(shù)字電路中絕對(duì)不允許的, 它的出現(xiàn)就有可能損壞芯片。

          根據(jù)資料介紹, 在編程操作中, 當(dāng)P1口中有些管腳作為輸入, 有些管腳作為輸出時(shí)要特別注意對(duì)P1 口寫指令操作,它是一個(gè)讀、寫過程, 最好借助于一些單元。

          3 軟件設(shè)計(jì)分析

          對(duì)于按鍵的處理, 系統(tǒng)采用中斷方式, 流程如圖5所示。

          圖5按鍵流程圖

          圖5按鍵流程圖

          主要相關(guān)程序如下:

          /* 寫控制指令、讀數(shù)據(jù)子程序* /

          LDB R6, # 08H ; 寫8位控制指令代碼

          CLRC; LDB AL, COM ; 指令代碼準(zhǔn)備發(fā)送

          ADS7843_W: SHLB AL, # 1 ; 數(shù)據(jù)串行發(fā)送

          JC S_D I_1; JMP S_DI_0

          S_DI_1: LDB BL, IOPORT1 ; 將P1 口狀態(tài)保存在BL 寄存器中

          ORB BL, # 03H ; 將數(shù)據(jù)出DOUT置高, 數(shù)據(jù)入DIN 為信號(hào)輸入狀態(tài)

          LDB IOPORT1, BL ; 將修改后的狀態(tài)送至P1口

          JMP SKCLK

          S_DI_0: LDB BL, IOPORT1 ; 將P1 口狀態(tài)保存在BL 寄存器中

          ANDB BL, # 0FEH ; 將數(shù)據(jù)出DOUT 置低

          ORB BL, # 02H ; 數(shù)據(jù)入D IN為信號(hào)輸入狀態(tài)

          LDB IOPORT1, BL; 將修改后的狀態(tài)送至P1口

          SKCLK: LDB BL, IOPORT1 ; 將P1口狀態(tài)保存在BL寄存器中

          ANDB BL, # 0F7H ; 時(shí)鐘信號(hào)DCLK為低

          ORB BL, # 01H ; 將數(shù)據(jù)出DOUT 置高

          LDB IOPORT1, BL ; 將修改后的狀態(tài)送至P1口

          LDB BL, IOPORT1 ; 將P1口狀態(tài)保存在BL寄存器中

          ORB BL, # 09H ; 時(shí)鐘信號(hào)DCLK 為高, 將數(shù)據(jù)出DOUT置高

          LDB IOPORT1, BL ; 將修改后的狀態(tài)送至P1口

          DJNZ R6, ADS7843_W ; 8位指令送完

          LDB BL, IOPORT1 ; 將P1口狀態(tài)保存在BL寄存器中

          ANDB BL, # 0F7H ; 時(shí)鐘信號(hào)DCLK為低

          ORB BL, # 01H ; 將數(shù)據(jù)出DOUT 置高

          LDB IOPORT1, BL ; 將修改后的狀態(tài)送至P1口

          /* 準(zhǔn)備接受觸摸屏按鍵讀14 位數(shù)據(jù)數(shù)據(jù), 先接受低8位數(shù)據(jù)* /

          LDB R6, # 08H ; 鍵值設(shè)定方向讀低8位數(shù)據(jù)程序

          DATA_OUT: LDB BL, IOPORT1 ; 將P1口狀態(tài)保存在BL寄存器中

          ORB BL, # 09H ; 時(shí)鐘信號(hào)DCLK 為高, 將數(shù)據(jù)出DOUT置高

          LDB IOPORT1, BL ; 將修改后的狀態(tài)送至P1口

          LDB BL, IOPORT1 ; 將P1口狀態(tài)保存在BL寄存器中

          ANDB BL, # 0F7H ; 時(shí)鐘信號(hào)DCLK為低

          ORB BL, # 01H ; 將數(shù)據(jù)出DOUT 置高

          LDB IOPORT1, BL ; 將修改后的狀態(tài)送至P1口

          SHLB AL, # 1 ; 數(shù)據(jù)左移一位

          JBS IOPORT1, 0, DI_O_1 ; 判數(shù)據(jù)入DIN 高?



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();