【正文】
ted speed is single chip microputer intelligent control system is replaced. SCM has small, strong function, the cost is low, the wide application advantages, such as, say, intelligent control and automatic control is the core of the single chip microputer. At present, a study and application of the climax of the single chip microputer is factory, schools and enterprises and institutions rise on a large scale. The past used to traditional electronic fields of engineers, technicians are faced with new challenges, such as not in a relatively short period of time to learn a singlechip microputer, certainly will will be thrown up by age, only brave to face reality, challenge ourselves, strengthen learning, for in a relatively short time will of single chip microputer mastery, to keep up with the pace of The Times. It brings convenience is not negative, it on a chip integrated within the functions of puter parts, constitute a kind of single chip microputer. Since the 1980 s, the international on MCU development rapidly, its product of dazzling, SCM unceasingly thorough, new technology are endless. The 20 th century, electronic technology has experienced rapid growth in its promotion, modern electronic product almost permeated every area of society a powerful impetus to the development of the social productive forces and the enhancement of social informatization, and at the same time, make modern electronic products to further improve the performance, product update rhythm also more and more quickly. This design is by microputer simulation calculator, it can not only realize the data add, subtract, multiply and divide operation, and still can make the data and results in digital tube displayed, will be able to realize the 0256 digital arithmetic. This design is AT89C51 single chip microputer to control with, of all the anode digital display, software part is written by the C language. Design task Using a keyboard and digital pipe design a simple mathematical calculator, can plete simple as add, subtract, multiply, divide arithmetic, and the operation result in digital tube will be displayed. 第一章 緒論 計(jì)算器 ( Calculator) 是微型電子計(jì)算機(jī)的一種特殊類型 。它與一般通用計(jì)算機(jī)的主要區(qū)別在于程序輸入方式的不同。計(jì)算器的程序一般都已經(jīng)固定,只需按鍵輸入數(shù)據(jù)和運(yùn)算符號就會得出結(jié)果, 很容易就 能掌握。而一般計(jì)算機(jī)的程序可以根據(jù)需要隨時(shí)改動,或重新輸入新的程序 。 簡易計(jì)算器主要用于加減乘除;科學(xué)計(jì)算器,又增添了初等函數(shù)運(yùn)算(有的還帶有數(shù)據(jù)總加、求平均值等統(tǒng)計(jì)運(yùn)算) 。 現(xiàn)代電子計(jì)算器首次問世是 1963年。那時(shí)的計(jì)算器是臺式的,在美國波士頓的電子博覽會上展出過。與計(jì)算機(jī)相比,它小巧玲瓏,計(jì)算迅捷,一般問題不必事先編寫復(fù)雜的程序。 隨著社會需求,計(jì)算器也從原有單一的數(shù)字加減計(jì)算 演變?yōu)閺?fù)雜的多種運(yùn)算?,F(xiàn)在不在單一的在某一方面而是涉及到生活的方方面面 .計(jì)算器為人們?nèi)粘I钪惺∪チ舜罅康臅r(shí)間和精力,成為現(xiàn)代社會最普遍、最實(shí)用的計(jì)算工具,作為學(xué)習(xí)電子行業(yè)的我們,就更應(yīng)該更貼近生活,開發(fā)制作一些具有實(shí)用意義,又具有學(xué)習(xí)意義的小產(chǎn)品。在設(shè)計(jì)中,把理論與實(shí)踐相結(jié)合,用理論來指導(dǎo)實(shí)踐,通過實(shí)踐更好的掌握理論知識,達(dá)到全面提高各方面的專業(yè)知識和專業(yè)技能。 因此針對以上方面,在貼近自己的實(shí)際生活中,結(jié)合自己專業(yè)特點(diǎn),選擇用 8051 單片機(jī)來設(shè)計(jì)簡易計(jì)算器,一方面,簡易計(jì)算器對我們來說比較熟悉,對沒有很 多設(shè)計(jì)經(jīng)驗(yàn)的我們來說也比較容易能接受,容易激發(fā)我們的興趣。另一方面,在單片機(jī)百花齊放的時(shí)代,我們需放點(diǎn)精力在單片機(jī)上,針對為何選8051,因?yàn)樗且环N通用型的單片機(jī),性價(jià)比較高,雖然是 8位的單片機(jī),但現(xiàn)在應(yīng)用的量及范圍還很大,同時(shí),因 51單片機(jī)發(fā)展的歷史長,學(xué)習(xí)資料比較多而且完善??傊?,這是我選擇用 8051 來設(shè)計(jì)簡易計(jì)算器的原因。 第二章 方案設(shè)計(jì)與論證 要求與內(nèi)容 為了滿足計(jì)算器的基本要求,可以基本的運(yùn)算(加減乘除), 數(shù)據(jù)歸零和出錯(cuò)警告提示,我們采用基于單片機(jī)設(shè)計(jì)計(jì)算器,并用 LCD 液晶 顯示數(shù)據(jù),4*4 的矩陣鍵盤實(shí)現(xiàn)數(shù)據(jù)輸入 ,程序語言我們使用 c 語言。 方案一 此方案中,該計(jì)算器的設(shè)計(jì)采用了現(xiàn)場可編程邏輯器件 FPGA的 ASIC設(shè)計(jì),并基于超高速硬件描述語言 VHDL 在 Xilinx 公司的 SpartanII 系列的2sc200PQ2085芯片上編程實(shí)現(xiàn)整個(gè)系統(tǒng)的控制。計(jì)算器以 FPGA為核心控制器,系統(tǒng)由分頻模塊、運(yùn)算模塊和譯碼顯示模塊四個(gè)模塊構(gòu)成。利用硬件描述語言編程,仿真調(diào)試后下載到可編程邏輯器件上實(shí)現(xiàn)。對計(jì)算器工 作的過程進(jìn)行判斷和處理。 方案二 用數(shù)字邏輯電路設(shè)計(jì)簡易計(jì)算器 , 此方案中,用兩塊帶并行輸入的 BCD碼計(jì)數(shù)器 74LS192 芯片,和一塊 8 位數(shù)比較器 74LS682,,兩塊 BCD 七段譯碼器,兩個(gè)數(shù)碼管和脈沖發(fā)生電路來實(shí)現(xiàn)的。該計(jì)算器用 555 做時(shí)鐘信號發(fā)生器,通過選擇開關(guān)把 CP 脈沖加到計(jì)數(shù)器,計(jì)數(shù)器置數(shù)時(shí),先將置數(shù)開關(guān)合上,再通過 BCD 撥碼開關(guān)置數(shù),完成后將置數(shù)開關(guān)復(fù)位,計(jì)數(shù)器的輸出要通過七段譯碼器送到數(shù)碼管顯示,將計(jì)數(shù)器的輸出信號送到比較器與所設(shè)的上限數(shù)值進(jìn)行比較,將比較結(jié)果再通過繼電器輸出,將結(jié)果送 到脈沖信號發(fā)生器,進(jìn)行加減法計(jì)算。 方案三 基于 ARM 簡易計(jì)算器的設(shè)計(jì) 此方案中,基于 JXARM92410 實(shí)驗(yàn)箱實(shí)現(xiàn)計(jì)算機(jī)器,要求可實(shí)現(xiàn)帶括號以及優(yōu)先級的計(jì)算器。可運(yùn)算加減乘除等基本運(yùn)算。它的計(jì)算原理置操作數(shù)棧為空,操作符棧壓入元素 (它具有最高優(yōu)先級 ),依次讀入表達(dá)式中的每個(gè)字符CH,如果 CH 是操作數(shù),則 CH 壓入操作數(shù)棧,如果 CH 是操作符,那么將 CH和操作符棧頂元素進(jìn)行優(yōu)先級比較(如‘’優(yōu)先級高于‘+’)。 如果優(yōu)先級大于當(dāng)前棧頂元素,那么將其壓棧, 如果其優(yōu)先級小于當(dāng)前棧頂元素,那么執(zhí)行 取當(dāng)前棧頂操作符,如果優(yōu)先級相等,則當(dāng)前操作符出棧 ...... 方案四 基于單片機(jī)的簡易計(jì)算器設(shè)計(jì) 此方案中,硬件主要由四部分組成,核心部分為 8051單片機(jī)芯片,按鍵部分是一個(gè) KEYPADCALCULATOR鍵盤,采用軟件識別鍵值,并執(zhí)行相應(yīng)的操作。顯示部分是一個(gè) 1601液晶顯示器。軟件部分主要用 C程序語言來實(shí)現(xiàn)。執(zhí)行過程:開機(jī)顯示零,等待鍵入數(shù)值,當(dāng)鍵入數(shù)字,經(jīng)通過數(shù)碼管顯示出來,當(dāng)鍵入 +、 、 *、 /運(yùn)算符,計(jì)算器在內(nèi)部執(zhí)行數(shù)值轉(zhuǎn)換和存儲,并等待再次鍵入數(shù)值,當(dāng)再鍵入數(shù)值后將顯示鍵入的數(shù)值,按等 號就會在數(shù)碼管上輸出運(yùn)算結(jié)果。 方案論證與設(shè)計(jì) 方案一:用 FPGA 來實(shí)現(xiàn) ,可以將所有器件集成在一塊芯片上,體積大大減小,外圍電路也比較簡單,易于實(shí)現(xiàn),但其運(yùn)算速度比單片機(jī)實(shí)現(xiàn)慢,價(jià)格也比較昂貴。 方案二:利用邏輯運(yùn)算電路,由加法器,控制器,延時(shí)電路以及一些輔助電路構(gòu)成,然后對單元電路進(jìn)行焊接,組合,比較直觀、邏輯器件分工鮮明、思路也比較清晰,但是由于通道的元器件種類、個(gè)數(shù)繁多,而過于復(fù)雜的硬件電路也容易引起系統(tǒng)的精度不高、體積過大等不利因素。 方案三:采用對于現(xiàn)有的開發(fā)硬件平臺的試驗(yàn)箱來實(shí)現(xiàn),對于 設(shè)計(jì)的器件運(yùn)用不會太復(fù)雜,費(fèi)用也較低,但是在這種基礎(chǔ)上的設(shè)計(jì)比較沒有普遍性,很少能擁有這種條件的。 方案四:采用 8051 單片機(jī)加上外圍的鍵盤模塊和液晶顯示模塊,通過軟件編程,仿真,調(diào)試,符合要求后將程序用編程器寫入到單片機(jī)芯片上,利用單片機(jī)的中斷響應(yīng)計(jì)算器運(yùn)算的請求,然后進(jìn)行相應(yīng)的處理。利用 RAM 存放計(jì)