【正文】
e traditional controlling detection technologies that are increasingly updated. In realtime detection and automatic control of microputer application system, the microcontroller is often used as a core ponent to use, but only the knowledge of the microcontroller is not enough, and should be based on the specific hardware architecture, hardware and software bination to make it perfect. So the application of SCM is more and more close to life, so using of single chip to achieve some electronic designs also bee easy. In the people daily life the calculator is one of the mon electronic products. But it is still in development, it will bee more powerful calculator in the future. According to such idea, the design is that SCM design calculator. The design system is based on AT89C51 microcontroller, P0 port as input, external 4X4 keyboard. In P1, P2mouth is connected with the drive circuit to ensure the normal work of LED. The calculator will plete add, subtract, multiply, divide and other function. KEYWORDS: calculator MCU LCD Matrix keyboard 四川師范大學(xué)成都學(xué)院??飘厴I(yè)設(shè)計(jì) III 目 錄 第 1 章 緒論 ............................................................ 1 研究背景 ........................................................ 1 設(shè)計(jì)概要 ........................................................ 3 設(shè)計(jì)思路 ........................................................ 3 第 2 章 硬件設(shè)計(jì) ........................................................ 4 鍵盤輸入模塊設(shè)計(jì) ................................................ 4 LCD 顯示模塊設(shè)計(jì) ................................................ 5 清零、音樂開關(guān)、開方和多次方運(yùn)算功能模塊設(shè)計(jì) .................... 6 電源模塊設(shè)計(jì) .................................................... 6 主控模塊設(shè)計(jì) .................................................... 7 第 3 章 軟件設(shè)計(jì) ........................................................ 8 顯示程序設(shè)計(jì) .................................................... 8 鍵掃程序設(shè)計(jì) .................................................... 9 清零程序設(shè)計(jì) ................................................... 10 聲音開關(guān)程序設(shè)計(jì) ............................................... 11 總體設(shè)計(jì) ....................................................... 12 第 4 章 系統(tǒng)仿真及原理圖 ............................................... 14 Proteus 仿真 ................................................... 14 Protel 原理圖 .................................................. 19 第 5 章 系統(tǒng)調(diào)試 ....................................................... 19 問題與分析 ..................................................... 19 系統(tǒng)演示 ....................................................... 20 第 6 章 總結(jié)與展望 ..................................................... 22 總結(jié) ........................................................... 22 展望 ........................................................... 23 參考文獻(xiàn) .............................................................. 24 附錄 .................................................................. 26 四川師范大學(xué)成都學(xué)院??飘厴I(yè)設(shè)計(jì) 1 第 1 章 緒論 研究背景 單片機(jī) 發(fā)展現(xiàn)狀 單片機(jī)的發(fā)展現(xiàn)狀:使用壽命長(zhǎng);低電壓與低功耗化;發(fā)展速度越來越快;從 8位、 16 位到 32 位,數(shù)不勝數(shù),應(yīng)有盡有 ,部分與主流 C51 系列兼容,部分與之不兼容,它們各具特色,互補(bǔ)互成。計(jì)算器在人們的日常中是比較的常見的電子產(chǎn)品之一。隨著低價(jià)位 OTP(One Time Programble)及各種特殊類型片內(nèi)程序存儲(chǔ)器的發(fā)展 ,加之處圍接口不斷進(jìn)入片內(nèi) ,推動(dòng)了單片機(jī) “ 單片 ” 應(yīng)用結(jié)構(gòu)的發(fā)展。鍵盤是計(jì)算器的輸入部件,一般采用接觸式或傳感式。 。使用 Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。039。這類錯(cuò)誤包括錯(cuò)線、開路、短路等。在設(shè)計(jì)的過程中的思考解決問題的思路和方法對(duì)以后的工作和生活都是非常有幫助的。 //開方 2標(biāo)志位 bit powflag=0。.39。||num==39。 if(sqrtflag2!=1amp。keynum10。 delayms(10)。)) // 記 四川師范大學(xué)成都學(xué)院??飘厴I(yè)設(shè)計(jì) 30 錄按下的數(shù)字 { if(keynum2=7) { if(num==39。 beep=1。j++,i++,keynum2) point=point*10+num2[i]。^39。j) point*=。 if(sign==39。 //顯示結(jié)果 sqrtflag1=0,newcalc=1。)。 num=39。 temp=tempamp。 } 四川師范大學(xué)成都學(xué)院??飘厴I(yè)設(shè)計(jì) 36 while(temp!=0xf0) //等待松手 { temp=P1。 case 0xbd:num=6。 while(temp!=0xf0) { temp=P1。0xf0。 break。 delayms(100)。 LCDEN=1。 } if(n0) 四川師范大學(xué)成都學(xué)院專科畢業(yè)設(shè)計(jì) 42 { lcdwrite_data(39。 uint j=0。)。 lcdwrite_(0x38)。 void lcd_setxy(uchar x,uchar y)。 void lcdwrite_num1(uint n)。 } /*******初始化液晶 *******/ void lcd_init(void) { lcdwrite_(0x01)。//+。length) { a[length1]=nx%10+0x30。 if(n==0) { lcdwrite_data(39。 LCDRS=1。amp。=39。0xf0。 while(temp!=0xf0) //掃描列 { delayms(10)。 switch(temp) { case 0xed:num=4。 break。 //若沒有按下任何按鍵,則返回 39。 lcdwrite_data(39。 //等待液晶初始化 lcd_init()。)||(ans10amp。) ans=ans1ans2。keynum20。*39。) break。 if(keysqrt==0) { sqrtflag2=1。((num=0amp。 } ans=sqrt(ans1)。.39。 lcdwrite_(0x01)。 } } else if(num==39。amp。 //新運(yùn)算標(biāo)志 bit ac=0。 第 6 章 總結(jié)與展望 總結(jié) 經(jīng)過多次測(cè)量與調(diào)試,本計(jì)算器基本能實(shí)現(xiàn)設(shè)計(jì)要求中的功能。 delayms(100)。 beep=1。具體功能按鍵設(shè)計(jì)如下圖: 圖 23功能按鍵設(shè) 圖中, AC為清零按鍵、 KeyBeep為聲音開關(guān)按鍵、 KeySqrt為開方按鍵、 KeyPow為多次方按鍵。 設(shè)計(jì)任務(wù) 。而 Microchip 公司 的 PIC 精簡(jiǎn)指令集 (RISC)也有著強(qiáng)勁的發(fā)展勢(shì)頭 ,中國臺(tái)灣的 HOLTEK 公司近年的單片機(jī)產(chǎn)量與日俱增 ,與其低價(jià)質(zhì)優(yōu)的優(yōu)勢(shì) ,占據(jù)一定的市場(chǎng)分額?,F(xiàn)指令速度最高者已達(dá) 100MIPS(Million Instruction Per Seconds,即兆指令每秒 ),并加強(qiáng)了位處理、中斷和定時(shí)控制功能。計(jì)算器是能進(jìn)行數(shù)學(xué)運(yùn)算的手持機(jī)器,擁有集成電路芯片,結(jié)構(gòu)簡(jiǎn)單,功能較弱,但由于它使用方便、操作簡(jiǎn)單、價(jià)格低廉,因而廣泛運(yùn)用于商業(yè)交中,也是必備的辦公用品。目前 ,單片機(jī)內(nèi) ROM 最大可達(dá) 64KB,RAM 最大為 2KB?,F(xiàn)在的許多單片機(jī)都具有多種封裝形式 ,其中 SMD(表面封裝 )越來越受歡迎 ,使得由單片機(jī)構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。隨著科學(xué)技術(shù)的不斷發(fā)展及計(jì)算器應(yīng)用的普及,人們發(fā)現(xiàn)在工業(yè)控制中,有很多時(shí)候需要在惡劣的環(huán)境中進(jìn)行各種數(shù)據(jù)的采集、運(yùn)算和控制。 液晶顯示模塊的設(shè)計(jì): 圖 22液晶顯示 四川師范大學(xué)成都學(xué)院??飘厴I(yè)設(shè)計(jì) 6 清零、音樂開關(guān)、開方和多次方運(yùn)算功能模塊 設(shè)計(jì) 本設(shè)計(jì)要求在任何時(shí)候按下 AC清零鍵,都必須退出當(dāng)前操作,數(shù)據(jù)清零,準(zhǔn)備下一次的運(yùn)算,故應(yīng)采用獨(dú)立鍵盤產(chǎn)生下降沿輸入給單片機(jī)外部中斷處理。 其程序流程圖如下: 否 否 否 開始 初始化 設(shè)置坐標(biāo) 發(fā)送 ASII 顯示數(shù)據(jù) 開始 按鍵賦初值 第一行有鍵按下? 第二行有鍵按下? 第三行有鍵 按下? 第四行有鍵按下? 四川師范大學(xué)成都學(xué)院專科畢業(yè)設(shè)計(jì) 10 否