單片機(jī)課程設(shè)計(jì)報(bào)告計(jì)算器2_第1頁
單片機(jī)課程設(shè)計(jì)報(bào)告計(jì)算器2_第2頁
單片機(jī)課程設(shè)計(jì)報(bào)告計(jì)算器2_第3頁
單片機(jī)課程設(shè)計(jì)報(bào)告計(jì)算器2_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)課程設(shè)計(jì)報(bào)告計(jì)算器學(xué) 院 信息工程學(xué)院 專 業(yè) 信息工程 (電子信息工程方向) 年級(jí)班別 07級(jí)電信 1 班 學(xué) 號(hào) 3107002951 學(xué)生姓名 指導(dǎo)教師 答辯記錄開始時(shí)間結(jié)束時(shí)間考題:答辯結(jié)果:主要特點(diǎn)或功能1、用實(shí)驗(yàn)箱上的鍵盤輸入數(shù)值,然后在lcd顯示2、實(shí)現(xiàn)基本的4則運(yùn)算3、實(shí)現(xiàn)刪除和復(fù)位功能 1 設(shè)計(jì)要求:實(shí)現(xiàn)普通十進(jìn)制計(jì)算器的功能,按鍵采用實(shí)驗(yàn)箱上的44鍵盤,顯示采用實(shí)驗(yàn)箱上162點(diǎn)陣式字符lcd,鍵盤符號(hào)定義如下:123+456-789*-0=/左下角的“-”表示退格,即刪除鍵,按一次刪除lcd的最后一個(gè)數(shù)字。lcd的第一行顯示運(yùn)算式,第二行顯示運(yùn)算結(jié)果。比如要計(jì)算機(jī)12

2、+34,在鍵盤上按下相應(yīng)鍵后,lcd的第一行顯示“12+34”,按下“=”號(hào)后,lcd的第二行顯示“=46”。其他功能同普通計(jì)算器相同(只實(shí)現(xiàn)加減乘除四則運(yùn)算功能)。擴(kuò)展功能:負(fù)數(shù)、小數(shù)運(yùn)算。復(fù)合運(yùn)算。連續(xù)運(yùn)算。2進(jìn)制、8進(jìn)制運(yùn)算。2 設(shè)計(jì)思路鍵盤作為輸入,按下不同的按鍵通過設(shè)計(jì)掃描程序來獲得不同的按鍵的鍵值,然后顯示在lcd指定的位置上,通過調(diào)用運(yùn)算模塊獲得運(yùn)算結(jié)果,最后把結(jié)果顯示在lcd上的另一個(gè)位置,選擇好硬件模塊后就在cw下建立相應(yīng)的工程編寫程序部分。3 設(shè)計(jì)步驟按照設(shè)計(jì)要求,找到相應(yīng)的硬件,熟悉它的功能、引腳以及使用的方法。本課題中使用到的硬件模塊有44鍵盤,162點(diǎn)陣式字符lcd。

3、選擇好硬件并把硬件連接好以后就開始著手軟件方面的工作:設(shè)計(jì)在lcd上顯示的界面,在cw環(huán)境下建立一個(gè)工程,把要用到的硬件模塊的功能函數(shù)文件添加到工程里,然后就根據(jù)所要求的功能編寫程序。程序編寫完成并經(jīng)過軟件仿真無誤后,把代碼下載到實(shí)驗(yàn)箱上調(diào)試,通過反復(fù)的調(diào)試、修改,最后得到預(yù)期的效果,完成設(shè)計(jì)。4 程序流程(含流程圖及詳細(xì)步驟解釋)開始總線設(shè)置判斷是否按鍵?否計(jì)算按下的鍵的鍵值判斷鍵值對(duì)應(yīng)的按鍵輸入第一個(gè)操作數(shù) 輸出結(jié)果結(jié)束判斷所用到的運(yùn)算符繪制lcd顯示界面判斷是否按鍵?否計(jì)算按下的鍵的鍵值判斷鍵值對(duì)應(yīng)的按鍵在lcd上顯示相應(yīng)的符號(hào) 輸入第二個(gè)操作數(shù)判斷鍵值是否為等號(hào)否5 操作方法先在鍵盤上

4、輸入第一個(gè)操作數(shù),在本設(shè)計(jì)中,不能超過5位,然后選擇一種運(yùn)算方式(+ - * / 分別對(duì)應(yīng)于a b c d),接著輸入第二個(gè)操作(最多也是5位),最后按下“=”(也就是鍵盤上的e鍵)得出計(jì)算結(jié)果,顯示在lcd上。若輸入過程中有錯(cuò),剛可以用刪除鍵(f)進(jìn)行刪除。6 設(shè)計(jì)過程遇到的問題1、 數(shù)據(jù)顯示位置混亂,甚至有些顯示不出來。2、 在運(yùn)用算法的時(shí)候,用求余取整的方法顯示出來的結(jié)果都是9位,即把一些沒有意義的數(shù)值也顯示出來了(如1+1本來只要顯示2就可以的了,但在lcd上卻顯示000000002)3、 在調(diào)用其他模塊的函數(shù)的時(shí)候經(jīng)常編譯出錯(cuò)。7 問題分析1、 位置混亂,說明是顯示數(shù)據(jù)的坐標(biāo)設(shè)置得不

5、好,而顯示不出來的可能就是超出了lcd的顯示范圍。2、 這種情況的出現(xiàn)是由于沒有對(duì)輸出結(jié)果進(jìn)行過濾。3、 可能只是調(diào)用了函數(shù),卻沒有把該函數(shù)所用到的一些變量定義,函數(shù)調(diào)用等等的也調(diào)用過來8 問題解決思路及方法 1、 通過在lcd上畫多個(gè)不同位置的矩形,然后找到它的xy軸以及方向,確定了xy軸和方向以后就在lcd上指定的位置顯示數(shù)據(jù),數(shù)字之間的間隔要設(shè)計(jì)得合適。2、 在輸出結(jié)果的每一位前都加一個(gè)判斷語句,如果為0則判斷前面是否存在有不為0數(shù),若有則輸出結(jié)果,否則不輸出;如果不為0則直接輸出結(jié)果。3、 把所用到的模塊的頭文件添加進(jìn)去就可以把問題解決了。iv9 心得體會(huì):沒做這個(gè)課程設(shè)計(jì)之前只知道鍵盤掃描,定義鍵盤值,讀取鍵盤值,對(duì)lcd這個(gè)模塊一竅不通。做了這個(gè)課程設(shè)計(jì)以后,總算是會(huì)用lcd這個(gè)模塊了。歷經(jīng)兩個(gè)星期的計(jì)算器設(shè)計(jì),從學(xué)習(xí)硬件,設(shè)計(jì)規(guī)畫,設(shè)計(jì)軟件部分這一整個(gè)流程下來,我對(duì)鍵盤的工作原理又熟悉了一層,而cw這一軟件使用起來也更加熟練了。在設(shè)計(jì)過程中遇到不少

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論