AT89C51單片機(jī)C實(shí)現(xiàn)簡易計(jì)算器計(jì)算機(jī)C++資料_第1頁
AT89C51單片機(jī)C實(shí)現(xiàn)簡易計(jì)算器計(jì)算機(jī)C++資料_第2頁
AT89C51單片機(jī)C實(shí)現(xiàn)簡易計(jì)算器計(jì)算機(jī)C++資料_第3頁
AT89C51單片機(jī)C實(shí)現(xiàn)簡易計(jì)算器計(jì)算機(jī)C++資料_第4頁
AT89C51單片機(jī)C實(shí)現(xiàn)簡易計(jì)算器計(jì)算機(jī)C++資料_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

并等待再次鍵入數(shù)值,當(dāng)再鍵入數(shù)值后將顯示鍵入的數(shù)值,按等號就令字或數(shù)據(jù)使LCD完成不同功能或顯示相應(yīng)數(shù)據(jù)。/******并等待再次鍵入數(shù)值,當(dāng)再鍵入數(shù)值后將顯示鍵入的數(shù)值,按等號就令字或數(shù)據(jù)使LCD完成不同功能或顯示相應(yīng)數(shù)據(jù)。/******(0x01);write(0x06);write(0x0e)會(huì)在LCD上輸出運(yùn)算結(jié)果?!?〕錯(cuò)誤提示:當(dāng)計(jì)算器執(zhí)行過程中AT89C51單片機(jī)簡易計(jì)算器的設(shè)計(jì)根據(jù)功能和指標(biāo)要求,本系統(tǒng)選用MCS-51系列單片機(jī)為主控機(jī)。了得到較好的顯示效果,采用LCD顯示數(shù)據(jù)和結(jié)果。按等號就會(huì)在LCD上輸出運(yùn)算結(jié)果?!?〕錯(cuò)誤提示:當(dāng)計(jì)算器執(zhí)行過程中有錯(cuò)誤時(shí),會(huì)在LCD上顯致能。(9)DA〔DataAvailable致能。(9)DA〔DataAvailable,腳12〕:數(shù)據(jù)相符。后來經(jīng)過計(jì)算得到有符號長整型的表示圍為-2147483=num*10+(key-'0');if(operators本次功能鍵?結(jié)果送顯示緩沖結(jié)果送顯示緩沖等待數(shù)值輸入等待數(shù)值靜態(tài)顯示。按鍵局部:采用4*4鍵盤;利用MM74C922為4*4的鍵盤.-/**********LCD清屏函數(shù)**********算功能。三、軟件設(shè)計(jì)現(xiàn)實(shí)生活中人們熟知的計(jì)算器,其功能主要如.-/**********LCD清屏函數(shù)**********算功能。三、軟件設(shè)計(jì)現(xiàn)實(shí)生活中人們熟知的計(jì)算器,其功能主要如***********LCD檢查忙碌函數(shù)**********盤布局如圖2所示:一般有16個(gè)鍵組成,在單片機(jī)中正好可以用一.制及提示;針對上述功能,計(jì)算器軟件程序要完成以下模塊的設(shè)計(jì):emp=a;while((temp=temp/10)!=0)N=1;/*使能信號開*/P1=mand;/*將數(shù)據(jù)送入p1得到的結(jié)果大于計(jì)算器的表示圍時(shí),計(jì)算器會(huì)在LCD上提示溢出;制及提示;針對上述功能,計(jì)算器軟件程序要完成以下模塊的設(shè)計(jì):emp=a;while((temp=temp/10)!=0)N=1;/*使能信號開*/P1=mand;/*將數(shù)據(jù)送入p1得到的結(jié)果大于計(jì)算器的表示圍時(shí),計(jì)算器會(huì)在LCD上提示溢出;MM74C922芯片。MM74C922是一款4*4鍵盤掃描IC,它可檢測到與圖4MM94C22硬件圖其中DOA為LSB,DOD為MSB。MM74C922引腳說明:獨(dú)立按鍵的方式,在這種情況下,編程會(huì)很簡單,但是會(huì)占用大量的rd.zl..-分塊程序設(shè)計(jì)鍵盤輸入檢測程序設(shè)計(jì)有鍵按下時(shí),M、ROM、定時(shí)器/計(jì)數(shù)器和多功能I/O獨(dú)立按鍵的方式,在這種情況下,編程會(huì)很簡單,但是會(huì)占用大量的rd.zl..-分塊程序設(shè)計(jì)鍵盤輸入檢測程序設(shè)計(jì)有鍵按下時(shí),M、ROM、定時(shí)器/計(jì)數(shù)器和多功能I/O等一臺(tái)計(jì)算機(jī)所需要的9C51單片機(jī)為主控單元。顯示局部:采用LCD靜態(tài)顯示。按鍵輸出口與單片機(jī)的P2口相連,MM74C922的DA引腳經(jīng)過一個(gè)非門線分別連接到MM74C922的X1-X4、Y1-Y4引腳,MM74C922的數(shù)據(jù)MM74C922對各按鍵的響應(yīng)如下表所示:*/voidcheckBF(){chari,x=0x80;P器〔CPU〕、數(shù)據(jù)存儲(chǔ)器〔RAM〕、程序存儲(chǔ)器〔ROM/EP根本功能部件。如果按功能劃分,它由如下功能部件組成,即微處理iddisplay(longa){longtemp,b,c=*/voidcheckBF(){chari,x=0x80;P器〔CPU〕、數(shù)據(jù)存儲(chǔ)器〔RAM〕、程序存儲(chǔ)器〔ROM/EP根本功能部件。如果按功能劃分,它由如下功能部件組成,即微處理iddisplay(longa){longtemp,b,c=圖6LCD模塊向LCD寫指令字或?qū)憯?shù)據(jù)以使LCD實(shí)現(xiàn)不同的功能或顯示相應(yīng)數(shù)腳6〕:部消除開關(guān)彈跳電路所外加電容的引腳。(8)OE腳6〕:部消除開關(guān)彈跳電路所外加電容的引腳。(8)OE〔Ou零鍵功能鍵輸入數(shù)值狀態(tài)清零根據(jù)上次功能鍵和輸入的數(shù)據(jù)計(jì)算結(jié)果sedataoverflow();}else{switch(w[i]);}四、聯(lián)機(jī)調(diào)試在聯(lián)機(jī)調(diào)試的過程中,一開場沒有做數(shù).〔四〕運(yùn)算模塊〔單片機(jī)控制〕MCS-51單片機(jī)是在一塊芯片中集成了CPU、RAM、ROM、定時(shí)2、LCD顯示模塊;=0;operators=0;display(num);br/**********除數(shù)為處理函數(shù)**********/v=0;operators=0;display(num);br/**********除數(shù)為處理函數(shù)**********/v過使用單片機(jī)編寫的程序可以實(shí)現(xiàn)高智能,高效率,以及高可靠性!通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨(dú)特的一些功能,通.系統(tǒng)總流程圖voidinitLCM(){write(0x30);writkey){case'c':x=0;y=0;num=0;inytic();operators=3;num=0;break;rd.zl..-voidinitLCM(){write(0x30);writkey){case'c':x=0;y=0;num=0;inytic();operators=3;num=0;break;rd.zl..-分塊程序設(shè)計(jì)鍵盤輸入檢測程序設(shè)計(jì)有鍵按下時(shí),.初始化參數(shù)初始化LCD顯示Y讀取鍵碼N數(shù)字鍵清零鍵功能鍵輸入數(shù)值狀態(tài)清零根據(jù)上次功能鍵和輸入的數(shù)據(jù)計(jì)算結(jié)果本次功能結(jié)果送顯示緩沖結(jié)果送顯示緩沖等待數(shù)值輸入等待數(shù)值輸入結(jié)果送顯示緩沖數(shù)值送顯示緩沖等待數(shù)值輸入LCD顯示鍵盤上按鍵的個(gè)數(shù)就為4×4鍵盤上按鍵的個(gè)數(shù)就為4×4個(gè)。這種行列式鍵盤構(gòu)造能有效地提高鍵盤的方案。矩陣鍵盤采用四條I/O線作為行線,四條I/O線作tic();operators=3;num=0;break;局部:采用4*4鍵盤;利用MM74C922為4*4的鍵盤掃描.{{{}{}}{{*****/voidwritedata(charddata)個(gè)P口實(shí)現(xiàn)*****/voidwritedata(charddata)個(gè)P口實(shí)現(xiàn)16個(gè)按鍵功能,這種形式在單片機(jī)系統(tǒng)中也最常用。圖emp=a;while((temp=temp/10)!=0)輸入結(jié)果送顯示緩沖數(shù)值送顯示緩沖等待數(shù)值輸入LCD顯示.wo.}}}2、LCD顯示程序設(shè)計(jì)利用LCD靜態(tài)顯示,通過程序向LCD寫指令字或數(shù)據(jù)使LCD完成{>0){y=num;iny=1;}elsex=num;if(制及提示;針對上述功能,計(jì)算器軟件程序要完成以下模塊的設(shè)計(jì):thmetic();operators=1;num=0;br下:鍵盤輸入;數(shù)值顯示;加、減、乘、除四那么運(yùn)算;對錯(cuò)誤的控>0){y=num;iny=1;}elsex=num;if(制及提示;針對上述功能,計(jì)算器軟件程序要完成以下模塊的設(shè)計(jì):thmetic();operators=1;num=0;br下:鍵盤輸入;數(shù)值顯示;加、減、乘、除四那么運(yùn)算;對錯(cuò)誤的控.}{R_W=0;}{R_W=0;}{{R_W=1;EN=1;EN=0;}}有錯(cuò)誤時(shí),會(huì)在LCD上顯示相應(yīng)的提示,有錯(cuò)誤時(shí),會(huì)在LCD上顯示相應(yīng)的提示,如:當(dāng)輸入的數(shù)值或計(jì)算9'&&key>='0')//判斷按下的鍵是否為數(shù)值{num;EN=1;x=P1;EN=0;for(i=0;i<10;ibreak;case'+':if(operators)ari.{}{{}{}{{}}}eak;case'-:'if(operators)arith致能。(9)DA〔eak;case'-:'if(operators)arith致能。(9)DA〔DataAvailable,腳12〕:數(shù)據(jù)算術(shù)運(yùn)算程序設(shè)計(jì).word.zl..-錯(cuò)誤處理及提示程序設(shè)計(jì)>0){y=num;iny=1;}elsex=num;if(.開場開場乘YNN錯(cuò)誤信息送顯示緩沖數(shù)值送顯示緩沖運(yùn)算結(jié)果溢減加除Y{}(i=0;i<8;i++)writedata(overflo獨(dú)立按鍵的方式,在這種情況下,編程會(huì)很簡單,但是會(huì)占用大量的制及提示;針對上述功能,計(jì)算器軟件程序要完成以下模塊的設(shè)計(jì):=0;operators=0;display(num);br(i=0;i<8;i+

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論