那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

電子設計 ? 2018-08-28 23:45 ? 次閱讀

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

引言

本系統采用AT89C51 單片機作為控制器,用來實現實現四位數的“+”,“-”,“*”,“/”運算,運算結果通過數碼管顯示,并具有有清零功能。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 計算器的鍵盤布局模塊

3 系統軟件設計

3.1 系統軟件總體設計

本系統的軟件流程如圖4 所示。


圖4 系統的軟件流程圖

3.2 顯示程序模塊

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

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

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

4 結束語

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關推薦

    bcd與十進制之間的關系

    BCD(Binary-Coded Decimal)即二進制編碼的十進制數,是一種用二進制來表示十進制數的編碼方式。以下是BCD與十進制之間關
    的頭像 發表于 12-20 17:15 ?1053次閱讀

    51單片機中為什么很少出現printf的身影

    51單片機中為什么很少出現 printf 的身影?是用不了嗎? 不是的,51單片機可以用 printf,只是不建議使用。 平時我們在操作系統
    的頭像 發表于 12-03 10:46 ?523次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>中為什么很少出現printf的身影

    基于51單片機的7人多數投票表決設計

    設計編號:P13 1.主要功能: ? ? ? ? ? 基于51單片機AT89C51/52(與AT89S51/52、AT89C51/52、S
    的頭像 發表于 11-09 09:48 ?1027次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的7人多數投票表決<b class='flag-5'>器</b>設計

    基于FPGA的計算器設計

    本文通過FPGA實現8位十進制數的加、減、乘、除運算,通過矩陣鍵盤輸入數據和運算符,矩陣鍵盤的布局圖如下所示。該計算器可以進行連續運算,當按下等號后,可以直接按數字進行下次運算,或者按運算符,把上次運算結果作為本次運算的第一個操作數。
    的頭像 發表于 10-24 14:28 ?728次閱讀
    基于FPGA的<b class='flag-5'>計算器</b>設計

    設計分享|基于51單片機的電梯仿真系統設計

    具體實現功能由AT89C51單片機+數碼管+矩陣按鍵+ULN2003A模塊+電機+LED燈等構成。具體功能:(1)初始時電梯在1樓,當有按鍵按下時,步進電機轉動,電梯運行到相應樓層,數碼管顯示電梯
    的頭像 發表于 10-22 14:12 ?321次閱讀
    設計分享|基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的電梯仿真<b class='flag-5'>系統</b>設計

    把esp8266加入到c51單片機單通道程序怎么寫

    要將ESP8266模塊加入到C51單片機的單通道程序中,您需要了解如何通過串行通信(UART)與ESP8266進行通信。以下是如何實現這一點的步驟和示例代碼。 步驟 1:硬件連接 首先,您需要
    的頭像 發表于 10-18 11:32 ?795次閱讀

    十進制數據轉十六進制字符_轉ASCII碼

    十進制數據轉十六進制字符_轉ASCII碼
    發表于 09-18 10:17 ?0次下載

    51單片機燒錄軟件怎么用

    準備工作 確保您已經安裝了51單片機燒錄軟件,如Keil、IAR等。 準備好51單片機開發板和燒錄,如STC-ISP等。 確保您的
    的頭像 發表于 08-22 09:26 ?1498次閱讀

    十進制和4位二進制計數數據表

    電子發燒友網站提供《十進制和4位二進制計數數據表.pdf》資料免費下載
    發表于 05-31 09:32 ?1次下載
    <b class='flag-5'>十進制</b>和4位二<b class='flag-5'>進制</b>計數<b class='flag-5'>器</b>數據表

    雙4位十進制和二進制計數數據表

    電子發燒友網站提供《雙4位十進制和二進制計數數據表.pdf》資料免費下載
    發表于 05-13 11:12 ?0次下載
    雙4位<b class='flag-5'>十進制</b>和二<b class='flag-5'>進制</b>計數<b class='flag-5'>器</b>數據表

    同步4位十進制和二進制計數數據表

    電子發燒友網站提供《同步4位十進制和二進制計數數據表.pdf》資料免費下載
    發表于 05-09 11:29 ?3次下載
    同步4位<b class='flag-5'>十進制</b>和二<b class='flag-5'>進制</b>計數<b class='flag-5'>器</b>數據表

    使用EDIT_SetDecMode()函數設置十進制編輯后變成了一個黑塊的原因?

    使用了EDIT_SetDecMode()函數設置十進制編輯后,就變成這樣;但是在電腦上仿真界面的時候,數字和背景是會自動反色的,但下載到單片機上就是一個黑色塊。請問會是什么原因?
    發表于 04-12 06:12

    基于單片機AT89C51的數字電壓表仿真實現,原理圖,論文,源碼

    概述 本設計是基于Atmel 51單片機開發平臺和自動控制原理的基礎上實現的一種數字電壓表系統。 該系統采用AT89C51
    發表于 04-03 20:16

    基于51單片機的車輛倒車雷達報警系統,HC-SR04超聲波測距,全套資料

    系統概述 本課題以AT89C51單片機為核心設計一種超聲波倒車雷達系統,同時兼顧車內溫度測量。 系統
    發表于 03-19 14:17

    基于單片機多功能洗衣控制

    需注意仿真中51單片機芯片是兼容的,AT89C51,AT89C52是51單片機的具體型號,內核是
    發表于 03-18 10:13 ?841次閱讀
    基于<b class='flag-5'>單片機</b>多功能洗衣<b class='flag-5'>機</b>控制
    大发888游戏平台 df888ylc3403| 全讯网wn888.com| 百家乐官网稳赢赌法| 足球百家乐系统| 恒丰百家乐官网的玩法技巧和规则 | 博彩百家乐官网带连线走势图| 澳门娱乐城开户| 香港百家乐六合彩| 百家乐官网游戏程序下载| 申博太阳城娱乐网| 永利百家乐游戏| 中山水果机定位器| 澳门百家乐官网www.bjbj100.com| 百家乐官网是否能赢| 时尚| 金濠国际娱乐城| 全讯网5532888| 至尊百家乐娱乐场| 最新百家乐官网出千赌具| 博九百家乐官网游戏| 投注平台出租| 本溪棋牌网| 豪享博百家乐的玩法技巧和规则| 迪威百家乐现场| 362百家乐官网的玩法技巧和规则 大集汇百家乐官网的玩法技巧和规则 | 加州百家乐娱乐城| 试玩百家乐官网游戏机| 百家乐官网大眼仔路| 镇平县| 那坡县| 西乌| 澳门百家乐怎么下载| 申请百家乐会员送彩金| 永利百家乐娱乐网| 百家乐园选百利宫| 菲律宾百家乐开户| 百家乐双龙| 网络百家乐程序| 网上百家乐必赢玩| 百家乐补第三张牌规则| 鑫鼎百家乐娱乐城|