簡易計(jì)算器設(shè)計(jì)說明文書_第1頁
簡易計(jì)算器設(shè)計(jì)說明文書_第2頁
簡易計(jì)算器設(shè)計(jì)說明文書_第3頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘要單片機(jī)的出現(xiàn)是計(jì)算機(jī)制造技術(shù)高速開展的產(chǎn)物,它是嵌入式控制系統(tǒng)的核心。如今,它已廣泛的應(yīng)用到我們生活的各個(gè)領(lǐng)域,電子、科技、通信、汽車、工業(yè)等。計(jì)算器的出現(xiàn)給我們的生活帶來了巨大的便利,計(jì)算器在我們的生活中隨處可見,也是我們?nèi)粘I钪胁豢扇鄙俚墓ぞ?。本設(shè)計(jì)是基于51系列單片機(jī)來進(jìn)展的數(shù)字計(jì)算器系統(tǒng)設(shè)計(jì),可以完成計(jì)算器的鍵盤輸入,進(jìn)展加、減、乘、 除簡單的根本四那么運(yùn)算,并在LCD上顯示相應(yīng)的結(jié)果。設(shè)計(jì)電路采用AT89C51 單片機(jī)為主要控制電路,利用按鍵作為計(jì)算器的鍵盤的輸入。顯示采用字符LCD靜態(tài)顯示。軟件方面使用C語言編程,并用PROTUE仿真。單片微型計(jì)算機(jī)簡稱單片機(jī)。它是在一塊芯片

2、上集成中央處理器CPU、隨機(jī)存取存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、定時(shí)/計(jì)數(shù)器及I/O接口電路等 部件,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。它的特點(diǎn)是:高性能,高速度,體積小,價(jià) 格低廉,穩(wěn)定可靠,應(yīng)用廣泛。單片機(jī)比專用處理器最適合應(yīng)用于嵌入式系統(tǒng), 因此它得到了最多的應(yīng)用。本文介紹了單片機(jī)的產(chǎn)生開展、功能特點(diǎn)、應(yīng)用開發(fā) 等容。【關(guān)鍵詞】簡單計(jì)算器單片機(jī) LCD 應(yīng)用開展冃景近年來,單片機(jī)以其體積小、價(jià)格廉、面向控制等獨(dú)特優(yōu)點(diǎn),在各種工業(yè)控 制、儀器儀表、設(shè)備、產(chǎn)品的自動(dòng)化、智能化方面獲得了廣泛的應(yīng)用。與此同時(shí), 單片機(jī)應(yīng)用系統(tǒng)的可靠性成為人們?cè)絹碓疥P(guān)注的重要課題。影響可靠性的因素是多方面的,如構(gòu)成系統(tǒng)的

3、元器件本身的可靠性、系統(tǒng)本身各局部之間的相互耦合 因素等。其中系統(tǒng)的抗干擾性能是系統(tǒng)可靠性的重要指標(biāo)。本設(shè)計(jì)采用80C51芯片,實(shí)現(xiàn)了利用單片機(jī)進(jìn)展了一個(gè)簡單計(jì)算器設(shè)計(jì)。 允許對(duì)輸入數(shù)據(jù)進(jìn)展加減乘除運(yùn)算及LCD顯示如果設(shè)計(jì)對(duì)象是更為復(fù)雜的計(jì)算器系統(tǒng),其實(shí)際原理與方法與本設(shè)計(jì)根本一樣。LCD液晶顯示器是 LiquidCrystal Display的簡稱,LCD的構(gòu)造是在兩片平行的玻璃基板當(dāng)中放置液晶盒, 下基板玻璃上設(shè)置TFT薄膜晶體管,上基板玻璃上設(shè)置彩色濾光片,通過 TFT 上的信號(hào)與電壓改變來控制液晶分子的轉(zhuǎn)動(dòng)方向,從而到達(dá)控制每個(gè)像素點(diǎn)偏振 光出射與否而到達(dá)顯示目的。現(xiàn)在LCD已經(jīng)替代C

4、RT成為主流,價(jià)格也已經(jīng)下降了很多,并已充分的普 及。故采用LCD設(shè)計(jì)的關(guān)鍵所在,必須非常熟悉單片機(jī)的原理與構(gòu)造,同時(shí)還 要對(duì)整個(gè)設(shè)計(jì)流程有很好的把握,將單片機(jī)和其他模塊完整的銜接。本設(shè)計(jì)是基 于51系列單片機(jī)來進(jìn)展的數(shù)字計(jì)算器系統(tǒng)設(shè)計(jì),可以完成計(jì)算器的鍵盤輸入, 進(jìn)展加、減、乘、除根本四那么運(yùn)算,并在 LCD上顯示相應(yīng)的結(jié)果;設(shè)計(jì)電路采 用AT89C51單片機(jī)為主要控制電路,顯示采用字符 LCD靜態(tài)顯示;軟件方面使 用C語言編程,并用PROTUE仿真i。3 / 19目錄摘要背景1緒論11.1設(shè)計(jì)的目的意義112設(shè)計(jì)的任務(wù)和要求11.3計(jì)算器設(shè)計(jì)所用的方法12. 方案設(shè)計(jì)22.1方案論述22.

5、2 方案論證33. 整體設(shè)計(jì)34. 硬件系統(tǒng)框架44.1 Lcd1602 顯示器 44.2單片機(jī)64.3復(fù)位電路74.4按鍵電路75. 軟件設(shè)計(jì)程序框圖 85.1程序流程圖85.2程序模塊化編寫95.3主函數(shù)程序設(shè)計(jì)106軟件仿真與調(diào)試12126.1 Proteus仿真軟件的介紹6.2 Proteus電路仿真圖126.3軟件調(diào)試136.4測試分析13總結(jié)14【參考文獻(xiàn)】附錄1. 緒論1.1設(shè)計(jì)的目的意義隨著社會(huì)的開展,科學(xué)的進(jìn)步,人們的生活水平在逐步的提高,尤其是微電 子技術(shù)的開展,猶如雨后春筍般的變化。電子產(chǎn)品的更新速度快就缺乏驚奇了 , 單片機(jī)的應(yīng)用已經(jīng)越來越貼近生活, 電子計(jì)算器在我們的

6、生活中隨處可見, 給我 們的生活帶來了巨大的便利,隨著技術(shù)的不斷更新,用單片機(jī)來實(shí)現(xiàn)一些電子設(shè) 計(jì)也變得容易起來。通過本次工程設(shè)計(jì),應(yīng)用所學(xué)相關(guān)知識(shí)資料,來完成簡易計(jì)算器的設(shè)計(jì),以 到達(dá)理論與實(shí)際更好相結(jié)合進(jìn)一步提高綜合運(yùn)用所學(xué)知識(shí)和設(shè)計(jì)能力的目的。通過本次設(shè)計(jì)的訓(xùn)練,可以使我在根本思路和根本方法上對(duì)基于 51單片機(jī)的嵌入 式系統(tǒng)有一個(gè)比擬感性的認(rèn)識(shí),并具備一定程度的設(shè)計(jì)能力。12設(shè)計(jì)的任務(wù)和要求為了滿足計(jì)算器的根本要求,可以根本的運(yùn)算加減乘除,數(shù)據(jù)歸零和出 錯(cuò)警告提示,我們采用基于單片機(jī)設(shè)計(jì)計(jì)算器,并用LCD字符液晶顯示器顯示數(shù) 據(jù),4*4的矩陣鍵盤實(shí)現(xiàn)數(shù)據(jù)輸入分別對(duì)鍵盤輸入檢測模塊;LCD

7、顯示模塊;算術(shù)運(yùn)算模塊;按鍵處理及提示模塊進(jìn)展設(shè)計(jì),并用設(shè)計(jì)了系統(tǒng)方框圖,同時(shí)使 用了 KeiluVision4與Proteus軟件進(jìn)展了仿真分析其設(shè)計(jì)結(jié)果1.3計(jì)算器設(shè)計(jì)所用的方法 以單片機(jī)為控制器件,采用c語言進(jìn)展程序設(shè)計(jì),采用單片機(jī)智能控制,結(jié)合外圍電子電路,可以進(jìn)展“加、減、乘、除四那么運(yùn)算。 使用單片機(jī)最小系統(tǒng)設(shè)計(jì)計(jì)算器系統(tǒng),系統(tǒng)以單片機(jī)為主控單元, 借助Proteus軟件,進(jìn)展仿真,對(duì)設(shè)計(jì)原理、檢測方法進(jìn)展驗(yàn)證。 借助了 KeiluVision4軟件對(duì)程序進(jìn)展了調(diào)試和修改。在基于51單片機(jī)的開發(fā)板上進(jìn)展了測試。2. 方案設(shè)計(jì)2.1方案論述方案一根據(jù)功能和指標(biāo)要求,本系統(tǒng)選用 MCS

8、-51系列單片機(jī)AT89C51為主控機(jī)。通過 擴(kuò)展必要的外圍接口電路,實(shí)現(xiàn)對(duì)計(jì)算器的設(shè)計(jì)。計(jì)算器電路包括三個(gè)局部:顯 示電路、4*4鍵掃描電路、單片機(jī)微控制電路。用七段數(shù)碼管作為顯示電路,矩 陣鍵盤作為輸入電路。模塊圖如圖1.1所示。圖方案一模塊圖方案二根據(jù)計(jì)算器的功能要求,選擇AT89C51為主控機(jī),通過擴(kuò)展必要的外圍接口 電路,實(shí)現(xiàn)對(duì)計(jì)算器的設(shè)計(jì)。外部主要由4*4按鍵鍵盤和一個(gè)液晶顯示屏構(gòu)成,部由一塊AT89C51單片機(jī)構(gòu)成。計(jì)算器電路包括四個(gè)局部:選用LCD作為顯示局部,鍵盤作為輸入局部,運(yùn)算模塊,單片機(jī)控制局部。模塊圖如圖2.2所示。圖方案二模塊圖2.2 方案論證方案一:這種方案功能簡

9、單,在生活中使用較少,缺乏實(shí)際于運(yùn)用價(jià)值,用數(shù)碼管顯示,不能顯示字符,所以不能顯示運(yùn)算過程。方案二:此種方案較為經(jīng)濟(jì),方便,具有模塊化的特點(diǎn),因?yàn)閷⒂?jì)算運(yùn)算電路全部集成在了 51單片機(jī)上,具有高效率,運(yùn)算功能強(qiáng)大。lcd1602字符 液晶顯示器可以顯示運(yùn)算過程,便于計(jì)算,隨著價(jià)格的下降,已經(jīng)成 為了生活中計(jì)算器的主流配置。綜上所述:所以我們小組采用方案二,采用 89C51單片機(jī)為運(yùn)算處理模塊,使用 lcd1602字符液晶顯示器來做顯示模塊,矩陣鍵盤為輸入模塊,這種 設(shè)計(jì)便于觀看,大大提升了我們使用計(jì)算器的便利度。3. 整體設(shè)計(jì)根據(jù)簡易計(jì)算器的功能和指標(biāo)要求,本設(shè)計(jì)系統(tǒng)選用 MCS-5係列單片機(jī)

10、 AT89C5偽主控機(jī)。通過擴(kuò)展必要的外圍接口電路,實(shí)現(xiàn)對(duì)簡易計(jì)算器的設(shè)計(jì)。 計(jì)算器電路包括三個(gè)局部:顯示電路、4*4按鍵電路、單片機(jī)微控制電路。具體設(shè)計(jì)如下:1由于要設(shè)計(jì)的是簡單的計(jì)算器,可以進(jìn)展四那么運(yùn)算,為了得到較好的顯示效果,采用lcd1602字符液晶顯示器,顯示數(shù)據(jù)和結(jié)果。2另外鍵盤包括數(shù)字鍵09、符號(hào)鍵+、-、X、十、.和等號(hào)鍵, 故只需要16只按鍵即可。3執(zhí)行過程:開機(jī)顯示零,等待鍵入數(shù)值,當(dāng)鍵入數(shù)字,通過 LCD顯示出 來,當(dāng)鍵入+、-、*、/運(yùn)算符,計(jì)算器在部執(zhí)行數(shù)值轉(zhuǎn)換和存儲(chǔ),并 等待再次鍵入數(shù)值,當(dāng)再鍵入數(shù)值后將顯示鍵入的數(shù)值,按等號(hào)就會(huì) 在LCD上輸出運(yùn)算結(jié)果。4數(shù)據(jù)溢

11、出或出現(xiàn)錯(cuò)誤,會(huì)進(jìn)展出錯(cuò)提示。整體設(shè)計(jì)框圖如下列圖所示圖1.3線路原理框圖4硬件系統(tǒng)框架4.1Lcd1602 顯示器4.1.1 LCD1602顯示器LCD1602已很普遍了,具體介紹我就不多說了,市面上字符液晶絕大多數(shù)是 基于HD44780液晶芯片的,控制原理是完全一樣的。字符型 LCD通常有14條引 腳線或16條引腳線的LCD多出來的2條線是背光電源線 VCC(15腳)和地線 GND(16腳),其控制原理與14腳的LCD完全一樣。如下列圖:引腳功能引腳號(hào)符號(hào)伏態(tài)功能11電源地2V*邏輸電源3VO液品北功電源4RS寄療務(wù)選擇1;進(jìn)第;0;再令5R AV輸入讀、寫操作選拌I:空:0:寫6E輸凡化

12、能伯* - MDLS4O466tJI* 橙號(hào)NC)7三您數(shù)描總線LSB)金DB1三黑數(shù)擁總線0DB2=念10DB3二血數(shù)撫總線1HDB4三;&鮫期總線12B5三邀數(shù)據(jù)總線DB6三念14DB7三忽數(shù)切;總線MSJ)圖引腳功能圖液晶顯示的原理是利用液晶的物理特性,通過電壓對(duì)其顯示區(qū)域進(jìn)展控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模 集成電路直接驅(qū)動(dòng)、易于實(shí)現(xiàn)全彩色顯示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在便攜式 電腦、數(shù)字?jǐn)z像機(jī)、PDA移動(dòng)通信工具等眾多領(lǐng)域。的指令說明及時(shí)序1602液晶模塊部的控制器共有11條控制指令,如下表所示:序號(hào)指令RSR/WD7D6D5D4D

13、3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM10要寫的數(shù)據(jù)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)容4.14液晶顯示模塊液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊 的忙判別標(biāo)志為低電平,表示不忙,否那么此指令失效。要顯示字符時(shí)要先輸入 顯示字

14、符地址,也就是告訴模塊在哪里顯示字符,圖是1602的部顯示地址。16科2行00Oil020304050607OS| 090A00000EOF1027)4041142434445464748494A4C4D4E4F506?圖4.1.41602LCD部顯示地址4.2單片機(jī)AT89S52是一種低功耗、高性能CM0S8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容。片上 Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常 規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使AT89S51 為眾多

15、嵌入式控制應(yīng)用系統(tǒng)提供高靈活、更有效的解決方案。引腳構(gòu)造如下列圖(T2) P1.DC1 vcc(T2EX) P1.1C2 PCXP1-2C33C PCJ (ADI)P1.3C437 PC_2 (ADZ*FM.* 匚5 TC-3 (AD3)(MOSI:. P1.5 匚3 PO-4 (AIM)iMISO:iP1.©ET>4 PO 芒(ADSfc(SCKJP17CB33 PC e (AD IRSTC32 PC 7 (AD|.1031J EAj'z'Prrxnj pa.-i 口11汕 audRog麗幣)P3.2匚122fi FE!-.;TTP F:L3 匚132B F*

16、2.7 iAIE(TO) P3.4 C1427 pi.e iAi-i'(T1 > P-3.5C15ze二 P2.6 (A13PM 匸ie Pi.4 (Al;-.RS:. F3.7E17卜 P2-3 (Al 11XTAL2CIS23 P2.2 (AID.XTAL1C1822 P2L1 (AD)GNDC2D21 F2.C i A Bl4.3復(fù)位電路當(dāng)單片機(jī)工作于部時(shí)鐘模式的時(shí)候,只需在XTAL1和XTAL2引腳連接一個(gè)晶 體振蕩器或者瓷振蕩器,并接兩個(gè)電容后接地即可,在使用時(shí)對(duì)于電容的選擇有 一定的要求:當(dāng)外接晶體振蕩器的時(shí)候,電容值一般選擇 3= C2=30+10p或30-10pF

17、;當(dāng)外接瓷振蕩器的時(shí)候,電容值一般選擇3= C2=40+10pF或 40-10pF;圖4.3復(fù)位電路4.4按鍵電路在按鍵輸入方面,我們采用4*4的矩陣鍵盤來實(shí)現(xiàn),具體連接電路如圖4.4所示。通過基于狀態(tài)機(jī)的按鍵掃描程序設(shè)計(jì)可實(shí)現(xiàn)4*4矩陣鍵盤的按鍵監(jiān)控。5.軟件設(shè)計(jì)程序框圖5.1程序流程圖主流程圖和算術(shù)運(yùn)算流程圖開始圖5.1.1(1 )主流程圖開始圖5.1.1(2)算術(shù)運(yùn)算流程鍵盤輸入流程圖圖鍵盤輸入流程圖5.2程序模塊化編寫Keil uVision4是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件 開發(fā)系統(tǒng),使用接近于傳統(tǒng)c語言的語法來開發(fā),與匯編相比,C語言在功能上、

18、 構(gòu)造性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用 ,而且大大的提高了 工作效率和工程開發(fā)周期程序采用模塊化編寫,分為了主程序模塊、lcd1602顯示模塊、鍵盤程序模塊和延時(shí)程序模塊。如下列圖所示:m uaurnunx 呵甲+ li Si 7 j " dldi d !_-1 A 5UG u (OK. .4.3 j.unfat Ij,I“ “V亦牙円 二十葉_ 曲;nkjr 託三亡; . -: r p,::.7 TfEnx 7匚個(gè) tLnDlcileoclJ. aQlQ匕山&斗屯3”0Oiltirzcls ae"ie.ytp 口LJ r lZJhII J朋I伸A

19、U fFtiar-tIM嘶ZQlHN.h 酋 i«irk*5 h* M KWayJhJ卄鼻5bit t-eep-Pi '0: bit.Xcn»inia4 ohar :-n® j i«&Jf JIL*.址'. 14 Vbit rkmrX49i:fJLD&l: 4j,j £- D ;iswj 薊胡 W euLLIhl電電胃酋心1:'帀r'*Dtla <lb> i/肛三罵于謝亡-=1U去粗LED_Cl«f |>¥和礴口LTDBr i«_St k log 1

20、5,0. Melcc ra m "戲卄 八互垢一氏億電,主踴巧中TSSfe此苗.笆.祈出左:1“ h藝三1 L£±l2fers' t x ioy I ? | 1. p-nrt,. I - 打?qū)?LJ(二 F嗆見】變 *DvlarMa-二口| =LOD_Clter|>>|叫0. 比血3alEjl#T,s:r-F i "號(hào)上.界遷AJ豈i年毎環(huán)中下冉上藝此嗚扈,祈口在IM.W巧入WFSTKl 11*SFWEWr 5WMD FM CHEtLXT FRdWg5X2£EiTT; 7PK TLEn=CEECK_BErJT? 1 HD3!

21、*工n呼三» AIeci “&£«*>%占 iilataO;FI»CBR9 VLl* frWB *"論Mf品丑示h鋁. - iioiijTLmriifrJfi 品予汨tfl © Ex£de I aih 1 Parnlng is|»5.3主函數(shù)程序設(shè)計(jì)#include<reg52.h> /包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能存放器的定義#include<stdio.h>#include"1602.h"#include"delay.h&q

22、uot;#include"keyboard.h"sbit beep=P2A0;sbit led=P2Al;/*主程序*/main()unsigned char num,i,sign;unsigned char temp16;/ 最大輸入 16 個(gè)bit firstflag;float a=0,b=0;unsigned char s;LCD_lnit();/初始化液晶屏DelayMs(10);/延時(shí)用于穩(wěn)定,可以去掉LCD_Clear();/ 清屏LCD_Write_String(0,0,"Wele to use!");/寫入第一行信息,主循環(huán)中不再更改此

23、信息,所以在while之前寫入LCD_Write_String(0,1,"cxk,wxx,zyc");/ 寫入第二行信息,提示輸入for(s=0;s<25;s+)延時(shí) 5sDelayMs(40);LCD_Clear();LCD_Write_String(0,0," LCD calculator");/寫入第一行信息,主循環(huán)中不再更改此信息LCD_Write_String(0,1,"press butten."); / 寫入第二行信息,提示輸入while (1)num=KeyPro(); / 掃描鍵盤if(num!=0xff)/如

24、果掃描是按鍵有效值那么進(jìn)展處理 beep=0; led=0;DelayMs(500);beep=1;led=1;if(i=0)/輸入是第一個(gè)字符的時(shí)候需要把改行清空,方便觀看LCD_Clear();if('+'=num)| (i=16) | ('-'=num) | ('x'=num)| ('/'=num) | ('='=num)輸入數(shù)字最大值 16,輸入符號(hào)表示輸入完畢 i=0; if(firstflag=0)/如果是輸入的第一個(gè)數(shù)據(jù),賦值給a,并把標(biāo)志位置1,到下一個(gè)數(shù)據(jù)輸入時(shí)可以跳轉(zhuǎn)賦值給 bsscanf(te

25、mp,"%f", &a);firstflag=1;else sscanf(temp,"%f",&b);for(s=0;s<16;s+) /賦值完成后把緩沖區(qū)清零,防止下次輸入影響結(jié)果temps=O;LCD_Write_Char(0,1,num); /if(num!='=')/判斷當(dāng)前符號(hào)位并做相應(yīng)處理sign=num;/如果不是等號(hào)記下標(biāo)志位elsefirstflag=0;/檢測到輸入=號(hào),判斷上次讀入的符合switch(sign)case '+':a=a+b;break;case '-

26、9;:a=a-b;break;case 'x':a=a*b;break;case '/':a=a/b;break;default:break;sprintf(temp,"%g",a); /輸出浮點(diǎn)型,無用的 0不輸出LCD_Write_String(1,1,temp); 顯示到液晶屏sign=0;a=b=0;/用完后所有數(shù)據(jù)清零for(s=0;s<16;s+)temps=0;elseif(i<16)if(1=i)&& (temp0='0') )/如果第一個(gè)字符是 0,判讀第二個(gè)字符 if(num=&

27、#39;.')/如果是小數(shù)點(diǎn)那么正常輸入,光標(biāo)位置加1 temp1='.'LCD_Write_Char(1,0,num); 輸出數(shù)據(jù)i+;/這里沒有判斷連續(xù)按小數(shù)點(diǎn),如else temp0=num; /如果是1-9數(shù)字,說明0沒有用,那么直接替換第一位0LCD_Write_Char(0,0,num); 輸出數(shù)據(jù) else tempi=num;LCD_Write_Char(i,0,num); 輸出數(shù)據(jù)i+;/輸入數(shù)值累加6軟件仿真與調(diào)試6.1Proteus仿真軟件的介紹Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件該軟件 中國總

28、代理為風(fēng)標(biāo)電子技術(shù)。它不僅具有其它EDA工具軟件的仿真功能,還能 仿真單片機(jī)及外圍器件。Proteus是世界上著名的EDA工具(仿真軟件),從原理 圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真, 一鍵切換到PCB設(shè)計(jì),真正實(shí) 現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟 件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái)。6.2 Proteus電路仿真圖本設(shè)計(jì)選用AT89C51單片機(jī)為主控單元;顯示局部:采用 LCD靜態(tài)顯示; 按鍵局部:采用4*4鍵盤,據(jù)有按鍵指示燈和提示聲;讀取輸入的鍵值。總體設(shè) 計(jì)效果如下列圖:f - 1 3 J J- t ? nJEMFlFlIHinlE&#

29、171; m h < mirfc EMO HUED FQ圖6.2計(jì)算器的總體仿真圖n” j F1JM JFEtCLCD cal culaU? press tutten.* 口muriowt 鬥沁6.3軟件調(diào)試?yán)梅抡孳浖ROTEUS勺仿真功能可以有效地檢驗(yàn)所設(shè)計(jì)的原理圖是否在 理論上正確合理。分別進(jìn)展“加、減、乘、除計(jì)算,來進(jìn)展測試。運(yùn)行Proteus按下按鍵進(jìn)展死那么計(jì)算,即可在顯示器中觀測到顯示結(jié)果。在聯(lián)機(jī)調(diào)試的過程中,一開場沒有做數(shù)值溢出方面的控制,導(dǎo)致LCD顯示的 輸入數(shù)據(jù)或計(jì)算結(jié)果與實(shí)際不相符。后來經(jīng)過計(jì)算得到有符號(hào)長整型的表示圍為 -2147483648 2147483647為本計(jì)算器的最大表示圍,以此來控制數(shù)值溢出。加法計(jì)算減法計(jì)算65+=745685 29199 m1-1-I F-T- I-I-1" I- h I孫卜圖6.3測試過程6.4測試分析 優(yōu)點(diǎn):通過仿真測試,我們發(fā)現(xiàn),我們編寫的計(jì)算機(jī) c語言程序,只要在程序里修改端 口,鍵盤可以接在單片機(jī)的任意I/O 口,進(jìn)展輸入;利用LCD16

溫馨提示

  • 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)論