freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于arm嵌入式系統(tǒng)的觸摸屏驅(qū)動(dòng)程序開(kāi)發(fā)-文庫(kù)吧

2025-01-03 14:48 本頁(yè)面


【正文】 15參考文獻(xiàn)16附錄A 驅(qū)動(dòng)源程序17附錄B 英文資料22附錄C 英文資料翻譯31西安文理學(xué)院本科畢業(yè)設(shè)計(jì)(論文)第一章 緒論 畢業(yè)設(shè)計(jì)目的隨著多媒體信息的與日俱增,傳統(tǒng)的人機(jī)交互的速度已經(jīng)不能滿足需求,傳統(tǒng)的人機(jī)交流是通過(guò)鍵盤(pán)或鼠標(biāo)來(lái)實(shí)現(xiàn)的。信息交換的速度比較慢,而且要求操作者具有一定的專(zhuān)業(yè)知識(shí)。這將使信息交流的目的大打折扣。觸摸屏因方便靈活、節(jié)省空間、直觀等特點(diǎn),作為嵌入式系統(tǒng)的輸入設(shè)備,已取代鍵盤(pán),越來(lái)越受到各種終端產(chǎn)品商的重視。 基于 Linux 的嵌入式系統(tǒng)目前獲得到了廣泛應(yīng)用,在嵌入式 Linux 核心層的開(kāi)發(fā)中,設(shè)備驅(qū)動(dòng)分為字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)接口設(shè)備,觸摸屏驅(qū)動(dòng)屬于字符設(shè)備,但它也可以被納入input輸入子系統(tǒng)的框架下。通過(guò)畢業(yè)設(shè)計(jì)的驅(qū)動(dòng)程序開(kāi)發(fā),也希望能對(duì)國(guó)家在這方面的發(fā)展做出自己的一點(diǎn)貢獻(xiàn)。 本論文介紹了觸摸屏的分類(lèi)和原理,接著概要介紹嵌入式系統(tǒng)的相關(guān)原理理論,然后詳細(xì)介紹了整個(gè)系統(tǒng)的開(kāi)發(fā)環(huán)境,最后對(duì)整個(gè)觸摸屏驅(qū)動(dòng)系統(tǒng)進(jìn)行了分析,討論了系統(tǒng)具體實(shí)現(xiàn)。 畢業(yè)設(shè)計(jì)環(huán)境 硬件環(huán)境為PC機(jī)一臺(tái),GT2440開(kāi)發(fā)板一套(,分辨率為320X240的4線式電阻屏),CPU處理器采用三星S3C2440A 主頻400,最高能達(dá)到533 MHZ,內(nèi)存為64M SDRAM,存儲(chǔ)為256M Nand Flash、2M Nor Flash,支持Linux ; , 畢業(yè)設(shè)計(jì)總體要求 ,配置網(wǎng)絡(luò)文件系統(tǒng)NFS,搭建交叉編譯環(huán)境,完成觸摸屏的驅(qū)動(dòng)程序和應(yīng)用程序的開(kāi)發(fā)。第二章 方案設(shè)計(jì) 開(kāi)發(fā)板的處理器是基于ARM 920T 核心的S3C2440A,它集成了眾多外圍設(shè)備,其中包括4線電阻式觸摸屏控制器,8路模擬輸入通道。在8路A/D轉(zhuǎn)換通道中,A[7]和A[5]作為觸摸屏的X,Y坐標(biāo)的采集通道。 觸摸屏接線圖 S3C2440提供了nYPON,YMON,nXPON和XMON信號(hào)直接作為觸摸屏的控制信號(hào),通過(guò)其控制外部晶體管的打開(kāi)與關(guān)閉實(shí)現(xiàn)觸摸屏的引腳狀態(tài)的切換。 ADC和觸摸屏接口介紹 10位COMS的ADC是有8通道模擬輸入的循環(huán)類(lèi)型設(shè)備,轉(zhuǎn)換時(shí)種下達(dá)到500KSPS,AD轉(zhuǎn)化器支持片上采樣和保存功能及掉電模式。 觸摸屏接口可以控制或選擇觸摸屏觸點(diǎn)用于XY坐標(biāo)的轉(zhuǎn)換,觸摸屏接口包括觸摸點(diǎn)控制邏輯和有中斷產(chǎn)生邏輯的ADC接口邏輯。下圖為AD轉(zhuǎn)換器和觸摸屏接口的功能模塊圖,注意AD轉(zhuǎn)換器設(shè)備是一個(gè)循環(huán)類(lèi)型。(1) ADC特點(diǎn) 分辨率:12位;最大轉(zhuǎn)換率:500KSPS;供電電壓:;輸入模擬電壓范圍:0~。(2) 觸摸屏接口模式 ① 正常轉(zhuǎn)換模式 單個(gè)轉(zhuǎn)化模式可能是使用在通用目的的ADC轉(zhuǎn)換。該模式可以通過(guò)設(shè)置ADCCON(ADC控制寄存器)來(lái)初始化并且完成對(duì)ADCDATE0的讀寫(xiě)操作(ADC數(shù)據(jù)寄存器0)。 ② 分離XY坐標(biāo)轉(zhuǎn)換模式 觸摸屏控制器可以在兩種轉(zhuǎn)換模式中的一種模式下操作。分離的XY坐標(biāo)轉(zhuǎn)換器模式由以下方法操作。X坐標(biāo)模式寫(xiě)X坐標(biāo)轉(zhuǎn)換數(shù)據(jù)到ADCDAT0,觸摸屏皆苦產(chǎn)生中斷源到中斷控制器;Y坐標(biāo)模式寫(xiě)Y坐標(biāo)轉(zhuǎn)換數(shù)據(jù)到ADCDAT1,觸摸屏皆苦產(chǎn)生中斷源到中斷控制器。 ③ 自動(dòng)(連續(xù))XY坐標(biāo)轉(zhuǎn)換模式 自動(dòng)(連續(xù))XY坐標(biāo)轉(zhuǎn)換模式是如下操作,觸摸屏控制器連續(xù)的轉(zhuǎn)換X坐標(biāo)和Y坐標(biāo)。在觸摸屏控制器寫(xiě)X測(cè)量數(shù)據(jù)到ADCDAT0且寫(xiě)Y測(cè)量數(shù)據(jù)到ADCDAT1后,觸摸屏接口產(chǎn)生中斷源到自動(dòng)坐標(biāo)模式下的中斷控制器。 ④ 等待中斷模式 當(dāng)光標(biāo)按下,觸摸屏控制器產(chǎn)生中斷信號(hào)(INC_TC)。觸摸屏控制器的等待中斷模式必須設(shè)定為觸摸屏接口中觸點(diǎn)的狀態(tài)(XP,XM,YP,YM)。 在觸摸屏控制器產(chǎn)生中斷信號(hào)(INC_TC),等待中斷模式必須要被消除。(XY_PST設(shè)置到無(wú)操作模式)(2) ADC及觸摸屏接口特殊控制器① ADC控制寄存器(ADCCON) ADC控制寄存器② ADC觸摸屏控制寄存器 ADC觸摸屏控制寄存器③ ADC開(kāi)始延時(shí)寄存器 ADC開(kāi)始延時(shí)寄存器④ ADC轉(zhuǎn)換數(shù)據(jù)寄存器0 ADC轉(zhuǎn)換數(shù)據(jù)寄存器0⑤ ADC轉(zhuǎn)換數(shù)據(jù)寄存器1 ADC轉(zhuǎn)換數(shù)據(jù)寄存器1⑥ ADC觸摸屏起落中斷檢測(cè)寄存器 ADC觸摸屏起落中斷檢測(cè)寄存器 電阻式觸摸屏的工作原理 由于本次畢業(yè)設(shè)計(jì)采用電阻觸摸屏,所以重點(diǎn)介紹四線式電阻觸摸屏 觸摸屏系統(tǒng)是一種人機(jī)交互設(shè)備,其結(jié)構(gòu)如圖1,將觸摸屏安裝在LCD顯示屏上,配以相應(yīng)的控制電路對(duì)觸摸屏和LCD進(jìn)行控制,用戶通過(guò)觸摸操作就可以實(shí)現(xiàn)同觸摸屏系統(tǒng)相連接的設(shè)備進(jìn)行信息交互。設(shè)計(jì)采用四線電阻式接觸屏,包含兩層透平,均勻?qū)щ姷腎TO層,分別作為X電極和Y電極,它們之間由細(xì)微絕緣點(diǎn)隔開(kāi)。X電極和Y電極的正負(fù)端由“導(dǎo)電條”分別從兩端引出,且X電極和Y電極導(dǎo)電條的位置相互垂直,引出端X,X+,Y,Y+共4條線。 觸摸屏原理 觸摸屏的觸摸示意圖 當(dāng)有物體接觸觸摸屏表面并施以一定的壓力時(shí),上層的ITO導(dǎo)電層發(fā)生形變與下層ITO發(fā)生接觸,形成可等效為圖2的分壓電路。控制器通過(guò)下述方法即可確定觸摸點(diǎn)位置: ① 在X+電極施加驅(qū)動(dòng)電壓,X電極接地,Y+作為引出端測(cè)量得到接觸點(diǎn)的電壓,觸點(diǎn)電壓與驅(qū)動(dòng)電壓之比等于觸點(diǎn)X坐標(biāo)與屏寬度之比,得到X坐標(biāo)。 ② 在Y+電極施加驅(qū)動(dòng)電壓,Y電極接地,X+作為引出端測(cè)量得到接觸點(diǎn)的電壓,觸點(diǎn)電壓與驅(qū)動(dòng)電壓之比等于觸點(diǎn)Y坐標(biāo)與屏寬度之比,得到Y(jié)坐標(biāo)。 因此,計(jì)算觸摸點(diǎn)的坐標(biāo)首先需要對(duì)觸摸屏的引腳電平進(jìn)行切換控制,使其處于合適的坐標(biāo)。然后通過(guò)ADC轉(zhuǎn)換采集到的接觸點(diǎn)電壓值,進(jìn)行相應(yīng)的計(jì)算。 觸摸屏等效電路圖 軟件平臺(tái)使用Linux操作系統(tǒng)自帶的Vi文本編輯器。 軟件簡(jiǎn)介 Vi是Linux系統(tǒng)的第一個(gè)全屏幕交互式編輯程序,它從誕生至今一直得到廣大用戶的青睞,歷經(jīng)數(shù)十年仍然是人們只要使用的文本編輯工具,足見(jiàn)其生命力之強(qiáng),而強(qiáng)大的生命力是其強(qiáng)大的功能帶來(lái)的。 Vi有三種模式,分別是命令行模式、插入模式及低行模式。 命令行模式:在該模式中可以通過(guò)上下移動(dòng)光標(biāo)進(jìn)行“刪除字符”或“整行刪除”燈操作,也可以進(jìn)行“復(fù)制”、“粘貼”等操作,但無(wú)法編輯文字。 插入模式:只有在該模式下,用戶才能進(jìn)行文字編輯和輸入,用戶可按【Esc】鍵回到命令行模式。低行模式:在該模式下,光標(biāo)位于屏幕的低行。用戶可以進(jìn)行文件保存或退出操作,也可以設(shè)置編輯環(huán)境。 軟件基本操作 (1).進(jìn)入Vi,即在命令行下輸入Vi 文件名。此時(shí)進(jìn)入的是命令模式,光標(biāo)位于屏幕的上方。 (2).在命令行模式下輸入i進(jìn)入插入模式。可以看出,在屏幕底部顯示有“插入”字樣表示插入模式,在該模式下可以輸入文字信息。 (3).最后按“【Esc】”,則當(dāng)前模式轉(zhuǎn)入命令行模式,并在低行中輸入“:wq”進(jìn)入低行模式。wq(存盤(pán)保存),q(退出Vi),q!(強(qiáng)制退出)等。 嵌入式驅(qū)動(dòng)程序基礎(chǔ)(1)設(shè)備驅(qū)動(dòng)程序概述 ① 設(shè)備文件 嵌入式Linux的一個(gè)重要特點(diǎn)就是將所有的設(shè)備都當(dāng)做文件進(jìn)行處理,所以設(shè)備驅(qū)動(dòng)程序也就是設(shè)備文件。設(shè)備文件分為三類(lèi):字符型設(shè)備文件、塊設(shè)備文件或網(wǎng)絡(luò)接口設(shè)備文件。 字符設(shè)備文件通常指不需要緩沖就能夠直接讀寫(xiě)的設(shè)備,它們以字節(jié)為單位進(jìn)行讀寫(xiě)。 塊設(shè)備文件通常指僅能以塊為單位讀寫(xiě)的設(shè)備,一般塊的大小為512字節(jié)的整數(shù)倍。 網(wǎng)絡(luò)接口設(shè)備文件通常指網(wǎng)絡(luò)設(shè)備訪問(wèn)的接口。 ② 設(shè)備驅(qū)動(dòng)程序和用戶應(yīng)用程序設(shè)備驅(qū)動(dòng)程序可以理解為操作系統(tǒng)的一部分,它的作用就是讓操作系統(tǒng)能正確識(shí)別和使用設(shè)備。對(duì)于不同的硬件設(shè)備,其對(duì)應(yīng)的設(shè)備驅(qū)動(dòng)程序也是不同的。設(shè)備驅(qū)動(dòng)程序與用戶應(yīng)用程序是不同的,設(shè)備驅(qū)動(dòng)程序是用戶應(yīng)用程序與硬件設(shè)備之間的一個(gè)中間軟件層。設(shè)備驅(qū)動(dòng)程序運(yùn)行在內(nèi)核空間,而用戶應(yīng)用程序則運(yùn)行在用戶空間。嵌入式操作系統(tǒng)通過(guò)系統(tǒng)調(diào)用和硬件中斷來(lái)完成從用戶空間到內(nèi)核空間的控制轉(zhuǎn)移。(2)設(shè)備驅(qū)動(dòng)程序的加載過(guò)程 ① 設(shè)備號(hào) 嵌入式Linux系統(tǒng)通過(guò)設(shè)備號(hào)來(lái)區(qū)分不同設(shè)備,設(shè)備號(hào)分為主設(shè)備(0~255)和次設(shè)備。一般在/proc目錄下的devices文件中記錄了系統(tǒng)中處于活動(dòng)狀態(tài)的設(shè)備的主設(shè)備號(hào)。 ② 設(shè)備進(jìn)入點(diǎn) 對(duì)每個(gè)設(shè)備都要定義一個(gè)設(shè)備進(jìn)入點(diǎn),該設(shè)備進(jìn)入點(diǎn)的名稱稱為設(shè)備名。 使用mknod命令在文件系統(tǒng)中創(chuàng)建一個(gè)設(shè)備進(jìn)入點(diǎn)。命令格式為:mknod /dev/設(shè)備名 type major minor type為設(shè)備類(lèi)型,c為字符設(shè)備;b為塊設(shè)備。 命令為:Mknod /dev/ts_driver c 255 o③ 加載設(shè)備驅(qū)動(dòng)程序 加載設(shè)備驅(qū)動(dòng)程序: insmod 命令為:insmod 查看當(dāng)前加載了哪些設(shè)備驅(qū)動(dòng)程序: lsmod –l 卸載設(shè)備驅(qū)動(dòng)程序: rmmod ④ 設(shè)備驅(qū)動(dòng)程序加載與卸載的工作過(guò)程 在用戶空間通過(guò)命令insmod向內(nèi)核空間加載設(shè)備驅(qū)動(dòng)程序模塊,此時(shí)程序的入口點(diǎn)是初始化函數(shù)init_module(),在該函數(shù)中完成設(shè)備的注冊(cè)。完成設(shè)備注冊(cè)加載之后,系統(tǒng)將設(shè)備驅(qū)動(dòng)加載到內(nèi)核中,在用戶空間的用戶應(yīng)用程序就可以通過(guò)調(diào)用驅(qū)動(dòng)程序的功能接口函數(shù)對(duì)該設(shè)備進(jìn)行操作。設(shè)備用完之后,可以再用戶空間通過(guò)移除已加載的驅(qū)動(dòng)設(shè)備命令rmmod將設(shè)備卸載,此時(shí)的入口點(diǎn)是cleanup_module函數(shù),在該函數(shù)中完成設(shè)備的卸載。 第三章 嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的搭建絕大多數(shù)的軟件開(kāi)發(fā)都是以本地編譯方式進(jìn)行的,即在本機(jī)上開(kāi)發(fā)編譯、本機(jī)上運(yùn)行的方式。但是,由于開(kāi)發(fā)板上沒(méi)有足夠的資源來(lái)運(yùn)行開(kāi)發(fā)工具和調(diào)試工具。因此嵌入式系統(tǒng)軟件的開(kāi)發(fā)通常采用交叉編譯的方式。所謂交叉編譯,就是指在一個(gè)硬件平臺(tái)上生成可以在另一個(gè)不同硬件平臺(tái)上執(zhí)行的代碼。 建立交叉編譯環(huán)境 ,然后進(jìn)入該目錄,執(zhí)行解壓命令: mv /optcd /tmp tar xvzf –C 然后再運(yùn)行如下命令: gedit /root/.bashrc 在打開(kāi)的文件的末尾加上如下內(nèi)容: export PATH=$PATH:/opt/usr/locla/arm/ 然后保存退出 重新登錄Redhat系統(tǒng),使以上設(shè)置生效,在命令行輸入armlinuxgcc –v,會(huì)出現(xiàn)armlinuxgcc的版本號(hào),這說(shuō)明交叉編譯環(huán)境已經(jīng)安裝成功。 配置超級(jí)終端 超級(jí)終端程序通常位于windows系統(tǒng)的“開(kāi)始程序附件通訊”中,選擇運(yùn)行該程序,一般會(huì)彈出提示窗口,詢問(wèn)你是否將HyperTerminal作為默認(rèn)的telnet程序,此時(shí)選擇“否”。 接下來(lái)彈出來(lái)的窗口,選擇“取消”。 此時(shí)系統(tǒng)提示“您確定要取消嗎?”,選擇“是”,接著點(diǎn)擊提示窗口的“確定”,進(jìn)入下一步。 超級(jí)終端會(huì)要求你為新的連接取個(gè)新的名字,我在配置的時(shí)候取的是“tty”。 當(dāng)你命名完以后,又會(huì)跳出一個(gè)對(duì)話框,選擇開(kāi)發(fā)板的串口,我選擇的是串口4. 最后一步,最重要的一步,數(shù)據(jù)流控制必須選擇“無(wú)”,另外板子的串口波特率設(shè)為115200。 當(dāng)所有的參數(shù)都設(shè)置好后,超級(jí)終端就配置好了。 配置網(wǎng)絡(luò)文件系統(tǒng)NFS服務(wù) 在配置NFS服務(wù)之前,先使用查看一下Linux系統(tǒng)在安裝的時(shí)候是否已經(jīng)安裝了NFS服務(wù),方法如下:輸入命令setup,然后在出現(xiàn)的藍(lán)色窗口中選擇System services,進(jìn)入后,如果看到選項(xiàng)前的中括號(hào)有“*”,表示已經(jīng)被選中,如果沒(méi)有,就表示沒(méi)選中;現(xiàn)在選中NFS服務(wù),去掉iptables,然后保存退出。 接下來(lái)運(yùn)行命令 gedit /etc/exports 在打開(kāi)的NFS服務(wù)的配置文件中添加以下內(nèi)容: /home/share (rw,sync,no_root_squash) 其中:/home/share表示NFS共享目錄,它可以作為開(kāi)發(fā)板的根文件系統(tǒng),注意IP地址前有空格。(這里的IP地址可以用*代替,表示所有的客戶機(jī)都可以掛載次 目錄)rw表示掛載次目錄的客戶機(jī)多該目錄有讀寫(xiě)的權(quán)力sync:數(shù)據(jù)同步寫(xiě)入內(nèi)存和硬盤(pán),也可以使用async,此時(shí)數(shù)據(jù)會(huì)先暫存于內(nèi)存中,而不立即寫(xiě)入硬盤(pán)no_root_squash表示允許掛載次目錄的客戶機(jī)有該主機(jī)的root身份然后保存退出。最后使用/etc/,再用/etc/。第四章 嵌入式設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā) Linux輸入子系統(tǒng)介紹 在Linux中,輸入子系統(tǒng)是由輸入子系統(tǒng)設(shè)備驅(qū)動(dòng)、輸入子系統(tǒng)核心層(Input
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1