S7846是一款4線式阻性觸摸屏控制電路,支持在1.5 V到5.25 V鍵的低壓I/O接口,有I路時(shí)鐘輸入端口(DCLK)U路串行數(shù)據(jù)輸入端(DIN)、1路串行數(shù)據(jù)輸出端(DOUT)以及I路中斷輸入(PIRQ)和忙時(shí)信號輸出(BUSY)。
[0047]1.1、TFT觸摸屏的手寫輸入信號的采集
[0048]TFT觸摸屏上手寫輸入數(shù)據(jù)的采集主要由輸入控制模塊2完成,其流程如圖2所示,當(dāng)書寫筆在觸摸屏上劃動(dòng)的時(shí)候,輸入控制模塊2從TFT觸摸屏讀取幾對相應(yīng)的值,對這些值先進(jìn)行初步的濾波,當(dāng)所讀取的值與其他大部分值都相差較大的時(shí)候,則該次讀取的值就視為干擾,重新讀取幾次,如果每一次讀取的值都相差不大,則對這些值進(jìn)行二次濾波,對所取的值去掉一個(gè)最大值與最小值后求平均值,對平均值進(jìn)行相應(yīng)的處理,就得出手寫筆在TFT觸摸屏上相應(yīng)的位置。
[0049]1.2, TFT觸摸屏的實(shí)時(shí)顯示
[0050]TFT觸摸屏對書寫信息的實(shí)時(shí)顯示,為良好的人機(jī)互動(dòng)提供了可能。整個(gè)顯示界面包括顯示區(qū)域與控制區(qū)域兩部分,如圖3所示,圖中上部分為顯示區(qū)域,下部分為控制區(qū)域。
[0051]顯不區(qū)域共有256個(gè)白色的點(diǎn),主要功能為模擬一個(gè)16X 16點(diǎn)陣,每一行的16個(gè)點(diǎn)存儲在一個(gè)整型變量當(dāng)中,當(dāng)該點(diǎn)為紅色的時(shí)候在這個(gè)整型變量中相應(yīng)的位則為1,相反當(dāng)這點(diǎn)為白色的時(shí)候,其相應(yīng)的位則為O。整個(gè)256個(gè)點(diǎn)用16個(gè)整型變量組成的數(shù)組表示。當(dāng)在書寫模式的時(shí)候,根據(jù)觸摸的點(diǎn)把相應(yīng)位置的點(diǎn)顯示為紅色,即模擬點(diǎn)陣點(diǎn)亮,并將該點(diǎn)在顯示緩沖區(qū)的相應(yīng)的位置寫入I。當(dāng)在擦除模式的時(shí)候,如觸摸屏傳回位置上相應(yīng)點(diǎn)為紅色,則置相應(yīng)點(diǎn)為白色,并將該點(diǎn)在顯示緩沖區(qū)相應(yīng)的位置寫入O。如該點(diǎn)位置為白色則不進(jìn)行相應(yīng)的處理,最后結(jié)束重新檢測TFT觸摸屏是否有數(shù)據(jù)傳回。
[0052]控制區(qū)域設(shè)置了適應(yīng)人工書寫控制的四個(gè)功能組成,分別是書寫、擦除、清屏、發(fā)送。當(dāng)觸摸到相應(yīng)的位置的時(shí)候,相應(yīng)的位置字體背景顏色換為與背景顏色相同,并切換到相應(yīng)的功能,上一個(gè)選擇功能的字體背景則換回統(tǒng)一的字體背景,方便我們識別當(dāng)前相應(yīng)的功能。不同功能有不同的效用,在書寫功能下,可以在顯示區(qū)域進(jìn)行書寫,及顯示區(qū)域相應(yīng)的點(diǎn)改變?yōu)榧t色;在擦除功能下,根據(jù)觸摸位置擦除顯示區(qū)域紅色的點(diǎn),即把相應(yīng)的點(diǎn)改變?yōu)榘咨?;在清屏功能下,?dāng)點(diǎn)擊清屏按鍵的時(shí)候,顯示區(qū)域?yàn)榧t色的點(diǎn)全部改變?yōu)榘咨?,然后返回到上一個(gè)功能;發(fā)送功能則是,將數(shù)據(jù)通過串口發(fā)送到16X64的點(diǎn)陣控制模塊,然后對顯示部分進(jìn)行清屏,重新返回書寫模式。
[0053]如圖4所示,觸摸屏顯示控制程序流程,最開始啟動(dòng)的時(shí)候?qū)︼@示屏進(jìn)行初始化,初始化內(nèi)容包括背景顏色、字體、顯示區(qū)域、控制區(qū)域以及點(diǎn)陣顯示區(qū)域的點(diǎn)的數(shù)據(jù)記錄緩沖區(qū)。然后系統(tǒng)開始檢測是否有觸摸屏數(shù)據(jù)傳入,當(dāng)有數(shù)據(jù)傳入的時(shí)候其標(biāo)志位f Iag=O,再識別其區(qū)域,根據(jù)區(qū)域不同,其相應(yīng)的顯示也不同。
[0054]2、輸入控制模塊
[0055]輸入控制模塊2主要包括單片機(jī)AT89S51及其外圍電路。AT89S51是美國ATMEL公司生產(chǎn)的低功耗,8位CMOS單片機(jī),片內(nèi)擁有4K的程序存儲的空間,同時(shí)也可以進(jìn)行一些簡單數(shù)據(jù)的存儲。單片機(jī)AT89S51同時(shí)具有4k字節(jié)的閃速存儲器,可編程I/O 口 32個(gè),OHz?33MHz工作頻率,128X8bit內(nèi)部RAM,6個(gè)中斷源,2個(gè)16位定時(shí)/計(jì)數(shù)器,全雙工串行UART通道,可喚醒的中斷,較為快速編程特性和掉電標(biāo)志等資源和特點(diǎn)。以AT89S51為核心的控制系統(tǒng)包括連接觸摸屏的控制器ILI9320接口,外圍的復(fù)位電路、外部時(shí)鐘電路以及向顯示驅(qū)動(dòng)模塊4發(fā)送外部數(shù)據(jù)所用UART接口電路。
[0056]圖5為單片機(jī)AT89S51與觸摸屏的電路連接圖。要實(shí)現(xiàn)AT89S51單片機(jī)接口對TFT觸摸屏?xí)鴮懪c顯示控制,其電路連接包含了 TFT顯示控制線、觸摸書寫控制線和電源供電連接線三個(gè)部分。其中,TFT顯示控制,使用AT89S51的PO接口與ILI9320的DlO?D17腳連接,用于數(shù)據(jù)傳輸;P2接口實(shí)現(xiàn)對TFT控制字輸出,包括P2.2實(shí)現(xiàn)對TFT的片選CS,P2.3連接TFT的讀控制信號RD,P2.4連接TFT的寫控制信號RW,P2.5連接TFT的指令/數(shù)據(jù)選擇信號RS。觸摸書寫控制,利用了 AT89S51單片機(jī)的P3接口,包括P3.2接受觸摸屏中斷信號,P3.3接受觸摸屏串行數(shù)據(jù)輸出,P3.4連接觸摸屏忙信號,P3.5連接觸摸屏串行數(shù)據(jù)輸入,P3.6連接觸摸屏片選信號,P3.7提供觸摸屏外部時(shí)鐘輸入。電源供電連接線包含了對TFT觸摸屏模塊NBCTFT2.6的5V電源供給和供地連接。
[0057]如圖6所示,AT89S51單片機(jī)其它外圍的電路連接,如復(fù)位電路、外部時(shí)鐘電路以及發(fā)送外部數(shù)據(jù)所用的接口電路。
[0058]3、通信模塊
[0059]AT89S51單片機(jī)利用其全雙工串行UART接口,連接RS232異步傳輸總線,可實(shí)現(xiàn)20m以內(nèi)遠(yuǎn)距離數(shù)據(jù)傳輸,將需要在LED電子廣告屏5上顯示的信息實(shí)時(shí)發(fā)送到顯示驅(qū)動(dòng)模塊4。單片機(jī)AT89S51通過P3.0TX,P3.1RX功能復(fù)用接口連接RS232總線,由于單片機(jī)電路為TTL電平,與RS232總線電平不匹配,因此,需要通過MAX232芯片實(shí)現(xiàn)電平轉(zhuǎn)換,其電路連接圖參見圖7。
[0060]系統(tǒng)串行通信采用中斷的方式,只有在通信的時(shí)候顯示才被短暫的打斷,進(jìn)一步提高了顯示的質(zhì)量。顯示驅(qū)動(dòng)模擬接收到由輸入控制模塊2發(fā)出,經(jīng)過RS232總線傳輸來的數(shù)據(jù)后,實(shí)時(shí)進(jìn)行存儲,其通信流程如圖8所示。
[0061]整個(gè)通信程序主要是進(jìn)行數(shù)據(jù)的接收,當(dāng)中斷接收到數(shù)據(jù)的時(shí)候,數(shù)據(jù)存儲至相應(yīng)的數(shù)組,每次讀取一個(gè)8位的數(shù)據(jù),當(dāng)讀取的次數(shù)不超過32次的時(shí)候,繼續(xù)接收數(shù)據(jù),當(dāng)接收完成后繼續(xù)接收數(shù)據(jù),直接等到接收的數(shù)據(jù)超過32次,即一個(gè)字的時(shí)候,中斷返回。
[0062]4、顯示驅(qū)動(dòng)模塊
[0063]顯示驅(qū)動(dòng)模塊4的主要功能是接收并存儲RS232異步傳輸總線傳輸來的數(shù)據(jù)和LED電子廣告屏5顯示信息的實(shí)時(shí)刷新控制。如圖9所示,整個(gè)電路包含了以單片機(jī)為核心的顯示系統(tǒng)控制器(即單片機(jī)控制子模塊4a)、信號放大子模塊4c、列驅(qū)動(dòng)子模塊4d和行驅(qū)動(dòng)子模塊4b。單片機(jī)控制子模塊4a用于接收串行通信模塊3發(fā)送的數(shù)據(jù)并進(jìn)行存儲,同時(shí)輸出列驅(qū)動(dòng)信息和行驅(qū)動(dòng)信息,該單片機(jī)控制子模塊4a的輸入端與串行通信模塊3的輸出端連接。信號放大子模塊4c對單片機(jī)控制子模塊4a輸出的列驅(qū)動(dòng)信息和行驅(qū)動(dòng)信息進(jìn)行放大,該信號放大子模塊4c的輸入端與單片機(jī)控制子模塊4a的輸出端連接。列驅(qū)動(dòng)子模塊4d基于列驅(qū)動(dòng)信息進(jìn)行LED列選通,該列驅(qū)動(dòng)子模塊4d的輸入端與信號放大子模塊4c的輸出端連接,列驅(qū)動(dòng)子模塊4d的輸出端和LED電子廣告屏5的列驅(qū)動(dòng)輸入端連接。行驅(qū)動(dòng)子模塊4b基于行驅(qū)動(dòng)信息進(jìn)行LED行選通,該行驅(qū)動(dòng)子模塊4b的輸入端與信號放大子模塊4c的輸出端連接,該行驅(qū)動(dòng)子模塊4b的輸出端與LED電子廣告屏5的行驅(qū)動(dòng)輸入端連接。其工作原理為顯示驅(qū)動(dòng)模塊4中的單片機(jī)控制子模塊4a,利用全雙工串行UART接口連接RS232總線接口,接收待顯示的實(shí)時(shí)數(shù)據(jù),同時(shí)以采用動(dòng)態(tài)掃描的方式控制LED電子廣告屏5顯示。單片機(jī)控制子模塊4a將接收到的待顯示數(shù)據(jù)分解為行驅(qū)動(dòng)信息和列驅(qū)動(dòng)信息,由74HC24?總線收發(fā)器進(jìn)行信號放大后,再分別發(fā)送到行驅(qū)動(dòng)子模塊4b和列驅(qū)動(dòng)子模塊4d。行驅(qū)動(dòng)子模塊4b通過2塊74HC138譯碼器和8個(gè)74HC4593功率放大電路,轉(zhuǎn)換形成16位LED屏行選擇信號。列驅(qū)動(dòng)子模塊4d采用了 8片74HC595級聯(lián)成一個(gè)8輸入64輸出的串并轉(zhuǎn)換器,連接到LED屏的列選端進(jìn)行驅(qū)動(dòng)。最后通過行驅(qū)動(dòng)子模塊4b和列驅(qū)動(dòng)子模塊4d的配合,以動(dòng)態(tài)掃描方式,實(shí)時(shí)顯示從TFT觸摸屏接受來的書寫數(shù)據(jù)。
[0064]4.1、單片機(jī)控制子模塊
[0065]顯示驅(qū)動(dòng)模塊4同樣以單片機(jī)AT89S51為核心,主要實(shí)現(xiàn):(I)利用P3.0TX,P3.1RX功能復(fù)用接口連接RS232總線,接收RS232異步傳輸總線發(fā)送來的待顯示數(shù)據(jù),并進(jìn)行存儲。(2)利用PO接口的P0.0?P0.7的8個(gè)I/O通用接口輸出列驅(qū)動(dòng)信號發(fā)送列驅(qū)動(dòng)子模塊4d進(jìn)行LED列選通。(3)利用P2接口的P2.0?P2.3的4個(gè)I/O通用接口輸出行驅(qū)動(dòng)信號發(fā)送行驅(qū)動(dòng)子模塊4b進(jìn)行LED行選通。
[0066]4.2、信號放大子模塊
[0067]對于傳送到LED電子廣告屏5 (本實(shí)施例中采用16X64 LED點(diǎn)陣顯示屏)的行、列控制信號,首先需要通過信號放大后再發(fā)送到行、列驅(qū)動(dòng)子模塊4d,這次才能保證所發(fā)送控制信號的驅(qū)動(dòng)能力,防止誤操作產(chǎn)生。AT89S51單片機(jī)將從RS232總線接收的待顯示數(shù)據(jù)轉(zhuǎn)換為控制LED電子廣告屏5顯示的行驅(qū)動(dòng)信息和列驅(qū)動(dòng)信息,同時(shí)連接2片74HC24?芯片對行驅(qū)動(dòng)信息和列驅(qū)動(dòng)信息進(jìn)行放大,利用PO接口的P0.0?P0.7進(jìn)行8路列驅(qū)動(dòng)信息的傳送,利用P2接口的P2.0?P2.3進(jìn)行4路行驅(qū)動(dòng)信息的傳送,利用Pl接口的Pl.0?Pl.2實(shí)現(xiàn)2片74HC24?使能控制,其電路連接圖參見圖10。74HC24?為雙溝道增強(qiáng)型的MOS管,它具有三態(tài)輸出、八路信號收發(fā)。具有較寬的工作電壓范圍,可工作在3.0V-5.0V,最大可提供83mA的驅(qū)動(dòng)電流,采用20個(gè)引腳的DIP封裝形式。主要應(yīng)用于大屏幕顯示驅(qū)動(dòng),以及其他的消費(fèi)電子產(chǎn)品。74HC24?的引腳功能真值表如圖11所示。
[0068]4.3、行驅(qū)動(dòng)子模塊
[0069]如圖12所示,行驅(qū)動(dòng)子模塊4b是由8個(gè)74HC4593功率管與2塊74HC138譯碼器所構(gòu)成的4-16譯碼器所組成的。74HC138為接口擴(kuò)展的作用,74HC4593主要是為點(diǎn)陣提供大電流的驅(qū)動(dòng)的作用,每個(gè)74HC45