基于AT89C51的十進制計算器設計
引言
本文引用地址:http://2s4d.com/article/256371.htm本系統(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 矩陣掃描顯示當前按鍵模塊
塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理 晶振相關(guān)文章:晶振原理
評論