日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

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

  引言

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

  1 總體設(shè)計方案

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

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

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

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

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

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

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

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

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

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

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

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

  

 

  圖1 硬件總體設(shè)計圖

  2.2 矩陣掃描顯示當(dāng)前按鍵模塊

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

  

 

  圖2 矩陣掃描顯示當(dāng)前按鍵模塊[!--empirenews.page--]

  2.3 鍵盤布局模塊

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

  

 

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

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

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

  本系統(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ù)碼管的顯示四位十進(jìn)制數(shù)。通過段選來顯示按鍵及計算結(jié)果的數(shù)值。由于本硬件設(shè)計選用的是共陽接法,所以對應(yīng)的段碼表如下3.3 鍵盤掃描模塊。

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

  4 結(jié)束語

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉