• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于AT89C51單片機的十進制計算器系統

    一種基于AT89C51單片機的十進制計算器系統

    作者: 時間:2014-08-28 來源:網絡 收藏

      本設計是基于單片機進行的十進制系統設計,可以完成的鍵盤輸入,進行加、減、乘、除4位無符號數字的簡單四則運算,并在LED 上相應的顯示結果。硬件方面從功能考慮,首先選擇內部存儲資源豐富的單片機,輸入采用4×4。顯示采用4位7段共陽極LED動態顯示。軟件方面從分析功能、流程圖設計,再到程序的編寫進行系統設計。

    本文引用地址:http://www.czjhyjcfj.com/article/262335.htm

      引言

      本系統采用單片機作為控制器,用來實現實現四位數的“+”,“-”,“*”,“/”運算,運算結果通過數碼管顯示,并具有有清零功能。 AT89C51具有如下特點:40個引腳,4k BytesFlash片內程序存儲器,128 bytes的隨機存取數據存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優先級2層中斷嵌套中斷,2個16位可編程定時計數器,2個全雙工串行通信口,看門狗(WDT)電路,片內時鐘振蕩器。

      1總體設計方案

      1.1系統組成與工作原理

      本系統以51單片機為主控核心,與、晶振、LED顯示管模塊一起組合而成。其工作過程為:首先存儲單元初始化,顯示初始值和鍵盤掃描,判斷按鍵位置,得出按鍵值,單片機則對數據進行儲存與相應的處理轉換,之后送入數碼管動態顯示。將運算結果送入數碼管動態顯示。本設計只能進行結果不超過四位數的運算,其功能如下:

      (1)數字鍵“0”到“9”用數碼管顯示。

      (2)加法運算:加數與被加數均不能超過9999,加法最終結果不能超過9999.

      (3)減法運算:減法運算正常邏輯為大的數值減去小的數值,本計算器亦如此,只能進行正常邏輯的運算,如為小的數值減去大的數值,則將得到的負數與535相加,得到相應的結果,即如果想進行小數減大數的運算,則把得到的結果減去535即得到負數的正確結果。

      (4)乘法運算:與上述方法一樣,計算結果不能超出9999,如溢出則顯示結果只有后三位。

      (5)除法運算:除數與被除數均不能超過9999,計算結果只顯示整數部分。

      (6)等于鍵:只有按下等于鍵才能將運算結果顯示出來,否則一直顯示上一個數。

      (7)清零功能:程序不穩定或出現錯誤時,運用清零鍵回到初始狀態,也可用復位鍵清零。

      2系統硬件設計

      2.1系統硬件總體設計

      本系統由鍵盤矩陣、LED顯示管、這幾個部分組成,鍵盤輸入鍵值,LED顯示管顯示當前按鍵及結果。硬件總體設計圖1如下:

      

     

      圖1硬件總體設計圖

      2.2矩陣掃描顯示當前按鍵模塊

      利用AT89S51單片機的P0端口的P0.0 - P0.7連接到一個七段數碼管的a - h的筆段上,數碼管的公共端接電源。矩陣掃描顯示當前按鍵模塊見圖2.

      

     

      圖2矩陣掃描顯示當前按鍵模塊

      2.3鍵盤布局模塊

      的工作原理:計算器的鍵盤布局如圖3所示:一般有16個鍵組成,在單片機中正好可以用一個P口實現16個按鍵功能,這種形式在單片機系統中也最常用。

      

     

      圖3計算器的鍵盤布

      

     

      圖4系統的軟件流程圖

      3.2顯示程序模塊

      顯示程序將要顯示數值的千位、百位、十位與個位分別計算出來,通過P0段選口輸出數值,通過位選口P3^3、P3^4、P3^5、P3^6實現動態顯示。

      LED數碼管,實現七段數碼管的顯示四位十進制數。通過段選來顯示按鍵及計算結果的數值。由于本硬件設計選用的是共陽接法,所以對應的段碼表如下3.3鍵盤掃描模塊

      本次鍵盤掃描程序采用的是行列翻轉法掃描鍵盤,即先置行為0,讀列值,存在變量1中,然后把列置為0,讀行值,存在變量2中,把變量1和變量2相加即為按鍵對應的鍵值,下表為相應按鍵對應的鍵值

      4結束語

      本計算器是以51系列單片機為核心構成計算器系統,該設計為能進行簡易算術運算的計算器,在現有的硬件條件下只能進行結果不超過四位數的運算,能實現加減乘除的運算功能與數字清零功能,以及系統的復位功能。

    51單片機相關文章:51單片機教程


    單片機相關文章:單片機教程


    單片機相關文章:單片機視頻教程


    單片機相關文章:單片機工作原理


    塵埃粒子計數器相關文章:塵埃粒子計數器原理
    晶振相關文章:晶振原理
    雙控開關相關文章:雙控開關原理


    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 彰化市| 绥芬河市| 银川市| 饶平县| 徐汇区| 武安市| 河曲县| 宝应县| 东方市| 克拉玛依市| 太谷县| 德阳市| 荔波县| 南溪县| 宁化县| 揭东县| 仙游县| 河源市| 焉耆| 西峡县| 长泰县| 平泉县| 光山县| 武冈市| 禄劝| 双辽市| 修武县| 资中县| 远安县| 类乌齐县| 兴海县| 正蓝旗| 昭觉县| 翼城县| 巴彦淖尔市| 关岭| 苏尼特右旗| 石景山区| 白朗县| 库尔勒市| 凤阳县|