版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 、單片機(jī)原理及應(yīng)用課程設(shè)計(jì)(論文) 題 目 基于單片機(jī)的計(jì)算器設(shè)計(jì) 學(xué)院名稱 電氣學(xué)院 指導(dǎo)教師 職 稱 教授 班 級(jí) 電力1201班 學(xué) 號(hào) 學(xué)生姓名 2015年 9 月 20 日1單片機(jī)課程設(shè)計(jì)任務(wù)書1課程設(shè)計(jì)的內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)要求、工作要求等):一、基于AT89C51單片機(jī)設(shè)計(jì)一個(gè)計(jì)算器。二、主要技術(shù)指標(biāo)與要求:1、計(jì)算機(jī)的功能:(1). 功能模塊一:實(shí)時(shí)鍵盤掃描(2). 功能模塊二:數(shù)據(jù)1602液晶顯示。2、基本要求: (1)、簡(jiǎn)要闡述單片機(jī)技術(shù)發(fā)展的國內(nèi)外現(xiàn)狀及LED動(dòng)態(tài)顯示和矩陣鍵盤基本 原理; (2)、掌握MCS-51系列某種產(chǎn)品(例如8051)的最小電路及外圍擴(kuò)
2、展電路的設(shè) 計(jì)方法; (3)、了解單片機(jī)數(shù)據(jù)轉(zhuǎn)換功能及工作過程; (4)、完成主要功能模塊的硬件電路設(shè)計(jì)及必要的參數(shù)確定; (5)、用protel軟件完成原理電路圖的繪制;II 2對(duì)課程設(shè)計(jì)成果的要求包括圖表、原理圖、仿真圖等:設(shè)計(jì)電路,編寫程序,安裝調(diào)試或仿真,分析實(shí)驗(yàn)結(jié)果,并寫出設(shè)計(jì)說明書,語言流暢簡(jiǎn)潔,文字不得少于3500字。要求圖紙布局合理,符合工程要求,使用proteus軟件繪出原理圖,器件的選擇要有計(jì)算依據(jù)。3主要參考文獻(xiàn):1 王千. 實(shí)用電子電路大全M. 電子工業(yè)出版社, 2004, 28-362 彭為. 單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講M. 電子工業(yè)出版社,2 006, 69-883
3、 張榮. 基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)M. 電子工業(yè)出版社, 2005, 35-384 朱勇. 單片機(jī)原理與應(yīng)用技術(shù)M. 清華大學(xué)出版社, 2006, 14-165 潘永雄. 新編單片機(jī)原理與應(yīng)用M. 西安電子科技大學(xué)出版社, 2003, 78-8614課程設(shè)計(jì)工作進(jìn)度計(jì)劃:序號(hào)起 迄 日 期工 作 內(nèi) 容12015.9.5布置任務(wù),教師講解設(shè)計(jì)方法及要求22015.9.5-2015.9.9學(xué)生查找閱讀資料,初定方案,小組會(huì)議討論并確定方案32015.9.10-2015.9.12硬件電路設(shè)計(jì)及程序編寫42015.9.13.2015.9.18仿真、實(shí)驗(yàn)并寫說明書,小組討論52015.9.19答
4、辯主指導(dǎo)教師日期: 2015 年 9 月 20 日1摘要:近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來使用,但僅單片機(jī)方面的知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)、軟硬件結(jié)合,來加以完善。計(jì)算機(jī)在人們的日常生活中是比較常見的電子產(chǎn)品之一。可是它還在發(fā)展之中,以后必將出現(xiàn)功能更加強(qiáng)大的計(jì)算機(jī),基于這樣的理念,本次設(shè)計(jì)是用AT89S51單片機(jī)、LCD顯示器、控制按鍵為元件來設(shè)計(jì)的計(jì)算器。利用此設(shè)計(jì)熟悉單片機(jī)微控制器及C語言編程,對(duì)其片資源及各個(gè)I/O端口的功能和基本用途的了解。掌握常用的LCD
5、顯示器的使用方法和一般鍵盤的使用方法。關(guān)鍵詞: 單片機(jī); 液晶顯示屏; 計(jì)算器; 矩陣鍵盤11 緒論11.1 課題背景11.2 設(shè)計(jì)目的22 總體方案設(shè)計(jì)22.1 計(jì)算器設(shè)計(jì)總體思想2 2.2 簡(jiǎn)易計(jì)算器設(shè)計(jì)基本原理32.3 MCS-51系列單片機(jī)簡(jiǎn)介3 2.4 單片機(jī)發(fā)展現(xiàn)狀52.5 計(jì)算器系統(tǒng)現(xiàn)狀72.6 簡(jiǎn)易計(jì)算器系統(tǒng)簡(jiǎn)介73 硬件設(shè)計(jì)8 3.1 電源模塊83.2 主控制器模塊84 硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)94.1 主控制模塊94.2 單片機(jī)的時(shí)鐘電路與復(fù)位電路設(shè)計(jì)104.3 單片機(jī)管腳說明114.4 鍵盤電路設(shè)計(jì)134.5 液晶顯示電路設(shè)計(jì)145 系統(tǒng)軟件設(shè)計(jì)方案155.1 主程序流圖1
6、6V5.2 運(yùn)算程序設(shè)計(jì)166 PROTEUS軟件仿真與調(diào)試187 系統(tǒng)的安裝與調(diào)試197.1 安裝步驟19結(jié)論21參考文獻(xiàn)22附錄一 整機(jī)電路原理圖23附錄二 部分源程序24附錄三 元件清單.42 附錄四 實(shí)物圖.43VI1 緒論1.1 課題背景當(dāng)今社會(huì),隨著人們物質(zhì)生活的不斷提高,電子產(chǎn)品已經(jīng)走進(jìn)了家家戶戶,無論是生活或?qū)W習(xí),還是娛樂和消遣幾乎樣樣都離不開電子產(chǎn)品,大型復(fù)雜的計(jì)算能力是人腦所不能勝任的,而且比較容易出錯(cuò)。計(jì)算器作為一種快速通用的計(jì)算工具方便了用戶的使用。計(jì)算器可謂是我們最親密的電子伙伴之一。本設(shè)計(jì)著重在于分析計(jì)算器軟件和開發(fā)過程中的環(huán)節(jié)和步驟,并從實(shí)踐經(jīng)驗(yàn)出發(fā)對(duì)計(jì)算器設(shè)計(jì)做
7、了詳細(xì)的分析和研究?,F(xiàn)如今,人們的日常生活中已經(jīng)離不開計(jì)算器了,社會(huì)的各個(gè)角落都有它的身影,比如商店、辦公室、學(xué)校因此設(shè)計(jì)一款簡(jiǎn)單實(shí)用的計(jì)算器會(huì)有很大的實(shí)際意義。本設(shè)計(jì)旨在進(jìn)一步掌握單片機(jī)理論知識(shí),理解嵌入式單片機(jī)系統(tǒng)的硬軟件設(shè)計(jì),加強(qiáng)對(duì)實(shí)際應(yīng)用系統(tǒng)設(shè)計(jì)的能力。通過本設(shè)計(jì)的學(xué)習(xí),使我掌握單片機(jī)程序設(shè)計(jì)和微機(jī)接口應(yīng)用的基本方法,并能綜合運(yùn)用本科階段所學(xué)軟、硬件知識(shí)分析實(shí)際問題,提高解決畢業(yè)設(shè)計(jì)實(shí)際問題的能力,為單片機(jī)應(yīng)用和開發(fā)打下良好的基礎(chǔ)。對(duì)字符液晶顯示模塊的工作原理,如初始化、清屏、顯示、調(diào)用及外特性有較清楚的認(rèn)識(shí),并會(huì)使用LCD(液晶顯示模塊)實(shí)現(xiàn)計(jì)算結(jié)果的顯示;掌握液晶顯示模塊的驅(qū)動(dòng)和編
8、程,設(shè)計(jì)LCD和單片機(jī)的接口電路,以及利用單片機(jī)對(duì)液晶顯示模塊的驅(qū)動(dòng)和操作;在充分分析內(nèi)部邏輯的概念,進(jìn)行軟件和調(diào)試,學(xué)會(huì)使用,并能夠以其為平臺(tái)設(shè)計(jì)出具有四則運(yùn)算能力簡(jiǎn)易計(jì)算器的硬件電路和軟件程序。1.2 設(shè)計(jì)目的通過本次工程實(shí)踐,運(yùn)用智能化測(cè)量控制儀表原理與設(shè)計(jì)、MCS-51系列單片微型計(jì)算機(jī)及其應(yīng)用所學(xué)知識(shí)及查閱相關(guān)資料,完成簡(jiǎn)易計(jì)算器的設(shè)計(jì),達(dá)到理論知識(shí)與實(shí)踐更好結(jié)合、提高綜合運(yùn)用所學(xué)知識(shí)和設(shè)計(jì)能力的目的。通過本次設(shè)計(jì)訓(xùn)練,可以使我們?cè)诨舅悸泛突痉椒ㄉ蠈?duì)基于MCS-51單片機(jī)的嵌入式系統(tǒng)設(shè)計(jì)有一個(gè)比較感性的認(rèn)識(shí),并具備一定程度的設(shè)計(jì)能力。2 總體方案設(shè)計(jì)2.1 計(jì)算器設(shè)計(jì)總體思想根據(jù)
9、功能和指示要求,本系統(tǒng)選用以MCS-51單片機(jī)為主控機(jī)。通過擴(kuò)展必要的外圍接口電路,實(shí)現(xiàn)對(duì)計(jì)算器的設(shè)計(jì)。具體設(shè)計(jì)如下:由于要設(shè)計(jì)的是簡(jiǎn)單的計(jì)算器,可以進(jìn)行四則運(yùn)算,為了得到教好的顯示效果,采用LCD顯示數(shù)據(jù)和結(jié)果。另外鍵盤包括數(shù)字鍵(0-9)、符號(hào)鍵(+、-、*、/)、清除鍵和等號(hào)鍵,故只需要16個(gè)按鍵即可,設(shè)計(jì)中采用集成的計(jì)算機(jī)鍵盤。執(zhí)行程序:開機(jī)顯示零,等待鍵入數(shù)值,當(dāng)鍵入數(shù)字,通過LCD顯示出來,當(dāng)鍵入+、-、*、/運(yùn)算符,計(jì)算器在內(nèi)部執(zhí)行數(shù)值轉(zhuǎn)換和存儲(chǔ),并等待再次鍵入數(shù)值后將顯示鍵入的數(shù)值,按等號(hào)就會(huì)在LCD上輸出運(yùn)算結(jié)果。2.2 簡(jiǎn)易計(jì)算器設(shè)計(jì)基本原理根據(jù)功能和指示要求,本系統(tǒng)選用以
10、MCS-51單片機(jī)為主控機(jī)。通過擴(kuò)展必要的外圍接口電路,實(shí)現(xiàn)對(duì)計(jì)算器的設(shè)計(jì)。2.3 MCS-51系列單片機(jī)簡(jiǎn)介stc89c52是MCS-51系列單片機(jī)的典型產(chǎn)品,以這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解。stc89c52單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,其內(nèi)部結(jié)構(gòu)如圖2.1所示,現(xiàn)在分別加以說明: 圖2.1 stc89c52內(nèi)部結(jié)構(gòu)圖中央處理器:中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)
11、協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。數(shù)據(jù)存儲(chǔ)器(RAM):stc89c52內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。程序存儲(chǔ)器(ROM):stc89c52共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時(shí)/計(jì)數(shù)器:stc89c52有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷,用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口:stc89c52共有4組8位I/O口(
12、P0、 P1、P2和P3),用于對(duì)外部數(shù)據(jù)的傳輸。全雙工串行口:stc89c52內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):stc89c52具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。時(shí)鐘電路:stc89c52內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但stc89c52單片機(jī)需外置振蕩電容。下圖是MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖2.2。圖2.2 MCS-51內(nèi)部結(jié)構(gòu)圖2.4 單片機(jī)發(fā)展現(xiàn)狀單片機(jī)的發(fā)展趨勢(shì)
13、:低功耗CMOS化;微型單片化;主流與多品種共存;單片機(jī)從8位、16位到32位,數(shù)不勝數(shù),應(yīng)有盡有,有與主流C51系列兼容的,也有不兼容的,但它們各具特色,互成互補(bǔ),為單片機(jī)的應(yīng)用提供廣闊的天地。 縱觀單片機(jī)的發(fā)展過程,可以預(yù)示單片機(jī)的發(fā)展趨勢(shì),大致有:(1) 低功耗CMOS化 MCS-51系列的stc89c52推出時(shí)的功耗達(dá)630mW,而現(xiàn)在的單片機(jī)普遍都在100mW左右,隨著對(duì)單片機(jī)功耗要求越來越低,現(xiàn)在的各個(gè)單片機(jī)制造商基本都采用了CMOS(互補(bǔ)金屬氧化物半導(dǎo)體工藝)。象80C51就采用了HMOS(即高密度金屬氧化物半導(dǎo)體工藝)和CHMOS(互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝)。CMOS雖然
14、功耗較低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點(diǎn),這些特征,更適合于在要求低功耗象電池供電的應(yīng)用場(chǎng)合。所以這種工藝將是今后一段時(shí)期單片機(jī)發(fā)展的主要途徑。 (2)微型單片化現(xiàn)在常規(guī)的單片機(jī)普遍都是將中央處理器(CPU)、隨機(jī)存取數(shù)據(jù)存儲(chǔ)(RAM)、只讀程序存儲(chǔ)器(ROM)、并行和串行通信接口,中斷系統(tǒng)、定時(shí)電路、時(shí)鐘電路集成在一塊單一的芯片上,增強(qiáng)型的單片機(jī)集成了如A/D轉(zhuǎn)換器、PMW(脈寬調(diào)制電路)、WDT(看門狗)、有些單片機(jī)將LCD(液晶)驅(qū)動(dòng)電路都集成在單一的芯片上,這樣單片機(jī)包含的單元電路就更多,功能就越強(qiáng)大。甚至單片機(jī)廠商還可以根據(jù)用戶的要求量身
15、定做,制造出具有自己特色的單片機(jī)芯片。 此外,現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機(jī)除了功能強(qiáng)和功耗低外,還要求其體積要小?,F(xiàn)在的許多單片機(jī)都具有多種封裝形式,其中SMD(表面封裝)越來越受歡迎,使得由單片機(jī)構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。(3) 主流與多品種共存 現(xiàn)在雖然單片機(jī)的品種繁多,各具特色,但仍以80C51為核心的單片機(jī)占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)的有PHILIPS公司的產(chǎn)品,ATMEL公司的產(chǎn)品和中國臺(tái)灣的Winbond系列單片機(jī)。所以Cstc89c52為核心的單片機(jī)占據(jù)了半壁江山。而Microchip公司的PIC精簡(jiǎn)指令集(RISC)也有著強(qiáng)勁的發(fā)展勢(shì)頭,中國臺(tái)灣的HOL
16、TEK公司近年的單片機(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ā)展的道路。2.5 計(jì)算器系統(tǒng)現(xiàn)狀計(jì)算器一般由運(yùn)算器、控制器、存儲(chǔ)器、鍵盤、顯示器、電源和一些可選外圍設(shè)備及電子配件通過人工或機(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ù)。鍵盤是計(jì)算器的
17、輸入部件,一般采用接觸式或傳感式。為減小計(jì)算器的尺寸,一鍵常常有多種功能。顯示器是計(jì)算器的輸出部件,有發(fā)光二極管顯示器或液晶顯示器等。除顯示計(jì)算結(jié)果外,還常有溢出指示、錯(cuò)誤指示等。計(jì)算器電源采用交流轉(zhuǎn)換器或電池,電池可用交流轉(zhuǎn)換器或太陽能轉(zhuǎn)換器再充電。為節(jié)省電能,計(jì)算器都采用CMOS工藝制作的大規(guī)模集成電路(見互補(bǔ)金屬-氧化物-半導(dǎo)體集成電路),并在內(nèi)部裝有定時(shí)不操作自動(dòng)斷電電路。計(jì)算器可選用的外圍設(shè)備有微型打印機(jī)、盒式磁帶機(jī)和磁卡機(jī)等。2.6 簡(jiǎn)易計(jì)算器系統(tǒng)簡(jiǎn)介本計(jì)算器是以MCS-51系列stc89c52單片機(jī)為核心構(gòu)成的簡(jiǎn)易計(jì)算器系統(tǒng)。該系統(tǒng)通過單片機(jī)控制,實(shí)現(xiàn)對(duì)4*4鍵盤掃描進(jìn)行實(shí)時(shí)的按
18、鍵檢測(cè)。整個(gè)系統(tǒng)可分為2個(gè)主要功能模塊:功能模塊一,實(shí)時(shí)鍵盤掃描;功能模塊二,數(shù)據(jù)1602液晶顯示。3 硬件設(shè)計(jì) 硬件系統(tǒng)是指構(gòu)成微機(jī)系統(tǒng)的實(shí)體和裝置,通常由運(yùn)算器、控制器、存儲(chǔ)器、輸入接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。單片機(jī)實(shí)質(zhì)上是一個(gè)硬件的芯片,在實(shí)際應(yīng)用中,通常很難直接和被控對(duì)象進(jìn)行電氣連接,必須外加各種擴(kuò)展接口電路、外部設(shè)備、被控對(duì)象等硬件和軟件,才能構(gòu)成一個(gè)單片機(jī)應(yīng)用系統(tǒng)。本設(shè)計(jì)選用以AT89S51單片機(jī)為主控單元。顯示部分:采用LCD靜態(tài)顯示。按鍵部分,采用4*4鍵盤。3.1 電源模塊 由于本系統(tǒng)采用電池供電,我們考慮了如下幾種方案為系統(tǒng)供電。方案1:采用5V蓄電池
19、為系統(tǒng)供電。蓄電池具有較強(qiáng)的電流驅(qū)動(dòng)能力以及穩(wěn)定的電壓輸出性能。但是蓄電池的體積過于龐大,在使用極為不方便。因此我們放棄了此方案。方案2:采用3節(jié)1.5 V干電池共4.5V做電源,經(jīng)過7805的電壓變換后為單片機(jī),傳感器供電。經(jīng)過實(shí)驗(yàn)驗(yàn)證系統(tǒng)工作時(shí),單片機(jī)、傳感器的工作電壓穩(wěn)定能夠滿足系統(tǒng)的要求,而且電池更換方便。綜上所述采用方案23.2 主控制器模塊方案1: 采用可編程邏輯器件CPLD作為控制器。CPLD可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能、規(guī)模大、密度高、體積小、穩(wěn)定性高、IO資源豐富、易于進(jìn)行功能擴(kuò)展。采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)模控制系統(tǒng)的控制核心。但本系統(tǒng)不需要復(fù)
20、雜的邏輯功能,對(duì)數(shù)據(jù)的處理速度的要求也不是非常高。且從使用及經(jīng)濟(jì)的角度考慮我們放棄了此方案。方案2: 采用STC89C52單片機(jī)作為整個(gè)系統(tǒng)的核心,用其控制密碼鎖控制,以實(shí)現(xiàn)其既定的性能指標(biāo)。充分分析我們的系統(tǒng),其關(guān)鍵在于密碼鎖的控制,而在這一點(diǎn)上,單片機(jī)就顯現(xiàn)出來它的優(yōu)勢(shì)控制簡(jiǎn)單、方便、快捷。這樣一來,單片機(jī)就可以充分發(fā)揮其資源豐富、有較為強(qiáng)大的控制功能及可位尋址操作功能、價(jià)格低廉等優(yōu)點(diǎn)。STC89C52單片機(jī)具有功能強(qiáng)大的位操作指令,I/O口均可按位尋址,程序空間多達(dá)8K,對(duì)于本設(shè)計(jì)也綽綽有余,更可貴的是STC89C52單片機(jī)價(jià)格非常低廉。因此,這種方案是一種較為理想的方案。從方便使用的角
21、度考慮,我們選擇了方案2。4 硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)4.1 主控制模塊主控制最小系統(tǒng)電路如圖4.1所示。 圖4.1 單片主控電路4.2 單片機(jī)的時(shí)鐘電路與復(fù)位電路設(shè)計(jì)本系統(tǒng)采用STC系統(tǒng)列單片機(jī),相比其他系列單片機(jī)具有很多優(yōu)點(diǎn)。一般STC單片機(jī)資源比其他單片機(jī)要多,而且執(zhí)行速度快;STC系列單片機(jī)使用串口對(duì)單片機(jī)進(jìn)行燒寫,下載程序較為方便;STC51單片機(jī)內(nèi)部集成了看門狗電路;且具有很強(qiáng)抗干擾能力。本系統(tǒng)采用內(nèi)部方式的時(shí)鐘電路和加電自復(fù)位的復(fù)位電路,如下圖4.2圖4.3所示:圖4.2 時(shí)鐘電路圖4.3 復(fù)位電路由于單片機(jī)P0口內(nèi)部不含上拉電阻,為高阻態(tài),不能正常地輸出高/低電平,因而該組I/O
22、口在使用時(shí)必須外接上拉電阻。4.3 單片機(jī)管腳說明VCC(40):供電電壓,其工作電壓為5V。GND(20):接地。P0端口(P0.0-P0.7):P0口為一個(gè)8位漏極開路雙向I/O口,每個(gè)引腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1端口(P1.0-P1.7):P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高電平,可用作輸
23、入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2端口(P2.0-P2.7):P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口,用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程
24、和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3端口(P3.0-P3.7):P3口管腳是一個(gè)帶有內(nèi)部上拉電阻的8位的雙向I/O端口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入端時(shí),由于外部下拉為低電平,P3口將輸出電流(ILL)。P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。復(fù)位RST(9):復(fù)位輸入。在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在此引腳時(shí),將使單片機(jī)復(fù)位,只要這個(gè)引腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P3.0-P3.7口均置1,引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變
25、為低電平時(shí),芯片為ROM的00H處開始運(yùn)行程序。復(fù)位操作不會(huì)對(duì)內(nèi)部RAM有所影響。ALE/(30):當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如果想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,則置位無效。(29):外部
26、程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指令期間,每個(gè)機(jī)器周期兩次有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信號(hào)將不出現(xiàn)。EA/VPP(31):當(dāng)保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),將內(nèi)部鎖定為RESET;當(dāng)端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V的編程電源(VPP)。XTAL1(19):來自反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2(18):來自反向振蕩器的輸出。4.4 鍵盤電路設(shè)計(jì)在單片機(jī)應(yīng)用系統(tǒng)中,一般都會(huì)設(shè)置鍵盤,主要為了控制運(yùn)行狀態(tài),輸入一些命令或數(shù)據(jù),
27、以完成特定的人機(jī)交互。鍵盤是與單片機(jī)進(jìn)行人機(jī)交互的最基本的途徑,其以按鍵的形式來設(shè)置控制功能或輸入數(shù)據(jù),按鍵的輸入狀態(tài)本質(zhì)上是一個(gè)開關(guān)量。對(duì)于簡(jiǎn)單的開關(guān)量的輸入可以采用獨(dú)立式按鍵,這種方法接口簡(jiǎn)單,但占用單片機(jī)I/O端口資源較多。對(duì)于輸入?yún)?shù)較多、功能復(fù)雜的系統(tǒng),需要采用矩陣式鍵盤進(jìn)行輸入控制。本系統(tǒng)采用4*4矩陣式鍵盤,鍵盤連接方式如圖4.4所示:圖4.4 鍵盤電路4.5 液晶顯示電路設(shè)計(jì)液晶顯示器(LCD)是一種功耗很低的顯示器,它的使用非常廣泛,比如電子表、計(jì)算器、數(shù)碼相機(jī)、計(jì)算機(jī)的顯示器和液晶電視等。電子密碼鎖中需要顯示的信息比較多,為了能直觀的看到結(jié)果,并且為了設(shè)計(jì)顯的美觀,使用總線
28、和排阻進(jìn)行簡(jiǎn)化連接方式,本設(shè)計(jì)采用液晶顯示屏LCD進(jìn)行顯示,具體連接方式如圖4.5所示。圖4.5 液晶顯示電路5 系統(tǒng)軟件設(shè)計(jì)方案5.1 主程序流圖 如圖5.1為主程序流程圖圖5.1 主程序流程圖5.2 運(yùn)算程序設(shè)計(jì)STC89C52單片機(jī)是一塊芯片中集成了CPU、RAM、ROM、定時(shí)器、計(jì)數(shù)器、和多功能I/O等一臺(tái)計(jì)算器所需要的基本功能部分。如果按功能劃分,它由如下功能部分組成,即微處理器(CPU)、數(shù)據(jù)處理器(RAM)、程序處理器(ROM/CPROM)、并行I/O口、串行口、定時(shí)器、計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器(SFR)。單片機(jī)是靠程序運(yùn)行的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,
29、尤其是特殊一些功能,通過使用單片機(jī)編寫的程序可以凸顯高智能、高效率以及高可靠性!因此我們采用單片機(jī)作為計(jì)算器的主要功能部件,可以很快實(shí)現(xiàn)運(yùn)算功能。計(jì)算器輸入數(shù)字和其他功能按鍵要用到很多按鍵,如果采用獨(dú)立按鍵的方式,在這種情況下,編程會(huì)很簡(jiǎn)單,但是會(huì)占用到很多的I/O資源,因此在很多情況下都不采用這種方式(如圖11)。但因?yàn)閷?shí)體資源有限不得已而為之,但不會(huì)影響其功能。圖5.2 運(yùn)算程序6 PROTEUS軟件仿真與調(diào)試 圖6.1 計(jì)算器的proteus仿真我們運(yùn)用proteus進(jìn)行了電路仿真,仿真結(jié)果如圖6.1,這說明程序以及電路沒有錯(cuò)誤,接下來就可以進(jìn)行實(shí)物的焊接了。7 系統(tǒng)的安裝與調(diào)試7.1
30、安裝步驟檢查元件的好壞按電路圖買好元件后首先檢查買回元件的好壞,按各元件的檢測(cè)方法分別進(jìn)行檢測(cè),一定要仔細(xì)認(rèn)真。而且要認(rèn)真核對(duì)原理圖是否一致,在檢查好后才可上件、焊件,防止出現(xiàn)錯(cuò)誤焊件后不便改正。放置、焊接各元件按原理圖的位置放置各元件,在放置過程中要先放置、焊接較低的元件,后焊較高的和要求較高的元件。特別是容易損壞的元件要后焊,在焊集成芯片時(shí)連續(xù)焊接時(shí)間不要超過10s,注意芯片的安裝方向。結(jié)論通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。同
31、時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,例如對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,對(duì)C語言掌握得不夠好等?;仡櫰鸫舜螁纹瑱C(jī)課程設(shè)計(jì),我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西。使我們?cè)趩纹瑱C(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計(jì)思路技巧的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。這是一次考驗(yàn)。怎樣才能找到課堂所學(xué)與實(shí)際應(yīng)用的最佳結(jié)合點(diǎn)?怎樣讓自己的業(yè)余更接近專業(yè)?怎樣讓自己的計(jì)劃更具有序性,而不會(huì)忙無一用?這都是我們所要考慮和努力的。這次課程設(shè)計(jì)我學(xué)到很多很多的東西,學(xué)會(huì)了怎么樣去制定計(jì)
32、劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒。不僅鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上沒有學(xué)到過的知識(shí),掌握了一種系統(tǒng)的研究方法,可以進(jìn)行一些簡(jiǎn)單的編程。在這里真誠地對(duì)所有關(guān)心我、幫助我、鼓勵(lì)我的老師、同學(xué)、朋友道聲:“謝謝!”參考文獻(xiàn)1 王千. 實(shí)用電子電路大全M. 電子工業(yè)出版社, 2004, 28-362 彭為. 單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講M. 電子工業(yè)出版社,2 006, 69-883 張榮. 基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)M. 電子工業(yè)出版社, 2005, 35-384 朱勇. 單片機(jī)原理與應(yīng)用技術(shù)M. 清華大學(xué)出版社, 2006, 14-16
33、5 潘永雄. 新編單片機(jī)原理與應(yīng)用M. 西安電子科技大學(xué)出版社, 2003, 78-86附錄1 整機(jī)電路原理圖附錄2 部分源程序#include#include#include#include#include#define uint unsigned int#define uchar unsigned charsbit batt = P35;float num1; / 保存第一個(gè)數(shù)float num2; / 保存第二個(gè)數(shù)uchar jjcc; / 加減乘除標(biāo)志變量uchar idata Lcd_Str17; / 顯示區(qū)緩存uchar idata Num_str17; uchar Lcd_num
34、2_add = 0;/ 第二個(gè)數(shù)據(jù)開始位的增量uchar Lcd_dis1_i = 0; / 記錄顯示第一行字符uchar Lcd_num1_i = 0; / 記錄num1 是幾位數(shù)uchar Lcd_num2_i = 0; / 記錄num2 是幾位數(shù)uchar Dian_i = 0; / 小數(shù)點(diǎn)位數(shù)/* *函數(shù)名稱:delayms;函數(shù)功能:延時(shí)z毫秒;形 參:z (延時(shí)時(shí)間參數(shù)) */void delayms(uchar z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);uchar Key_io; / 暫存IO值uchar Key_jl; / 松手檢
35、測(cè)自鎖變量uchar Key_value; / 返回鍵值uchar Key_D_bit;uchar saom(void) Key_value=18; P2=0xf0; / 拉低低四位 Key_io=P2; if(Key_io!=0xf0) / 查看高四位是否有低電平 Key_io|=0x0f; / 保持高四位出現(xiàn)低電平的管腳,拉高第四位 P2=Key_io; / 重新復(fù)制IO口 Key_io=P2; / 讀取IO信息,確定鍵值 if(Key_jl=0) / 自鎖變量,松手檢測(cè) Key_jl=1; switch(Key_io) case 0x7e: Key_value=1; break ; ca
36、se 0x7d: Key_value=2; break ; case 0x7b: Key_value=3; break ; case 0x77: Key_value=12; break ; case 0xbe: Key_value=4; break ; case 0xbd: Key_value=5; break ; case 0xbb: Key_value=6; break ; case 0xb7: Key_value=13; break ; case 0xde: Key_value=7; break ; case 0xdd: Key_value=8; break ; case 0xdb: K
37、ey_value=9; break ; case 0xd7: Key_value=14; break ; case 0xee: Key_value=10; break ; case 0xed: Key_value=0; break ; case 0xeb: Key_value=11; break ; case 0xe7: Key_value=15; break ; else Key_jl=0; Key_io = P3; / 獨(dú)立按鍵掃描 Key_io&=0xc0; if(Key_io!=0xc0) if(Key_D_bit=0) Key_D_bit = 1;switch(Key_io) cas
38、e 0x80: Key_value = 16; break; case 0x40: Key_value = 17; break; else Key_D_bit = 0; return Key_value;uchar XS_JG(uchar add,float n) uchar len,p=0; memset(Lcd_Str,0,16) ; sprintf(Lcd_Str,%e,n) ; while(Lcd_Strp!=e) p+; if(Lcd_Strp+2=0x30&Lcd_Strp+30x37) sprintf(Lcd_Str,%f,n); len = strlen(Lcd_Str) ;
39、while(len) if(Lcd_Strlen-1=.) Lcd_Strlen-1 = 0; break; if(Lcd_Strlen-1=0) / 去除數(shù)據(jù)中多余的0與小數(shù)點(diǎn) Lcd_Strlen-1 = 0; else break; len-; else while(p) if(Lcd_Strp-1=.) Lcd_Strp-1 = ; break; if(Lcd_Strp-1=0) / 去除數(shù)據(jù)中多余的0與小數(shù)點(diǎn) Lcd_Strp-1 = ; else break; p-; Dis_str(add, ); Dis_str(add,Lcd_Str); return len;void fuh
40、ao(uchar s) if(jjcc5) if(Num_str0!=A) if(Num_str0=0x30&jjcc != 2) num1=atof(Num_str); / 從數(shù)組中取第二個(gè)數(shù)字/ XS_JG(0x8a,num1); if(jjcc=0) Num_strLcd_dis1_i = s ; Lcd_dis1_i+;Lcd_num2_add = Lcd_dis1_i ; else if(Num_strLcd_num2_add=0) Num_strLcd_dis1_i-1 = s ; Dis_str(0x80,Num_str); if(jjcc=5) Lcd_dis1_i = 4 ;
41、 Lcd_num2_i = 0 ; Lcd_num2_add = 4; memset(Num_str,0,16); Num_str0 = A; Num_str1 = n; Num_str2 = s; Num_str3 = s; Dis_str(0x80, ); Dis_str(0x80,Num_str); void main(void) uchar num_key1; init_1602(); write_1602dat(0); memset(Num_str,0, 16); while(1) num_key1=saom(); /讀按鍵值 delayms(10); if(num_key118)/
42、是否有按鍵按下,小于16時(shí)有按鍵按下 batt = 0; delayms(30);batt = 1; switch(num_key1) case 11: if(Num_strLcd_num2_add=0x30) num2=atof(Num_str+Lcd_num2_add); / 從數(shù)組中取第二個(gè)數(shù)字 Else break; Lcd_num2_i=0 ;/ XS_JG(0x8a,num2); switch(jjcc) case 1: num1+=num2; / 加 break; case 2: num1-=num2; / 減 break; case 3: num1*=num2; / 乘 break; case 4: num1/=num2; / 除 break; XS_JG(0xc0,num1); Dis_str(0x80+Lcd_dis1_i,=); jjcc=5; / 等號(hào)標(biāo)志 break;case 12: if(Num_str0=0|Lcd_num2_i0) break; fuhao(+); jjcc=1;Dian_i=0 ; break; / 按下加號(hào)鍵case 13: if(Num_str0=0|Lcd_num2_i0) break; fuhao(-); jjcc=2;Dian_i=0 ; break; / 按下減號(hào)鍵case 14: if(Num_str0=0|Lc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度集合大全人員管理篇十篇
- 單位管理制度集粹選集人事管理篇十篇
- 單位管理制度匯編大全人員管理十篇
- 《語文作業(yè)要求》課件
- 單位管理制度分享合集職工管理十篇
- 單位管理制度分享大合集職工管理
- 單位管理制度范文大合集職員管理十篇
- 單位管理制度范例匯編員工管理十篇
- 單位管理制度呈現(xiàn)匯編【人力資源管理】十篇
- 單位管理制度呈現(xiàn)大全員工管理十篇
- 文庫發(fā)布:strata手冊(cè)
- 2024-2030年中國大棚蔬菜種植行業(yè)市場(chǎng)發(fā)展監(jiān)測(cè)及投資前景展望報(bào)告
- 旋挖鉆孔灌注樁施工技術(shù)規(guī)程
- 船舶安全??繀f(xié)議書
- 幼師課例分析報(bào)告總結(jié)與反思
- 醫(yī)院門診醫(yī)療費(fèi)用管理制度
- 2024年回遷房買賣合同樣本(5篇)
- 《大數(shù)據(jù)技術(shù)原理與應(yīng)用(第3版)》期末復(fù)習(xí)題庫(含答案)
- 項(xiàng)目15-1 蛋黃中免疫球蛋白的提取
- MOOC 中國哲學(xué)經(jīng)典著作導(dǎo)讀-西安交通大學(xué) 中國大學(xué)慕課答案
- 醫(yī)院培訓(xùn)課件:《痞滿(少陽太陰合?。┗颊咧嗅t(yī)個(gè)案護(hù)理》
評(píng)論
0/150
提交評(píng)論