畢業(yè)答辯基于單片機的多功能計算器_第1頁
畢業(yè)答辯基于單片機的多功能計算器_第2頁
畢業(yè)答辯基于單片機的多功能計算器_第3頁
畢業(yè)答辯基于單片機的多功能計算器_第4頁
畢業(yè)答辯基于單片機的多功能計算器_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、指導教師:袁建華指導教師:袁建華論文題目論文題目 基于單片機的多功能計算器基于單片機的多功能計算器n班級:浦電子班級:浦電子09040904n學生:于穎學生:于穎n學號:學號:2626論文的結構和主要內容論文的結構和主要內容u第一部分第一部分 計算器的總體功能描述計算器的總體功能描述u第二部分第二部分 計算器的硬件系統(tǒng)設計計算器的硬件系統(tǒng)設計u第三部分第三部分 計算器的軟件系統(tǒng)設計計算器的軟件系統(tǒng)設計u第四部分第四部分 計算器系統(tǒng)的組裝與調試計算器系統(tǒng)的組裝與調試 計算器的總體功能描述計算器的總體功能描述1、進行整數的、進行整數的“加加”、“減減”、“乘乘”、“除除”四則運算;四則運算;2、進

2、行基本的四則運算,鍵盤只需、進行基本的四則運算,鍵盤只需16個鍵即可,包括數字鍵個鍵即可,包括數字鍵09,符號鍵,符號鍵“+”、“-”、“*”、“/”、“=”和和一個清零鍵;一個清零鍵;3、運算時所鍵入的數字,符號(、運算時所鍵入的數字,符號(+、-、*、/)均需要在顯)均需要在顯示器上顯示,當鍵下示器上顯示,當鍵下“=”號鍵時,顯示計算所得的結果號鍵時,顯示計算所得的結果;4、可以進行多次連續(xù)運算,即上次計算所得的結果可以作為、可以進行多次連續(xù)運算,即上次計算所得的結果可以作為下次運算的第一個值;下次運算的第一個值; 5、可以進行錯誤提示,如當除數為零,或者結算結果大于計、可以進行錯誤提示,

3、如當除數為零,或者結算結果大于計算器所能運算的范圍時算器所能運算的范圍時(溢出溢出),在顯示器上提示錯誤并內,在顯示器上提示錯誤并內部歸零;部歸零;6、附加功能:在計算器順利完成的基礎上對系統(tǒng)進行簡單的、附加功能:在計算器順利完成的基礎上對系統(tǒng)進行簡單的擴展,如加時鐘芯片,讓系統(tǒng)既可以作為計算器,同時也擴展,如加時鐘芯片,讓系統(tǒng)既可以作為計算器,同時也可作為電子表,電子表應具備調時功能。可作為電子表,電子表應具備調時功能。計算器電路原理圖計算器電路原理圖計算器的硬件系統(tǒng)設計計算器的硬件系統(tǒng)框架計算器的硬件系統(tǒng)框架最小系統(tǒng)的設計最小系統(tǒng)的設計u 單片機最小系統(tǒng)是指用最少的元件組成的單片機可以工作

4、單片機最小系統(tǒng)是指用最少的元件組成的單片機可以工作的系統(tǒng)。對的系統(tǒng)。對51系列單片機來說系列單片機來說,最小系統(tǒng)一般應該包括:單最小系統(tǒng)一般應該包括:單片機、晶振電路、復位電路。片機、晶振電路、復位電路。分為以下幾個部分:分為以下幾個部分:1.單片機的選擇單片機的選擇2.晶振電路的設計晶振電路的設計3.復位電路的設計復位電路的設計鍵盤接口電路的設計鍵盤接口電路的設計 鍵盤是一種按鍵的集合,它是單片機應用系統(tǒng)中最常用的人鍵盤是一種按鍵的集合,它是單片機應用系統(tǒng)中最常用的人機對話輸入設備,用戶通過鍵盤向單片機輸入數據或指令。鍵盤機對話輸入設備,用戶通過鍵盤向單片機輸入數據或指令。鍵盤中每個按鍵都是

5、一個常開開關電路。本設計是基于單片機的簡易中每個按鍵都是一個常開開關電路。本設計是基于單片機的簡易計算器的設計,不需要進行復雜的運算,因此,采用計算器的設計,不需要進行復雜的運算,因此,采用44矩陣式矩陣式鍵盤鍵盤16個鍵來實現(xiàn)基本的個鍵來實現(xiàn)基本的“加加” 、“減減” 、“乘乘” 、“除除”運算即可。運算即可。鍵盤的硬件結構比較簡單,有行輸出口和列輸出口構成行列式鍵鍵盤的硬件結構比較簡單,有行輸出口和列輸出口構成行列式鍵盤,按鍵設置在行、列的交點上。盤,按鍵設置在行、列的交點上。44矩陣式鍵盤具體按鍵安排如下:矩陣式鍵盤具體按鍵安排如下: 第第0列列 第第1列列 第第2列列 第第3列列第第0

6、行行01 23第第1行行4567第第2行行89+-第第3行行*/=復位復位顯示電路的設計顯示電路的設計本設計進行的是計算器設計,如果用液晶作為顯示器,本設計進行的是計算器設計,如果用液晶作為顯示器,兩行就足夠了,一行顯示算式,一行顯示結果,所以本設兩行就足夠了,一行顯示算式,一行顯示結果,所以本設計采用計采用TC1602字符型液晶模塊進行顯示。字符型液晶模塊進行顯示。 TC1602顯示模塊采用點陣圖形來顯示字符,顯示分顯示模塊采用點陣圖形來顯示字符,顯示分為為2行、每行行、每行16個字符或個字符或1行行16個字符兩種模式,常用模個字符兩種模式,常用模式為式為2行行16個字符。它有個字符。它有1

7、6個引腳個引腳。DS1302實時時鐘電路的設計實時時鐘電路的設計 在本設計中,在本設計中,DS1302時鐘電路屬于一個系統(tǒng)擴展模時鐘電路屬于一個系統(tǒng)擴展模塊,是一個附加功能,它跟計算器是分離開來的,在時間塊,是一個附加功能,它跟計算器是分離開來的,在時間和硬件條件的允許下,我決定添加這個模塊,讓我的計算和硬件條件的允許下,我決定添加這個模塊,讓我的計算器除了能進行計算外,還能當電子表使用,使系統(tǒng)功能更器除了能進行計算外,還能當電子表使用,使系統(tǒng)功能更加完善。計算器和電子表兩種模式通過一個獨立按鍵來進加完善。計算器和電子表兩種模式通過一個獨立按鍵來進行切換,在同一塊液晶屏上顯示。行切換,在同一塊

8、液晶屏上顯示。一般的電子表都具有設置時間的功能,我的也不例外。一般的電子表都具有設置時間的功能,我的也不例外。在此模塊中,我選擇使用在此模塊中,我選擇使用4個獨立式按鍵,分別是:個獨立式按鍵,分別是:“設置設置” 、“確認確認” 、“+” 、“-” ,用來對時間進行設置。設置方法,用來對時間進行設置。設置方法是:按設置鍵是:按設置鍵1下,可按下,可按“+”、“-”對對“小時小時”進行設置,設進行設置,設置完畢按確認鍵退出;同理,按設置鍵置完畢按確認鍵退出;同理,按設置鍵2下對下對“分分”進行設置進行設置,按設置鍵,按設置鍵3下對下對“秒秒”進行設置。進行設置。主模塊程序的設計主模塊程序的設計

9、主模塊是系統(tǒng)軟件的主框主模塊是系統(tǒng)軟件的主框架。結構化程序設計一般架。結構化程序設計一般有有“自上而下自上而下”和和“自下而自下而上上”兩種方式,兩種方式,“自上而下自上而下”法的核心就是主框架的法的核心就是主框架的構建。本設計的主模塊的構建。本設計的主模塊的程序流程圖如圖程序流程圖如圖所示:所示:鍵盤掃描模塊程序的設計鍵盤掃描模塊程序的設計 矩陣按鍵掃描程矩陣按鍵掃描程序是一種節(jié)省序是一種節(jié)省I/O口的方法口的方法,按鍵數按鍵數目越多節(jié)省目越多節(jié)省I/O口口就越可觀。鍵盤掃就越可觀。鍵盤掃描模塊程序的流程描模塊程序的流程圖如圖圖如圖所示:所示:運算模塊程序的設計運算模塊程序的設計在此模塊中,

10、要實現(xiàn)在此模塊中,要實現(xiàn)“加加”、“減減”、“乘乘”、“除除”四四種整數的運算,我們需種整數的運算,我們需要定義三個數:要定義三個數:a、b、c ,類型為長整型(,類型為長整型(-2 1 4 7 4 8 3 6 4 8 +2147483647););其中其中a為第一個數,為第一個數,b為為第二個數,第二個數,c為兩數運為兩數運算的結果。本設計還要算的結果。本設計還要求可以根據需要進行連求可以根據需要進行連續(xù)多次的運算,即把續(xù)多次的運算,即把c的值賦給的值賦給a,輸入運算,輸入運算符 , 再 輸 入符 , 再 輸 入 b , 按 下, 按 下“=”號,再得到號,再得到c,再賦,再賦給給a,以此反

11、復。運算,以此反復。運算模塊程序流程圖如圖模塊程序流程圖如圖所所示:示:顯示模塊程序的設計顯示模塊程序的設計 在本設計中,液在本設計中,液晶只用顯示字符晶只用顯示字符,不需要顯示漢,不需要顯示漢字或圖形,且需字或圖形,且需要顯示的字符在要顯示的字符在TC1602液晶模液晶模塊內置的字符發(fā)塊內置的字符發(fā)生存儲器里都有生存儲器里都有,在編寫程序時,在編寫程序時,只要查表就可,只要查表就可得到相應字符的得到相應字符的代碼,比較方便代碼,比較方便。顯示程序的流。顯示程序的流程圖如圖程圖如圖所示:所示:DS1302實時時鐘模塊程序的設計實時時鐘模塊程序的設計 從前面已經了解到了時從前面已經了解到了時鐘芯

12、片的功能很強大,鐘芯片的功能很強大,設計這部分程序前,我設計這部分程序前,我必須對必須對DS1302有關日有關日歷、時間的寄存器進行歷、時間的寄存器進行深入的了解。在本設計深入的了解。在本設計中,我只用到了時間,中,我只用到了時間,所以我在這里就只對時所以我在這里就只對時間寄存器進行解釋,時間寄存器進行解釋,時(85H、84H)、分)、分(83H、82H)、秒)、秒(81H、82H)寄存)寄存器及控制寄存器(器及控制寄存器(8FH、8EH)DS1302時時鐘程序流程圖如圖鐘程序流程圖如圖所示所示:計算器系統(tǒng)的組裝與調試u 軟件系統(tǒng)的調試與仿真軟件系統(tǒng)的調試與仿真 在本次設計中,在本次設計中,C

13、程序是在程序是在Keil軟件中編寫并編譯的,在軟件中編寫并編譯的,在程序編寫中主要出現(xiàn)了以下問題:程序編寫中主要出現(xiàn)了以下問題:(1)由于程序過長過復雜,容易出現(xiàn)少了或多了一個)由于程序過長過復雜,容易出現(xiàn)少了或多了一個“”的現(xiàn)象。的現(xiàn)象。(2)有的變量所定義的類型錯誤,雖然程序無錯誤,但)有的變量所定義的類型錯誤,雖然程序無錯誤,但一仿真結果錯誤。一仿真結果錯誤。(3)事先未被定義的被調函數放在了主調函數的后面,)事先未被定義的被調函數放在了主調函數的后面,導致錯誤。導致錯誤。(4)所定義的芯片引腳與仿真圖中引腳不匹配。)所定義的芯片引腳與仿真圖中引腳不匹配。 (5)仿真的結果有時正確有時是

14、亂碼)仿真的結果有時正確有時是亂碼Protues仿真如圖仿真如圖硬件系統(tǒng)的組裝與調試硬件系統(tǒng)的組裝與調試焊接完畢后就要進行調試了,此過程中出現(xiàn)了以下問題焊接完畢后就要進行調試了,此過程中出現(xiàn)了以下問題: (1)通過)通過STC-ISP軟件把在軟件把在Keil中生成的中生成的.hex文件加載文件加載到單片機中,開機,進行運算,發(fā)現(xiàn)液晶屏點亮但不顯示到單片機中,開機,進行運算,發(fā)現(xiàn)液晶屏點亮但不顯示任何數據,經過對電路的檢查,發(fā)現(xiàn)本應接地液晶第任何數據,經過對電路的檢查,發(fā)現(xiàn)本應接地液晶第3腳(腳(VL)接到了電源端,改正后液晶可以顯示。)接到了電源端,改正后液晶可以顯示。 (2)液晶雖然可以顯示

15、了,但在進行計算時并不能正確顯)液晶雖然可以顯示了,但在進行計算時并不能正確顯示,經過多次檢查,發(fā)現(xiàn)硬件并無錯誤,斷定為軟件的錯示,經過多次檢查,發(fā)現(xiàn)硬件并無錯誤,斷定為軟件的錯誤,最后發(fā)現(xiàn)軟件中液晶初始化不完整,可是在仿真時是誤,最后發(fā)現(xiàn)軟件中液晶初始化不完整,可是在仿真時是正確的,這充分說明了仿真與實際硬件的區(qū)別。正確的,這充分說明了仿真與實際硬件的區(qū)別。計算器進行各種運算的截圖計算器進行各種運算的截圖計算器實物如圖計算器實物如圖u大學本科的學習生活即將結束。在此,我大學本科的學習生活即將結束。在此,我要感謝所有曾經教導過我的老師和關心過要感謝所有曾經教導過我的老師和關心過我的同學,他們在我成長過程中給予了我我的同學,他們在我成長過程中給予了我

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論