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

正文內(nèi)容

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

2025-06-22 00:49本頁(yè)面
  

【正文】 rue)//運(yùn)算結(jié)束標(biāo)志位 { WidgetRemove((tWidget *)amp。g_Result)。 strcpy(ucResult , )。 isCalOff = false。 WidgetPaint(WIDGET_ROOT)。 }計(jì)算出不帶小數(shù)點(diǎn)的數(shù)最重要代碼如下:outputNumber = outputNumber *10 + slResult。在顯示結(jié)果的時(shí)候,將利用sprintf將變量放入字符串中,輸出字符串到顯示屏上。 (2) 小數(shù)點(diǎn)輸入函數(shù),作用是在按下小數(shù)點(diǎn)按鈕后,改變一個(gè)記錄小數(shù)點(diǎn)功能標(biāo)志位。改變了這個(gè)標(biāo)志位,則數(shù)字輸入函數(shù)中的主要算法則要改變成:outputNumber = outputNumber+(slResult*(pow(10,pointCount)))。以此來(lái)輸出帶小數(shù)部分的數(shù)。同時(shí),要規(guī)定標(biāo)志位,在按下小數(shù)點(diǎn)后置為true,確保之后再按小數(shù)點(diǎn)按鈕是鎖死的。直到一次運(yùn)算完成,將標(biāo)志位置false。代碼如下: if(isPointCheck == false){//小數(shù)點(diǎn)未按下 isCalOff = false。 //運(yùn)算開(kāi)始 strcpy(ucNumber,.)。//輸出小數(shù)點(diǎn) } isPointCheck = true。(3) 運(yùn)算符計(jì)算函數(shù),集中了對(duì)四則運(yùn)算符的操作,在最初設(shè)計(jì)運(yùn)算符號(hào)功能時(shí),設(shè)想在按下運(yùn)算符號(hào)后,立刻輸出運(yùn)算結(jié)果。但發(fā)現(xiàn),其運(yùn)算結(jié)果是當(dāng)前顯示屏輸入的數(shù)字和上一個(gè)存儲(chǔ)在數(shù)組中的數(shù)的運(yùn)算結(jié)果。尤其明顯的是,在按下第一個(gè)數(shù)字后再按減號(hào),則永遠(yuǎn)輸出一個(gè)該數(shù)的相反數(shù)。所以,這個(gè)算法是不對(duì)的。之后進(jìn)行了一次調(diào)整是,在這個(gè)函數(shù)里定義一個(gè)標(biāo)志位。每一次按下運(yùn)算符后,僅做一個(gè)運(yùn)算符標(biāo)志位的改變,并且再下次按下運(yùn)算符后,根據(jù)標(biāo)志位,將當(dāng)前輸入的數(shù)和數(shù)組中存儲(chǔ)之前的數(shù)進(jìn)行一個(gè)運(yùn)算,之后的輸出結(jié)果就是正確的。 根據(jù)標(biāo)志位進(jìn)行計(jì)算代碼(4)初始化功能函數(shù)。即為了實(shí)現(xiàn),在計(jì)算完成后,對(duì)整個(gè)數(shù)據(jù)內(nèi)存進(jìn)行回收,資源處理、將之前的計(jì)算結(jié)果清零,計(jì)數(shù)器清零的操作。也包含了一個(gè)對(duì)該次數(shù)字輸入進(jìn)行修改的功能。其功能實(shí)現(xiàn)如下: if (pWidget == (tWidget *) (amp。g_CButton)) { for(j=0。j=index。j++) { number[j] = 0。 } index = 0。 currentResult = 0。 } if (pWidget == (tWidget *) (amp。g_CEButton)) { number[index] = 0。 }(5) 其他運(yùn)算函數(shù)以及百分號(hào)正負(fù)號(hào)轉(zhuǎn)換的功能。其中其他的運(yùn)算方法主要實(shí)現(xiàn)了一些例如階乘、log、ln、倒數(shù)運(yùn)算以及三角函數(shù)等等運(yùn)算符號(hào)。主要調(diào)用了C函數(shù)的頭文件中的相關(guān)數(shù)學(xué)運(yùn)算函數(shù)進(jìn)行了實(shí)現(xiàn)。在設(shè)計(jì)函數(shù)功能的時(shí)候,定義了一系列的全局變量來(lái)儲(chǔ)存數(shù)據(jù),并且定義了數(shù)組來(lái)儲(chǔ)存之前輸入過(guò)的數(shù)據(jù),方便數(shù)據(jù)的運(yùn)算。 相關(guān)操作變量聲明在具體運(yùn)算的時(shí)候,遇到的問(wèn)題,就是關(guān)于顯示位數(shù),以及對(duì)于之前的輸入結(jié)果消除的問(wèn)題。圖 輸出顯示問(wèn)題圖研究后發(fā)現(xiàn),這是關(guān)于sprintf輸出,類型符號(hào)對(duì)數(shù)據(jù)位數(shù)保留問(wèn)題。因?yàn)閒loat類型的輸出是默認(rèn)保留八位的,小數(shù)點(diǎn)后保留6位精度的。而且,在替代前一次的結(jié)果時(shí),在調(diào)用widgetRemove()方法無(wú)效是,則直接將后一次的數(shù)據(jù),替換了前一次的數(shù)據(jù)。再?zèng)]有保留足夠的空格位數(shù),則會(huì)出現(xiàn)如圖所示的情況,前一次的數(shù)據(jù)沒(méi)有完全被覆蓋所導(dǎo)致的顯示問(wèn)題。這其中也牽涉到了sprintf的輸出格式問(wèn)題。由于sprintf 跟printf 在用法上幾乎一樣,只是打印的目的地不同而已,前者打印到字符串中,后者則直接在命令行上輸出。浮點(diǎn)數(shù)的打印和格式控制是sprintf 的一大常用功能,浮點(diǎn)數(shù)使用格式符”%f”控制,默認(rèn)保留小數(shù)點(diǎn)后6 位數(shù)字,比如: sprintf(s, %f, )。 //產(chǎn)生 但有時(shí)我們希望自己控制打印的寬度和小數(shù)位數(shù),這時(shí)就應(yīng)該使用:”%”格式,其中m 表示打印的寬度,n 表示小數(shù)點(diǎn)后的位數(shù)。比如: ? sprintf(s, %, )。 //產(chǎn)生: ? sprintf(s, %, )。 //產(chǎn)生: ? sprintf(s, %.3f, )。 //不指定總寬度,產(chǎn)生:所以,為了在實(shí)際操作中取得想要的結(jié)果,就對(duì)輸出結(jié)果進(jìn)行了一定長(zhǎng)度的保留,以及對(duì)輸入數(shù)字的個(gè)數(shù)也進(jìn)行了,一次來(lái)消除如上的錯(cuò)誤。但同時(shí),也產(chǎn)生了另一種顯示問(wèn)題。在非整數(shù)的時(shí)候,默認(rèn)保留了六位小數(shù),圖 保留小數(shù)點(diǎn)后位數(shù)過(guò)多問(wèn)題這種情況主要出現(xiàn)在兩塊,其一是數(shù)字轉(zhuǎn)化成數(shù)輸出是,其二是在運(yùn)算結(jié)果中也有這樣的錯(cuò)誤。其解決方式:在數(shù)字轉(zhuǎn)化輸出時(shí),再按下按鈕時(shí),對(duì)兩個(gè)變量進(jìn)行賦值,一個(gè)整型數(shù),對(duì)應(yīng)按鈕對(duì)應(yīng)數(shù)字,用來(lái)組成數(shù);第二個(gè)是字符類型,用來(lái)寫入字符串最后可以按位輸出。利用如下代碼:strcat(ucResult,ucNumber)。CanvasTextSet(amp。g_Result,ucResult)。WidgetPaint((tWidget *)amp。g_Result)。 這時(shí),可以自由的按位輸出數(shù)字組成的數(shù)。而不會(huì)有小數(shù)點(diǎn)后保留的問(wèn)題。另一方面,對(duì)于輸出結(jié)果的優(yōu)化。有兩種思路,首先對(duì)輸出結(jié)果進(jìn)行判斷,如果是整數(shù),則按整型數(shù)的方式進(jìn)行輸出。而非整型數(shù),利用%g作為輸出符號(hào)位。其作用就是可以根據(jù)精度(默認(rèn)保留6位小數(shù)),將小數(shù)點(diǎn)后多余的零舍去輸出結(jié)果。sprintf(ucResult,%30g,currentResult)。 而對(duì)于結(jié)果大于100000000的數(shù),則通過(guò)%e符號(hào)位,可以按照科學(xué)計(jì)數(shù)法來(lái)輸出結(jié)果,并且可以設(shè)置精度,來(lái)保留相應(yīng)的小數(shù)點(diǎn)后數(shù)字。如代碼:if(currentResult 1000000000) { sprintf(ucResult,%,currentResult)。 }這里就是保留兩位的小數(shù)點(diǎn)后數(shù)字的科學(xué)計(jì)數(shù)法輸出,輸出更直觀。 設(shè)計(jì)成果展示其整體效果圖,、最后完成了,一個(gè)可以滿足四則運(yùn)算,可以清零初始化的觸屏計(jì)算器。并且添加了一些常用的運(yùn)算方法,如階乘,倒數(shù)和三角函數(shù)功能等。使用簡(jiǎn)單方便,滿足了基本的使用需求。5 結(jié)論目前,隨著技術(shù)革新,觸摸屏產(chǎn)品已經(jīng)越來(lái)越多的豐富我們的生活了。尤其是隨著移動(dòng)互聯(lián)技術(shù)的發(fā)展,各種各樣的嵌入式移動(dòng)互聯(lián)產(chǎn)品開(kāi)始涌入千家萬(wàn)戶。PDA、手機(jī)、游戲機(jī)等等已經(jīng)逐漸開(kāi)始摒棄傳統(tǒng)鍵盤時(shí)輸入,轉(zhuǎn)而使用觸摸屏,作為了主流的人機(jī)對(duì)話工具。而且隨著電容屏的技術(shù)逐漸成熟,我們可以利用電容屏,進(jìn)行多點(diǎn)觸控,豐富了移動(dòng)終端的功能性應(yīng)用,也越來(lái)越方便各類人群的使用。從過(guò)去只是類似商務(wù)通,手寫板的產(chǎn)品,到如今,各種各樣以ipod產(chǎn)品為代表觸摸屏式的隨身產(chǎn)品,也已經(jīng)逐漸替代了傳統(tǒng)的輸入方式的移動(dòng)產(chǎn)品,象征著一種多元的,給用戶帶來(lái)更佳的體驗(yàn)感和方便易用的人機(jī)互動(dòng)方式,將不可阻擋的成為一種主流技術(shù)。相信隨著未來(lái)技術(shù)發(fā)展,想類似電影中的投影式的觸屏鍵盤,立體投影的控制系統(tǒng)等等也能夠出現(xiàn)在千家萬(wàn)戶的家庭多媒體移動(dòng)終端中。而本設(shè)計(jì)是基于LM3S9B96開(kāi)發(fā)板的觸摸屏計(jì)算器。在查閱相關(guān)技術(shù)手冊(cè),學(xué)習(xí)整個(gè)開(kāi)發(fā)板的結(jié)構(gòu)和性能特點(diǎn),對(duì)其核心的CortexM3處理器有了一定的了解。同時(shí),在根據(jù)線路圖,學(xué)習(xí)所搭載的觸摸屏的接口模式設(shè)計(jì),和跳線引腳處理,使整個(gè)觸摸屏顯示模塊可以使用。同時(shí),本系統(tǒng)的主要設(shè)計(jì)方向是軟件部分的設(shè)計(jì)內(nèi)容。分別是驅(qū)動(dòng)軟件開(kāi)發(fā),和應(yīng)用部分開(kāi)發(fā)。驅(qū)動(dòng)部分開(kāi)發(fā),是根據(jù)硬件性能,參照開(kāi)發(fā)平臺(tái)所提供的相關(guān)API函數(shù),完成相應(yīng)的硬件初始化,時(shí)鐘設(shè)置,中斷控制設(shè)置,觸摸屏使能,LCD顯示等功能。而應(yīng)用部分開(kāi)發(fā),則是計(jì)算器的主體功能。在響應(yīng)觸摸屏觸點(diǎn)位置時(shí),能具體的輸出對(duì)應(yīng)數(shù)字,函數(shù)運(yùn)算,運(yùn)算結(jié)果輸出等。最后完成了基本滿足設(shè)計(jì)初衷的成品觸屏計(jì)算器,具有簡(jiǎn)單的計(jì)算功能,預(yù)算效率較高,操作相對(duì)方便,滿足了一般的需求。同時(shí)有別于市場(chǎng)上一般的計(jì)算器,而是采用先進(jìn)的觸摸屏技術(shù),LCD顯示方式。展示了現(xiàn)在流行的觸摸屏技術(shù)成果,且讓本人也學(xué)習(xí)了相當(dāng)多的嵌入式開(kāi)發(fā)編程方面的知識(shí)?;具_(dá)到了本次設(shè)計(jì)的目的,即對(duì)觸屏技術(shù)的展示,也是對(duì)自我的學(xué)習(xí)和充實(shí)的過(guò)程。 參考文獻(xiàn)[1] ,裝備制造技術(shù),2010 [2] Hal ,世界電子元器件,2008[3] 劉波文. ARM CortexM3 應(yīng)用開(kāi)發(fā)實(shí)例詳解 電子工業(yè)出版社 [4] 彭剛, CortexM3的STM32系列嵌入式微控制器應(yīng)用實(shí)踐[M]. 電子工業(yè)出版社,2011[5] CortexM3? Technical Reference Manual. Copyright 169。 2005, 2006 ARM Limited.[6] STMicroelectronics.UM0424 user manualSTM32F10xxxUSB development kit[Z],2008[7] 王小林,[J],計(jì)算機(jī)與數(shù)字工程,2006[8] Stellaris174。 LM3S9B96 開(kāi)發(fā)套件用戶手冊(cè)[9] 竇振中,宋鵬,[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2004(12):5~9[10] 沈林豐,宋鐵成,[M].北京:電子工業(yè)出版社,2005[11] 莊教峰, 蔡坤, 張墨, 郭磊. 基于ARM9的觸摸屏驅(qū)動(dòng)程序開(kāi)發(fā)及LCD顯示程序設(shè)計(jì). 計(jì)算機(jī)系統(tǒng). [12] STMicroelectronics.UM0424 user manualSTM32F10xxxUSB development kit[Z],2008.[13] 吳仲遠(yuǎn), 電阻式觸摸屏的基本結(jié)構(gòu)和驅(qū)動(dòng)原理[14] LM3S9B96硬件amp。軟件實(shí)驗(yàn)指導(dǎo)說(shuō)明[15] TI_CortexM3_Stellaris系列微控制器簡(jiǎn)介[16] 觸摸屏的發(fā)展歷程和前景 2006[17] [M].北京:電子工業(yè)出版社,2004[18] [M].北京:國(guó)防工業(yè)出版社,2004[19]朱銘鋯,[M].北京:電子工業(yè)出版社,2002[20]吳冬梅,[M].北京:北京大學(xué)出版社,2006 附錄軟件設(shè)計(jì)主函數(shù)代碼include inc/include inc/include driverlib/include grlib/include grlib/include grlib/include grlib/include grlib/include drivers/include drivers/include drivers/include include include include define INDEX_NUMNER 100void OnNumber(tWidget *pWidget)。//數(shù)字輸入函數(shù) void OnPoint(tWidget *pWidget)。 //小數(shù)點(diǎn)兒輸入void OnCalculate(tWidget *pWidget)。//運(yùn)算符計(jì)算函數(shù)void OnReset(tWidget *pWidget)。 //初始化,歸零void speCalculate(tWidget *pWidget)。//特殊計(jì)算void PercentCalculate(tWidget *pWidget)。//百分號(hào)和正負(fù)號(hào)變化Canvas( //Name //pParent //pNext //pChild g_Result, 0, 0, 0, //pDisplay //lX //lY amp。g_sKitronix320x240x16_SSD2119, 0, 0, //lWidth //lHeight //ulStyle 320, 50, CANVAS_STYLE_OUTLINE | CANVAS_STYLE_TEXT | CANVAS_STYLE_TEXT_RIGHT | CANVAS_STYLE_TEXT_OPAQUE, //填充顏色 //外邊框顏色 //文字顏色 //字體 ClrBlack, ClrWhite, ClrWhite, amp。g_sFontCm22b, //pcText //pucImage //pfnOnPaint 0, 0, 0 )。Container( //Name //pParent //pNext //pChild g_NumberContainer, 0, 0, 0, //pDisplay //lX //lY amp。g_sKitronix320x240x16_SSD2119, 0, 50, //lWidth //lHeight //ulStyle 320, 189, CTR_STYLE_OUTLINE, //填充顏色 //外邊框顏色 //文字顏色 //字體 0, ClrWhite, 0, 0, //pcText 0 )。RectangularButton( //Name //pParent //pNext //pChild g_Num1Button, 0, 0, 0, //pDisplay //lX //lY amp。g_sKitron
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1