加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于51單片機的計算器設(shè)計

10/10 09:14
847
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
相關(guān)方案
  • 方案介紹
    • 第一章 前言
    • 第二章 方案論證
    • 第三章 系統(tǒng)硬件設(shè)計及說明
    • 第四章 設(shè)計原理分析
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

第一章 前言

1.1 系統(tǒng)開發(fā)背景

隨著社會的發(fā)展,科學(xué)的進步,人們的生活水平在逐步的提高,尤其是微電子技術(shù)的發(fā)展,猶如雨后春筍般的變化。電子產(chǎn)品的更新速度快就不足驚奇了。計算器在人們的日常中是比較的常見的電子產(chǎn)品之一。如何使計算器技術(shù)更加的成熟,充分利用已有的軟件硬件條件,設(shè)計出更出色的計算器,使其更好的為各個行業(yè)服務(wù),成了如今電子領(lǐng)域重要的研究課題。

1.2 系統(tǒng)開發(fā)意義

今天,人們的日常生活中已經(jīng)離不開計算器了,社會的各個角落都有它的身影,比如商店,辦公室,學(xué)?!虼嗽O(shè)計一款簡單實用的計算器會有很大的實際意義。

1.3 設(shè)計目的

本設(shè)計旨在進一步掌握單片機理論知識,理解嵌入式單片機系統(tǒng)的硬軟件設(shè)計,加強對實際應(yīng)用系統(tǒng)設(shè)計的能力。通過本設(shè)計的學(xué)習(xí),使我掌握單片機程序設(shè)計和微機接口應(yīng)用的基本方法,并能綜合運用本科階段所學(xué)軟、硬件知識分析實際問題,提高解決畢業(yè)設(shè)計實際問題的能力,為單片機應(yīng)用和開發(fā)打下良好的基礎(chǔ)。

1、對字符液晶顯示模塊的工作原理,如初始化、清屏、顯示、調(diào)用及外特性有較清楚的認識,并會使用LCD(液晶顯示模塊)實現(xiàn)計算結(jié)果的顯示;掌握液晶顯示模塊的驅(qū)動和編程,設(shè)計LCD和單片機的接口電路,以及利用單片機對液晶模塊的驅(qū)動和操作;

2、在充分分析內(nèi)部邏輯的概念,進行軟件和調(diào)試,學(xué)會使用,并能夠以其為平臺設(shè)計出具有四則運算能力簡易計算器的硬件電路和軟件程序。

第二章 方案論證

2.1 方案構(gòu)思

本設(shè)計可以采用兩種方案,一種是以FPGA為核心處理芯片,配備相應(yīng)的外設(shè);另外一種是以AT89S52處理器,配備相應(yīng)的外設(shè)。

1、方案一:采用FPGA控制

FPGA是一種高密度的可編程邏輯器件,自從Xilinx公司1985年推出第一片F(xiàn)PGA以來,FPGA的集成密度和性能提高很快,其集成密度最高達500萬門/片以上,系統(tǒng)性能可達200MHz。由于FPGA器件集成度高,方便易用,開發(fā)和上市周期短,在數(shù)字設(shè)計和電子生產(chǎn)中得到迅速普及和應(yīng)用,并一度在高密度的可編程邏輯器件領(lǐng)域中獨占鰲頭。

但是而基于 SRAM編程的FPGA,其編程信息需存放在外部存儲器上 ,需外部存儲器芯片 ,且使用方法復(fù)雜 ,保密性差,而其對于一個簡單的計算器而言,實用FPGA有點大材小用,成本太高。

2、方案二:采用AT89S52

單片機是單片微型機的簡稱,故又稱為微控制器MCU(Micro Control Unit)。通常由單塊集成電路芯片組成,內(nèi)部包含有計算機的基本功能部件:中央處理器CPU,存儲器和I/O接口電路等。因此,單片機只要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。單片機廣泛用于智能產(chǎn)品,智能儀表,測控技術(shù),智能接口等,具有操作簡單,實用方便,價格便宜等優(yōu)點,而其中AT89S52以MCS-51為內(nèi)核,是單片機中最典型的代表,應(yīng)用于各種控制領(lǐng)域。

2.2? 方案比較與選擇

通過以上兩種方案論證和比較,從設(shè)計的實用性,方便性和成本出發(fā),選擇了以AT89S52單片機作為中央處理單元進行計算器的設(shè)計,這樣設(shè)計能夠?qū)崿F(xiàn)對四位加減乘除和除法四位小點數(shù)的運算。

第三章 系統(tǒng)硬件設(shè)計及說明

3.1系統(tǒng)組成及總體框圖

圖3.1 系統(tǒng)組成及總體框圖

3.2元件簡介

3.2.1 AT89S52特點

1、主要性能:

(2) 管腳說明:

VCC:供電電壓。

GND:接地。

2、AT89S52的功能特性描述

AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非 易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完 全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。

AT89S52具有以下標(biāo)準功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振時鐘電路

此外, AT89S52 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工 作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié), 單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。8 位微控制器 8K 字節(jié)在系統(tǒng)可編程 Flash。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。

3、AT89S52引腳功能

AT89S52 單片機為40 引腳芯片見圖3.2.1-2。

(1)口線:P0、P1、P2、P3 共四個八位口。

P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。

對P0端口寫“1”時,引腳用作高阻抗輸入。

當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0不具有內(nèi)部上拉電阻。

在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。

P1口:P1 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。

此外,P1.0和P1.1分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和定時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。

在flash編程和校驗時,P1口接收低8位地址字節(jié)。

引腳號第二功能:

P1.0 T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出

P1.1 T2EX(定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)

P1.5 MOSI(在系統(tǒng)編程用)

P1.6 MISO(在系統(tǒng)編程用)

P1.7 SCK(在系統(tǒng)編程用)

P2口:P2 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。

在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR) 時,P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強的內(nèi)部上拉發(fā)送1。

在使用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。

在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。

P3 口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p3 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。

P3口亦作為AT89S52特殊功能(第二功能)使用,如表3.2.1所示。

表3.2.1 P3口管腳 備選功能:

端口引腳 第二功能
P3.0 RXD(串行輸入口)
P3.1 TXD(串行輸出口)
P3.2 /INT0(外部中斷0)
P3.3 /INT1(外部中斷1)
P3.4 T0(記時器0外部輸入)
P3.5 T1(記時器1外部輸入)
P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)
P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)

在flash編程和校驗時,P3口也接收一些控制信號。

此外,P3口還接收一些用于FLASH閃存編程和程序校驗的控制信號。

(2)其他引腳說明:

RST:復(fù)位輸入。晶振工作時,RST腳持續(xù)2 個機器周期高電平將使單片機復(fù)位??撮T狗計時完成后,RST 腳輸出96 個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復(fù)位高電平有效。

ALE/PROG——當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。

對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。

如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。

PSEN——程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89S52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。

EA/VPP——外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。

如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器的指令。

FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。

XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。

XTAL2:來自反向振蕩器的輸出。

XTAL1,XTAL2接石英晶體振蕩器。如圖3.2.1-3所示外接晶體引腳圖。

XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇,在本設(shè)計電路中選用了12MHz。電容取20PF左右。機器周期=12×?xí)r間周期,如12MHz的機器周期為1微秒。

(3)控制或復(fù)位引腳

RESET 此腳為高電平時(約2個機器周期)可將單片機復(fù)位。

RST/VPD——當(dāng)出現(xiàn)兩個機器周期高電平時,單片機復(fù)位。復(fù)位后,P0~P3輸出高電平;SP寄存器為07H;其它寄存器全部清0;不影響RAM狀態(tài)。如圖3.2.1-4所示。

圖3.2.1-4 按鍵電平復(fù)位

AT89SXX系列單片機實現(xiàn)了ISP下載功能,故而取代了89CXX系列的下載方式,也是因為這樣,ATMEL公司已經(jīng)停止生產(chǎn)89CXX系列的單片機,現(xiàn)在市面上的AT89CXX多是停產(chǎn)前的庫存產(chǎn)品。

4、AT89S52的編程方法

編程前,須按編程模式表設(shè)置好地址、數(shù)據(jù)及控制信號;順序如下:

① 在地址線上加上要編程單元的地址信號。

② 在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。

③ 激活相應(yīng)的控制信號。

④ 將EA/Vpp端加上+12V編程電壓。

⑤ 每對Flash存儲陣列寫入一個字節(jié)或每寫入一個程序機密位,加上一個ALE/PROG編程脈沖。每個字節(jié)寫入周期是自身定時的,大多數(shù)約為50us。改變編程單元的地址和寫入的數(shù)據(jù),重復(fù)①—⑤步驟,直到全部文件編程結(jié)束。

單片機的現(xiàn)狀及發(fā)展方向:

單片機是為了工業(yè)控制需要滿足而誕生的,是自動控制系統(tǒng)的核心部件,因而也主要用于工業(yè)控制、智能化儀器儀表、家用電器中。它具有體積小,功能多、價格低、使用方便、系統(tǒng)設(shè)計靈活等優(yōu)點,應(yīng)用領(lǐng)域不斷擴大,除了工業(yè)控制,智能化儀表,通訊,家用電器外,在智能化高檔電子玩具產(chǎn)品中也大量采用單片機芯片作為核心控制部件。

由于單片機主要面向工業(yè)控制,工作環(huán)境比較惡劣,入高溫,強電磁干擾,甚至含有腐蝕性氣體,在太空中工作的單片機控制系統(tǒng),還必須具有抗輻射能力,這決定了單片機CPU于通用微機CPU具有不同的技術(shù)特征和發(fā)展方向:

(1) 可靠性高;

(2) 控制功能往往很強,數(shù)值計算交叉;

(3) 指令系統(tǒng)通用微處理器慢的多;

(4) X系列芯片取代;

(5) 抗干擾性強,工作溫度范圍寬。

3.2.2 LCD1602液晶顯示屏

1、應(yīng)用簡介

模塊內(nèi)部自帶字符發(fā)生存儲器(CGROM),字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是(41H),顯示時模塊把代碼41H發(fā)給液晶模塊,我們就能在液晶上看到字母“A”。

1602液晶模塊內(nèi)部的控制器共有11條控制指令,豐富的指令可以完成液晶的時序控制、工作方式式設(shè)置和數(shù)據(jù)顯示等。

采用的LCD1602液晶模塊是標(biāo)準16針插座,接口電路如圖3.2.3所示:關(guān)于LCD1602的詳細資料見表3.2.3-1和表3.2.3-2。

圖3.2.3 LCD接口電路

表3.2.3-1 LCD1602引腳說明

第1腳 VSS為地電源
第2腳 VDD接5V正電源
第3腳 V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。

實際電路中采用2K電阻到地,比較理想。

第4腳 RS為寄存器選擇,高電平選擇數(shù)據(jù)寄存器、低電平選擇指令寄存器
第5腳 RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。

當(dāng)RS和RW共同為低電平時? (00)可以寫入指令或者顯示地址;

當(dāng)RS為低電平RW為高電平時(01)可以讀入忙信號;

當(dāng)RS為高電平RW為低電平時(10)可以寫入數(shù)據(jù)。

第6腳 E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。
第7~14腳 D0~D7為8位雙向數(shù)據(jù)線。
第15~16腳 背光陽極和背光陰極。

表3.2.3-2 LCD1602指令表

指令1 清顯示???? 指令碼01H, 光標(biāo)復(fù)位到地址00H位置;
指令2 光標(biāo)復(fù)位?? 指令碼02H, 光標(biāo)返回到地址00H位置 ;
指令3 光標(biāo)和顯示模式設(shè)置

I/D位 → 光標(biāo)移動方向,高電平右移,低電平左移;

S? 位 → 屏幕上所有文字是否左移或者右移,高電平有效,低電平無效;

指令4 顯示開關(guān)控制

D? 位 → 控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示;

C? 位 → 控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo);

B? 位 → 控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍 ;

指令5 光標(biāo)或顯示移位

S/C位 → 高電平時移動顯示的文字,低電平時移動光標(biāo)

指令6 功能命令設(shè)置

DL位---高電平時為4位數(shù)據(jù)總線,低電平時為8位總線;

N—位低電平時為單行顯示,高電平時為雙行顯示;

F—位低電平時顯示5x7的點陣字符,高電平時為5x10的點陣字符;

指令7 字符發(fā)生器RAM地址設(shè)置
指令8 DDRAM地址設(shè)置
指令9 讀忙信號和光標(biāo)地址

BF位 → 為忙標(biāo)志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù)

指令10 寫數(shù)據(jù)
指令11 讀數(shù)據(jù)

2 、LCD的特點:

(1)低壓微功耗;

(2)平板型結(jié)構(gòu);

(3)被動顯示型(無眩光,不刺激人眼,不會引起眼睛疲勞);

(4)顯示信息量大(因為像素可以做得很小);

(5)易于彩色化(在色譜上可以非常準確的復(fù)現(xiàn));

(6)無電磁輻射(對人體安全,利于信息保密);

(7)長壽命(這種器件幾乎沒有什么劣化問題,因此壽命極長,但是液晶背光壽命有限,不過背光部分可以更換)。

第四章 設(shè)計原理分析

4.1? 設(shè)計方案的確定

本設(shè)計需要使用LCD液晶顯示屏和編碼鍵盤。故選擇靜態(tài)顯示和用編碼鍵盤。使用LCD液晶顯示屏顯示運算結(jié)果。

主程序進行初始化,其他的程序選擇模塊式的方式。首先對每個模塊進行調(diào)試, 當(dāng)模塊調(diào)試成功后,逐一的加入主程序中,最后完成整個軟件部分的設(shè)計。

4.2計算器硬件方案及硬件資源分配

4.2.1 硬件資源分配

主要用到的硬件:AT89S52?? LCD液晶顯示屏? 編碼鍵盤

硬件分配:

1、P1、P3口:做為輸出口,控制LCD液晶顯示屏顯示數(shù)據(jù)的結(jié)果。

2、P2口:做為輸入口,與鍵盤連接,實現(xiàn)數(shù)據(jù)的輸入。

3、LCD液晶顯示屏顯示輸出。

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

為了更好的實現(xiàn)系統(tǒng)得功能,硬件電路的設(shè)計應(yīng)該遵循以下原則:

1、優(yōu)化硬件電路

采用軟件設(shè)計與硬件設(shè)計相結(jié)合的方法;盡管采用軟件來實現(xiàn)硬件系統(tǒng)的功能時,也許響應(yīng)時間會比單純使用硬件時長,而且還要占用微處理器(MCU)的時間;但是,用軟件實現(xiàn)硬件的功能可以簡化硬件結(jié)構(gòu),提高電路的可靠性。所以,在設(shè)計本系統(tǒng)得時候,在滿足可靠性和實時性的前提下,盡可能的通過軟件來實現(xiàn)硬件功能。

2、可靠性及抗干擾設(shè)計

根據(jù)可靠性設(shè)計理論,系統(tǒng)所用芯片數(shù)量越少,系統(tǒng)的平均無故障時間越長。而且,所用芯片數(shù)量越少,地址和數(shù)據(jù)總線在電路板上受干擾的可能性也就越小。因此,系統(tǒng)的設(shè)計思想是在滿足功能的情況下力爭使用較少數(shù)量的芯片。

3、靈活的功能擴展

功能擴展是否靈活是衡量一個系統(tǒng)優(yōu)劣的重要指標(biāo)。一次設(shè)計往往不能完全考慮到系統(tǒng)的各個方面,系統(tǒng)需要不斷完善以及進行功能升級。進行功能擴展時,應(yīng)該在原有設(shè)計的基礎(chǔ)上,通過修改軟件程序和少量硬件完成。對于本系統(tǒng)而言,就是要求在系統(tǒng)硬件不變的情況下,能夠通過修改軟件程序,完成功能的升級和擴展。

根據(jù)第提出的系統(tǒng)設(shè)計方案,結(jié)合以上三條原則,確定了系統(tǒng)硬件的設(shè)計。計算器主要由以下一些功能模塊構(gòu)成:非編碼鍵盤模塊、LCD液晶顯示屏模塊等。

該系統(tǒng)的硬件設(shè)計采用了模塊化的設(shè)計方法。AT89S52 單片機與LCD液晶顯示屏顯示電路是整個電路的核心,它們實現(xiàn)系統(tǒng)的功能要求。

簡易計算器主要包括:鍵盤電路,顯示電路。

下圖為總體硬件結(jié)構(gòu)。(如圖4.2.2 所示為整個系統(tǒng)的原理圖

圖4.2.2 計算器原理圖

前面敘述了該系統(tǒng)的設(shè)計說明,系統(tǒng)采用了比較簡單的設(shè)計方案,所以該系統(tǒng)的硬件設(shè)計的總外圍電路不會產(chǎn)生過多的干擾。在下面的闡述中,對系統(tǒng)的外圍電路分別予以介紹。鍵盤部分采用編碼鍵盤,顯示部分采用LCD液晶顯示屏完全能夠很好的實現(xiàn)顯示方面的要求。

4.2.3 鍵盤電路的設(shè)計

鍵盤可分為兩類:編碼鍵盤和非編碼鍵盤。編碼鍵盤是較多按鍵(20個以上)和專用驅(qū)動芯片的組合,當(dāng)按下某個按鍵時,它能夠處理按鍵抖動、連擊等問題,直接輸出按鍵的編碼,無需系統(tǒng)軟件干預(yù)。通用計算機使用的標(biāo)準鍵盤就是編碼鍵盤。在智能儀器中,使用并行接口芯片8279或串行接口芯片HD7279均可以組成編碼鍵盤,同時還可以兼顧數(shù)碼管的顯示驅(qū)動,其相關(guān)的接口電路和接口軟件均可在芯片資料中得到。當(dāng)系統(tǒng)功能比較復(fù)雜,按鍵數(shù)量很多時,采用編碼鍵盤可以簡化軟件設(shè)計。非編碼鍵盤成本低廉。

從成本角度出發(fā),本設(shè)計選用的是非編碼鍵盤。如圖4.2.3

4.2.4 顯示電路的設(shè)計

當(dāng)系統(tǒng)需要顯示少量數(shù)據(jù)時,采用LCD液晶顯示屏進行顯示是一種經(jīng)濟實用的方法。P0口作為液晶顯示的數(shù)據(jù)端口,P3.5-P3.7口作為其控制端口,控制LCD液晶顯示屏顯示輸出數(shù)據(jù)。

最終電路如圖4.2.4所示:

第五章 計算器的軟件設(shè)計

5.1計算器的軟件規(guī)劃

簡易計算器的程序主要包括以下功能模塊:

1、定時查鍵模塊,分為讀鍵程序、判鍵程序段、運算操作子程序等部分;

2、基于LCD液晶顯示屏的顯示模塊;

3、主模塊,為系統(tǒng)的初始化。

5.2 鍵盤掃描的程序設(shè)計

鍵盤掃描子程序,首先讀出P1的低四位,然后讀出P1口的高四位。然后鍵值并顯示緩存。然后將鍵如的值轉(zhuǎn)換為ASCII碼然后就可以軟件來設(shè)置硬件按鍵各個鍵代表的內(nèi)容。

讀鍵程序使用的是反轉(zhuǎn)法讀鍵,不管鍵盤矩陣的規(guī)模大小,均進行兩次讀鍵。第一次所有行線均輸出低電平,從所有讀入鍵盤信息(列信息);第二次所有列線均輸出低電平,從所有行線讀入鍵盤信息(行信息)。

數(shù)字鍵按下則將相應(yīng)的數(shù)字送入緩存區(qū),功能鍵按下則執(zhí)行相應(yīng)的程序。

5.3 顯示模塊的程序設(shè)計

顯示模塊程序首先要對顯示模塊進行初始化;然后控制光標(biāo)的位置;定義液晶顯示的控制端口,用SBIT指令完成;然后設(shè)置清屏、關(guān)閉顯示、歸位、開顯示、顯示位置的首地址等等。

顯示模塊的流程圖如圖5.3所示:

  • 有需要資料的可了解一下.docx

相關(guān)推薦

電子產(chǎn)業(yè)圖譜