(南昌理工學(xué)院電子與信息學(xué)院 江西 南昌 330013)
基于單片機的計算器設(shè)計
繆星星
(南昌理工學(xué)院電子與信息學(xué)院江西南昌330013)
設(shè)計以實現(xiàn)基本四則運算與常用三角函數(shù)計算作為基礎(chǔ)功能的計算器,并在此基礎(chǔ)之上,添加數(shù)據(jù)采集與數(shù)據(jù)分析功能。
單片機;計算器;液晶;串口
在現(xiàn)實生活中,數(shù)學(xué)計算常常伴隨我們左右,一個簡單廉價的計算器可以極大的方便人們生產(chǎn)生活中的計算問題,那么在滿足常規(guī)數(shù)學(xué)計算的同時,提供簡單數(shù)據(jù)分析,將賦予計算器全新的生命,這將使計算器更好的成為人們的生產(chǎn)力工具,使用現(xiàn)有技術(shù),解決和方便人們生活中的問題是本設(shè)計的最大意義。
系統(tǒng)由下位機系統(tǒng)和上位機系統(tǒng)兩個系統(tǒng)組成,下位機系統(tǒng)由單片機最小系統(tǒng),串口通信模塊,按鍵輸入模塊,LCD液晶顯示模塊組成,上位機系統(tǒng)為PC端桌面程序。下位機系統(tǒng)主要完成對用戶輸入的數(shù)學(xué)表達(dá)式的計算,并在計算完成后自動將相關(guān)數(shù)據(jù)通過單片機串口模塊,上傳至上位機系統(tǒng)。上位機系統(tǒng)則實時接收下位機發(fā)送數(shù)據(jù),內(nèi)部使用相關(guān)算法,對上傳數(shù)據(jù)進行統(tǒng)計分析,系統(tǒng)結(jié)構(gòu)為:
系統(tǒng)工作原理見圖2-1:
圖1 系統(tǒng)工作原理框圖
下位機系統(tǒng)使用串口數(shù)據(jù)線與PC端口連接,按下系統(tǒng)電源按鍵,系統(tǒng)開始運行,首先進行各模塊進行初始化工作,系統(tǒng)初始化完成后,系統(tǒng)進入等待狀態(tài)等待用戶的按鍵輸入,當(dāng)硬件電路感知到用戶輸入時,LCD液晶屏中會對用戶輸入進行實時顯示,當(dāng)用戶按下“=”鍵時,系統(tǒng)程序會對用戶輸入的表達(dá)式進行處理,計算出表達(dá)式結(jié)果,同時通過串口模塊將表達(dá)式及結(jié)果數(shù)據(jù)上傳至PC上位,PC上位機接收串口數(shù)據(jù),對數(shù)據(jù)進行相關(guān)處理顯示。
圖2 硬件設(shè)計電路圖
系統(tǒng)軟件設(shè)計,是指通過軟件編程的方式協(xié)調(diào)系統(tǒng)各硬件電路運行,通過軟硬結(jié)合的方式,實現(xiàn)系統(tǒng)功能。它是整個系統(tǒng)穩(wěn)定,可靠運行的重要保障。
本設(shè)計中下位機系統(tǒng)程序包括,鍵盤按鍵掃描,LCD液晶顯示,單片機串口通信,數(shù)學(xué)表達(dá)式計算,主程序控制等模塊構(gòu)成。系統(tǒng)上電后,在主程序中首先完成各功能模塊的初始化工作,隨后主程序中進入while(1)大循環(huán),循環(huán)調(diào)用按鍵掃描模塊,對用戶輸入進行監(jiān)控,當(dāng)有鍵按下,在鍵盤掃描模塊中將會獲取按鍵鍵值,同時主程序中會將鍵值放入表達(dá)式緩沖區(qū)中進行保存,并調(diào)用LCD液晶顯示模塊將用戶按鍵值在LCD1602液晶屏中進行顯示,當(dāng)用達(dá)式輸入完畢按下“=”鍵,主程序中將會調(diào)用數(shù)學(xué)表達(dá)式計算模塊,首先從表達(dá)式緩沖區(qū)中讀取用戶輸入表達(dá)式,通過計算模塊的符號棧處理,將用戶輸入中綴表達(dá)式轉(zhuǎn)換為后綴表達(dá)式,存儲在后綴表達(dá)式緩沖區(qū)中,隨后計算模塊通過計算棧對后綴表達(dá)式進行計算求值,得出表達(dá)式計算結(jié)果,并通過LCD液晶顯示模塊,將計算結(jié)果在LCD中進行顯示,最后主程序調(diào)用單片機串口通信模塊,將表達(dá)式緩沖區(qū)的內(nèi)容與表達(dá)式計算結(jié)果發(fā)送到PC上位機系統(tǒng)中,上述步驟執(zhí)行完成,主程序重新回到按鍵掃描模塊中執(zhí)行,掃描等待用戶下一次的表達(dá)式輸入計算。主程序中當(dāng)用戶按下清屏按鍵,主程序會調(diào)用LCD液晶顯示模塊,對LCD液晶顯示進行清除,同時會將各緩沖區(qū)內(nèi)存空間進行初始化操作,完成清屏后回調(diào)到按鍵掃描模塊,等待用戶下一次按鍵輸入。
[1]華成英.模擬電子技術(shù)基礎(chǔ)[M].清華大學(xué)出版社出版.2006.2
[2]陳海宴.51單片機原理及應(yīng)用[M].北京航空航天大學(xué)出版社.2010.7
[3]王東鋒.單片機C語言應(yīng)用100例[M].電子工業(yè)出版社.2008.3
[4]安曉輝.Qt Quick核心編程[M].電子工業(yè)出版社2015.1.