單片機(jī)設(shè)計(jì)報(bào)告-基于51單片機(jī)簡(jiǎn)易計(jì)算器設(shè)計(jì)_第1頁(yè)
單片機(jī)設(shè)計(jì)報(bào)告-基于51單片機(jī)簡(jiǎn)易計(jì)算器設(shè)計(jì)_第2頁(yè)
單片機(jī)設(shè)計(jì)報(bào)告-基于51單片機(jī)簡(jiǎn)易計(jì)算器設(shè)計(jì)_第3頁(yè)
單片機(jī)設(shè)計(jì)報(bào)告-基于51單片機(jī)簡(jiǎn)易計(jì)算器設(shè)計(jì)_第4頁(yè)
單片機(jī)設(shè)計(jì)報(bào)告-基于51單片機(jī)簡(jiǎn)易計(jì)算器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、電子課程設(shè)計(jì)報(bào)告基于51單片機(jī)的簡(jiǎn)易計(jì)算器設(shè)計(jì)電子課程設(shè)計(jì)報(bào)告基于51單片機(jī)的簡(jiǎn)易計(jì)算器設(shè)計(jì)姓 名: 朱啟超 專 業(yè): 電子信息科學(xué)與技術(shù) 班 級(jí): 2011-1班 學(xué) 號(hào): 201101050741 同 組 人: 指 導(dǎo) 教 師: 王桂海 信息科學(xué)與工程學(xué)院電子信息系2013 年 6 月 10 日摘要課程設(shè)計(jì)環(huán)節(jié)是為了學(xué)生能夠更好地鞏固和實(shí)踐所學(xué)專業(yè)知識(shí)而設(shè)置的,在本次課程設(shè)計(jì)中,以模擬電子技術(shù)基礎(chǔ)、數(shù)字電子技術(shù)基礎(chǔ)和單片微型計(jì)算機(jī)原理及應(yīng)用課程中所學(xué)知識(shí)為基礎(chǔ),設(shè)計(jì)了簡(jiǎn)易計(jì)算器。本系統(tǒng)以MCS-51系列單片機(jī)為核心,能夠?qū)崿F(xiàn)兩位數(shù)的四則運(yùn)算。該系統(tǒng)通過(guò)檢測(cè)矩陣鍵盤(pán)掃描,判斷是否按鍵,經(jīng)數(shù)據(jù)

2、轉(zhuǎn)換把數(shù)值送入數(shù)碼管動(dòng)態(tài)顯示。本系統(tǒng)的設(shè)計(jì)說(shuō)明重點(diǎn)介紹了如下幾方面的內(nèi)容:1)基于單片機(jī)簡(jiǎn)易計(jì)算器的基本功能,同時(shí)對(duì)矩陣鍵盤(pán)及數(shù)碼管動(dòng)態(tài)顯示原理進(jìn)行了簡(jiǎn)單的闡述;2)介紹了系統(tǒng)的總體設(shè)計(jì)、給出了系統(tǒng)的整體流程框圖,并對(duì)其進(jìn)行了功能模塊劃分及所采用的元器件進(jìn)行了詳細(xì)說(shuō)明;3)對(duì)系統(tǒng)各功能模塊的軟、硬件實(shí)現(xiàn)進(jìn)行了詳細(xì)的設(shè)計(jì)說(shuō)明。關(guān)鍵字:MCS-51單片機(jī);計(jì)算器;加減乘除目錄摘要2目錄3前言4課題簡(jiǎn)介4設(shè)計(jì)目的4設(shè)計(jì)任務(wù)4第一章 計(jì)算器系統(tǒng)簡(jiǎn)介511 單片機(jī)發(fā)展現(xiàn)狀512 計(jì)算器系統(tǒng)現(xiàn)狀613 簡(jiǎn)易計(jì)算器系統(tǒng)簡(jiǎn)介6第二章 MCS-51系列單片機(jī)簡(jiǎn)介721 中央處理器(CPU)822 內(nèi)部數(shù)據(jù)存儲(chǔ)器

3、(RAM)923 程序存儲(chǔ)器(ROM)924 定時(shí)/計(jì)數(shù)器925 MCS-51單片機(jī)引腳說(shuō)明1026 中斷系統(tǒng)10第三章 設(shè)計(jì)思路與步驟1231 系統(tǒng)框圖1232 硬件電路設(shè)計(jì)1333 程序設(shè)計(jì)1334 軟件仿真13第四章 電路焊接與試驗(yàn)14結(jié)論14參考文獻(xiàn)14附錄15附錄一15附錄二15前言課題簡(jiǎn)介單片機(jī)由于其微小的體積和極低的成本,廣泛的應(yīng)用于家用電器、工業(yè)控制等領(lǐng)域中。在工業(yè)生產(chǎn)中。單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。本系統(tǒng)就是充分利用了MCS-51芯片的I/O引腳。系統(tǒng)采用MSC-51系列單

4、片機(jī)Intel8051為中心器件來(lái)設(shè)計(jì)計(jì)算器控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際輸入值顯示并存儲(chǔ),計(jì)算程序則是參照教材。至于位數(shù)和功能,如果有需要可以設(shè)計(jì)擴(kuò)充原系統(tǒng)來(lái)實(shí)現(xiàn) 。設(shè)計(jì)目的通過(guò)本次課程設(shè)計(jì),運(yùn)用數(shù)字電子技術(shù)基礎(chǔ)、單片微型計(jì)算機(jī)原理及應(yīng)用所學(xué)知識(shí)及查閱相關(guān)資料,完成簡(jiǎn)易計(jì)算器的設(shè)計(jì),達(dá)到理論知識(shí)與實(shí)踐更好結(jié)合、提高綜合運(yùn)用所學(xué)知識(shí)和設(shè)計(jì)能力的目的。通過(guò)本次設(shè)計(jì)訓(xùn)練,可以使我們?cè)诨舅悸泛突痉椒ㄉ蠈?duì)基于MCS-51單片機(jī)的嵌入式系統(tǒng)設(shè)計(jì)有一個(gè)比較感性的認(rèn)識(shí),并具備一定程度的設(shè)計(jì)能力。設(shè)計(jì)任務(wù)在本次工程實(shí)踐中,主要完成如下方面的設(shè)計(jì)任務(wù):1)簡(jiǎn)要綜述單片機(jī)技術(shù)發(fā)展的國(guó)內(nèi)外現(xiàn)狀及數(shù)碼管動(dòng)態(tài)顯示和矩陣鍵

5、盤(pán)基本原理;2)掌握MCS-51系列某種產(chǎn)品的最小電路及外圍擴(kuò)展電路的設(shè)計(jì)方法;3)了解單片機(jī)數(shù)據(jù)轉(zhuǎn)換功能及工作過(guò)程;4)完成主要功能模塊的硬件電路設(shè)計(jì)及必要的參數(shù)確定;5)用Protues軟件完成原理電路的繪制并實(shí)現(xiàn)與Keil uVision4軟件的連接仿真;6)完成系統(tǒng)實(shí)物設(shè)計(jì)。第一章 計(jì)算器系統(tǒng)簡(jiǎn)介11 單片機(jī)發(fā)展現(xiàn)狀單片機(jī)的發(fā)展趨勢(shì):低功耗CMOS化;微型單片化;主流與多品種共存;單片機(jī)從8位、16位到32位,數(shù)不勝數(shù),應(yīng)有盡有,有與主流C51系列兼容的,也有不兼容的,但它們各具特色,互成互補(bǔ),為單片機(jī)的應(yīng)用提供廣闊的天地。 縱觀單片機(jī)的發(fā)展過(guò)程,可以預(yù)示單片機(jī)的發(fā)展趨勢(shì),大致有:1)

6、 低功耗CMOS化MCS-51系列的8051推出時(shí)的功耗達(dá)630mW,而現(xiàn)在的單片機(jī)普遍都在100mW左右,隨著對(duì)單片機(jī)功耗要求越來(lái)越低,現(xiàn)在的各個(gè)單片機(jī)制造商基本都采用了CMOS(互補(bǔ)金屬氧化物半導(dǎo)體工藝)。像80C51就采用了HMOS(即高密度金屬氧化物半導(dǎo)體工藝)和CHMOS(互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝)。CMOS雖然功耗較低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點(diǎn),這些特征,更適合于在要求低功耗象電池供電的應(yīng)用場(chǎng)合。所以這種工藝將是今后一段時(shí)期單片機(jī)發(fā)展的主要途徑。 2) 微型單片化 現(xiàn)在常規(guī)的單片機(jī)普遍都是將中央處理器(CPU)、隨機(jī)存取數(shù)據(jù)

7、存儲(chǔ)(RAM)、只讀程序存儲(chǔ)器(ROM)、并行和串行通信接口,中斷系統(tǒng)、定時(shí)電路、時(shí)鐘電路集成在一塊單一的芯片上,增強(qiáng)型的單片機(jī)集成了如A/D轉(zhuǎn)換器、PMW(脈寬調(diào)制電路)、WDT(看門(mén)狗)、有些單片機(jī)將LCD(液晶)驅(qū)動(dòng)電路都集成在單一的芯片上,這樣單片機(jī)包含的單元電路就更多,功能就越強(qiáng)大。甚至單片機(jī)廠商還可以根據(jù)用戶的要求量身定做,制造出具有自己特色的單片機(jī)芯片。 此外,現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機(jī)除了功能強(qiáng)和功耗低外,還要求其體積要小。現(xiàn)在的許多單片機(jī)都具有多種封裝形式,其中SMD(表面封裝)越來(lái)越受歡迎,使得由單片機(jī)構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。3) 主流與多品種共

8、存現(xiàn)在雖然單片機(jī)的品種繁多,各具特色,但仍以80C51為核心的單片機(jī)占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)的有PHILIPS公司的產(chǎn)品,ATMEL公司的產(chǎn)品和中國(guó)臺(tái)灣的Winbond系列單片機(jī)。所以C8051為核心的單片機(jī)占據(jù)了半壁江山。而Microchip公司的PIC精簡(jiǎn)指令集(RISC)也有著強(qiáng)勁的發(fā)展勢(shì)頭,中國(guó)臺(tái)灣的HOLTEK公司近年的單片機(jī)產(chǎn)量與日俱增,與其低價(jià)質(zhì)優(yōu)的優(yōu)勢(shì),占據(jù)一定的市場(chǎng)分額。此外還有MOTOROLA公司的產(chǎn)品,日本幾大公司的專用單片機(jī)。在一定的時(shí)期內(nèi),這種情形將得以延續(xù),將不存在某個(gè)單片機(jī)一統(tǒng)天下的壟斷局面,走的是依存互補(bǔ),相輔相成、共同發(fā)展的道路。12 計(jì)算器系統(tǒng)現(xiàn)狀計(jì)算器

9、一般由運(yùn)算器、控制器、存儲(chǔ)器、鍵盤(pán)、顯示器、電源和一些可選外圍設(shè)備及電子配件通過(guò)人工或機(jī)器設(shè)備組成。低檔計(jì)算器的運(yùn)算器、控制器由數(shù)字邏輯電路實(shí)現(xiàn)簡(jiǎn)單的串行運(yùn)算,其隨機(jī)存儲(chǔ)器只有一、二個(gè)單元,供累加存儲(chǔ)用。高檔計(jì)算器由微處理器和只讀存儲(chǔ)器實(shí)現(xiàn)各種復(fù)雜的運(yùn)算程序,有較多的隨機(jī)存儲(chǔ)單元以存放輸入程序和數(shù)據(jù)。鍵盤(pán)是計(jì)算器的輸入部件,一般采用接觸式或傳感式。為減小計(jì)算器的尺寸,一鍵常常有多種功能。顯示器是計(jì)算器的輸出部件,有發(fā)光二極管顯示器或液晶顯示器等。除顯示計(jì)算結(jié)果外,還常有溢出指示、錯(cuò)誤指示等。計(jì)算器電源采用交流轉(zhuǎn)換器或電池,電池可用交流轉(zhuǎn)換器或太陽(yáng)能轉(zhuǎn)換器再充電。為節(jié)省電能,計(jì)算器都采用CMOS

10、工藝制作的大規(guī)模集成電路(見(jiàn)互補(bǔ)金屬-氧化物-半導(dǎo)體集成電路),并在內(nèi)部裝有定時(shí)不操作自動(dòng)斷電電路。計(jì)算器可選用的外圍設(shè)備有微型打印機(jī)、盒式磁帶機(jī)和磁卡機(jī)等。13 簡(jiǎn)易計(jì)算器系統(tǒng)簡(jiǎn)介本計(jì)算器是以MCS-51系列單片機(jī)為核心構(gòu)成的簡(jiǎn)易計(jì)算器系統(tǒng)。該系統(tǒng)通過(guò)單片機(jī)控制,實(shí)現(xiàn)對(duì)4×5鍵盤(pán)掃描進(jìn)行實(shí)時(shí)的按鍵檢測(cè),并把檢測(cè)數(shù)據(jù)存儲(chǔ)下來(lái)。整個(gè)計(jì)算器系統(tǒng)的工作過(guò)程為:首先存儲(chǔ)單元初始化,顯示初始值和鍵盤(pán)掃描,判斷按鍵位置,查表得出按鍵值,單片機(jī)則對(duì)數(shù)據(jù)進(jìn)行儲(chǔ)存與相應(yīng)處理轉(zhuǎn)換,之后送入數(shù)碼管動(dòng)態(tài)顯示。整個(gè)系統(tǒng)可分為三個(gè)主要功能模塊:功能模塊一,實(shí)時(shí)鍵盤(pán)掃描;功能模塊二,數(shù)據(jù)轉(zhuǎn)換為了數(shù)碼管顯示;功能模

11、塊三,數(shù)碼管動(dòng)態(tài)顯示。第二章 MCS-51系列單片機(jī)簡(jiǎn)介MCS-51系列單片機(jī)雖已有10多種產(chǎn)品,但可分為兩大系列:MCS-51子系列與MCS-52子系列。MCS-51子系列中主要有8031、8051、8751三種類型。而MCS-52子系列也有3種類型8032、8052、8752。各子系列配置見(jiàn)表2-1所示。表2-1 MCS-51系列單片機(jī)配置一覽表系列內(nèi)存儲(chǔ)器(字節(jié))定時(shí)器/計(jì)數(shù)器并行I/O串行I/O中斷源制造工藝無(wú)ROM片內(nèi)ROM片內(nèi)EPROM片內(nèi)RAMMCS-51子系列803180514K87511282×16位4×8位15HMOS80C3180C514K87C514

12、K1283×16位4×8位15CHMOSMCS-52子系列803280528K87528K2563×16位4×8位16HMOS80C23280C2528K87C2528K2563×16位4×8位17CHMOSMCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如圖2-1所示。MCS-52系列單片機(jī)的內(nèi)部結(jié)構(gòu)包含一個(gè)8位中央處理器CPU、128個(gè)字節(jié)(MCS-52子系列為256字節(jié))的片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM、4KB(MCS-52子系列為8KB)的片內(nèi)程序只讀存儲(chǔ)器ROM、18個(gè)(MCS-52子系列為21個(gè))特殊功能寄存器SFR、4個(gè)8位并行輸入輸出I/O

13、接口、一個(gè)串行I/O接口、2個(gè)(MCS-52子系列為3個(gè))16位定時(shí)器/計(jì)數(shù)器和1個(gè)具有5個(gè)(MSC-52子系列為6個(gè)或7個(gè))中斷源,可編程為2個(gè)優(yōu)先級(jí)的中斷系統(tǒng)八大部分,現(xiàn)在我們就主要部分加以說(shuō)明:圖2-1 MCS-51系列單片機(jī)內(nèi)部結(jié)構(gòu)圖21 中央處理器(CPU)中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,它決定了單片機(jī)的主要功能特性。它由運(yùn)算部件和控制部件兩大部分組成 。1) 運(yùn)算部件運(yùn)算部件是以算術(shù)邏輯單元ALU為核心,加上累加器A、寄存器B、暫存器TMP1和TMP2、程序狀態(tài)存儲(chǔ)器PSW及專門(mén)用于位操作的布爾處理機(jī)組成的(見(jiàn)圖1-1),它能實(shí)現(xiàn)數(shù)據(jù)的算是邏輯運(yùn)算、位變量處理和數(shù)據(jù)傳送

14、操作。2) 控制部件控制部件是單片機(jī)的神經(jīng)中樞,它包括定時(shí)和控制電路、指令寄存器、譯碼器以及信息傳送控制等部件。它以主振頻率為基準(zhǔn)發(fā)出CPU的時(shí)序,對(duì)指令進(jìn)行編譯,然后發(fā)出各種控制信號(hào),完成一系列定時(shí)控制的微操作,用來(lái)協(xié)調(diào)單片機(jī)內(nèi)部各功能部件之間的數(shù)據(jù)傳送、數(shù)據(jù)運(yùn)算等操作,并對(duì)外發(fā)出地址鎖存ALE、外部程序存儲(chǔ)器選通 PSEN以及通過(guò)P3.6和P3.7發(fā)出數(shù)據(jù)存儲(chǔ)器讀 RD、寫(xiě) WR等控制信號(hào),并且接受處理外接的復(fù)位RST和外部程序存儲(chǔ)器訪問(wèn)控制 EA信號(hào)。22 內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)MCS-51系列單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器由讀寫(xiě)存儲(chǔ)器RAM組成,用于存儲(chǔ)數(shù)據(jù)。它由RAM塊和特殊功能寄存器(S

15、FR)塊組成。對(duì)于MCS-51子系列,RAM塊有128個(gè)字節(jié),其編址為00H7FH;SFR塊占128個(gè)字節(jié),其編址為80HFFH,兩者連續(xù)但不重疊。對(duì)于MCS-52子系列,RAM塊有256個(gè)字節(jié),編址為00HFFH;SFR塊仍占128個(gè)字節(jié),編制為80HFFH。后者比前者多128個(gè)字節(jié)的編址是重疊的,由于訪問(wèn)內(nèi)部數(shù)據(jù)存儲(chǔ)器各部分所用指令不同,并不會(huì)引起混亂。23 程序存儲(chǔ)器(ROM)計(jì)算機(jī)的工作是按照事先編制好的程序命令一條條循序執(zhí)行的,程序存儲(chǔ)器就是用來(lái)存放這些已編好的程序和表格常數(shù),它由只讀存儲(chǔ)器ROM或EPROM組成。計(jì)算機(jī)為了有序的工作設(shè)置了一個(gè)專用寄存器程序計(jì)數(shù)器PC,用以存放將要執(zhí)

16、行的指令系統(tǒng)。每取出指令的1個(gè)字節(jié)后,其內(nèi)容自行加1,指向下一字節(jié)地址,依次使計(jì)算機(jī)從程序存儲(chǔ)器取指令執(zhí)行,完成某種程序操作。由于MCS-51單片機(jī)的程序計(jì)數(shù)器為16位,因此,可尋址的地址空間為64KB。與此相對(duì)應(yīng)得程序存儲(chǔ)器編址從0000H開(kāi)始,最大可至FFFFH。24 定時(shí)/計(jì)數(shù)器在實(shí)際的控制系統(tǒng)中常要求有外部實(shí)時(shí)時(shí)鐘,以實(shí)現(xiàn)定時(shí)或延時(shí)控制;還要求有外部計(jì)數(shù)器,以實(shí)現(xiàn)對(duì)外界事件進(jìn)行計(jì)數(shù)。比如,在單片機(jī)控制的電力系統(tǒng)中,控制的對(duì)象為電動(dòng)機(jī),為了實(shí)現(xiàn)閉環(huán)控制,就需要定時(shí)地對(duì)轉(zhuǎn)速進(jìn)行采樣。若采用光電脈沖發(fā)生器作為檢測(cè)元件,則先應(yīng)對(duì)每個(gè)采樣周期中光電脈沖發(fā)生器發(fā)出的脈沖進(jìn)行計(jì)數(shù),然后再通過(guò)實(shí)時(shí)計(jì)算

17、求的對(duì)應(yīng)的轉(zhuǎn)速。對(duì)于定時(shí)/計(jì)數(shù)器來(lái)說(shuō),不管是獨(dú)立的定時(shí)器芯片還是單片機(jī)內(nèi)的定時(shí)器,大都有以下特點(diǎn):1) 定時(shí)/計(jì)數(shù)器有多種工作方式,可以是計(jì)數(shù)方式也可以是定時(shí)方式。2) 定時(shí)/計(jì)數(shù)器的計(jì)數(shù)值是可變的,當(dāng)然對(duì)計(jì)數(shù)的最大值有一定限制,這取決于計(jì)數(shù)器的位數(shù),計(jì)數(shù)的最大值也就限制了定時(shí)的最大值。3) 可以按照規(guī)定的定時(shí)或計(jì)數(shù)值,在定時(shí)時(shí)間到或者計(jì)數(shù)終止時(shí),發(fā)出終端請(qǐng)求,以便實(shí)現(xiàn)定時(shí)控制。MCS-51單片機(jī)內(nèi)帶有兩個(gè)16位定時(shí)/計(jì)數(shù)器T0和T1,兩者均可作為定時(shí)器或計(jì)數(shù)器使用。25 MCS-51單片機(jī)引腳說(shuō)明MCS-51系列單片機(jī)芯片均為40個(gè)引腳,HMOS工藝制造的芯片采用雙列直插(DIP)方式封裝,

18、其引腳示意及功能分類如圖2-2所示。CMOS工藝制造的低功耗芯片也有采用方形封裝的,但為44個(gè)引腳,其中4個(gè)引腳是不使用的。圖2-2 MCS-51系列單片機(jī)引腳及總線結(jié)構(gòu)(a) 管腳圖;(b)引腳功能分類MCS-51系列單片機(jī)的40個(gè)引腳中有2個(gè)專用于主電源的引腳,2個(gè)外接晶體的引腳,4個(gè)控制或與其他電源復(fù)用的引腳,以及32條輸入輸出I/O引腳。26 中斷系統(tǒng)MCS-51系列單片機(jī)的中斷系統(tǒng)屬于8位單片機(jī)中功能較強(qiáng)的1種中斷系統(tǒng),它可以提供5個(gè)中斷源,每個(gè)中斷源有兩個(gè)優(yōu)先級(jí)別可供選擇,可實(shí)現(xiàn)兩級(jí)中斷服務(wù)程序嵌套。此外,所有中斷均可有軟件設(shè)定為允許中斷或禁止中斷,也就是說(shuō),用戶可以用關(guān)中斷指令(

19、或復(fù)位)來(lái)屏蔽所有的中斷請(qǐng)求,也可以中斷指令使CPU接受中斷請(qǐng)求。MCS-51單片機(jī)的中斷系統(tǒng)結(jié)構(gòu)示意圖如圖2-3所示。圖2-3 MCS-51單片機(jī)的中斷系統(tǒng)結(jié)構(gòu)示意圖第三章 設(shè)計(jì)思路與步驟31 系統(tǒng)框圖1)系統(tǒng)模塊圖2) 系統(tǒng)運(yùn)算流程圖32 硬件電路設(shè)計(jì)AT89C52單片機(jī)一片,74HC573兩片,4×5鍵盤(pán)一個(gè),8位共陰極的七段數(shù)碼管一個(gè),連線和電阻和開(kāi)關(guān)若干。AT89C52單片機(jī)的P1.0P1.4為鍵盤(pán)掃描輸出線,P2.0P2.2和P2.4為鍵盤(pán)掃描輸入線。74HC573用于對(duì)單片機(jī)進(jìn)行拓展。鍵盤(pán)由4×5共20個(gè)按鍵組成,10個(gè)數(shù)字鍵(由0-9組成)5個(gè)運(yùn)算符號(hào)(加減

20、乘除等于)組成,1個(gè)清除鍵(作用相當(dāng)于整體復(fù)位),1個(gè)小數(shù)點(diǎn),1個(gè)開(kāi)方運(yùn)算,1個(gè)求倒數(shù)運(yùn)算和一個(gè)負(fù)號(hào)(正號(hào))。數(shù)碼管采用動(dòng)態(tài)顯示方式,通過(guò)74HC573接到單片機(jī)的P0口。電路設(shè)計(jì)圖見(jiàn)附錄。33 程序設(shè)計(jì)見(jiàn)附錄。34 軟件仿真使用Keil uVision4與Protues連接仿真:例如:2+5=7其他驗(yàn)證不再一一列舉。第四章 電路焊接與試驗(yàn)(略)結(jié)論課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說(shuō)得是無(wú)處不在。因此作為二

21、十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握單片機(jī)的開(kāi)發(fā)技術(shù)是十分重要的。設(shè)計(jì)達(dá)到了預(yù)期的效果,但是由于單片機(jī)中只有單精度數(shù)據(jù),以至于計(jì)算數(shù)據(jù)出現(xiàn)了六位數(shù)據(jù)以上時(shí),后面的數(shù)據(jù)就會(huì)默認(rèn)零,如果不默認(rèn)為零,出現(xiàn)的就是亂碼?;仡櫰鸫舜握n程設(shè)計(jì),從選題到定稿,從理論到實(shí)踐,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的的東西。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。通過(guò)這次課程設(shè)計(jì)使我得到了一次用專業(yè)知識(shí)、專業(yè)技能分析和解決問(wèn)題全面系統(tǒng)的鍛煉。使我們?cè)趩纹瑱C(jī)的基本原理、

22、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語(yǔ)言)的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。參考文獻(xiàn)1 張毅坤、陳善久、裘雪紅.單片微型計(jì)算機(jī)原理及應(yīng)用.西安電子科技大學(xué)出版社. 1998.2 閻石.數(shù)字電子技術(shù)基礎(chǔ)(第五版).高等教育出版社.2005.3 童詩(shī)白、華成英.模擬電子技術(shù)基礎(chǔ)(第四版).高等教育出版社.2006.附錄附錄一電路設(shè)計(jì)圖:附錄二程序清單:#include<reg52.h>#include<stdlib.h>#include<math.h>#define uchar unsigned c

23、har#define uint unsigned intuchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar code led8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;uchar xx8;sbit dula=P26;sbit wela=P27;void displaypro(double h)uchar point=8,m;bit symbol;char i;double proh;symbol=0;if(h<0)symbol=1;h=-h;if(h>

24、;=0&&h<10)point=1;proh=h*10000000;if(h>=10&&h<100)point=2;proh=h*1000000;if(h>=100&&h<1000)point=3;proh=h*100000;if(h>=1000&&h<10000)point=4;proh=h*10000;if(h>=10000&&h<100000)point=5;proh=h*1000;if(h>=100000&&h<1000000

25、)point=6;proh=h*100;if(h>=1000000&&h<10000000)point=7;proh=h*10;if(h>=10000000&&h<100000000)point=8;proh=h;if(h<100000000)for(i=7;i>=0;i-)m=proh/pow(10,i);xx7-i=tablem;proh=proh-(m*pow(10,i);if(proh<0)proh=0;if(h>=1)/由于keil 中單精度和雙精度是一樣的,只能表示六位數(shù),如不把后面兩位清零,將會(huì)出現(xiàn)亂

26、碼。xx6=0x3f;xx7=0x3f;else xx7=0x3f;xxpoint-1+=128;/顯示小數(shù)點(diǎn)else /超過(guò)八位數(shù)時(shí),計(jì)算器報(bào)錯(cuò)顯示Efor(i=6;i>=0;i-)xxi=0x00;xx7=0x79;while(xx7=0x3f)/去除0.0000000 顯示的問(wèn)題,即把0.0000000 顯示成0.for(i=7;i>0;i-)xxi=xxi-1;xx0=0x00;if(symbol=1)/若為負(fù)數(shù)時(shí),將數(shù)組中的數(shù)據(jù)后移for(i=6;i>=0;i-)if(xxi=0x00)xxi=0x40;break;void delay(unsigned char

27、x)unsigned char i,j;for(i=0;i<x;i+)for(j=0;j<x;j+);unsigned char keyscan()/key 為按鍵返回值uchar temp,row=0,col=0,key;uint add;P2&=0xe8;P1|=0x1f;temp=P1;temp|=0xe0;if(temp!=0xff)delay(15);temp=P1;temp|=0xe0;if(temp!=0xff)row=P1;P2|=0x17;P1&=0xe0;col=P2;col|=0xe8;add=row*256+col;switch(add)ca

28、se 0xfefe: key=0;break;case 0xfdfe: key=1;break;case 0xfbfe: key=2;break;case 0xf7fe: key=3;break;case 0xeffe: key=10;break;case 0xfefd: key=4;break;case 0xfdfd: key=5;break;case 0xfbfd: key=6;break;case 0xf7fd: key=7;break;case 0xeffd: key=11;break;case 0xfefb: key=8;break;case 0xfdfb: key=9;break;

29、case 0xfbfb: key=15;break;case 0xf7fb: key=14;break;case 0xeffb: key=12;break;case 0xfeef: key=16;break;case 0xfdef: key=17;break;case 0xfbef: key=18;break;case 0xf7ef: key=19;break;case 0xefef: key=13;break;default: key=20;break;return key;else return 20;else return 20;void main()uchar k,i,hand,h2;

30、bit xsd=0;char data e;double data temp,h1=0,h3=0,h4=0;displaypro(0);while(1)k=keyscan();if(k=20)hand=0;for(i=0;i<8;i+)wela=1;P0=ledi;wela=0;P0=0xff;dula=1;P0=xxi;dula=0;delay(20);P0=0xff;switch(k)case 20:break;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9: if(hand=0)h4=0;i

31、f(h2=0)if(xsd=0)if(h1>=0)h1=h1*10+k;else h1=h1*10-k;if(xsd=1)e-;temp=pow(10,e);if(h1>=0)h1=h1+k*temp;else h1=h1-k*temp;displaypro(h1);elseif(xsd=0)if(h3>=0)h3=h3*10+k;else h3=h3*10-k;if(xsd=1)e-;temp=pow(10,e);if(h3>=0)h3=h3+k*temp;else h3=h3-k*temp;displaypro(h3);hand+;break;case 10:if(

32、hand=0)/加號(hào)if(h4!=0)h1=h4;h4=0;switch(h2)case 0: h2=1;break;case 1: h1=h1+h3;h2=1;h3=0;displaypro(h1);break;case 2: h1=h1-h3;h2=1;h3=0;displaypro(h1);break;case 3: h1=h1*h3;h2=1;h3=0;displaypro(h1);break;case 4: h1=h1/h3;h2=1;h3=0;displaypro(h1);break;xsd=0;e=0;hand+;break;case 11:if(hand=0)/減號(hào)if(h4!

33、=0)h1=h4;h4=0;switch(h2)case 0: h2=2;break;case 1: h1=h1+h3;h2=2;h3=0;displaypro(h1);break;case 2: h1=h1-h3;h2=2;h3=0;displaypro(h1);break;case 3: h1=h1*h3;h2=2;h3=0;displaypro(h1);break;case 4: h1=h1/h3;h2=2;h3=0;displaypro(h1);break;xsd=0;e=0;hand+;break;case 12:if(hand=0)/乘號(hào)if(h4!=0)h1=h4;h4=0;switch(h2)case 0: h2=3;break;case 1: h1=h1+h3;h2=3;h3=0;displaypro(h1);break;case 2: h1=h1-h3;h2=3;h3=0;displaypro(h1);break;case 3: h1=h1*h3;h2=3;h3=0;displaypro(h1);break;case 4: h1=h1/h3;h2=3;h3=0;displaypro(h1);b

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論