国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

ARM嵌入式系統中觸摸屏的中斷控制方法

發布時間:2011-1-21 20:28    發布者:techshare
隨著嵌入式微處理器性能的提高,集成的外圍接口設備越來越多,而外圍設備與處理器之間多采用中斷方式進行通信,即使在沒有操作系統的情況下,也常需要對多個外圍設備的中斷處理例程進行動態加載,從而實現對多個外圍設備的集中動態管理。同時,中斷功能可以解決CPU內部運行速度遠遠快于外部總線速度而產生的等待延時問題。因此,嵌入式微處理器的應用設計中,中斷處理通常是系統的核心任務之一。

1 觸摸屏

(1)觸摸屏簡介

隨著多媒體信息查詢的與日俱增,人們越來越關注觸摸屏。觸摸屏具有堅固耐用、反應速度快、節省空間、易于交流等許多優點,作為一種最新的電腦輸入設備,它是目前最簡單、方便、自然的人機交互方式。它賦予多媒體嶄新的面貌,是極富吸引力的全新多媒體交互設備。觸摸屏由觸摸檢測部件和觸摸屏控制器組成。觸摸檢測部件安裝在顯示器屏幕前面,用于檢測用戶觸摸位置,接收信息后送至觸摸屏控制器;觸摸屏控制器的主要作用是從觸摸點檢測裝置上接收觸摸信息,并將它轉換成觸點坐標后送給CPU,同時能接收CPU發來的命令并加以執行。按照觸摸屏的工作原理和傳輸信息的介質,觸摸屏可以分為4種,即電阻式、電容感應式、紅外線式以及表面聲波式。這里采用的是四線電阻屏。

(2)S3C2410A觸摸屏控制器

S3C2410A觸摸屏的外接電路主要是控制上下兩層導電層的通斷情況以及取電壓,取電壓之后還需要將這個模擬量轉換成數字量,這部分工作主要是靠S3C2410A芯片中的模數轉換器來實現的。即觸摸屏的功能實現實際上分兩部分,分別是觸摸屏的外接電路部分和S3C2410A芯片自帶的A/D轉換控制部分。

2 ARM嵌入式操作系統中斷處理方法

在嵌入式系統中外部設備的功能主要是靠中斷機制來實現的。因此,ARM作為嵌入式微處理器的典型代表,為保證系統的實時性和穩定性,建立了一套完整的異常處理機制。

2.1 S3C2410A中斷寄存器

每個寄存器在中斷處理流程中所扮演的角色是不同的,中斷流程如圖1所示。





2.2 中斷與中斷服務程序

中斷的硬件邏輯將檢測到的中斷,以某種方式指向中斷服務程序的地址,該地址在頭文件中以宏定義的形式出現。用戶在自己的程序中,將中斷服務程序的地址賦給該指針,從而將中斷與中斷服務程序聯系起來。

為了方便使用高級語言編寫異常處理函數,ARM編譯器對異常處理函數作了特定的擴展,只要使用關鍵字__irq,編譯出來的函數就滿足異常響應對現場保護和恢復的需要。

在ADS編譯器中,__irq專門用來聲明IRQ中斷服務程序。如果用__irq來聲明一個函數,那么該函數就是IRQ中斷服務程序,編譯器會自動在函數內部增加中斷現場保護代碼。


3 中斷方式實現觸摸屏驅動

3.1 中斷寄存器的設置與使能

S3C2410A的觸摸屏是帶子中斷的內部中斷。當中斷發生后,SUBSRCPND相應位置1,如果沒有被INTSUBMSK屏蔽,那么SRCPND相應位置1,如果沒有被INTMSK屏蔽,就進一步設置INTMOD。這里采用IRQ中斷方式,所以SRCPND可以有多位置1(FIQ只能有1位),經過PRIORITY選出一個優先級高的,然后把INTPND相應位置1(只能選出1位),進入IRQ,讓CPU處理。





首先必須弄清楚SUBSRCPND與SRCPND之間的關系,幾個SUBSRCPND可能對應同一個SRCPND。經過不斷總結,得出的對應關系如表1所列。從表中可知,觸摸屏要用到SUBSRCPND中的INT_TC位,即SUBSRCPND。這里定義變量:

#define BIT_SUB_TC(0x1<<9)

與之對應的是SRCPND中的INT_ADC位,即SRCPND[31],又定義變量:

#define BIT_ADC(0xl<<31)

INTMOD與PRIORITY采用默認設置。因此,可以把觸摸屏的中斷過程寫為:





3.2 觸摸屏中斷與觸摸屏中斷程序

首先使能ARM芯片的中斷向量。當有IRQ中斷到來,CPU會自動到0x18地址處取指。0x18處的指令是CPU根據中斷源算好的。這里觸摸屏的中斷INT-ADC來了,那么0x18處的指令就是跳轉到地址0x9c處。然后就執行“ldr pc,=HandlerINT_ADC”這條指令。這條指令的執行結果就是跳轉到“HandlerINT_ADC”處執行。

那么“HandlerINT_ADC”處又是什么指令呢?從訪問絕對地址的內存位置“#define pISR_ADC(*(unsigned*)(ISR_STARTADDRESS+0x9c))”可知,“HandlerINT_ADC”處的地址就是_ISR_STARTADDRESS+0x9C。

上述語句把無符號整數_ISR_STARTADDRESS+0x9c強制轉換為指針,指向RAM,通過語句“pISR_ADC=(int)touchscreen;”對它進行訪問,touchscreen即為所定義的觸摸屏中斷程序,該中斷服務程序必須使用“__irq"關鍵字進行聲明。這樣,用戶在自己的程序中,將中斷服務程序的地址賦給該指針,從而將觸摸屏的中斷與觸摸屏的中斷程序聯系起來。整個觸摸屏中斷與觸摸屏中斷程序的聯系如圖2所示。









結語

本文完成了觸摸屏相關中斷寄存器的設置,并編寫了觸摸屏的中斷處理程序,采用編寫“__irq”函數的方法實現了基于中斷的觸摸屏控制。在實際應用中,該程序設計簡單可靠,觸摸點坐標值讀取準確,且無粘滯現象,達到了預期效果。
本文地址:http://www.qingdxww.cn/thread-50485-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
rinllow5 發表于 2011-4-1 23:06:02
謝謝。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 想要避免發生災難,就用MPLAB SiC電源仿真器!
  • 更佳設計的解決方案——Microchip模擬開發生態系統
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
  • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线观看免费av网站 | 免费99精品国产自在现线观看 | 欧美日韩在线网站 | 最近韩国高清免费观看视频大全 | 国产视频999 | 色男天堂 | 国内国内在线精品视频 | 久久精品入口麻豆 | 26uuu天天夜夜综合 | 九九热在线视频观看 | 国产精品盗摄在线观看 | 四虎影院永久网址 | 自拍偷拍2019 | jizz日本女护士 | 亚洲一区二区在线成人 | 国产资源精品一区二区免费 | 欧美日韩高清一区二区三区 | 日韩中文字幕视频在线观看 | 色狠狠成人综合色 | 999热视频 | 欧美日韩亚洲精品国产色 | 久久亚洲国产最新网站 | 一个人在线观看www迅雷 | 国产真实乱对白精彩 | 香蕉国产在线观看免费 | 99久在线观看 | 精品一久久香蕉国产线看播放 | 国产乱对白刺激视频 | 99免费在线视频 | 草莓丝瓜app | 成在线人永久免费视频下载 | 四色婷婷婷婷色婷婷开心网 | 国内精品久久久久鸭 | 中文国产成人精品久久下载 | 老司机亚洲精品影院在线 | 美女网站色免费 | 极品毛片| va在线视频| 亚洲国产麻豆 | 国内精品免费麻豆网站91麻豆 | 亚洲三级在线播放 |