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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于cortex-m3的觸摸屏計(jì)算器設(shè)計(jì)-資料下載頁(yè)

2024-12-03 19:34本頁(yè)面

【導(dǎo)讀】學(xué)院電子電氣工程學(xué)院。專業(yè)電子信息工程。上海工程技術(shù)大學(xué)畢業(yè)設(shè)計(jì)(論文)基于Cortex-M3的觸摸屏計(jì)算器設(shè)計(jì)

  

【正文】 ive 電壓之比等于觸點(diǎn) Y 坐標(biāo)與屏高度之比。 2. 計(jì)算 X 坐標(biāo),在 X+電極施加驅(qū)動(dòng)電壓 Vdrive, X電極接地, Y+做為引出端測(cè)量得到接觸點(diǎn)的電壓,由于 ITO 層均勻?qū)щ?,觸點(diǎn)電壓與Vdrive 電壓之比等于觸點(diǎn) X 坐標(biāo)與屏寬度之比。 圖 為觸摸屏測(cè)量周期的方式。通過將 XP 連接到 Vdd 且 XM 接地可以測(cè)定 X 觸點(diǎn)在 X 軸平面的位置。從 YP 或 YM 觸摸屏連接器上測(cè)得的電壓與觸點(diǎn) X 坐標(biāo)成比例。 上海工程技術(shù)大學(xué)畢業(yè)設(shè)計(jì)(論文) 基于 CortexM3 的觸摸屏計(jì)算器設(shè)計(jì) 33 圖 參數(shù)測(cè)量方式 通過將 YP 連接到 Vdd 且 YM 接地可以測(cè)定 Y 觸點(diǎn)在 Y 軸平面的位置。從 YP 或 YM 觸摸屏連接器上測(cè)得的電壓與觸點(diǎn) Y 坐標(biāo)成比例。 若測(cè)量觸摸壓力,需將壓力與電阻聯(lián)系起來。由于觸摸壓力最常用于確定是手指或觸筆的存在,而不是接觸的強(qiáng)度,因此沒必要進(jìn)行高精度壓力測(cè)量。在本項(xiàng)目中,壓力測(cè)量所采用的是具有 8 位分辨率的 ADC,而不是用于 X 和 Y 位置測(cè)量的 12 位分辨率。 測(cè)量觸摸壓力的方法有數(shù)種。本方法要求 X 平面電阻已知,并對(duì) X觸點(diǎn)位置 (X)以及觸摸屏的兩個(gè)附加截面電阻( Z1 和 Z2)可以測(cè)量;得知 YP(Vdd)電壓與 XM(接地)電壓并測(cè)量 XP(Z1)與 YM(Z2)值。利用等式 可以計(jì)算出觸點(diǎn)電阻。 式 如果用戶長(zhǎng)期不觸摸屏 幕,則無需運(yùn)行或測(cè)量。于是觸摸屏進(jìn)入休眠狀態(tài),等待觸筆中斷。一旦用戶觸摸,則產(chǎn)生一個(gè)中斷,于是觸摸屏控制上海工程技術(shù)大學(xué)畢業(yè)設(shè)計(jì)(論文) 基于 CortexM3 的觸摸屏計(jì)算器設(shè)計(jì) 34 器喚醒并測(cè)量相關(guān)觸摸參數(shù)。 顯示 屏 驅(qū)動(dòng)原理 液晶顯示模塊顯示原理 本系統(tǒng) LCD 顯示模塊的控制器為 ILI9320,該控制器自帶顯存,總大 小為 172820( 240*320*18/8),即 18 位模式( 26 萬色)下的顯存量。模塊的 16 位數(shù)據(jù)線與顯示單元的數(shù)據(jù)位對(duì)應(yīng)關(guān)系為 RGB 565 方式 [6],如圖 所示: 圖 位數(shù)據(jù)與顯存對(duì)應(yīng)關(guān)系圖 最低 5 位代表藍(lán)色,中間 6 位為綠色,最高 5 位為紅色。數(shù)值越大,表示該顏色越深。通過向顯示單元中輸入相應(yīng)代表色彩的值來得到需要顯示的圖像。 控制原理 ILI9320 作為控制芯片具有一系列的數(shù)據(jù)傳輸及控制功能,所需用到的命令如圖 所示: 圖 ILI9320 常用命令 R0:該命令具有有兩個(gè)功能: 上海工程技術(shù)大學(xué)畢業(yè)設(shè)計(jì)(論文) 基于 CortexM3 的觸摸屏計(jì)算器設(shè)計(jì) 35 進(jìn)行寫操作,則僅最低位 SOC 為有效,用于開啟或關(guān)閉振蕩器。 進(jìn)行讀操作,則返回的是控制器的型號(hào)。是這個(gè)命令較為重要的功能就是可以取得到控制器的型號(hào),代碼在取得控制器的型號(hào)之后,可以針對(duì)不同型號(hào)的控制器,進(jìn)行不同的初始化。因?yàn)?93xx 系列的初始化都比較類似,可以用一個(gè)代碼兼容好幾個(gè)控制器。 R3:入口模式命令。 I/D0、 I/D AM 這 3 個(gè)位控制了屏幕的顯示方向。 ( 1) AM:控制 GRAM 更新方向。當(dāng) AM=0 的時(shí)候,地址以行方向更新。當(dāng) AM=1 的時(shí)候,地址以列方向更新。 ( 2) I/D[1:0]:當(dāng)更新了一個(gè)數(shù)據(jù)之后,根據(jù)這兩個(gè)位的設(shè)置來控制地址計(jì)數(shù)器自動(dòng)增加 /減少 1,其關(guān)系如圖 所示 : 圖 GRAM 顯示方向設(shè)置圖 通過這幾個(gè)位的設(shè)置,即可控制屏幕的顯示更新方向。 R7:顯示控制命令。該命令 CL 位用來控制選擇 8 位彩色顯示模式,或是 26 萬色顯示模式。置 0 時(shí)為 26 萬色,置 1 時(shí)為八位色。 D D0、BASEE 這三個(gè)位用來控制顯示開關(guān)與否。當(dāng)全部設(shè)置為 1 為開啟顯示,設(shè)置全 0 時(shí)為關(guān)閉。可以通過該命令的設(shè)置來開啟或關(guān)閉顯示器,以降低上海工程技術(shù)大學(xué)畢業(yè)設(shè)計(jì)(論文) 基于 CortexM3 的觸摸屏計(jì)算器設(shè)計(jì) 36 功耗。 R3 R33:設(shè)置 GRAM 的行地址和列地址。 R32 用于設(shè)置列地址( X 坐標(biāo), 0239), R33 用于設(shè)置行地址( Y 坐標(biāo), 0319)。當(dāng)要在某個(gè)指定點(diǎn)寫入一個(gè)顏色的時(shí)候,先通過這兩個(gè)命令設(shè)置到改屏幕上的點(diǎn),然后寫入顏色值就可以了。 R34:寫數(shù)據(jù)到 GRAM 命令,寫入了該命令之后,地址計(jì)數(shù)器會(huì)自動(dòng)的增加和減少。該命令為單個(gè)操作的命令,只需要寫入該值即可,其他的命令的格式為先寫入命令編號(hào),后寫入操作數(shù)。 R80~R83:行列 GRAM 地址位置設(shè)置。這幾個(gè)命令用于設(shè)定顯示區(qū)域的大小,開發(fā)板所配置的整屏大小為 240*320,但是有時(shí)候只需在其中的一部分區(qū)域?qū)懭霐?shù)據(jù),如果用先寫坐標(biāo),后寫數(shù)據(jù)這樣的方式來實(shí)現(xiàn),則速度大打折扣。此時(shí) 就可以通過這幾個(gè)命令,在其中開辟一個(gè)區(qū)域,然后不停的寫入數(shù)據(jù),地址計(jì)數(shù)器就會(huì)根據(jù) R3 的設(shè)置自動(dòng)增加 /減少,這樣就不需要頻繁的寫地址了,大大提高了刷新的速度。 驅(qū)動(dòng)程序文件 功能 在整個(gè)完整的程序設(shè)計(jì),包含了三塊的驅(qū)動(dòng)程序 :、 、。每個(gè)驅(qū)動(dòng)程序負(fù)責(zé)不同的功能,包含了顯示屏的尺寸信息,聲明了對(duì)應(yīng)的顯示屏的尺寸,工作方法和調(diào)用使能的接口函數(shù)等。 是 觸摸屏的底層 的驅(qū)動(dòng)文件,包括觸摸屏參數(shù)初始化、中斷控制 函數(shù) ,中斷狀態(tài)清除函數(shù)等。即關(guān)于觸摸屏的 GPIO 的調(diào)用聲明,對(duì)上述數(shù)據(jù)計(jì)算的 x,y 軸坐標(biāo)的讀取函數(shù)等,完成使能觸摸屏的接口功能、觸摸屏中斷控制,完成操作后中斷清除等功能。 是板子上其他 GPIO 的底層,就是每個(gè)引腳的功能配置 ,作為每個(gè)引腳功能的聲明配置存在。聲明了實(shí)驗(yàn)板上對(duì)應(yīng) GPIO 的硬件模塊的使能接口功能。 上海工程技術(shù)大學(xué)畢業(yè)設(shè)計(jì)(論文) 基于 CortexM3 的觸摸屏計(jì)算器設(shè)計(jì) 37 第三個(gè)是液晶屏顯示的底層,包括加載到 Library 中的 grlib 庫(kù), 其實(shí) 都是 這個(gè)文件對(duì)硬件操作的映射 。包括時(shí)鐘,中斷,定時(shí)器等等。 功能實(shí)現(xiàn)部分設(shè)計(jì) 在解決了驅(qū)動(dòng)程序后,表明之后的程序設(shè)計(jì)是可以下載到實(shí)驗(yàn)板順利運(yùn)行的。之后,是軟件部分的程序設(shè)計(jì)。程序在完成初始化后可以完成對(duì)觸摸屏的按鍵響應(yīng),控制,顯示輸出,按相對(duì)應(yīng)的運(yùn)算符結(jié)果運(yùn)算。其主程序運(yùn)行要流程如圖 所示。 初 始 化 開 始觸 摸 屏 初 始 化 , 控 制L C D 寫 操 作配 置 G P I O , A D C片 外 硬 件 資 源 等配 置 系 統(tǒng) 時(shí) 鐘 圖 主程序開始流程圖 軟件設(shè)計(jì)基本包括了以下幾個(gè)部分的內(nèi)容:中斷控制部分、顯示部分和運(yùn)算部分,各部分分工不同,中斷控制是在觸摸屏顯示的之后可以有一個(gè)中斷功能,即在對(duì)觸屏操作后,有一個(gè)顯示中斷,可以使能允許完成觸上海工程技術(shù)大學(xué)畢業(yè)設(shè)計(jì)(論文) 基于 CortexM3 的觸摸屏計(jì)算器設(shè)計(jì) 38 摸后對(duì)應(yīng)的操作,完成操作后結(jié)束中斷。顯示部分即顯示計(jì)算器界面的編寫。運(yùn)算部分,將按下按鈕輸入數(shù)字,所組成新的數(shù)在顯示屏輸出、給予所有的運(yùn)算符按鈕有對(duì)應(yīng)的函數(shù)運(yùn)算意義,即完成加減乘除運(yùn)算,以及其他較為復(fù)雜的運(yùn)算方式,最后計(jì)算完成后存儲(chǔ)并且輸出相關(guān)的計(jì)算結(jié)果。 中斷控制功能編寫 理論上,中斷控制功能的實(shí)現(xiàn)是在驅(qū)動(dòng) 程序當(dāng)中,因?yàn)槭桥c硬件功能連接十分緊密的一個(gè)功能實(shí)現(xiàn)。但在實(shí)際應(yīng)用中又與操作緊密相關(guān),是軟件設(shè)計(jì)中十分重要的部分。 其根本 編程 原理是由 CortexM3 提供了一套中斷控制器所提供的API。中斷控制器 API 提供了一組函數(shù),用來處理嵌套向量中斷控制器( NVIC)。這些函數(shù)執(zhí)行以下功能:使能和禁止中斷、注冊(cè)中斷處理程序和設(shè)置中斷的優(yōu)先級(jí)。 同時(shí)在驅(qū)動(dòng)文件中,重寫了一些關(guān)于中斷控制的函數(shù)。在操作中,對(duì)觸屏操作時(shí),會(huì)產(chǎn)生一個(gè)軟件中斷,然后對(duì)所進(jìn)行操作后,例如觸摸屏的觸點(diǎn) X,Y 值進(jìn)行鎖存。然后對(duì)鎖存的數(shù)據(jù)進(jìn)行讀取,通過 LCD 顯示相關(guān)的 API 函數(shù),將得到的數(shù)值進(jìn)行轉(zhuǎn)化成對(duì)應(yīng)函數(shù)操作,或顯示,或運(yùn)算等等。最后將相關(guān)操作的結(jié)果,反映到 LCD 顯示屏。其流程圖如圖 上海工程技術(shù)大學(xué)畢業(yè)設(shè)計(jì)(論文) 基于 CortexM3 的觸摸屏計(jì)算器設(shè)計(jì) 39 開 始觸 屏 功 能 開 啟設(shè) 置 自 動(dòng) 模 式等 待 觸 屏 事 件檢 查 觸 屏 事 件鎖 存 X 數(shù) 據(jù)鎖 存 y 數(shù) 據(jù)讀 取 X 、 Y 坐 標(biāo) 值講 對(duì) 應(yīng) X 、 Y 坐 標(biāo) 值 轉(zhuǎn) 化 成對(duì) 應(yīng) L C D 位 置 響 應(yīng)清 除 中 斷 狀 態(tài)N OY e s中 斷 操 作子 程 序 結(jié) 束返 回 主 程 序顯 示 內(nèi) 容中 斷 初 始 化產(chǎn) 生 中 斷N OY e s結(jié) 束 圖 中斷控制流程圖 顯示函數(shù)編寫 顯示功能 ,顯示功能實(shí)現(xiàn)流程是如圖 所示,將按鍵結(jié)果顯示在LCD 上的。 上海工程技術(shù)大學(xué)畢業(yè)設(shè)計(jì)(論文) 基于 CortexM3 的觸摸屏計(jì)算器設(shè)計(jì) 40 開 始給 位 圖 的 起 始 坐 標(biāo) ,高 度 寬 度 , 數(shù) 據(jù) 地 址算 出 位 圖 的 水 平 和 垂直 首 尾 G R A M 地 址得 出 位 圖 數(shù) 據(jù) 對(duì) 應(yīng) 顯 存地 址 , 準(zhǔn) 備 寫 數(shù) 據(jù)小 于 高 度顯 存 寫 入 數(shù) 據(jù)( 像 素 置 色 )小 于 寬 度結(jié) 束下 一 行N ON OY E SY E S下 一 列 圖 LCD 讀 /寫操作流程 在 具體的實(shí)現(xiàn)過程中,本實(shí)驗(yàn)平臺(tái)搭載的 觸摸屏 ,在軟件上 是靠一個(gè)WIDGET 隊(duì)列處理系統(tǒng) 來接受顯示資源,即主界面上的功能按鈕,邊框和顯示區(qū)域等。在聲明了類似 canvas( … )等畫圖,畫按鈕等方法后,在main 函數(shù)中調(diào)用該方法。并調(diào)用函數(shù) WidgetAdd(… 函數(shù)名,函數(shù)名 …) ,添 加 到 消 息 隊(duì) 列 中 。 最 后 用 一 個(gè) 死 循 環(huán) , 循 環(huán) 執(zhí) 調(diào) 用WidgetMessageQueueProcess()這么一個(gè)函數(shù),完成 LCD 上顯示輸出所需要的內(nèi)容。 上海工程技術(shù)大學(xué)畢業(yè)設(shè)計(jì)(論文) 基于 CortexM3 的觸摸屏計(jì)算器設(shè)計(jì) 41 所以在完成顯示輸出時(shí),要調(diào)用畫圖的方法,再在主函數(shù)中,將畫圖的方法添加到消息隊(duì)列,然后循環(huán)輸出即可。 而在完成運(yùn)算功能后的顯示輸出理論上是一樣的,只是改變了內(nèi)存當(dāng)中的變量。調(diào)用 Canvas( … )函數(shù)作為一個(gè)變量顯示區(qū)域,將完成計(jì)算后的結(jié)果從內(nèi)存中取出,利用 sprintf(變量名 ,顯示格式 ,變量名 )這樣一個(gè)函數(shù)將輸出結(jié)果存入對(duì)應(yīng) Canvas 的變量名中。調(diào)用 CanvasTextSet(…) 改變Canvas(…) 內(nèi)變量的值,重新放入消息隊(duì)列 WidgetPaint((tWidget *)amp。g_Result),完成一個(gè)顯示輸出的功能。 另一方面,顯示效果的更改,是利用更新好的 Canvas 進(jìn)行對(duì)前一次的輸出結(jié)果的覆蓋 。為了保證不會(huì)有顯示前次效果的問題,則對(duì)顯示的長(zhǎng)度進(jìn)行有一定位數(shù)的預(yù)留,每次顯示相同長(zhǎng)度。如果數(shù)字長(zhǎng)度不足,則同樣預(yù)留了長(zhǎng)度,這樣可以對(duì)前次的顯示結(jié)果完成一個(gè)覆蓋的效果,避免顯示錯(cuò)誤。同時(shí)對(duì)輸入的數(shù)字有位數(shù)長(zhǎng)度的限定,即當(dāng)位數(shù)達(dá)到一定時(shí),則只顯示當(dāng)前輸入的數(shù)字,而不能繼續(xù)輸入。方便確定運(yùn)算結(jié)果的位數(shù),也可以使得最后輸出結(jié)果時(shí)不會(huì)因長(zhǎng)度不足而又被覆蓋不完全的錯(cuò)誤。 總 結(jié) , 顯 示 輸 出 軟 件 編 寫 上 是 在 不 斷 調(diào) 用 消 息 隊(duì) 列WidgetMessageQueueProcess()時(shí)候,更新消息中的內(nèi)容,并且重寫覆蓋已經(jīng)顯示的內(nèi) 容,達(dá)到完成顯示所需數(shù)字和運(yùn)算結(jié)果這樣的效果。 運(yùn)算符函數(shù)編寫 除了顯示部分,本次設(shè)計(jì)另一大塊的設(shè)計(jì)部分是函數(shù)運(yùn)算模塊的設(shè)計(jì)。作為一個(gè)計(jì)算器,除了顯示輸入數(shù)字外,更重要的是得到所需要的計(jì)算結(jié)果。所以,在完成數(shù)字顯示結(jié)果的同時(shí),應(yīng)該考慮的是將輸入數(shù)字,按照對(duì)應(yīng)的按鈕進(jìn)行計(jì)算,輸出結(jié)果。 函數(shù)運(yùn)算編寫包含幾個(gè)部分: 第一,在能顯示輸入的數(shù)字以后,我們要將不斷輸入的數(shù)字變成對(duì)應(yīng)的數(shù)進(jìn)行輸出。 上海工程技術(shù)大學(xué)畢業(yè)設(shè)計(jì)(論文) 基于 CortexM3 的觸摸屏計(jì)算器設(shè)計(jì) 42 開 始儲(chǔ) 存 當(dāng) 前 輸 入 數(shù) 字計(jì) 數(shù) 器 自 加計(jì) 數(shù) 器 大 于 限 定 值N O按 下 數(shù) 字 按 鈕 有 反 應(yīng)之 前 存 儲(chǔ) 的 數(shù) * 1 0 + 當(dāng) 前數(shù) 字顯 示 輸 出保 持 顯 示 當(dāng) 前 數(shù) 直到 按 下 運(yùn) 算 符 號(hào) 或清 零結(jié) 束Y E SN O小 數(shù) 點(diǎn) 標(biāo) 志 位 是 否為 F A L S E當(dāng) 前 數(shù) 字 * 1 0 的 負(fù)計(jì) 數(shù) 器 次 數(shù) 次 方計(jì) 數(shù) 器 自 加Y e s輸 出 數(shù) 加 上 變 更 后的 數(shù) 字 圖 數(shù)字組合成數(shù)顯示流程圖 如圖所示,輸入數(shù)字轉(zhuǎn)化成數(shù),關(guān)鍵是要記錄兩個(gè)部分,一個(gè)是存儲(chǔ)當(dāng)前輸入數(shù)字,和已經(jīng)輸出的數(shù)。將已經(jīng)輸出的數(shù)乘 10 和當(dāng)前數(shù)字相加則成為一個(gè)新的數(shù)輸出。有小數(shù)點(diǎn)的數(shù)一樣,在按下小數(shù)點(diǎn)后,改變一個(gè)上海工程技術(shù)大學(xué)畢業(yè)設(shè)計(jì)(論文) 基于 CortexM3
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1