




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第8 8章章 ADCADC和觸摸屏接口與應(yīng)用和觸摸屏接口與應(yīng)用 2 嵌入式系統(tǒng)中的信號測量一般都會用到嵌入式系統(tǒng)中的信號測量一般都會用到ADC, ADC測量作為嵌入式系統(tǒng)開發(fā)設(shè)計中不可缺少的測量作為嵌入式系統(tǒng)開發(fā)設(shè)計中不可缺少的 一個部分存在于各種測量裝置中。在一個部分存在于各種測量裝置中。在ARM Cortex-A8中,觸摸屏接口也要用到相應(yīng)的中,觸摸屏接口也要用到相應(yīng)的ADC口口 來進(jìn)行相應(yīng)的工作,因此,對于嵌入式開發(fā)人員來進(jìn)行相應(yīng)的工作,因此,對于嵌入式開發(fā)人員 而言,而言,ADC的學(xué)習(xí)是很重要的。的學(xué)習(xí)是很重要的。 ADC工作原理。工作原理。 觸摸屏結(jié)構(gòu)和工作原理。觸摸屏結(jié)構(gòu)和工作原
2、理。 觸摸屏控制實例。觸摸屏控制實例。 本章內(nèi)容:本章內(nèi)容: 8.1 ADC工作原理工作原理 ADC是模擬信號源和是模擬信號源和CPU之間聯(lián)系的接口,它的之間聯(lián)系的接口,它的 任務(wù)是將連續(xù)變化的模擬信號轉(zhuǎn)換為數(shù)字信號,任務(wù)是將連續(xù)變化的模擬信號轉(zhuǎn)換為數(shù)字信號, 以便計算機(jī)和數(shù)字系統(tǒng)進(jìn)行處理、存儲、控制和以便計算機(jī)和數(shù)字系統(tǒng)進(jìn)行處理、存儲、控制和 顯示。在工業(yè)控制和數(shù)據(jù)采集及許多其他領(lǐng)域中顯示。在工業(yè)控制和數(shù)據(jù)采集及許多其他領(lǐng)域中 ,A/D轉(zhuǎn)換是不可缺少的。轉(zhuǎn)換是不可缺少的。A/D轉(zhuǎn)換器的類型有逐轉(zhuǎn)換器的類型有逐 位比較型、積分型、計數(shù)型、并行比較型、電壓位比較型、積分型、計數(shù)型、并行比較型、電
3、壓- 頻率型,應(yīng)主要根據(jù)使用場合的具體要求,安裝頻率型,應(yīng)主要根據(jù)使用場合的具體要求,安裝 轉(zhuǎn)換速度、精度、價格、功能和接口條件等因素轉(zhuǎn)換速度、精度、價格、功能和接口條件等因素 來決定選擇何種類型。常用的來決定選擇何種類型。常用的AD轉(zhuǎn)換器有以下兩轉(zhuǎn)換器有以下兩 種。種。 1. 雙積分的雙積分的AD轉(zhuǎn)換器轉(zhuǎn)換器 雙積分式也稱為二重積分式,其實質(zhì)是測量和比雙積分式也稱為二重積分式,其實質(zhì)是測量和比 較連個積分的時間,一個是對模擬輸入電壓積分較連個積分的時間,一個是對模擬輸入電壓積分 的時間,此時間往往是固定的;另一個是以充電的時間,此時間往往是固定的;另一個是以充電 后的電壓為初值,對參考電壓反
4、向積分,積分電后的電壓為初值,對參考電壓反向積分,積分電 容被放電至零所需的時間。模擬輸入電壓與參考容被放電至零所需的時間。模擬輸入電壓與參考 電壓之比,等于上述兩個時間之比。電壓之比,等于上述兩個時間之比。 雙積分的雙積分的AD轉(zhuǎn)換器轉(zhuǎn)換器 由于雙積分型由于雙積分型AD轉(zhuǎn)換是測量輸入電壓在轉(zhuǎn)換是測量輸入電壓在T0時間內(nèi)時間內(nèi) 的平均值,所以對常態(tài)干擾有很強(qiáng)的抑制作用,的平均值,所以對常態(tài)干擾有很強(qiáng)的抑制作用, 尤其對正負(fù)波形對稱的干擾信號,抑制效果更好尤其對正負(fù)波形對稱的干擾信號,抑制效果更好 。 雙積分型的雙積分型的AD轉(zhuǎn)換器電路簡單,抗干擾能力強(qiáng),轉(zhuǎn)換器電路簡單,抗干擾能力強(qiáng), 精度高,
5、這是突出的優(yōu)點。但轉(zhuǎn)換速度比較慢,精度高,這是突出的優(yōu)點。但轉(zhuǎn)換速度比較慢, 常用的常用的AD轉(zhuǎn)換芯片的轉(zhuǎn)換時間為毫秒級。因此適轉(zhuǎn)換芯片的轉(zhuǎn)換時間為毫秒級。因此適 用于模擬信號變換緩慢,采樣速率要求較低,而用于模擬信號變換緩慢,采樣速率要求較低,而 對精度要求較高,或現(xiàn)場干擾較嚴(yán)重的場合,例對精度要求較高,或現(xiàn)場干擾較嚴(yán)重的場合,例 如,在數(shù)字電壓表中長被采用。如,在數(shù)字電壓表中長被采用。 2. 逐次逼近型的逐次逼近型的AD轉(zhuǎn)換器轉(zhuǎn)換器 逐次逼近型的逐次逼近型的AD轉(zhuǎn)換器,其應(yīng)用比積分型更為廣泛,主轉(zhuǎn)換器,其應(yīng)用比積分型更為廣泛,主 要有逐次逼近寄存器要有逐次逼近寄存器SAR、DA轉(zhuǎn)換器、比較
6、器,以及時轉(zhuǎn)換器、比較器,以及時 序和控制邏輯等部分組成。它的實質(zhì)是逐次把設(shè)定的序和控制邏輯等部分組成。它的實質(zhì)是逐次把設(shè)定的SAR 寄存器中的數(shù)字量經(jīng)寄存器中的數(shù)字量經(jīng)DA轉(zhuǎn)換后得到電壓與待轉(zhuǎn)換模擬電轉(zhuǎn)換后得到電壓與待轉(zhuǎn)換模擬電 壓進(jìn)行比較。比較時,先用壓進(jìn)行比較。比較時,先用SAR的最高位開始,逐次確定的最高位開始,逐次確定 各位的數(shù)碼影視各位的數(shù)碼影視“1”還是還是“0”,其工作過程如下:,其工作過程如下: 轉(zhuǎn)換前,先將轉(zhuǎn)換前,先將SAR寄存器各位清零。轉(zhuǎn)換開始時,控制邏寄存器各位清零。轉(zhuǎn)換開始時,控制邏 輯電路先設(shè)定輯電路先設(shè)定SAR寄存器的最高位為寄存器的最高位為“1”,其余位為,其
7、余位為0, 此試探值經(jīng)此試探值經(jīng)DA轉(zhuǎn)換成轉(zhuǎn)換成Vc,然后將,然后將Vc與模擬輸入電壓與模擬輸入電壓Vx比比 較,如果較,如果VxVc,說明,說明SAR最高位的最高位的“1”應(yīng)予保留;如果應(yīng)予保留;如果 VxV c,說明,說明SAR該位應(yīng)予清零。然后對該位應(yīng)予清零。然后對SAR次高位置次高位置1 ,依上述方法進(jìn)行,依上述方法進(jìn)行DA轉(zhuǎn)換和比較。如此重復(fù)上述過程,轉(zhuǎn)換和比較。如此重復(fù)上述過程, 直至確定直至確定SAR寄存器的最低位為止。過程結(jié)束后,狀態(tài)線寄存器的最低位為止。過程結(jié)束后,狀態(tài)線 改變狀態(tài),表名已完成一次轉(zhuǎn)換。改變狀態(tài),表名已完成一次轉(zhuǎn)換。 最后,逐次逼近寄存器最后,逐次逼近寄存器S
8、AR中的內(nèi)容就是與輸入中的內(nèi)容就是與輸入 模擬量相對應(yīng)的二進(jìn)制數(shù)字量。顯然模擬量相對應(yīng)的二進(jìn)制數(shù)字量。顯然AD轉(zhuǎn)換器的轉(zhuǎn)換器的 位數(shù)位數(shù)N決定于決定于SAR的位數(shù)和的位數(shù)和DA的位數(shù),轉(zhuǎn)換結(jié)的位數(shù),轉(zhuǎn)換結(jié) 果能否準(zhǔn)確逼近模擬信號,主要取決于果能否準(zhǔn)確逼近模擬信號,主要取決于SAR和和DA 的位數(shù)。位數(shù)越多,越能準(zhǔn)確逼近模擬量,但轉(zhuǎn)的位數(shù)。位數(shù)越多,越能準(zhǔn)確逼近模擬量,但轉(zhuǎn) 換所需的時間也越長。換所需的時間也越長。 逐次逼近型逐次逼近型AD轉(zhuǎn)換器特點轉(zhuǎn)換器特點:轉(zhuǎn)換速度較快,在:轉(zhuǎn)換速度較快,在1- 100us以內(nèi);分辨率可以達(dá)以內(nèi);分辨率可以達(dá)18位,特別適用于工業(yè)位,特別適用于工業(yè) 控制系統(tǒng)
9、。轉(zhuǎn)換時間固定,不隨輸入信號的變化控制系統(tǒng)。轉(zhuǎn)換時間固定,不隨輸入信號的變化 而變化;抗干擾能力相對積分型的差。而變化;抗干擾能力相對積分型的差。 8.2 觸摸屏結(jié)構(gòu)和工作原理觸摸屏結(jié)構(gòu)和工作原理 觸摸屏作為一種最新的計算機(jī)輸入設(shè)備,是目前觸摸屏作為一種最新的計算機(jī)輸入設(shè)備,是目前 最簡單、方便、自然的一種人機(jī)交互方式。觸摸最簡單、方便、自然的一種人機(jī)交互方式。觸摸 屏應(yīng)用領(lǐng)域非常廣闊,主要是公共信息的查詢,屏應(yīng)用領(lǐng)域非常廣闊,主要是公共信息的查詢, 如電信局、稅務(wù)局、銀行、電力等部門的業(yè)務(wù)查如電信局、稅務(wù)局、銀行、電力等部門的業(yè)務(wù)查 詢;城市街頭的信息查詢;此外也常用于領(lǐng)導(dǎo)辦詢;城市街頭的信
10、息查詢;此外也常用于領(lǐng)導(dǎo)辦 公、工業(yè)控制、軍事指揮、電子游戲、點歌點菜公、工業(yè)控制、軍事指揮、電子游戲、點歌點菜 、多媒體教學(xué)、房地產(chǎn)預(yù)售等?,F(xiàn)在,觸摸屏已、多媒體教學(xué)、房地產(chǎn)預(yù)售等?,F(xiàn)在,觸摸屏已 經(jīng)走入家庭。經(jīng)走入家庭。 隨著城市向信息化方向發(fā)展和電腦網(wǎng)絡(luò)在國民生隨著城市向信息化方向發(fā)展和電腦網(wǎng)絡(luò)在國民生 活中的滲透,信息查詢都已用觸摸屏實現(xiàn),即顯活中的滲透,信息查詢都已用觸摸屏實現(xiàn),即顯 示內(nèi)容可觸摸的形式出現(xiàn)。示內(nèi)容可觸摸的形式出現(xiàn)。 8.2.1 觸摸屏的工作原理觸摸屏的工作原理 按照觸摸屏的工作原理和傳輸信息的介質(zhì),分為四類:分按照觸摸屏的工作原理和傳輸信息的介質(zhì),分為四類:分 別為
11、電阻式、電容式、紅外線式和表面聲波式。別為電阻式、電容式、紅外線式和表面聲波式。 1. 電阻式觸摸屏電阻式觸摸屏 電阻式觸摸屏是利用壓力感應(yīng)進(jìn)行控制,其主要部分是電阻式觸摸屏是利用壓力感應(yīng)進(jìn)行控制,其主要部分是 一塊玻璃或硬塑料平板作為基層,表面涂有一層透明氧化一塊玻璃或硬塑料平板作為基層,表面涂有一層透明氧化 金屬導(dǎo)電層,上面再蓋有一層外表面硬化處理、光滑防擦金屬導(dǎo)電層,上面再蓋有一層外表面硬化處理、光滑防擦 的塑料層。的塑料層。 當(dāng)手指觸摸屏幕時,兩層導(dǎo)電層在觸摸點位置就有了接觸當(dāng)手指觸摸屏幕時,兩層導(dǎo)電層在觸摸點位置就有了接觸 ,電阻發(fā)送變化,在,電阻發(fā)送變化,在X和和Y兩個方向上產(chǎn)生信
12、號,然后送兩個方向上產(chǎn)生信號,然后送 觸摸屏控制器??刂破鱾蓽y到這一接觸器并計算出(觸摸屏控制器??刂破鱾蓽y到這一接觸器并計算出(X,Y )的位置。)的位置。 2. 電容式觸摸屏電容式觸摸屏 電容式觸摸屏是利用人體的電流感應(yīng)進(jìn)行工作的電容式觸摸屏是利用人體的電流感應(yīng)進(jìn)行工作的 。電容式觸摸屏是一塊四層復(fù)合玻璃屏,玻璃層。電容式觸摸屏是一塊四層復(fù)合玻璃屏,玻璃層 的內(nèi)表面和夾層個涂油一層的內(nèi)表面和夾層個涂油一層ITO,最外層是一薄,最外層是一薄 層矽土玻璃保護(hù)層,夾層層矽土玻璃保護(hù)層,夾層ITO涂層作為工作面,涂層作為工作面, 四個角上引出四個電極,內(nèi)層四個角上引出四個電極,內(nèi)層ITO為屏蔽層以
13、保為屏蔽層以保 證良好的工作環(huán)境。證良好的工作環(huán)境。 電容觸摸屏的透光率和清晰度優(yōu)于四線電阻屏,電容觸摸屏的透光率和清晰度優(yōu)于四線電阻屏, 當(dāng)然還不能和表面聲波屏與五線電阻屏相比。電當(dāng)然還不能和表面聲波屏與五線電阻屏相比。電 容屏反光嚴(yán)重,而且觸摸屏對各波長光的折光率容屏反光嚴(yán)重,而且觸摸屏對各波長光的折光率 不均勻,存在色彩失真的問題,由于光線在各層不均勻,存在色彩失真的問題,由于光線在各層 間的反射,還造成圖像字符的模糊。間的反射,還造成圖像字符的模糊。 電容屏更主要的缺點是漂移,當(dāng)環(huán)境溫度、濕度電容屏更主要的缺點是漂移,當(dāng)環(huán)境溫度、濕度 改變時,環(huán)境電場發(fā)生改變時,都會引起電容屏改變時,
14、環(huán)境電場發(fā)生改變時,都會引起電容屏 的漂移,造成觸摸點判斷不準(zhǔn)確。例如,開機(jī)后的漂移,造成觸摸點判斷不準(zhǔn)確。例如,開機(jī)后 顯示器溫度上升會造成漂移,用戶觸摸屏幕的同顯示器溫度上升會造成漂移,用戶觸摸屏幕的同 時另一只手或身體一側(cè)靠近顯示器會漂移;電容時另一只手或身體一側(cè)靠近顯示器會漂移;電容 觸摸屏附近較大的物體搬移后會漂移,觸摸時如觸摸屏附近較大的物體搬移后會漂移,觸摸時如 果有人圍過來觀看也會引起漂移。電容屏的漂移果有人圍過來觀看也會引起漂移。電容屏的漂移 原因?qū)儆诩夹g(shù)上的先天不足,環(huán)境電勢面雖然與原因?qū)儆诩夹g(shù)上的先天不足,環(huán)境電勢面雖然與 電容觸摸屏離得很遠(yuǎn),卻比手指頭面積大得多,電容觸
15、摸屏離得很遠(yuǎn),卻比手指頭面積大得多, 它們會直接影響觸摸位置的測定。它們會直接影響觸摸位置的測定。 3. 紅外線式觸摸屏紅外線式觸摸屏 紅外線式觸摸屏是利用紅外線式觸摸屏是利用X、 Y方向上密布的紅外線矩陣方向上密布的紅外線矩陣 來檢測并定位用戶的觸摸。來檢測并定位用戶的觸摸。 紅外線式觸摸屏在顯示器的紅外線式觸摸屏在顯示器的 前面安裝一個電路板外框,前面安裝一個電路板外框, 電路板在屏幕四邊排布紅外電路板在屏幕四邊排布紅外 線發(fā)射管和紅外接收管,一線發(fā)射管和紅外接收管,一 一對應(yīng)形成橫豎兩條紅外線一對應(yīng)形成橫豎兩條紅外線 ,因而可以判斷出觸摸點在,因而可以判斷出觸摸點在 屏幕的位置。任何觸摸
16、物理屏幕的位置。任何觸摸物理 都可改變觸電上的紅外線而都可改變觸電上的紅外線而 實現(xiàn)觸摸屏操作。實現(xiàn)觸摸屏操作。 早期觀念上,紅外線式觸摸屏存在分辨率低、觸摸方式受早期觀念上,紅外線式觸摸屏存在分辨率低、觸摸方式受 限制和易受環(huán)境干擾而誤動作等技術(shù)上的局限,因而一度限制和易受環(huán)境干擾而誤動作等技術(shù)上的局限,因而一度 淡出過市場。此外第二代紅外屏部分解決了抗光干擾的問淡出過市場。此外第二代紅外屏部分解決了抗光干擾的問 題,第三代和第四代在提升分辨率和穩(wěn)定性能上也有所改題,第三代和第四代在提升分辨率和穩(wěn)定性能上也有所改 進(jìn),但都沒有在關(guān)鍵指標(biāo)或綜合性能上有質(zhì)的飛躍。但是進(jìn),但都沒有在關(guān)鍵指標(biāo)或綜合
17、性能上有質(zhì)的飛躍。但是 ,了解觸摸屏技術(shù)的人都知道,紅外線式觸摸屏不受電流,了解觸摸屏技術(shù)的人都知道,紅外線式觸摸屏不受電流 、電壓和靜電干擾,適宜惡劣的環(huán)境條件,紅外技術(shù)是觸、電壓和靜電干擾,適宜惡劣的環(huán)境條件,紅外技術(shù)是觸 摸屏產(chǎn)品最終的發(fā)展趨勢。采用聲學(xué)和其他材料學(xué)技術(shù)的摸屏產(chǎn)品最終的發(fā)展趨勢。采用聲學(xué)和其他材料學(xué)技術(shù)的 觸摸屏都有其難以逾越的屏障,如單一傳感器的受損、老觸摸屏都有其難以逾越的屏障,如單一傳感器的受損、老 化,觸摸界面怕受污染、破壞性使用,維護(hù)繁瑣等問題?;?,觸摸界面怕受污染、破壞性使用,維護(hù)繁瑣等問題。 紅外觸摸屏只要真正實現(xiàn)了高穩(wěn)定性能和高分辨率,必將紅外觸摸屏只要真
18、正實現(xiàn)了高穩(wěn)定性能和高分辨率,必將 替代其他技術(shù)產(chǎn)品而成為觸摸屏市場主流。替代其他技術(shù)產(chǎn)品而成為觸摸屏市場主流。 4. 表面聲波式觸摸屏表面聲波式觸摸屏 表面聲波觸摸屏的觸摸屏部分可以是一塊平面、球面或是表面聲波觸摸屏的觸摸屏部分可以是一塊平面、球面或是 柱面的玻璃平板,安裝在柱面的玻璃平板,安裝在CRT、LED、LCD或者等離子顯或者等離子顯 示器屏幕的前面。玻璃屏的左上角和右下角各固定了豎直示器屏幕的前面。玻璃屏的左上角和右下角各固定了豎直 和水平方向的超聲波發(fā)射換能器,右上角則固定了兩個相和水平方向的超聲波發(fā)射換能器,右上角則固定了兩個相 應(yīng)的超聲波接收換能器。環(huán)境屏的四個周邊則刻有應(yīng)的
19、超聲波接收換能器。環(huán)境屏的四個周邊則刻有45度角度角 由疏到密間隔非常精密的反射條紋。表面觸摸屏的工作原由疏到密間隔非常精密的反射條紋。表面觸摸屏的工作原 理如圖所示。理如圖所示。 以右下角的以右下角的X軸發(fā)射換能器為例,發(fā)射換能器把控制器通軸發(fā)射換能器為例,發(fā)射換能器把控制器通 過觸摸屏電纜送來的電信號轉(zhuǎn)化為聲波能量向左方表面?zhèn)鬟^觸摸屏電纜送來的電信號轉(zhuǎn)化為聲波能量向左方表面?zhèn)?遞,然后由玻璃板下邊的一組精密反射條紋把聲波能量反遞,然后由玻璃板下邊的一組精密反射條紋把聲波能量反 射成向上的均勻面?zhèn)鬟f,聲波能量經(jīng)過屏體表面,再由上射成向上的均勻面?zhèn)鬟f,聲波能量經(jīng)過屏體表面,再由上 邊的反射條紋
20、聚成向右的線傳播給邊的反射條紋聚成向右的線傳播給X軸的接收換能器,接軸的接收換能器,接 收換能器將返回的表面聲波能量變?yōu)殡娦盘枴.?dāng)發(fā)射換能收換能器將返回的表面聲波能量變?yōu)殡娦盘?。?dāng)發(fā)射換能 器發(fā)射一個窄脈沖后,聲波能量歷經(jīng)不同途徑到達(dá)接收換器發(fā)射一個窄脈沖后,聲波能量歷經(jīng)不同途徑到達(dá)接收換 能器,走最右邊的最早到達(dá),走最左邊的最晚到達(dá),早到能器,走最右邊的最早到達(dá),走最左邊的最晚到達(dá),早到 達(dá)的和晚到達(dá)的這些聲波能量加成一個較寬的波形信號,達(dá)的和晚到達(dá)的這些聲波能量加成一個較寬的波形信號, 不難看出,接收信號集合了所有在不難看出,接收信號集合了所有在X軸方向歷經(jīng)長短不同軸方向歷經(jīng)長短不同 路徑
21、回歸的聲波能量,它們在路徑回歸的聲波能量,它們在Y軸走過的路程是相同的。軸走過的路程是相同的。 但在但在X軸上,最遠(yuǎn)的比最近的多走了兩倍軸上,最遠(yuǎn)的比最近的多走了兩倍X軸最大距離。軸最大距離。 因此這個波形信號的時間軸反映各原始波形疊加前的位置因此這個波形信號的時間軸反映各原始波形疊加前的位置 ,也就是,也就是X軸坐標(biāo)。軸坐標(biāo)。 表面式波式觸摸屏的優(yōu)點表面式波式觸摸屏的優(yōu)點是清晰度較高,透光率是清晰度較高,透光率 好;高度耐久,抗刮傷性良好(相對與電阻、電好;高度耐久,抗刮傷性良好(相對與電阻、電 容等有表面度膜);反應(yīng)靈敏;不受溫度、濕度容等有表面度膜);反應(yīng)靈敏;不受溫度、濕度 等環(huán)境因素
22、影響;分辨率高,壽命長;透光率高等環(huán)境因素影響;分辨率高,壽命長;透光率高 (92%),能保持清晰透亮的圖像質(zhì)量;沒有漂),能保持清晰透亮的圖像質(zhì)量;沒有漂 移,只需安裝時一次校正;有第三軸(即重力軸移,只需安裝時一次校正;有第三軸(即重力軸 )響應(yīng),目前在公共場所使用較多。)響應(yīng),目前在公共場所使用較多。 8.3 S5PV210 中的觸摸屏接口中的觸摸屏接口 S5PV210的的CMOS魔術(shù)轉(zhuǎn)換器可以接收魔術(shù)轉(zhuǎn)換器可以接收10個通道個通道 的模擬信號輸入,并將它們轉(zhuǎn)換為的模擬信號輸入,并將它們轉(zhuǎn)換為10位或位或12位的位的 二進(jìn)制數(shù)據(jù)。在二進(jìn)制數(shù)據(jù)。在5MHZ的的AD轉(zhuǎn)換時鐘下,最大的轉(zhuǎn)換時鐘
23、下,最大的 轉(zhuǎn)換速率可達(dá)到轉(zhuǎn)換速率可達(dá)到1MSPS(每秒采樣的次數(shù))。(每秒采樣的次數(shù))。 ADC支持低功耗模式。支持低功耗模式。 S5PV210的觸摸屏接口可以控制輸入引腳(的觸摸屏接口可以控制輸入引腳(XP、 XM、YP和和YM)來獲得外部觸摸屏設(shè)備上的)來獲得外部觸摸屏設(shè)備上的X、 Y位置。觸摸屏接口包括三個主要模塊,及觸摸屏位置。觸摸屏接口包括三個主要模塊,及觸摸屏 控制邏輯、控制邏輯、ADC接口邏輯和中斷生成邏輯;有兩接口邏輯和中斷生成邏輯;有兩 套觸摸屏接口,共享一個套觸摸屏接口,共享一個ADC。 S5PV210的的ADC和觸摸屏接口具有以下特征。和觸摸屏接口具有以下特征。 分辨率
24、:分辨率:10位位/12位(可選)位(可選) 微分非線性誤差:微分非線性誤差:1LSB(最大)(最大) 積分非線性誤差:積分非線性誤差:4.0LSB(最大)。(最大)。 最大:最大:1MSPS轉(zhuǎn)換率。轉(zhuǎn)換率。 低功耗。低功耗。 3.3V電源電壓。電源電壓。 模擬輸入范圍為模擬輸入范圍為0-3.3V。 芯片采樣和保持功能。芯片采樣和保持功能。 正常模式轉(zhuǎn)換。正常模式轉(zhuǎn)換。 單獨的單獨的X、Y位置轉(zhuǎn)換模式。位置轉(zhuǎn)換模式。 自動的自動的X、Y位置轉(zhuǎn)換模式。位置轉(zhuǎn)換模式。 等待中的模式。等待中的模式。 IDLE、DiDLED、STOP和和DSTOP模式喚醒源。模式喚醒源。 兩個觸摸屏接口。兩個觸摸屏接
25、口。 圖圖 S5PV210的的ADC和觸摸屏接口結(jié)構(gòu)和觸摸屏接口結(jié)構(gòu) 8.3.1 ADC工作模式工作模式 (1)普通轉(zhuǎn)換模式。用于一般的)普通轉(zhuǎn)換模式。用于一般的AD轉(zhuǎn)換,不用于觸摸屏轉(zhuǎn)換,不用于觸摸屏 。 (2)分離的)分離的X、Y坐標(biāo)轉(zhuǎn)換模式。分兩步進(jìn)行坐標(biāo)轉(zhuǎn)換模式。分兩步進(jìn)行X、Y坐標(biāo)轉(zhuǎn)坐標(biāo)轉(zhuǎn) 換,其轉(zhuǎn)換結(jié)果分別存于換,其轉(zhuǎn)換結(jié)果分別存于TSDATXn和和TSDATYn中,并且中,并且 均會產(chǎn)生均會產(chǎn)生INT_ADC中斷請求。中斷請求。 (3)連續(xù))連續(xù)X、Y坐標(biāo)轉(zhuǎn)換模式。坐標(biāo)轉(zhuǎn)換模式。X坐標(biāo)轉(zhuǎn)換結(jié)束后自動啟坐標(biāo)轉(zhuǎn)換結(jié)束后自動啟 動動Y坐標(biāo)轉(zhuǎn)換,其轉(zhuǎn)換結(jié)果分別存于坐標(biāo)轉(zhuǎn)換,其轉(zhuǎn)換結(jié)果分別
26、存于TSDATXn中和中和 TSDATYn中,并且會產(chǎn)生中,并且會產(chǎn)生INT_ADC中斷請求。中斷請求。 (4)等待中斷轉(zhuǎn)換模式。在該模式下,轉(zhuǎn)換器等待使用)等待中斷轉(zhuǎn)換模式。在該模式下,轉(zhuǎn)換器等待使用 者按壓觸摸屏,一旦觸摸屏被按壓,則產(chǎn)生者按壓觸摸屏,一旦觸摸屏被按壓,則產(chǎn)生INT_ADC觸觸 摸屏中斷請求。摸屏中斷請求。 8.3.2 觸摸屏接口模式觸摸屏接口模式 當(dāng)當(dāng)PCLK頻率為頻率為66MHZ和預(yù)分頻器值為和預(yù)分頻器值為65,總共,總共 12位轉(zhuǎn)換時間如下:位轉(zhuǎn)換時間如下: AD轉(zhuǎn)換器頻率轉(zhuǎn)換器頻率=66 MHz/(65+1)=1 MHz 轉(zhuǎn)換時間轉(zhuǎn)換時間=1/(1 MHz/5 cy
27、cles)=1/200 kHz=5 us 注意,這里的注意,這里的AD轉(zhuǎn)換器設(shè)計在最大轉(zhuǎn)換器設(shè)計在最大5MHz時鐘下時鐘下 工作,所以轉(zhuǎn)換率最高達(dá)到工作,所以轉(zhuǎn)換率最高達(dá)到1 MSPS。觸摸屏接口。觸摸屏接口 模式可以分為正常轉(zhuǎn)換模式,分離模式可以分為正常轉(zhuǎn)換模式,分離X、Y坐標(biāo)轉(zhuǎn)換坐標(biāo)轉(zhuǎn)換 模式,自動(連續(xù))模式,自動(連續(xù))X、Y坐標(biāo)轉(zhuǎn)換模式,等待中坐標(biāo)轉(zhuǎn)換模式,等待中 斷模式和備用模式五種。斷模式和備用模式五種。 1. 普通轉(zhuǎn)換模式普通轉(zhuǎn)換模式 在普通轉(zhuǎn)換模式下,在普通轉(zhuǎn)換模式下,AIN0-AIN9的操作是相同的的操作是相同的 。初始化時,設(shè)置。初始化時,設(shè)置ADC控制寄存器控制寄存器T
28、SADCCON0 和觸摸屏控制寄存器和觸摸屏控制寄存器TSCONn ,把所有的開關(guān)和,把所有的開關(guān)和 下拉電阻關(guān)閉。轉(zhuǎn)換后的數(shù)據(jù)可以從下拉電阻關(guān)閉。轉(zhuǎn)換后的數(shù)據(jù)可以從ADC轉(zhuǎn)換數(shù)轉(zhuǎn)換數(shù) 據(jù)據(jù)X寄存器中讀出。寄存器中讀出。 注意:在普通轉(zhuǎn)換模式下,注意:在普通轉(zhuǎn)換模式下,TSADCCON1是不用是不用 的的 2. 分離的分離的X、Y坐標(biāo)轉(zhuǎn)換模式坐標(biāo)轉(zhuǎn)換模式 這種模式包含兩種狀態(tài),即這種模式包含兩種狀態(tài),即X坐標(biāo)測量狀態(tài)和坐標(biāo)測量狀態(tài)和Y坐坐 標(biāo)測量狀態(tài)。標(biāo)測量狀態(tài)。X坐標(biāo)測量狀態(tài)。坐標(biāo)測量狀態(tài)。X坐標(biāo)測量狀態(tài)操坐標(biāo)測量狀態(tài)操 作步驟:作步驟: TSCONn的值設(shè)為的值設(shè)為0 x69. TSADC
29、CONn設(shè)為開始轉(zhuǎn)換。設(shè)為開始轉(zhuǎn)換。 X坐標(biāo)轉(zhuǎn)換完成后產(chǎn)生中斷請求。坐標(biāo)轉(zhuǎn)換完成后產(chǎn)生中斷請求。 從從TSDATXn中讀出轉(zhuǎn)換后的中讀出轉(zhuǎn)換后的X坐標(biāo)。坐標(biāo)。 Y坐標(biāo)轉(zhuǎn)換操作步驟與坐標(biāo)轉(zhuǎn)換操作步驟與X坐標(biāo)類似,不同的是,坐標(biāo)類似,不同的是, TSCONn的值應(yīng)設(shè)為的值應(yīng)設(shè)為0 x9a。 3. 連續(xù)連續(xù)X、Y坐標(biāo)轉(zhuǎn)換模式坐標(biāo)轉(zhuǎn)換模式 將將TSCONn的值設(shè)為的值設(shè)為0 x5c啟動該模式,啟動該模式,X坐標(biāo)轉(zhuǎn)換坐標(biāo)轉(zhuǎn)換 結(jié)束后自動啟動結(jié)束后自動啟動Y坐標(biāo)轉(zhuǎn)換,其轉(zhuǎn)換結(jié)果分別存于坐標(biāo)轉(zhuǎn)換,其轉(zhuǎn)換結(jié)果分別存于 TSDATXn和和TSDATYn中,并且會產(chǎn)生中,并且會產(chǎn)生INT_ADC 中斷請求。中斷請
30、求。 4. 等待中斷轉(zhuǎn)換模式等待中斷轉(zhuǎn)換模式 當(dāng)筆尖落下時觸摸屏控制器產(chǎn)生中斷(當(dāng)筆尖落下時觸摸屏控制器產(chǎn)生中斷(INT_TC) 信號。信號。TSCON7:0的值應(yīng)設(shè)為的值應(yīng)設(shè)為0 xd3,此時,下拉電此時,下拉電 阻激活,阻激活,XP禁用,禁用,XM激活。激活。 觸摸屏控制器產(chǎn)生中斷信號后,必須清除等待中觸摸屏控制器產(chǎn)生中斷信號后,必須清除等待中 斷模式。斷模式。 5. 備用模式備用模式 當(dāng)當(dāng)TSADCCON0的的TSSEL位為位為0、STANDBY位為位為 1時,備用模式激活。在此模式下,時,備用模式激活。在此模式下,AD轉(zhuǎn)換操作轉(zhuǎn)換操作 停止,停止,TSDATXn和和TSDATYn寄存器
31、保留先前的寄存器保留先前的 轉(zhuǎn)換數(shù)據(jù)。轉(zhuǎn)換數(shù)據(jù)。 進(jìn)行編程時注意:進(jìn)行編程時注意: (1)AD轉(zhuǎn)換的數(shù)據(jù)可以通過中斷或查詢的方式轉(zhuǎn)換的數(shù)據(jù)可以通過中斷或查詢的方式 來訪問。來訪問。 (2)提供另外的開啟)提供另外的開啟AD轉(zhuǎn)換的方法。轉(zhuǎn)換的方法。 (3)如果在)如果在IDLE、DIDLE、STOP和和DSTOP模模 式下使用式下使用INT_PEN中斷作為喚醒源,中斷作為喚醒源,TSCONn的的 XY_PST位應(yīng)該設(shè)為等待終端模式,即位應(yīng)該設(shè)為等待終端模式,即11。 8.4 硬件連接硬件連接 觸摸屏硬件連接如圖:觸摸屏硬件連接如圖: 觸摸屏與觸摸屏與CPU連接的引腳功能連接的引腳功能: 觸摸屏工
32、作原理:觸摸屏工作原理:測量測量X坐標(biāo)時,從坐標(biāo)時,從XP輸出地電壓給輸出地電壓給X+端端 ,從,從XM輸出的地電壓給輸出的地電壓給X-端;從端;從YP輸入按壓點電壓。測輸入按壓點電壓。測 量量Y坐標(biāo)時,從坐標(biāo)時,從YP輸出低電壓給輸出低電壓給Y+端,從端,從YM輸出的地電輸出的地電 壓給壓給Y-端;從輸入按壓點電壓。端;從輸入按壓點電壓。 8.5 ADC及觸摸屏接口特殊寄存器及觸摸屏接口特殊寄存器 以下講解以以下講解以TS0為例,為例,TS1的設(shè)置與的設(shè)置與TS0類似,詳類似,詳 細(xì)可參看細(xì)可參看S5pv210數(shù)據(jù)手冊。數(shù)據(jù)手冊。 1. ADC控制寄存器控制寄存器TSADCCON0 ADC控
33、制寄存器控制寄存器TSADCCON0是可以進(jìn)行讀寫的是可以進(jìn)行讀寫的 寄存器,地址為寄存器,地址為0 xE170_0000,復(fù)位值為,復(fù)位值為 0 x0000_3FC4.在這個寄存器中,可以設(shè)置選擇接在這個寄存器中,可以設(shè)置選擇接 入的觸摸屏(入的觸摸屏(0/1),還可以設(shè)定轉(zhuǎn)換值的位數(shù)(還可以設(shè)定轉(zhuǎn)換值的位數(shù)( 10/12位)。位)。 注意注意(1)當(dāng)?shù)却|摸屏中斷時,)當(dāng)?shù)却|摸屏中斷時,XP_SEN位應(yīng)該位應(yīng)該 置置1且且PULL_UP 位應(yīng)該置位應(yīng)該置0. (2)僅在自動連續(xù))僅在自動連續(xù)X、Y坐標(biāo)轉(zhuǎn)換中,坐標(biāo)轉(zhuǎn)換中, AUTO_PST位應(yīng)該設(shè)置為位應(yīng)該設(shè)置為1. ADC及觸摸屏接口特
34、殊寄存器及觸摸屏接口特殊寄存器 1. ADC控制寄存器控制寄存器TSADCCON0 ADC控制寄存器控制寄存器TSADCCON0是可以進(jìn)行讀寫的是可以進(jìn)行讀寫的 寄存器,地址為寄存器,地址為0 xE170_0000,復(fù)位值為,復(fù)位值為 0 x0000_3FC4.在這個寄存器中,我們可以設(shè)置選在這個寄存器中,我們可以設(shè)置選 擇接入的觸摸屏(擇接入的觸摸屏(0/1),還可以設(shè)定轉(zhuǎn)換值的位),還可以設(shè)定轉(zhuǎn)換值的位 數(shù)(數(shù)(10/12位)。位)。ADCCON寄存器的位定義詳情如寄存器的位定義詳情如 下圖所示。下圖所示。 2 ADC觸摸屏控制寄存器觸摸屏控制寄存器TSCON0 ADC觸摸屏控制寄存器觸摸
35、屏控制寄存器ADCTSC是可以進(jìn)行讀寫是可以進(jìn)行讀寫 的寄存器,地址為的寄存器,地址為0 xE170_0004,復(fù)位值為,復(fù)位值為 0 x0000_0058.TSCON0寄存器的位定義詳情查看寄存器的位定義詳情查看 S5PV210的數(shù)據(jù)手冊。的數(shù)據(jù)手冊。 注意:注意: (1)當(dāng)?shù)却|摸屏中斷時,)當(dāng)?shù)却|摸屏中斷時,XP_SEN位應(yīng)該置位應(yīng)該置1 且且PULL_UP為應(yīng)該置為應(yīng)該置0. (2)僅在自動連續(xù))僅在自動連續(xù)X、Y坐標(biāo)轉(zhuǎn)換中,坐標(biāo)轉(zhuǎn)換中, AUTO_PST位應(yīng)該置位應(yīng)該置1. 3. ADC延時寄存器延時寄存器TSDLY0 ADC開始延時寄存器開始延時寄存器ADCDLY是可以進(jìn)行讀寫的
36、是可以進(jìn)行讀寫的 寄存器,地址為寄存器,地址為0 xE170_0008,復(fù)位值為,復(fù)位值為 0 x0000_00FF.ADCDLY寄存器的位定義詳情可參寄存器的位定義詳情可參 看數(shù)據(jù)手冊??磾?shù)據(jù)手冊。 注意:在注意:在ADC轉(zhuǎn)換前,觸摸屏使用晶振時鐘,在轉(zhuǎn)換前,觸摸屏使用晶振時鐘,在 AD轉(zhuǎn)換中使用轉(zhuǎn)換中使用PCLK(最大最大66MHZ)。 4. ADC轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)X寄存器寄存器TSDATX0和和ADC轉(zhuǎn)換數(shù)轉(zhuǎn)換數(shù) 據(jù)據(jù)Y寄存器寄存器TSDATY0 這兩個寄存器是只讀寄存器,地址分別是這兩個寄存器是只讀寄存器,地址分別是 0 xE170_000C和和0 xE170_0010,復(fù)位值不確定。
37、,復(fù)位值不確定。 5. 模擬輸入通道選擇寄存器模擬輸入通道選擇寄存器ADCMUX ADCMUX是可以進(jìn)行讀寫的寄存器,地址為是可以進(jìn)行讀寫的寄存器,地址為0 xE170_001C,復(fù)位值為復(fù)位值為 0 x0000_0000。 注意:(注意:(1)當(dāng)觸摸屏不使用時,觸摸屏接口()當(dāng)觸摸屏不使用時,觸摸屏接口(AIN2-AIN9)可以作)可以作 為為ADC模擬輸入端口使用。模擬輸入端口使用。 (2)TSADC被設(shè)為分離被設(shè)為分離X、Y坐標(biāo)轉(zhuǎn)換模式和連續(xù)坐標(biāo)轉(zhuǎn)換模式和連續(xù)X、Y坐標(biāo)轉(zhuǎn)換模坐標(biāo)轉(zhuǎn)換模 式時,式時,SEL_MUX的值是無效的。的值是無效的。 8.6 觸摸屏控制實例觸摸屏控制實例 AD轉(zhuǎn)換
38、器的使用基本上還是通過配置寄存器來實轉(zhuǎn)換器的使用基本上還是通過配置寄存器來實 現(xiàn)的,就實現(xiàn)方式而言,可以選擇輪詢或者中斷現(xiàn)的,就實現(xiàn)方式而言,可以選擇輪詢或者中斷 的方式。的方式。 在輪詢方式下在輪詢方式下,程序配置完寄存器后,需要不斷,程序配置完寄存器后,需要不斷 地查詢地查詢AD轉(zhuǎn)換的狀態(tài)寄存器以確定轉(zhuǎn)換是否完成轉(zhuǎn)換的狀態(tài)寄存器以確定轉(zhuǎn)換是否完成 ,然后將轉(zhuǎn)換得到的數(shù)據(jù)進(jìn)行輸出顯示。這種方,然后將轉(zhuǎn)換得到的數(shù)據(jù)進(jìn)行輸出顯示。這種方 式效率十分低,但是對于低速采集系統(tǒng)(溫度、式效率十分低,但是對于低速采集系統(tǒng)(溫度、 直流電壓測量系統(tǒng))來說這樣做不僅簡單,而且直流電壓測量系統(tǒng))來說這樣做不僅
39、簡單,而且 也能達(dá)到要求。也能達(dá)到要求。 在中斷模式下在中斷模式下,當(dāng)采集使能位使能后,一旦轉(zhuǎn)換,當(dāng)采集使能位使能后,一旦轉(zhuǎn)換 完成系統(tǒng)就會進(jìn)入中斷模式,這時就可以獲取轉(zhuǎn)完成系統(tǒng)就會進(jìn)入中斷模式,這時就可以獲取轉(zhuǎn) 換數(shù)據(jù)。當(dāng)采集一定頻率的模擬信號時可以考慮換數(shù)據(jù)。當(dāng)采集一定頻率的模擬信號時可以考慮 使用這種方式。使用這種方式。 下面來看看配置相關(guān)寄存器實現(xiàn)上述功能。下面來看看配置相關(guān)寄存器實現(xiàn)上述功能。 首先,完成寄存器的宏定義,程序代碼如下,主首先,完成寄存器的宏定義,程序代碼如下,主 要是要是ADC和觸摸屏控制中的相關(guān)寄存器的地址的和觸摸屏控制中的相關(guān)寄存器的地址的 宏定義,以便在程序設(shè)計
40、過程中對其的訪問。宏定義,以便在程序設(shè)計過程中對其的訪問。 /第三組矢量中斷選擇寄存器第三組矢量中斷選擇寄存器 快中斷或普通中斷快中斷或普通中斷 模式模式 默認(rèn)普通中斷默認(rèn)普通中斷 #define VIC2INTSELECT *(volatile unsigned int *)0 xF220000C) #define VIC3INTSELECT *(volatile unsigned int *)0 xF230000C) /第三組矢量中斷使能寄存器第三組矢量中斷使能寄存器 8、9位為位為ADC觸摸屏中斷觸摸屏中斷 #define VIC2INTENCLEAR *(volatile unsign
41、ed int *)0 xF2200014) #define VIC3INTENCLEAR *(volatile unsigned int *)0 xF2300014) #define VIC2INTENABLE *(volatile unsigned int *)0 xF2200010) #define VIC3INTENABLE *(volatile unsigned int *)0 xF2300010) #define VIC3VECTADDR0 *(volatile unsigned int *)0 xF2300100) #define VIC3VECTADDR1 *(volatile
42、unsigned int *)0 xF2300104) #define VIC3VECTADDR2 *(volatile unsigned int *)0 xF2300108) #define VIC3VECTADDR3 *(volatile unsigned int *)0 xF230010C) #define VIC3VECTADDR4 *(volatile unsigned int *)0 xF2300110) #define VIC3VECTADDR5 *(volatile unsigned int *)0 xF2300114) #define VIC3VECTADDR6 *(vola
43、tile unsigned int *)0 xF2300118) #define VIC3VECTADDR7 *(volatile unsigned int *)0 xF230011C) #define VIC3VECTADDR8 *(volatile unsigned int *)0 xF2300120) #define VIC3VECTADDR9 *(volatile unsigned int *)0 xF2300124) #define VIC3VECTADDR10 *(volatile unsigned int *)0 xF2300128) #define VIC3VECTADDR3
44、*(volatile unsigned int *)0 xF230010C) #define VIC3VECTADDR4 *(volatile unsigned int *)0 xF2300110) #define VIC3VECTADDR5 *(volatile unsigned int *)0 xF2300114) #define VIC3VECTADDR6 *(volatile unsigned int *)0 xF2300118) #define VIC2ADDRESS *(volatile unsigned int *)0 xF2200F00) #define VIC3ADDRESS
45、 *(volatile unsigned int *)0 xF2300F00) /UART相關(guān)寄存器相關(guān)寄存器 #define GPA0CON *(volatile unsigned int *)0 xE0200000) #define ULCON0 *(volatile unsigned int *)0 xE2900000) #define UCON0 *(volatile unsigned int *)0 xE2900004) #define GFCON0 *(volatile unsigned int *)0 xE29000008) #define UTRSTAT0 *(volatile
46、 unsigned int *) 0 xE2900010) #define UTXH0 *(volatile unsigned int *)0 x 0 xE2900020) #define URXH0 *(volatile unsigned int *)0 x 0 xE2900024) #define UBRDIV0 *(volatile unsigned int *) 0 xE2900028) #define UDIVSLOT0 *(volatile unsigned int *)0 xE290002C) /ADC相關(guān)寄存器相關(guān)寄存器 #define TSADCCON0 *(volatile
47、 unsigned int *)0 xE1700000) #define TSADCCON1 *(volatile unsigned int *)0 xE1701000) #define TSCON1 *(volatile unsigned int *)0 xE1701004) #define TSDLY1 *(volatile unsigned int *)0 xE1701008) #define TSDATX1 *(volatile unsigned int *)0 xE170100C) #define TSDATY1 *(volatile unsigned int *)0 xE17010
48、10) #define TSPENSTAT1 *(volatile unsigned int *)0 xE1701014) #define CLRINTADC1 *(volatile unsigned int *)0 xE1701018) #define CLRINTPEN1 *(volatile unsigned int *)0 xE1701020) 觸摸屏實驗的主流代碼如下:觸摸屏實驗的主流代碼如下: extern void key_isr(void) /設(shè)置為外部可用標(biāo)記,提供給設(shè)置為外部可用標(biāo)記,提供給.s文件使用文件使用 /UART0初始化初始化 void uart_init( )
49、/配置配置GPA0_0 為為UART_0_RXD /配置配置GPA0_1 為為UART_0_TXD GPA0CON GPA0CON |=0 x22; ULCON0=0 x3 | (02) (06)(06); /發(fā)送和接收引腳采用中斷和輪詢查詢模式,正常發(fā)送,常規(guī)操作,時鐘選擇位發(fā)送和接收引腳采用中斷和輪詢查詢模式,正常發(fā)送,常規(guī)操作,時鐘選擇位PCLK UCON0=1 | (12) | (010) /禁止禁止FIFO UFCON0=0; /波特率計算:波特率計算:115200 UBRDIV0 =34; UDIVSLOT0=0 xDDDD; void uart_send_byte(unsigne
50、d char byte) while(!(UTRSTAT0 /等待發(fā)送緩沖區(qū)為空等待發(fā)送緩沖區(qū)為空 UTXH0 = byte; /發(fā)送一字節(jié)數(shù)據(jù)發(fā)送一字節(jié)數(shù)據(jù) void uart_recv_byte( ) while(!(UTRSTAT0 /等待接收緩沖區(qū)有數(shù)據(jù)可讀等待接收緩沖區(qū)有數(shù)據(jù)可讀 return URXH0; /接收一字節(jié)數(shù)據(jù)接收一字節(jié)數(shù)據(jù) void uart_send_string( char *str) char *p =str; while (*p) uart_send_byte(*p+); void uart_send_num( unsigned int sum) char u
51、nit, tens, bunds, thund; unit = 0 + num%10; tens = 0 + num/10%10; hunds= 0 + num/100%10; thund= 0 + num/1000%10; Uart_send_byte(thund); Uart_send_byte(hunds); Uart_send_byte(tens); Uart_send_byte(unit); Void adc_init() TSADCCON0 |=1 17; TSADCCON1=114 | 196 | 02; TSDLY1 =0XFFFF; TSCON1=0 xd3; Uart_se
52、nd_string(“rinitadc finshn”); Void irq_int() VIC2INTENCLEAR |=0 x39; VIC3INTENCLEAR |=0 x39; VIC2INTSELECT |=(0 x39); VIC3INTSELECT |=(0 x39); VIC3INTENABLE |= 0 x39; Void key_handle( ) uart_send_string(“test key_handle”); VIC2ADDRESS =0; /清中斷向量寄存器清中斷向量寄存器 VIC3ADDRESS =0; VIC3VECTADDR0 =0 xffffffff;
53、 VIC3VECTADDR1 =0 xffffffff; TSCON1=oxdc; /x/y設(shè)置為自動轉(zhuǎn)換設(shè)置為自動轉(zhuǎn)換 TSADCCON1 |=1; while(TSADCCON1 while(!TSADCCON1 /判斷是否結(jié)束轉(zhuǎn)換判斷是否結(jié)束轉(zhuǎn)換 Uart_send_string(“rX:”); Uart_send_num(TSDATX1 Uart_send_string(“Y:”); Uart_send_num(TSDATY1 Uart_send_byte(“n”); TSCON1 = 0 xd3; Int main() uart_init(); adc_init(); irq_ini
54、t(); VIC3VECTADDR8 = (int)key_isr; VIC3VECTADDR9 = (int)key_isr; while(1); return 0; 我們可以看到,這里調(diào)用了我們可以看到,這里調(diào)用了Test_AdcTs()函數(shù),其具體代碼如下:函數(shù),其具體代碼如下: Void Test_AdcTs(void) rADCDLY=50000; rADCCON=(114)+(ADCPRS6); Uart_printf(“nTouch Screen testn”); rADCTSC=0 xd3; pISR_ADC=(int) AdcTsAuto; rINTMSK=BIT_ADC;
55、rINTSUBMSK=(BIT_SUB_TC); Uart_Printf(“nPress any key to quit!n”); Uart_Getch(); rINTSUBMSK|=BIT_SUB_TC; rINTMSK|=BIT_ADC; Uart_Printf(“Touch Screen is Finished!n”); Start.S文件代碼如下:文件代碼如下: .global _start .global key_isr _start: ldr sp, =0 x40000000 ldr r0, =0 xE2700000 mov r1, #0 str r1, r0 msr r0, cp
56、sr bic r0, r0, #0 x00000080 msr cpsr, r0 bl main halt: b halt key_isr: ;計算返回地址:;計算返回地址:PC的值等于當(dāng)前執(zhí)行的地址的值等于當(dāng)前執(zhí)行的地址+8,當(dāng),當(dāng) CPU正要執(zhí)行某條指令(還未執(zhí)行)時,正要執(zhí)行某條指令(還未執(zhí)行)時, ;被中斷,這時這條剛要執(zhí)行的指令的地址剛好為;被中斷,這時這條剛要執(zhí)行的指令的地址剛好為PC-4. sub lr, lr, #4 stmfd sp!, r0-r12, lr bl key_handle ;恢復(fù)現(xiàn)場;恢復(fù)現(xiàn)場 ldmfd sp!, r0-r12, pc. ;表示把表示把spsr
57、恢復(fù)到恢復(fù)到cpsr 8.7 滑動變阻器滑動實例滑動變阻器滑動實例 本小節(jié)通過滑動變阻器和本小節(jié)通過滑動變阻器和ADC的實例來進(jìn)一步學(xué)的實例來進(jìn)一步學(xué) 習(xí)習(xí)ADC的使用。的使用。 由電路圖可以看到,由電路圖可以看到,ADC從該電路獲取模擬數(shù)據(jù)從該電路獲取模擬數(shù)據(jù) 的通道是的通道是ADCIN1,因此實現(xiàn)滑動變阻器的控制,因此實現(xiàn)滑動變阻器的控制 功能就是設(shè)置功能就是設(shè)置ADC的控制寄存器的的控制寄存器的SEL_MUX位位 為通道為通道ADCIN1。 首先編寫一個首先編寫一個start.S文件,對程序的入口進(jìn)行定義。文件,對程序的入口進(jìn)行定義。 .global _start 聲明一個全局的標(biāo)號聲明
58、一個全局的標(biāo)號 .global key_isr _start: 設(shè)置棧,以調(diào)用設(shè)置棧,以調(diào)用c函數(shù)函數(shù) ldr sp, =0 x40000000 bl uart_init bl adc_init 開總中斷開總中斷 mrs r0, cpsr 讀取讀取cpsr寄存器中的值到寄存器中的值到r0 bic r0, r0, #0 x00000080 清除第清除第7位,位,IRQ中斷禁止位,寫中斷禁止位,寫0使能使能IRQ msr cpsr, r0 ; 把修改好的把修改好的r0的值重新協(xié)會的值重新協(xié)會cpsr bl main ; 跳轉(zhuǎn)到跳轉(zhuǎn)到C函數(shù)去執(zhí)行函數(shù)去執(zhí)行 halt: b halt 為了更好的觀察為
59、了更好的觀察AD轉(zhuǎn)換的效果,可使用轉(zhuǎn)換的效果,可使用UART通信將轉(zhuǎn)換結(jié)果輸出到通信將轉(zhuǎn)換結(jié)果輸出到 終端上。程序如下:終端上。程序如下: #define GPA0CON *(volatile unsigned int *)0 xE0200000) #define ULCON0 *(volatile unsigned int *)0 xE2900000) #define UCON0 *(volatile unsigned int *)0 xE2900004) #define UFCON0 *(volatile unsigned int *)0 xE2900008) #define UTRSTA
60、T0 *(volatile unsigned int *)0 xE2900010) #define UTXH0 *(volatile unsigned int *)0 xE2900020) #define URXH0 *(volatile unsigned int *)0 xE2900024) #define UBRDIV0 *(volatile unsigned int *)0 xE2900028) #define UDIVSLOT0 *(volatile unsigned int *)0 xE290002C) /* * UART0初始化初始化 */ void uart_init() /*
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房地產(chǎn)底價包銷合同書
- 快速加載網(wǎng)頁資源管理措施
- 促進(jìn)跨部門合作提高迭代產(chǎn)出
- 金融風(fēng)險管理基本原理與操作指南
- 五金配件銷售合同
- 農(nóng)產(chǎn)品種植收購合同
- 2025年梧州貨運(yùn)從業(yè)資格證模擬考試駕考
- 委托人力資源協(xié)議
- 工程招投標(biāo)講義與合同管理
- 停車場委托經(jīng)營管理合同
- 《中小學(xué)科學(xué)教育工作指南》解讀與培訓(xùn)
- 跨學(xué)科主題學(xué)習(xí)的意義與設(shè)計思路
- 2025年浙江國企臺州黃巖站場管理服務(wù)有限公司招聘筆試參考題庫附帶答案詳解
- -人教版四年級下冊英語全冊教案-
- 教科版三年級下冊科學(xué)全冊單元教材分析
- 2025年國家鐵路局工程質(zhì)量監(jiān)督中心招聘歷年高頻重點提升(共500題)附帶答案詳解
- 部編版教科版三年級科學(xué)下冊全冊教案【統(tǒng)編教材】
- 加快形成農(nóng)業(yè)新質(zhì)生產(chǎn)力
- 2025年中糧集團(tuán)招聘筆試參考題庫含答案解析
- 湖北省七市2025屆高考數(shù)學(xué)一模試卷含解析
- 數(shù)字電子技術(shù)(廣東工業(yè)大學(xué))知到智慧樹章節(jié)測試課后答案2024年秋廣東工業(yè)大學(xué)
評論
0/150
提交評論