国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于單片機的數(shù)字式計算器設(shè)計

2015-12-17 07:13王麗琴史
關(guān)鍵詞:數(shù)碼管蜂鳴器計算器

王麗琴史 航

(1.常州信息職業(yè)技術(shù)學(xué)院,常州 213164;2.江蘇理工學(xué)院,常州 213001)

基于單片機的數(shù)字式計算器設(shè)計

王麗琴1史 航2

(1.常州信息職業(yè)技術(shù)學(xué)院,常州 213164;2.江蘇理工學(xué)院,常州 213001)

該系統(tǒng)以單片機AT89S52為控制核心,矩陣鍵盤為輸入及控制單位,數(shù)碼管為動態(tài)顯示系統(tǒng)組成,完成了具有基本計算功能的計算器設(shè)計。設(shè)計中的重點部分主要是系統(tǒng)完成算法、顯示等一系列計算的電路設(shè)計和程序設(shè)計。系統(tǒng)的硬件部分主要包括鍵盤掃描、最小系統(tǒng)板、數(shù)據(jù)顯示、蜂鳴器四大部分。軟件部分應(yīng)用單片機C語言實現(xiàn)全部設(shè)計的控制功能,包括基本的數(shù)碼管動態(tài)顯示、矩陣鍵盤的掃描、輸入數(shù)字的記錄、運算的各種實現(xiàn)。蜂鳴器具有報警的功能,在輸入錯誤或無法計算時進(jìn)行報警。整個系統(tǒng)設(shè)計成本較低,能對輸入的數(shù)據(jù)及正常的運算結(jié)果進(jìn)行實時顯示。

單片機 矩陣鍵盤 數(shù)碼管 蜂鳴器 穩(wěn)壓芯片

引言

隨著電子計算機的普及發(fā)展,人們曾經(jīng)預(yù)言計算器將退出歷史舞臺。然而,電子技術(shù)的不斷進(jìn)步,也使計算器的功能越來越強大。由于計算器具有體積小、攜帶方便、易于掌握、節(jié)省工作時間等優(yōu)點,它的應(yīng)用不但沒有縮小,而且在工程計算、商業(yè)和金融業(yè)務(wù)及中學(xué)數(shù)學(xué)、物理、化學(xué)教學(xué)中被廣泛應(yīng)用。

本次數(shù)字式計算器的設(shè)計要擁有以下幾個功能,數(shù)據(jù)的輸入、內(nèi)部處理、結(jié)果顯示、各種報錯功能。鍵盤與數(shù)碼顯示器是單片機應(yīng)用系統(tǒng)中常用的輸入和輸出的外部設(shè)備。單片機通過鍵盤接收數(shù)據(jù)和命令,顯示器用來顯示單片機的計算結(jié)果或運行狀態(tài)。這里要解決的硬件內(nèi)容有數(shù)據(jù)和符號輸入鍵盤與處理器的連接,報警器的設(shè)計和實現(xiàn),結(jié)果顯示數(shù)碼管的驅(qū)動控制與實現(xiàn)及各種元器件的選擇,包括PCB布線的選擇;軟件部分包括對輸入數(shù)據(jù)和符號的識別和處理,將結(jié)果輸出到結(jié)果數(shù)碼管顯示,對輸入和計算錯誤的輸出報錯警示等功能。設(shè)計中的重點部分主要是系統(tǒng)完成算法、顯示等一系列計算的電路設(shè)計和程序設(shè)計。

1 系統(tǒng)設(shè)計方案

本設(shè)計是基于51系列的單片機進(jìn)行的計算器模擬系統(tǒng)設(shè)計,可以完成計算器的鍵盤輸入,進(jìn)行加、減、乘、除數(shù)字運算,并在LED上相應(yīng)顯示[1-2]。在輸入錯誤或無法計算時,蜂鳴器具有報警功能。硬件方面,從功能考慮,首先選擇內(nèi)部存儲資源豐富的AT89C52單片機,輸入采用4×4矩陣鍵盤。顯示采用8位7段共陰極LED動態(tài)顯示,復(fù)位電路采用上電復(fù)位,時鐘采用12MHz晶體振蕩電路。由于AT89C52單片機內(nèi)部有充足的程序存儲單元和數(shù)據(jù)存儲單元,因此不需要進(jìn)行外圍存儲擴展[3-4]。軟件方面,從分析計算器功能、流程圖設(shè)計,再到程序的編寫進(jìn)行系統(tǒng)設(shè)計,針對計算器四則運算算法特別是乘法和除法運算的實現(xiàn),完成程序編寫。系統(tǒng)框圖如圖1所示。

圖1 系統(tǒng)整體框圖

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

系統(tǒng)的硬件設(shè)計主要有系統(tǒng)的供電電源設(shè)計、矩陣鍵盤設(shè)計、蜂鳴器電路設(shè)計、數(shù)碼管動態(tài)顯示電路設(shè)計四部分。

1.1.1 系統(tǒng)供電電源設(shè)計

該系統(tǒng)采用AT89S52單片機為核心控制器,因此,要使系統(tǒng)能穩(wěn)定持久工作,必須要為系統(tǒng)提供5V的穩(wěn)壓電源輸入,所以最終選擇5V直流電源作為系統(tǒng)電源輸入[3-6]。

1.1.2 矩陣鍵盤設(shè)計

當(dāng)鍵盤中按鍵數(shù)量較多時,為了減少I/O口線的占用,通常將按鍵排列成矩陣形式。如圖二所示在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣做一個并行口可以構(gòu)成4*4=16個按鍵,比直接將端口線用于鍵盤多出了一倍,且線數(shù)越多區(qū)別就越明顯。矩陣式結(jié)構(gòu)的鍵盤顯然比獨立式鍵盤復(fù)雜一些,識別也要復(fù)雜一些,分為行掃描和列掃描。在按鍵識別過程中,同時加入鍵盤的消抖處理。

1.1.3 蜂鳴器電路設(shè)計

蜂鳴器只有通過電流達(dá)到一定程度時,才能聽到響聲,而單片機不能輸出如此大的電流,所以要加一級蜂鳴器的驅(qū)動,本系統(tǒng)中采用一個三極管,放大驅(qū)動蜂鳴器的電流。

1.1.4 數(shù)碼管動態(tài)顯示電路設(shè)計

為了節(jié)約成本,本設(shè)計的顯示部分采用由發(fā)光二極管組成的共陰極數(shù)碼管動態(tài)顯示。它的驅(qū)動級應(yīng)為射極輸出或源極輸出電路,如圖2所示。

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

本系統(tǒng)采用模塊化設(shè)計方法后,可依據(jù)設(shè)計的功能要求將軟件的初始化模塊、數(shù)碼管顯示模塊、鍵盤輸入模塊、鍵功能處理模塊、數(shù)值運算模塊、延時模塊,分別進(jìn)行設(shè)計和調(diào)試,然后把它們連接起來,進(jìn)行總調(diào)。系統(tǒng)主流程圖如圖3所示。主要模塊的設(shè)計思路如下。

圖3 主流程圖

1.2.1 數(shù)碼管顯示模塊

考慮到本設(shè)計的顯示部分要求實現(xiàn)鍵盤輸入數(shù)值顯示及0~255以內(nèi)整數(shù)四則運算結(jié)果的顯示(其中顯示數(shù)字要求精確到小數(shù)點后兩位,并且實現(xiàn)對負(fù)值的顯示),因此采用八位數(shù)碼管動態(tài)顯示完成。應(yīng)用單片機來控制數(shù)碼管動態(tài)顯示數(shù)組各元素,首先要通過單片機的口控制來實現(xiàn)數(shù)碼管的選通,即按時對各位數(shù)碼管進(jìn)行片選,然后輪流點亮各位數(shù)碼管,最終完成動態(tài)顯示。

1.2.2 鍵盤功能設(shè)置軟件設(shè)計

根據(jù)系統(tǒng)4*4矩陣鍵盤的設(shè)計,主要完成計算數(shù)值輸入、運算符輸入、數(shù)值清零和運算錯誤報警等功能。

1.2.3 計算功能設(shè)置軟件設(shè)計

當(dāng)鍵盤掃描數(shù)值為0~9實數(shù)時,將數(shù)值存儲作為運算操作數(shù)值并經(jīng)數(shù)碼管顯示,再次進(jìn)行鍵盤掃描。當(dāng)鍵盤掃描數(shù)值為操作符時,保存該操作符,根據(jù)操作符調(diào)用相應(yīng)的計算程序,將操作數(shù)進(jìn)行相應(yīng)運算,結(jié)束時首先將結(jié)果保存,調(diào)用數(shù)碼管顯示程序顯示運算結(jié)果,同時將運算結(jié)果賦值給操作數(shù),再次進(jìn)行鍵盤掃描,以此實現(xiàn)四則運算功能。

2 結(jié)語

該系統(tǒng)以單片機AT89S52為控制核心,4*4鍵盤輸入,數(shù)碼管由動態(tài)顯示系統(tǒng)組成,完成了具有基本功能的數(shù)字式計算器的設(shè)計。在系統(tǒng)中運用單片機控制技術(shù),數(shù)碼管顯示等,并實用了4*4鍵盤掃描法實現(xiàn)數(shù)據(jù)輸入。通過不斷的嘗試和努力,使各個模塊都能穩(wěn)定工作,最終實現(xiàn)具有基本功能的計算器設(shè)計的各項要求。

[1]謝維成,楊加國.單片機原理與應(yīng)用及C51程序設(shè)計[M].北京:清華大學(xué)出版社,2009.

[2]張義和,陳敵北.例說8051[M].北京:人民郵電出版社,2006.

[3]勒達(dá).單片機應(yīng)用系統(tǒng)開發(fā)實例導(dǎo)航[M].北京:人民郵電出版社,2003.

[4]陳寧,王文寧.單片機技術(shù)項目教程[M].南京:東南大學(xué)出版社,2008.

[5]張友亮,趙志英,涂時亮.單片機微型型機原理、應(yīng)用與實驗[M].上海:復(fù)旦大學(xué)出版社,2006.

[6]李誠人,高宏陽,劉淼,等.嵌入式系統(tǒng)及單片機應(yīng)用[M].北京:清華大學(xué)出版社,2005.

The Design of Digital Calculator

WANG Liqin,SHI Hang
(1.Changzhou College of Information Technology,Changzho u 213164;2.Jiangsu Institute of science and technology, Changzhou 213001)

The s ystem uses s ingle-chip AT89S52 for the control of the core, matrix keyboard for input and control unit, digital control system for dynamic dis play of th e finish with the basic computing function calculator desi gn. Designed in the focus of s ome of the m ajor systems are algorithm s, s uch as a series of calculations show that the circuit design and program design .Sys tem hardware includes a keyboard s canning, the smallest system board, data show that the majority of four buzzer. Application software Si ngle-c hip C language implementation of all design control functions, including basic digital tube dynamic display, the keyboard matrix scanning, enter the number of records, a variety of com puting implementation. With a buz zer alarm function, the input error or can not be calculated when the alarm. Designed the entire s ystem cost is lower, be able to en ter data in real-time display and computing the results of a normal real-time display.

microcontroller,matrix ke yboards,digital tube,beeper,voltage regulator chip

猜你喜歡
數(shù)碼管蜂鳴器計算器
電動自行車產(chǎn)品車速提示音檢測現(xiàn)狀和整改技術(shù)研究(2)
微課教學(xué)設(shè)計之“數(shù)碼管動態(tài)顯示”
掌控板制作簡易鋼琴
Arduino編程
[計算器不是萬能的]
MC9S08FL16單片機數(shù)碼管靜態(tài)顯示分析
單片機控制的四位數(shù)碼管動態(tài)顯示編程
單片機驅(qū)動蜂鳴器的程序設(shè)計
豐田凱美瑞240V車間隙警告蜂鳴器異常鳴響
一個損壞的計算器
南雄市| 响水县| 北碚区| 东光县| 芷江| 潼关县| 永德县| 高碑店市| 太白县| 齐齐哈尔市| 安平县| 桓台县| 湟源县| 临江市| 柳河县| 富平县| 师宗县| 谢通门县| 景宁| 黑龙江省| 丹寨县| 潮州市| 桂平市| 谷城县| 五河县| 富锦市| 阿合奇县| 古浪县| 建始县| 收藏| 太康县| 葵青区| 苍南县| 宣化县| 郓城县| 朝阳区| 仙居县| 新津县| 贡觉县| 北碚区| 通山县|