91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

基于AT89C51單片機的十進制計算器系統(tǒng)設計

電子設計 ? 2018-08-28 23:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

引言

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

1 總體設計方案

1.1 系統(tǒng)組成與工作原理

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

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

(2)加法運算: 加數(shù)與被加數(shù)均不能超過9999,加法最終結(jié)果不能超過9999。

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

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

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

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

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

2 系統(tǒng)硬件設計

2.1 系統(tǒng)硬件總體設計

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


圖1 硬件總體設計圖

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

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


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

2.3 鍵盤布局模塊

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


圖3 計算器的鍵盤布局模塊

3 系統(tǒng)軟件設計

3.1 系統(tǒng)軟件總體設計

本系統(tǒng)的軟件流程如圖4 所示。


圖4 系統(tǒng)的軟件流程圖

3.2 顯示程序模塊

顯示程序?qū)⒁@示數(shù)值的千位、百位、十位與個位分別計算出來,通過P0 段選口輸出數(shù)值,通過位選口P3^3、P3^4、 P3^5、P3^6 實現(xiàn)動態(tài)顯示。

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

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

4 結(jié)束語

本計算器是以51 系列單片機為核心構(gòu)成計算器系統(tǒng),該設計為能進行簡易算術(shù)運算的計算器,在現(xiàn)有的硬件條件下只能進行結(jié)果不超過四位數(shù)的運算,能實現(xiàn)加減乘除的運算功能與數(shù)字清零功能,以及系統(tǒng)的復位功能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    小白也能聽懂的單片機知識路徑

    什么是單片機? 單片機,全稱單片微型計算機,是一種集CPU、內(nèi)存、輸入輸出接口等部件于一體的微型計算機系統(tǒng)。它能夠獨立執(zhí)行程序,完成特
    發(fā)表于 02-04 16:44

    十進制計算機硬件體系結(jié)構(gòu)及“獨值”量化邏輯運算革命(一)

    采用“獨值”量化邏輯理論設計十進制數(shù)字計算機,十進制網(wǎng)絡計算機,十進制模擬計算機,十進制模糊
    的頭像 發(fā)表于 01-29 09:13 ?972次閱讀
    <b class='flag-5'>十進制</b><b class='flag-5'>計算</b>機硬件體系結(jié)構(gòu)及“獨值”量化邏輯運算革命(一)

    解析SN54145、SN54LS145、SN74145、SN74LS145 BCD-十進制解碼/驅(qū)動

    解析SN54145、SN54LS145、SN74145、SN74LS145 BCD-十進制解碼/驅(qū)動 在電子設計領(lǐng)域,解碼/驅(qū)動是非
    的頭像 發(fā)表于 01-19 11:25 ?271次閱讀

    學習單片機快速方法

    的很不錯了。告訴大家我學51單片機只用了兩個星期。普通的應用差不多都會了,可以自己設計一個國旗升降系統(tǒng)、溫度自動控制系統(tǒng)之類的電路和程序。當然想要這么短的時間內(nèi)精通是不可能的。 學習
    發(fā)表于 01-14 07:42

    怎么學好單片機?

    單片機,是軟硬件的綜合體。并不是單單會點匯編或者C語言就說會單片機,這頂多只能說會編程而已。因為大部分單片機系統(tǒng)都是不帶操作
    發(fā)表于 12-04 07:16

    單片機位數(shù)的思考(8位、16位、32位)

    8位、16位、32位是指單片機的“字長”,也就是一次運算中參與運算的數(shù)據(jù)長度,這個位是指二進制位。以8位為例,8位二進制的表達范圍是0000,0000~1111,1111即十進制的0~
    發(fā)表于 11-21 08:31

    嵌入式與單片機定義及區(qū)別

    、看門狗、I/O接口、串口通信、A/D轉(zhuǎn)換、D/A轉(zhuǎn)換以及FLASH存儲等多種功能模塊。典型的代表型號有8051、8096以及C8051F等。
    發(fā)表于 11-17 08:11

    C語言和單片機C語言有什么差異

    區(qū)別是由編譯決的,只能參考對應的編譯手冊,即使同種平臺不同的編譯C的擴展也有不同。 3、單片機c語言編程是基于
    發(fā)表于 11-14 07:55

    51單片機RS485編程實例資料

    詳細介紹51單片機RS485通信接線和編程代碼
    發(fā)表于 10-20 14:57 ?4次下載

    單片機最小系統(tǒng)工作原理及搭建

    單片機最小系統(tǒng)是指使單片機正常運行所需的最簡電路配置,它是所有單片機應用的開發(fā)基礎。以下是其核心組成、工作原理及搭建指南: 一、最小系統(tǒng)核心
    的頭像 發(fā)表于 08-11 10:55 ?3504次閱讀
    <b class='flag-5'>單片機</b>最小<b class='flag-5'>系統(tǒng)</b>工作原理及搭建

    怎么測單片機系統(tǒng)頻率

    ,各有其特點和操作要點。 示波器測量法 示波器是測量單片機系統(tǒng)頻率的常用工具,其原理是通過捕捉單片機輸出的周期性信號,根據(jù)信號的周期計算頻率。 操作步驟 首先,確定
    的頭像 發(fā)表于 07-25 11:39 ?783次閱讀

    AT89C51 單片機中文資料

    電子發(fā)燒友網(wǎng)站提供《AT89C51 單片機中文資料.pdf》資料免費下載
    發(fā)表于 06-24 15:29 ?1次下載

    單片機原理及應用

    本書全面系統(tǒng)地介紹了 MCS-51 系列單片機的基本結(jié)構(gòu)、工作原理及應用技術(shù)。主要內(nèi)容包括:微型計算機的基礎知識、MCS-51
    發(fā)表于 06-16 16:58

    基于51單片機的溫濕度檢測與調(diào)節(jié)系統(tǒng)電路圖

    電子發(fā)燒友網(wǎng)站提供《基于51單片機的溫濕度檢測與調(diào)節(jié)系統(tǒng)電路圖》資料免費下載
    發(fā)表于 05-12 17:23 ?1次下載

    新概念51單片機C語言教程入門、提高、開發(fā)、拓展全攻略

    資料介紹 從實際應用入手,以實驗過程和實驗現(xiàn)象為主導,循序漸進地講述51單片機C語言編程方法以及51單片機的硬件結(jié)構(gòu)和功能應用。全書共分5篇
    發(fā)表于 04-15 13:57