基于STM32科學(xué)計(jì)算器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2021-07-03 15:26
本次設(shè)計(jì)的基于STM32的科學(xué)計(jì)算機(jī)系統(tǒng)以單片機(jī)為主控制單元;以TFT-LCD液晶顯示屏進(jìn)行輸出和輸入;以C語(yǔ)言作為本次設(shè)計(jì)的編碼語(yǔ)言,編寫(xiě)本次的邏輯控制;并在Keil5平臺(tái)上進(jìn)行編譯和運(yùn)行;從而實(shí)現(xiàn)數(shù)據(jù)運(yùn)算的基本功能,同時(shí)本次設(shè)計(jì)還精確到小數(shù)點(diǎn)后六位。通過(guò)多次試驗(yàn)后還是保持良好的精確性,且該設(shè)計(jì)的組成成本低、性能穩(wěn)定,是獲取精確數(shù)據(jù)的重要保障。本次設(shè)計(jì)以STM32系統(tǒng)為基礎(chǔ),采用科學(xué)計(jì)算器系統(tǒng),計(jì)算需要計(jì)算的數(shù)值,實(shí)現(xiàn)加減乘除,取余,實(shí)現(xiàn)小數(shù)、負(fù)數(shù)的運(yùn)算。采用常用的數(shù)學(xué)函數(shù)的運(yùn)算,精確到小數(shù)點(diǎn)后6位,在觸摸屏上輸入和輸出。通過(guò)觸摸屏進(jìn)行人機(jī)交互,按鍵直接顯示在觸摸屏上,不需要傳統(tǒng)的機(jī)械按鍵,完成數(shù)學(xué)表達(dá)式的計(jì)算,包括三角函數(shù),log,ln等一些常用的數(shù)學(xué)函數(shù),實(shí)現(xiàn)基本的四則運(yùn)算,并將表達(dá)式和結(jié)果實(shí)時(shí)顯示出來(lái)。
【文章來(lái)源】:衛(wèi)星電視與寬帶多媒體. 2020,(07)
【文章頁(yè)數(shù)】:2 頁(yè)
【部分圖文】:
■系統(tǒng)組成結(jié)構(gòu)圖
69計(jì)算機(jī)應(yīng)用COMPUTERAPPLICATION2.1主程序設(shè)計(jì)在整個(gè)數(shù)據(jù)的處理過(guò)程中,首先通過(guò)單片機(jī)、顯示模塊、儲(chǔ)存模塊進(jìn)行初始化管腳信息,便于整個(gè)設(shè)計(jì)進(jìn)行自檢工作。因?yàn)樵O(shè)計(jì)不會(huì)告訴我們此時(shí)運(yùn)行到那個(gè)階段了,但是通過(guò)我們的編程提示進(jìn)行相應(yīng)的人機(jī)交互,編譯我們了解整個(gè)設(shè)備的運(yùn)行情況。隨后系統(tǒng)檢測(cè)當(dāng)前的輸入信息,并通過(guò)內(nèi)部設(shè)定的邏輯進(jìn)行數(shù)據(jù)的運(yùn)算,以此來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的獲齲具體流程圖如圖2.1所示。圖2.1■主流程圖2.2顯示部分設(shè)計(jì)顯示部分設(shè)計(jì)包括顯示模塊選擇,顯示程序設(shè)計(jì)和顯示模塊程序設(shè)計(jì)。2.2.1顯示模塊的選擇在此設(shè)計(jì)中,有兩個(gè)選項(xiàng)可以選擇主顯示模塊:通過(guò)對(duì)以上兩種方案的分析,為了讓本次檢測(cè)的數(shù)據(jù)更加直觀(guān)清晰的顯示出來(lái),同時(shí)本次設(shè)計(jì)需要屏幕作為輸入工具,而數(shù)字管不滿(mǎn)足該功能,所以本次顯示模塊選擇的是TFT-LCD顯示屏。2.2.2顯示程序設(shè)計(jì)顯示模塊采用TFT-LCD進(jìn)行顯示,程序開(kāi)始后首先進(jìn)行的是初始化的工作。隨后微控制器獲取并處理相關(guān)的數(shù)據(jù),在主函數(shù)調(diào)用的情況下,利用單片機(jī)內(nèi)部的串行接口,可以實(shí)現(xiàn)顯示處理。這樣不僅可以節(jié)省單片機(jī)的并行接口資源,而且在大多數(shù)不使用串行接口的情況下,可以減少或是免去擴(kuò)展接口。2.3顯示模塊程序設(shè)計(jì)顯示模塊程序由LCD初始化程序和定時(shí)器中斷程序,首先由LCD初始化程序?qū)⑵聊簧闲枰@示的按鍵顯示,再由定時(shí)器中斷程序定時(shí)刷新屏幕顯示表達(dá)式的區(qū)域,將輸入的表達(dá)式實(shí)時(shí)顯示出來(lái)。LCD初始化流程圖如圖2.3所示:3.■系統(tǒng)運(yùn)行與測(cè)試3.1硬件測(cè)試在首先整體進(jìn)行硬件排查以及調(diào)試的過(guò)程中,首先就要進(jìn)行各個(gè)模塊以及主要的處理主單片機(jī)之間的管腳引線(xiàn)是否安裝合理,如果相對(duì)應(yīng)的數(shù)據(jù)傳輸引腳沒(méi)有完成合理的接通,那么在后期軟件邏輯處理的時(shí)候不?
絳蟶杓?顯示模塊采用TFT-LCD進(jìn)行顯示,程序開(kāi)始后首先進(jìn)行的是初始化的工作。隨后微控制器獲取并處理相關(guān)的數(shù)據(jù),在主函數(shù)調(diào)用的情況下,利用單片機(jī)內(nèi)部的串行接口,可以實(shí)現(xiàn)顯示處理。這樣不僅可以節(jié)省單片機(jī)的并行接口資源,而且在大多數(shù)不使用串行接口的情況下,可以減少或是免去擴(kuò)展接口。2.3顯示模塊程序設(shè)計(jì)顯示模塊程序由LCD初始化程序和定時(shí)器中斷程序,首先由LCD初始化程序?qū)⑵聊簧闲枰@示的按鍵顯示,再由定時(shí)器中斷程序定時(shí)刷新屏幕顯示表達(dá)式的區(qū)域,將輸入的表達(dá)式實(shí)時(shí)顯示出來(lái)。LCD初始化流程圖如圖2.3所示:3.■系統(tǒng)運(yùn)行與測(cè)試3.1硬件測(cè)試在首先整體進(jìn)行硬件排查以及調(diào)試的過(guò)程中,首先就要進(jìn)行各個(gè)模塊以及主要的處理主單片機(jī)之間的管腳引線(xiàn)是否安裝合理,如果相對(duì)應(yīng)的數(shù)據(jù)傳輸引腳沒(méi)有完成合理的接通,那么在后期軟件邏輯處理的時(shí)候不能得到關(guān)鍵的數(shù)據(jù)值,那么對(duì)于整個(gè)設(shè)計(jì)的軟件錯(cuò)誤排查就不能方便快速的找到對(duì)應(yīng)的問(wèn)題,然后檢查設(shè)備的規(guī)格和極性是否有錯(cuò)誤。然后,如果電路板和電源之間存在短路,將使用萬(wàn)用表解決此問(wèn)題。3.2軟件調(diào)試當(dāng)調(diào)試完科學(xué)計(jì)算器設(shè)計(jì)硬件間的連接沒(méi)有任何問(wèn)題后,接下來(lái)就可以應(yīng)用計(jì)算機(jī)進(jìn)行科學(xué)計(jì)算器軟件程序的調(diào)試工作。首先用keil打開(kāi)之前寫(xiě)好的程序代碼,因?yàn)槭前茨K化的方式來(lái)編寫(xiě)的程序代碼,所以可以按照單個(gè)模塊來(lái)進(jìn)行代碼的測(cè)試,如果在調(diào)試的過(guò)程中,發(fā)現(xiàn)代碼運(yùn)行出錯(cuò),則可以很快找到對(duì)應(yīng)模塊的代碼,并對(duì)其進(jìn)行修改。按照這種方式一個(gè)一個(gè)模塊的進(jìn)行科學(xué)計(jì)算器軟件的調(diào)試,當(dāng)調(diào)試了多次還沒(méi)出現(xiàn)什么問(wèn)題后,就可以準(zhǔn)備下一步的整體系統(tǒng)調(diào)試工作了。參考文獻(xiàn):[1]張亞.基于LabVIEW系統(tǒng)開(kāi)發(fā)的科學(xué)計(jì)算器[J].電子世界,2019(22):48-49.[2]MaHninYuMyaing,Ma
【參考文獻(xiàn)】:
期刊論文
[1]基于LabVIEW系統(tǒng)開(kāi)發(fā)的科學(xué)計(jì)算器[J]. 張亞. 電子世界. 2019(22)
[2]科學(xué)計(jì)算器在測(cè)距導(dǎo)線(xiàn)和三角高程計(jì)算中的應(yīng)用[J]. 毛超勛. 內(nèi)蒙古煤炭經(jīng)濟(jì). 2018(24)
本文編號(hào):3262848
【文章來(lái)源】:衛(wèi)星電視與寬帶多媒體. 2020,(07)
【文章頁(yè)數(shù)】:2 頁(yè)
【部分圖文】:
■系統(tǒng)組成結(jié)構(gòu)圖
69計(jì)算機(jī)應(yīng)用COMPUTERAPPLICATION2.1主程序設(shè)計(jì)在整個(gè)數(shù)據(jù)的處理過(guò)程中,首先通過(guò)單片機(jī)、顯示模塊、儲(chǔ)存模塊進(jìn)行初始化管腳信息,便于整個(gè)設(shè)計(jì)進(jìn)行自檢工作。因?yàn)樵O(shè)計(jì)不會(huì)告訴我們此時(shí)運(yùn)行到那個(gè)階段了,但是通過(guò)我們的編程提示進(jìn)行相應(yīng)的人機(jī)交互,編譯我們了解整個(gè)設(shè)備的運(yùn)行情況。隨后系統(tǒng)檢測(cè)當(dāng)前的輸入信息,并通過(guò)內(nèi)部設(shè)定的邏輯進(jìn)行數(shù)據(jù)的運(yùn)算,以此來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的獲齲具體流程圖如圖2.1所示。圖2.1■主流程圖2.2顯示部分設(shè)計(jì)顯示部分設(shè)計(jì)包括顯示模塊選擇,顯示程序設(shè)計(jì)和顯示模塊程序設(shè)計(jì)。2.2.1顯示模塊的選擇在此設(shè)計(jì)中,有兩個(gè)選項(xiàng)可以選擇主顯示模塊:通過(guò)對(duì)以上兩種方案的分析,為了讓本次檢測(cè)的數(shù)據(jù)更加直觀(guān)清晰的顯示出來(lái),同時(shí)本次設(shè)計(jì)需要屏幕作為輸入工具,而數(shù)字管不滿(mǎn)足該功能,所以本次顯示模塊選擇的是TFT-LCD顯示屏。2.2.2顯示程序設(shè)計(jì)顯示模塊采用TFT-LCD進(jìn)行顯示,程序開(kāi)始后首先進(jìn)行的是初始化的工作。隨后微控制器獲取并處理相關(guān)的數(shù)據(jù),在主函數(shù)調(diào)用的情況下,利用單片機(jī)內(nèi)部的串行接口,可以實(shí)現(xiàn)顯示處理。這樣不僅可以節(jié)省單片機(jī)的并行接口資源,而且在大多數(shù)不使用串行接口的情況下,可以減少或是免去擴(kuò)展接口。2.3顯示模塊程序設(shè)計(jì)顯示模塊程序由LCD初始化程序和定時(shí)器中斷程序,首先由LCD初始化程序?qū)⑵聊簧闲枰@示的按鍵顯示,再由定時(shí)器中斷程序定時(shí)刷新屏幕顯示表達(dá)式的區(qū)域,將輸入的表達(dá)式實(shí)時(shí)顯示出來(lái)。LCD初始化流程圖如圖2.3所示:3.■系統(tǒng)運(yùn)行與測(cè)試3.1硬件測(cè)試在首先整體進(jìn)行硬件排查以及調(diào)試的過(guò)程中,首先就要進(jìn)行各個(gè)模塊以及主要的處理主單片機(jī)之間的管腳引線(xiàn)是否安裝合理,如果相對(duì)應(yīng)的數(shù)據(jù)傳輸引腳沒(méi)有完成合理的接通,那么在后期軟件邏輯處理的時(shí)候不?
絳蟶杓?顯示模塊采用TFT-LCD進(jìn)行顯示,程序開(kāi)始后首先進(jìn)行的是初始化的工作。隨后微控制器獲取并處理相關(guān)的數(shù)據(jù),在主函數(shù)調(diào)用的情況下,利用單片機(jī)內(nèi)部的串行接口,可以實(shí)現(xiàn)顯示處理。這樣不僅可以節(jié)省單片機(jī)的并行接口資源,而且在大多數(shù)不使用串行接口的情況下,可以減少或是免去擴(kuò)展接口。2.3顯示模塊程序設(shè)計(jì)顯示模塊程序由LCD初始化程序和定時(shí)器中斷程序,首先由LCD初始化程序?qū)⑵聊簧闲枰@示的按鍵顯示,再由定時(shí)器中斷程序定時(shí)刷新屏幕顯示表達(dá)式的區(qū)域,將輸入的表達(dá)式實(shí)時(shí)顯示出來(lái)。LCD初始化流程圖如圖2.3所示:3.■系統(tǒng)運(yùn)行與測(cè)試3.1硬件測(cè)試在首先整體進(jìn)行硬件排查以及調(diào)試的過(guò)程中,首先就要進(jìn)行各個(gè)模塊以及主要的處理主單片機(jī)之間的管腳引線(xiàn)是否安裝合理,如果相對(duì)應(yīng)的數(shù)據(jù)傳輸引腳沒(méi)有完成合理的接通,那么在后期軟件邏輯處理的時(shí)候不能得到關(guān)鍵的數(shù)據(jù)值,那么對(duì)于整個(gè)設(shè)計(jì)的軟件錯(cuò)誤排查就不能方便快速的找到對(duì)應(yīng)的問(wèn)題,然后檢查設(shè)備的規(guī)格和極性是否有錯(cuò)誤。然后,如果電路板和電源之間存在短路,將使用萬(wàn)用表解決此問(wèn)題。3.2軟件調(diào)試當(dāng)調(diào)試完科學(xué)計(jì)算器設(shè)計(jì)硬件間的連接沒(méi)有任何問(wèn)題后,接下來(lái)就可以應(yīng)用計(jì)算機(jī)進(jìn)行科學(xué)計(jì)算器軟件程序的調(diào)試工作。首先用keil打開(kāi)之前寫(xiě)好的程序代碼,因?yàn)槭前茨K化的方式來(lái)編寫(xiě)的程序代碼,所以可以按照單個(gè)模塊來(lái)進(jìn)行代碼的測(cè)試,如果在調(diào)試的過(guò)程中,發(fā)現(xiàn)代碼運(yùn)行出錯(cuò),則可以很快找到對(duì)應(yīng)模塊的代碼,并對(duì)其進(jìn)行修改。按照這種方式一個(gè)一個(gè)模塊的進(jìn)行科學(xué)計(jì)算器軟件的調(diào)試,當(dāng)調(diào)試了多次還沒(méi)出現(xiàn)什么問(wèn)題后,就可以準(zhǔn)備下一步的整體系統(tǒng)調(diào)試工作了。參考文獻(xiàn):[1]張亞.基于LabVIEW系統(tǒng)開(kāi)發(fā)的科學(xué)計(jì)算器[J].電子世界,2019(22):48-49.[2]MaHninYuMyaing,Ma
【參考文獻(xiàn)】:
期刊論文
[1]基于LabVIEW系統(tǒng)開(kāi)發(fā)的科學(xué)計(jì)算器[J]. 張亞. 電子世界. 2019(22)
[2]科學(xué)計(jì)算器在測(cè)距導(dǎo)線(xiàn)和三角高程計(jì)算中的應(yīng)用[J]. 毛超勛. 內(nèi)蒙古煤炭經(jīng)濟(jì). 2018(24)
本文編號(hào):3262848
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3262848.html
最近更新
教材專(zhuān)著