基于STM32的簡易電子計算器設(shè)計與實現(xiàn)_第1頁
基于STM32的簡易電子計算器設(shè)計與實現(xiàn)_第2頁
基于STM32的簡易電子計算器設(shè)計與實現(xiàn)_第3頁
基于STM32的簡易電子計算器設(shè)計與實現(xiàn)_第4頁
基于STM32的簡易電子計算器設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、四川師范大學(xué)成都學(xué)院通信工程學(xué)院基于STM32的簡易電子計算器設(shè)計與實現(xiàn)-實驗綜合設(shè)計報告 學(xué)生姓名陶龑學(xué) 號2016301033所在學(xué)院通信工程學(xué)院專業(yè)名稱嵌入式系統(tǒng)課程設(shè)計班 級2014級軟件班指導(dǎo)教師劉強成 績 四川師范大學(xué)成都學(xué)院二一六年十一月基于STM32的簡易電子計算器設(shè)計與實現(xiàn)內(nèi)容摘要:電子計算器即將傳統(tǒng)意義上的計算器進行電子化和數(shù)字化,為其減少時間誤差和體積,并提供更多的擴展實用功能,從而使電子計算器的應(yīng)用更加廣泛。在經(jīng)過資料的查找與收集后,本論文以該理念設(shè)計了一款基于STM32芯片作為核心控制器,使用Keil5平臺,以C語言為基礎(chǔ)進行軟件編程的簡易電子計算器,其內(nèi)在TFT-L

2、CD液晶屏進行輸出,以四個按鍵進行輸入,從而實現(xiàn)顯示輸入數(shù)據(jù)以及加減乘除運算的基本功能。通過軟件程序的編寫、硬件電路原理的實現(xiàn)、電子計算器正常工作的流程、原理圖仿真實現(xiàn)、硬件實物的安裝制作與硬件實物的調(diào)試過程,該簡易電子計算器現(xiàn)可用于日常生活和工作中。關(guān)鍵詞:簡易電子計算器 STM32 C語言 Keil5Design and implementation of Multi Function Electronic Clock based on STM32Abstract: The traditional electronic calculator calculator for electroni

3、c and digital, to reduce the time error and volume, and provide more extended utility function, so that the more extensive application of electronic calculators. After searching and collecting data, in this paper, the concept of a design based on STM32 chip as the core controller, using Keil5 platfo

4、rm, simple electronic calculator based on C language software programming, the TFT-LCD LCD screen for input and output, with four keys, so as to realize the display of input data and the basic the function of add, subtract, multiply and divide operations.Through the software program, hardware circui

5、t principle of the electronic calculator realization, normal work process and the principle of graph simulation, hardware installation and hardware debugging process, the simple electronic calculator is used in daily life and work.Key words: Simple electronic calculator STM32 language C Keil5 目 錄前 言

6、11 設(shè)計要求22 設(shè)計目的與作用23 所用設(shè)備及軟件24 系統(tǒng)設(shè)計方案24.1 系統(tǒng)總體設(shè)計24.2 簡要闡述系統(tǒng)工作原理35 系統(tǒng)硬件設(shè)計45.1 系統(tǒng)整體設(shè)計45.2 各單元電路設(shè)計45.2.1 電源電路45.2.2 LCD液晶顯示電路45.2.3 簡易電子計算器電路55.2.4 按鍵電路55.2.5 蜂鳴器電路55.2.6 復(fù)位電路65.2.7 串口電路66 系統(tǒng)軟件設(shè)計66.1 主程序設(shè)計66.2 子程序設(shè)計76.2.1 顯示模塊76.2.2 按鍵處理模塊86.2.3 實時簡易電子計算器萬年歷模塊87 仿真調(diào)試分析98 設(shè)計中的問題及解決方法109 學(xué)習(xí)心得10附 錄12附錄1:主程

7、序代碼12附錄2:系統(tǒng)總體結(jié)構(gòu)電路原理圖19參考文獻20基于STM32的簡易電子計算器設(shè)計與實現(xiàn)前 言最早的計算工具誕生在中國。中國古代最早采用的一種計算工具叫籌策,又被叫做算籌。這種算籌多用竹子制成,也有用木頭、獸骨充當材料的,約二百七十枚一束,放在布袋里可隨身攜帶。直到今天仍在使用的珠算盤,是中國古代計算工具領(lǐng)域中的另一項發(fā)明,明代時的珠算盤已經(jīng)與現(xiàn)代的珠算盤幾乎相同。17世紀初,西方國家的計算工具有了較大的發(fā)展。英國數(shù)學(xué)家納皮爾發(fā)明了“納皮爾算籌”,英國牧師奧卻德發(fā)明了圓柱形對數(shù)計算尺,這種計算尺不僅能做加減乘除、乘方、開方運算,甚至可以計算三角函數(shù)、指數(shù)函數(shù)和對數(shù)函數(shù)。這些計算工具為現(xiàn)

8、代計算器的發(fā)展奠定了良好的基礎(chǔ)。1642年,年僅19歲的法國偉大科學(xué)家帕斯卡引用算盤的原理,發(fā)明了第一部機械式計算器。在他的計算器中有一些互相聯(lián)鎖的齒輪,一個轉(zhuǎn)過十位的齒輪會使另一個齒輪轉(zhuǎn)過一位,人們可以像撥電話號碼盤那樣,把數(shù)字撥進去,計算結(jié)果就會出現(xiàn)在另一個窗口中,但是只能做加減計算。1694年,萊布尼茲在德國將其改進成可以進行乘除的計算。此后,到了20世紀50年代末,電子計算器問世。而現(xiàn)在我們所說的計算器一般是指“電子計算器”,該名詞由日文傳入中國。計算器是能進行數(shù)學(xué)運算的手持機器,擁有集成電路芯片,結(jié)構(gòu)簡單,功能較弱,但由于它使用方便、操作簡單、價格低廉,因而廣泛運用于商業(yè)交易中,也是

9、必備的辦公用品之一。隨著電子技術(shù)的飛速發(fā)展,為了進行大量的運算,電子計算器應(yīng)用于各個領(lǐng)域,從而使電子計算器的應(yīng)用更為廣泛,不僅改變傳統(tǒng)意義的手持計算器功能,使計算器支持彩屏的顯示,界面更友好,可擴展性能更強,為生活和工作帶來了便捷。本設(shè)計的簡易電子計算器以STM32微控制器芯片作為核心控制器,由于其基于ARM Cortex-M3處理器,可用于滿足大部分通用型應(yīng)用的需求,故選用STM32。具體需要硬件的調(diào)試以及軟件程序的編寫和實現(xiàn)來完成。1 設(shè)計要求l 具有通過四個按鍵來選擇的功能; l 具有彩屏顯示以及界面功能;l 具有顯示輸入的第一位數(shù)字和第二位數(shù)字的功能; l 具有除法保留小數(shù)位數(shù)的功能;

10、l 具有基本的加減乘除功能;2 設(shè)計目的與作用設(shè)計目的:簡易電子計算器設(shè)計首要的工作是結(jié)合以往所學(xué)C語言的編寫理論和編寫規(guī)則來編寫簡易電子計算器的軟件部分,編寫時要結(jié)合STM32開發(fā)板的管腳功能和其他硬件電路,如輸入模塊和TFT-LCD液晶顯示屏。利用開發(fā)板硬件電路實現(xiàn)軟硬件結(jié)合,能夠掌握簡易電子計算器的設(shè)計、組裝與調(diào)試方法。設(shè)計作用:通過對簡易電子計算器的設(shè)計與實現(xiàn),鞏固和加深嵌入式系統(tǒng)應(yīng)用的知識面,更近一步了解STM32的具體使用,并能夠掌握簡易電子計算器的設(shè)計思路,提高及靈活運用所學(xué)知識。在設(shè)計與實現(xiàn)的過程中,熟悉軟硬件設(shè)計的方法、內(nèi)容及步驟,提高動手實踐能力、提高科學(xué)的思維能力,對于論

11、文的編寫,培養(yǎng)書寫綜合實驗報告的能力。3 所用設(shè)備及軟件本次設(shè)計采用的設(shè)備為STM32開發(fā)板,以及keil MDK軟件和C語言的編寫。4 系統(tǒng)設(shè)計方案4.1 系統(tǒng)總體設(shè)計本設(shè)計采用意法半導(dǎo)體基于Cortex-M3的STM32F103,意法半導(dǎo)體的板子具有良好的性價比、低功耗、易開發(fā)等特點,而且其體系和架構(gòu)資料豐富,用它能夠快速的開發(fā)出整個系統(tǒng)。顯示屏的選擇,現(xiàn)有的液晶顯示屏的種類很多,本設(shè)計選用的是2.8寸帶觸摸的彩屏,分辨率為320x240,支持16位色,這個就足夠本設(shè)計使用了??砂褦?shù)據(jù)利用軟件來進行處理,從而把數(shù)據(jù)傳輸?shù)絃CD液晶顯示模塊,實現(xiàn)簡易電子計算器用戶操作界面的顯示,在開發(fā)板上可

12、使用四個獨立按鍵進行光標上下左右的移動,根據(jù)軟件程序的設(shè)置,開發(fā)板加減乘數(shù)的計算功能。系統(tǒng)整體框圖如圖4.1所示: STM32電源簡易電子計算器電路復(fù)位電路蜂鳴器電路串口電路LCD液晶顯示模塊獨立按鍵處理模塊圖4.1 系統(tǒng)整體框圖4.2 簡要闡述系統(tǒng)工作原理整個系統(tǒng)用STM32單片機作為中央控制器,由單片機執(zhí)行采集內(nèi)部RTC值,簡易電子計算器信號通過單片機I/O傳給LCD顯示屏,單片機模塊控制驅(qū)動模塊驅(qū)動顯示模塊,通過顯示模塊來實現(xiàn)信號的輸出、LCD顯示屏的顯示及相關(guān)的控制功能。系統(tǒng)設(shè)有按鍵模塊用于對數(shù)字進行調(diào)整。系統(tǒng)流程圖如圖4.2所示:圖4.2 系統(tǒng)流程圖5 系統(tǒng)硬件設(shè)計5.1 系統(tǒng)整體設(shè)

13、計本數(shù)字簡易電子計算器設(shè)計計時采用開發(fā)板自帶RTC模塊,使用4個獨立按鍵實現(xiàn)對時間的調(diào)整,1個按鍵進行復(fù)位操作,蜂鳴器對于整點報時及鬧鈴進行響應(yīng)。系統(tǒng)總體結(jié)構(gòu)電路原理圖見附錄2。5.2 各單元電路設(shè)計該多功能數(shù)字簡易電子計算器電路原理設(shè)計是基于最小系統(tǒng)包括電源電路、復(fù)位電路、按鍵電路、計算電路、LCD液晶顯示電路、蜂鳴器電路、串口電路。5.2.1 電源電路本數(shù)字簡易電子計算器設(shè)計使用開發(fā)板配置的數(shù)據(jù)線與電腦USB接口直接連接進行通電,作為硬件電路電源。電源電路圖如圖5.2.1所示:圖5.2.1 電源電路圖5.2.2 LCD液晶顯示電路本數(shù)字簡易電子計算器設(shè)計所需顯示屏為TFT-LCD液晶顯示屏

14、,通過軟硬件的結(jié)合,可實現(xiàn)計算及數(shù)字的顯示。LCD液晶顯示電路圖如圖5.2.2所示:圖5.2.2 LCD液晶顯示電路圖5.2.3 簡易電子計算器電路本數(shù)字簡易電子計算器顯示采用STM32自帶RTC模塊,RTC模塊擁有一組連續(xù)計數(shù)的計數(shù)器,通過軟件的編寫,可實現(xiàn)簡易電子計算器的功能,在系統(tǒng)復(fù)位或待機喚醒后,簡易電子計算器電路圖如圖5.2.3所示:圖5.2.3 簡易電子計算器電路圖5.2.4 按鍵電路本數(shù)字簡易電子計算器設(shè)計四個按鍵用于進行顯示時間的調(diào)整,芯片的4個I/O口與開發(fā)板的獨立按鍵直接相連,通過軟件編寫,芯片可控制按鍵的開關(guān),以達到時間調(diào)整的要求。按鍵電路圖如圖5.2.4所示:圖5.2.

15、4 按鍵電路圖5.2.5 蜂鳴器電路本數(shù)字簡易電子計算器設(shè)計可進行整點報時與鬧鈴的功能,經(jīng)過軟硬件的結(jié)合,由軟件指使芯片控制蜂鳴器的響應(yīng)。電路圖如圖5.2.5所示:圖5.2.5 蜂鳴器電路圖5.2.6 復(fù)位電路本數(shù)字簡易電子計算器設(shè)計一個按鍵用于對整個程序及硬件進行重新復(fù)位的功能,以芯片與按鍵和其他部件組成的復(fù)位電路直接相連。復(fù)位電路圖如圖5.2.6所示:圖5.2.6 復(fù)位電路圖5.2.7 串口電路本數(shù)字簡易電子計算器所用STM32開發(fā)板支持USB下載,由USB轉(zhuǎn)串口TTL電路進行自動下載控制,由此可將程序下載于開發(fā)板上。串口電路圖如圖5.2.7所示:圖5.2.7 串口電路圖6 系統(tǒng)軟件設(shè)計整

16、個軟件系統(tǒng)采用模塊化思想,將TFT-LCD液晶屏和RTC實時簡易電子計算器分別集成一體,使程序模塊化,結(jié)構(gòu)層次分明。本設(shè)計的軟件系統(tǒng)分為五個部分:TFT-LCD顯示子程序、整點鬧鈴子程序、電子計算器子程序和按鍵處理子程序。6.1 主程序設(shè)計本文所設(shè)計的簡易電子計算器的在系統(tǒng)最初開始主程序掃描,由最初的顯示子程序初始化,在使用計算器計算時,需要判斷當前是采用加減乘除哪種運算,在程序中通過當手指觸摸到其中一個運算符號(如“+”),使用一個標識位來進行標識,然后在進行運算時候,通過這個標識位來判斷是進行哪種運算。最后在運算完成之后,清除相應(yīng)的標志位,以免影響下一次判斷。,蜂鳴器進行相應(yīng)操作,之后進入

17、按鍵掃描,判斷按鍵是否有變動,并進行實現(xiàn)相應(yīng)的功能,最后返回主程序重新一次掃描,主程序流程圖如下圖6.1所示:實時簡易電子計算器數(shù)據(jù)處理模塊開始顯示模塊初始化按鍵處理模塊圖6.1 主程序流程圖在通電后將初始化后的時分秒和年月日調(diào)入顯示子程序中,依次開始調(diào)用實時簡易電子計算器萬年歷子程序、整點鬧鈴子程序和按鍵處理子程序,在所有子程序調(diào)用完成后,返回程序開始循環(huán)運行。6.2 子程序設(shè)計在主程序的調(diào)用下根據(jù)不同的子程序模塊功能進行編寫,其中包括顯示模塊,按鍵處理模塊,實時簡易電子計算器萬年歷模塊,整點鬧鈴模塊等。6.2.1 顯示模塊使用TFT-LCD顯示屏顯示,編程實現(xiàn)功能簡潔,將RTC實時簡易電子

18、計算器的數(shù)據(jù)送入LCD中進行顯示,顯示內(nèi)容包含背景界面,以及加減乘除等選項。顯示子程序流程圖如下圖6.2.1所示:初始化顯示背景顯示界面顯示當前選項開始圖6.2.1 顯示子程序流程圖6.2.2 按鍵處理模塊該子程序進行按鍵處理的功能判斷分別對加減乘除等運算法則等進行調(diào)整,在正常情況下S1和S2分別是控制界面選擇的上下左右選項,而S3鍵位是確認當前的所選擇的操作,為了方面用戶使用和理解,并沒有使用S4鍵位,該流程圖如圖6.2.2所示:NNN按下S4鍵?按下S3鍵?按下S2鍵?按下S1鍵?開始退出N上下移動操作Y左右移動操作Y執(zhí)行相應(yīng)功能Y不用Y圖6.2.2 按鍵處理模塊流程圖6.2.3 實時簡易

19、電子計算器萬年歷模塊該子程序需要對加減乘除等運算過程的讀寫操作,在串口通信時對時序要求比較高,需保證傳輸?shù)倪B續(xù)性,不允許出現(xiàn)中斷,利用RTC計算兩次數(shù)據(jù)的走針。該流程圖如圖6.2.3所示:圖6.2.3 實時簡易電子計算模塊流程圖7 仿真調(diào)試分析該論文是用STM32開發(fā)板實現(xiàn)軟硬件的結(jié)合,分別對軟件與硬件進行調(diào)試,其中硬件主要通過在開發(fā)板上進行顯示電路與按鍵電路的調(diào)試,軟件通過keil MDK進行調(diào)試。硬件調(diào)試:使用STM32開發(fā)板,為其通電,查看電源電路是否正常;成功開機后,查看顯示電路是否正常;連接USB口,查看串口電路是否正常;根據(jù)時間走針判斷簡易電子計算器電路是否正常;通過獨立按鍵的相應(yīng)

20、操作,查看功能是否正確,由此判斷獨立按鍵處理電路是否正常;操作復(fù)位鍵,查看復(fù)位電路是否正常。經(jīng)過所有測試,電路均正常。軟件調(diào)試:因在硬件調(diào)試中,結(jié)合軟硬件,已完成顯示子程序、實時簡易電子計算器萬年歷子程序和按鍵處理子程序的調(diào)試,只需完成余下整點鬧鈴子程序的調(diào)試,通過實時簡易電子計算器萬年歷子程序調(diào)整時間為整點前一分鐘,設(shè)置成功后,等待一分鐘后,判斷蜂鳴器是否相應(yīng),由此判斷整點鬧鈴子程序能否正常運行。最終經(jīng)過測試,該子程序能正常運行。8 設(shè)計中的問題及解決方法在本次設(shè)計中出現(xiàn)過幾次小Bug,具體如下:l 第一個問題:同時按下S1與S2按鍵時,無法正常使用按鍵解決辦法:在Keil軟件中的調(diào)試工具,

21、發(fā)現(xiàn)在main函數(shù)中無法調(diào)用選擇數(shù)字的子程序,通過函數(shù)外部調(diào)用,問題成功解決。l 第二個問題:從編輯框獲取文本存儲失敗。這個問題產(chǎn)生的原因,是在我從編輯框內(nèi)讀取數(shù)據(jù)之前,有個if()語句,如滿足條件,清除編輯框的內(nèi)容,從而當我再次讀取編輯框的內(nèi)容就為空了,當然什么數(shù)據(jù)也存儲不了了。l 第三個問題:字符串轉(zhuǎn)化成浮點數(shù)和浮點數(shù)轉(zhuǎn)化成字符串的問題。這兩個功能都有相對的庫函數(shù)<stdlib>中的相干函數(shù)可以實現(xiàn),但是奇怪的是,我調(diào)用這些函數(shù),單獨直接用的時候都OK的,但是如果多幾個傳遞參數(shù),就完全失效了。找了N久的轉(zhuǎn)化函數(shù),統(tǒng)統(tǒng)沒有用,到最后,只能自己寫算法來實現(xiàn),花了很多時間來寫、驗證、

22、完善。l 第四個問題:碰到浮點數(shù)減整數(shù),得到的小數(shù)點與原先的小數(shù)點不相等。當然如:4.2-4=0.2,但是我們定義float a=4,2,則小數(shù)為a-(int)a,得到的小數(shù)部位0.2,而是為0.1999998之列的,這里就涉及到個類型之間的轉(zhuǎn)化存在丟失部分數(shù)據(jù)的問題。這是我超級郁悶的地方。想了很多種辦法多沒有解決。最后只能選擇效果最好的一種:就是小數(shù)點=(a*100000-(int)a*100000)/100000,這種方法雖然沒有本質(zhì)上解決問題,但是效果好多了。9 學(xué)習(xí)心得本次課程設(shè)計是用STM32單片機及接口電路設(shè)計一個簡易電子計算器,經(jīng)過兩個星期的調(diào)試,結(jié)果滿足設(shè)計要求,驗證無誤通過單

23、片機硬件電路的調(diào)試,實現(xiàn)了預(yù)先設(shè)定的功能。設(shè)計主要用到了多種芯片,程序也比較長比較麻煩,同時也遇到了不少困難,尤其是關(guān)于按鍵處理模塊分配的設(shè)計實現(xiàn)。關(guān)于顯示模塊,在以前的實驗中做過,所以問題很容易解決。在調(diào)試電路的過程中也積累了一些寶貴的經(jīng)驗。將理論與實踐相結(jié)合從而提高自己的實際動手能力和獨立思考的能力。這次的課程設(shè)計還讓我學(xué)會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。更重要的是,我在這一設(shè)計與調(diào)試過程中,遇見過亂碼,開發(fā)板無法顯示等問題,一點點去了解,一點點去解決。我在這其中學(xué)會了堅持不懈,不輕言放棄。同時還要感謝在我遇見困難時給予我?guī)椭椭笇?dǎo)的老師與同學(xué)。附 錄附錄1:主程

24、序代碼while(1)KEY_task(); /按鍵修改時間 Update_Date(); /獲取時間Adjust_RX_Buffer(); /處理來自串口的數(shù)據(jù)get_zb = zuobiao(); get_num = getnum(); for(i = 0, j = 20, k = 53; i < 10; i+) /如果i的值等于坐標的值,則顯示紅色 if(i % 4 = 0 && i != 0) j = 20; k += 37; printf("n"); if(get_zb = i) sprintf(Buff,"%d",i);

25、 GUI_CNCH16_string(j,k,(u8 *)Buff,Red,White); j+=50; else sprintf(Buff,"%d",i); GUI_CNCH16_string(j,k,(u8 *)Buff,Black,White); j+=50; for(i = 10, j = 120, k = 127; i < 16; i+) / 50 37 if(i = 12) j = 20;k += 37;printf("n");switch(i)case 10:sprintf(Buff,"%c",'+'

26、;); break; /在屏幕上輸出字符case 11:sprintf(Buff,"%c",'-'); break;case 12:sprintf(Buff,"%c",'*'); break;case 13:sprintf(Buff,"%c",'/'); break;case 14:sprintf(Buff,"%c",'='); break;case 15:sprintf(Buff,"%c",'c'); break;

27、if(get_zb = i) GUI_CNCH16_string(j,k,(u8 *)Buff,Red,White); /打印換行j += 50;else GUI_CNCH16_string(j,k,(u8 *)Buff,Black,White);j += 50;核心算法部分:int zy = 0; /左右選擇int sx = 0; /上下選擇int ch; /確認按鍵int num; /通過按鍵得到命令int n1 = 0;int n2 = 0;double n3 = 0;char Buff128;int flag = 0;int fk = 0;int sum = 0;void KEY_ta

28、sk(void) if(S4 = 0) /不按下s4時,s1,s2,s3 if(S1=0)/按下s1 兩個按鍵,分別是選擇上下和左右 Delay_nms(10); if(S1=0) while(S1=0); if(zy >= 0 && zy < 3) zy +; else zy = 0; if(!S2) /按下S2 Delay_nms(10); if(!S2) while(!S2); if(sx >= 0 && sx < 3) sx +; else sx = 0; if(!S3) /按鍵選擇Delay_nms(10);if(!S3)whi

29、le(!S3);switch(zy + sx * 4) case 0:num = 0; break; case 1:num = 1; break; case 2:num = 2;break; case 3:num = 3; break; case 4:num = 4; break; case 5:num = 5; break; case 6:num = 6; break; case 7:num = 7; break; case 8:num = 8; break; case 9:num = 9; break; case 10: num = 10; break; case 11: num = 11

30、; break; case 12: num = 12; break; case 13: num = 13; break; case 14: num = 14; break; case 15: num = 15; break; if(fk = 0)flag = 1;else flag = 3;else /按下s4時 if(num < 10 && flag = 1)/輸入第一個數(shù),并顯示出來if(n1 = 0) n1 = num;else n1 = n1 * 10 + num;sprintf(Buff,"%d",n1); GUI_CNCH16_string

31、(215,80,(u8 *)Buff,Black,White);flag = 0; if(num >= 10 && num < 14) /選擇運算功能 switch(num) case 10:sum = num;fk = 1;sprintf(Buff,"%d",cal(n1, n2, sum) ;break; case 11:sum = num;fk = 1;sprintf(Buff,"%d",cal(n1, n2, sum) ;break; case 12:sum = num;fk = 1;sprintf(Buff,&quo

32、t;%d",cal(n1, n2, sum) ;break; case 13:sum = num;fk = 1;sprintf(Buff,"%d",cal(n1, n2, sum) ;break;if(num < 10 && flag = 3) /輸入第一個數(shù)字和第二個數(shù)字 if(n2 = 0) n2 = num;else n2 = n2 * 10 + num; sprintf(Buff,"%d",n2); GUI_CNCH16_string(215,145,(u8 *)Buff,Black,White);flag = 0;if(num = 14) n3 = cal(n1, n2, sum); sprintf(Buff,"%.2f",n3); GUI_CNCH16_string(215,200,(u8 *)Buff,Black,White);if(num = 15) /數(shù)據(jù)清零 n1 = 0;n2 = 0;n3 = 0;fk = 0;sprintf(Buff,"%s"," "); GUI_CNCH16_string(215,80,(u8 *)Buff

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論