




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 單片機(jī)系統(tǒng)課程設(shè)計(jì)單片機(jī)系統(tǒng)課 程 設(shè) 計(jì)成績(jī)?cè)u(píng)定表設(shè)計(jì)課題 : 基于89C51的電機(jī)轉(zhuǎn)速計(jì)設(shè)計(jì) 學(xué)院名稱 : 電氣工程學(xué)院 專業(yè)班級(jí) : 電氣F1302 學(xué)生姓名 : 趙愛欽 學(xué) 號(hào) : 201314020323 指導(dǎo)教師 : 臧海河 設(shè)計(jì)地點(diǎn) : 31-504 設(shè)計(jì)時(shí)間 : 2015-12-212016-01-03 指導(dǎo)教師意見:成績(jī): 簽名: 年 月 日 單片機(jī)系統(tǒng)課 程 設(shè) 計(jì) 課程設(shè)計(jì)名稱: 基于89C51的電機(jī)轉(zhuǎn)速計(jì)設(shè)計(jì) 專 業(yè) 班 級(jí) : 電氣F1302 學(xué) 生 姓 名 : 趙愛欽 學(xué) 號(hào) : 20131402323 指 導(dǎo) 教 師 : 臧海河 課程設(shè)計(jì)地點(diǎn): 31-630 課
2、程設(shè)計(jì)時(shí)間: 2015-12-212016-01-03 單片機(jī)系統(tǒng) 課程設(shè)計(jì)任務(wù)書學(xué)生姓名趙愛欽專業(yè)班級(jí)電氣F1302學(xué)號(hào)201314020323題 目 基于89C51的電機(jī)轉(zhuǎn)速計(jì)設(shè)計(jì)課題性質(zhì)工程設(shè)計(jì)課題來(lái)源給定指導(dǎo)教師臧海河主要內(nèi)容(參數(shù))利用89C51設(shè)計(jì)電機(jī)轉(zhuǎn)速計(jì),實(shí)現(xiàn)以下功能:1能夠?qū)崿F(xiàn)對(duì)轉(zhuǎn)速的測(cè)量;2能夠?qū)崿F(xiàn)對(duì)轉(zhuǎn)速的計(jì)算;4能夠?qū)崟r(shí)顯示轉(zhuǎn)速的數(shù)值;任務(wù)要求(進(jìn)度)第1-2天:熟悉課程設(shè)計(jì)任務(wù)及要求,查閱技術(shù)資料,確定設(shè)計(jì)方案。第3-4天:按照確定的方案設(shè)計(jì)單元電路。要求畫出單元電路圖,元件及元件參數(shù)選擇要有依據(jù),各單元電路的設(shè)計(jì)要有詳細(xì)論述。第5-6天:軟件設(shè)計(jì),編寫程序。第7-8天
3、:實(shí)驗(yàn)室調(diào)試。第9-10天:撰寫課程設(shè)計(jì)報(bào)告。要求內(nèi)容完整、圖表清晰、文理流暢、格式規(guī)范、方案合理、設(shè)計(jì)正確,篇幅合理。主要參考資料1張迎新,等. 單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù)(第2版)M北京:國(guó)防工業(yè)出版社,2004.2陳杰,黃鴻. 傳感器與檢測(cè)技術(shù)(第二版)M. 高等教育出版社2002.2夏路易,石宗義. 電路原理圖與電路板設(shè)計(jì)教程Protel99SEM. 北京希望電子出版社.4閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第五版)M. 高等教育出版社.5康華光. 電子技術(shù)基礎(chǔ)模擬部分(第五版)M. 高等教育出版社.審查意見系(教研室)主任簽字: 年 月 日 目錄1 概述 . . 41.1 研究背景.
4、41.2 基本功能概述 . 52 方案設(shè)計(jì) . . 52.1 霍爾傳感器測(cè)量方案 .52.2 光電傳感器測(cè)量方案. . 63 硬件電路設(shè)計(jì) . .7 3.1 單片機(jī)及其外圍電路設(shè)計(jì) . . 73.2 時(shí)鐘電路設(shè)計(jì) . . 113.3 復(fù)位電路設(shè)計(jì). .123.4 顯示電路設(shè)計(jì). .143.5 鍵盤電路設(shè)計(jì).153.6 電機(jī)控制與驅(qū)動(dòng)電路設(shè)計(jì).164 系統(tǒng)軟件設(shè)計(jì). .174.1 主程序設(shè)計(jì) . .184.2 中斷服務(wù)程序設(shè)計(jì) . .204.3 子程序設(shè)計(jì) . .224.3.1 顯示子程序設(shè)計(jì).224.3.2 鍵處理子程序設(shè)計(jì).245 總結(jié) . .26附錄A 系統(tǒng)原理圖 .27附錄B 部分源程序
5、 .28一 概述1.1 轉(zhuǎn)速測(cè)量系統(tǒng)的發(fā)展背景 隨著微型計(jì)算機(jī)可靠性提高和價(jià)格的下降,用單片機(jī)測(cè)量電機(jī)轉(zhuǎn)速已經(jīng)日趨普遍。我們知道,欲提高測(cè)量精度,必須先測(cè)出準(zhǔn)確的轉(zhuǎn)速,而原先在可控硅調(diào)速電路中采用的測(cè)速發(fā)電機(jī)方式已不能滿足要求,必須采用數(shù)字測(cè)速的方法。 目前國(guó)內(nèi)外測(cè)量電機(jī)轉(zhuǎn)速的方法很多,按照不同的理論方法,先后產(chǎn)生過模擬測(cè)速法(如離心式轉(zhuǎn)速表、用電機(jī)轉(zhuǎn)矩或者電機(jī)電樞電動(dòng)勢(shì)計(jì)算所得)、同步測(cè)速法(如機(jī)械式或閃光式頻閃測(cè)速儀)以及計(jì)數(shù)測(cè)速法。計(jì)數(shù)測(cè)速法又可分為機(jī)械式定時(shí)計(jì)數(shù)法和電子式定時(shí)計(jì)數(shù)法。傳統(tǒng)的電機(jī)轉(zhuǎn)速檢測(cè)多采用測(cè)速發(fā)電機(jī)或光電數(shù)字脈沖編碼器,也有采用電磁式(利用電磁感應(yīng)原理或可變磁阻的霍爾
6、元件等)、電容式(對(duì)高頻振蕩進(jìn)行幅值調(diào)制或頻率調(diào)制)等,還有一些特殊的測(cè)速器是利用置于旋轉(zhuǎn)體內(nèi)的放射性材料來(lái)發(fā)生脈沖信號(hào)其中應(yīng)用最廣的是光電式,光電式測(cè)系統(tǒng)具有低慣性、低噪聲、高分辨率和高精度的優(yōu)點(diǎn)加之激光光源、光柵、光學(xué)碼盤、CCD 器件、光導(dǎo)纖維等的相繼出現(xiàn)和成功應(yīng)用,使得光電傳感器在檢測(cè)和控制領(lǐng)域得到了廣泛的應(yīng)用。而采用光電傳感器的電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)測(cè)量準(zhǔn)確度高、采樣速度快、測(cè)量范圍寬和測(cè)量精度與被測(cè)轉(zhuǎn)速無(wú)關(guān)等優(yōu)點(diǎn),具有廣闊的應(yīng)用前景。 測(cè)速裝置在控制系統(tǒng)中占有非常重要的低位,對(duì)測(cè)速裝置的要求是分辨能力強(qiáng)、高精度和盡可能短的檢測(cè)時(shí)間。在工程實(shí)踐中,經(jīng)常會(huì)遇到各種需要測(cè)量轉(zhuǎn)速的場(chǎng)合, 例如在
7、發(fā)動(dòng)機(jī)、電動(dòng)機(jī)、卷?yè)P(yáng)機(jī)、機(jī)床主軸等旋轉(zhuǎn)設(shè)備的試驗(yàn)、運(yùn)轉(zhuǎn)和控制中,常需要分時(shí)或連續(xù)測(cè)量和顯示其轉(zhuǎn)速及瞬時(shí)轉(zhuǎn)速。要測(cè)速,首先要解決是采樣問題。在使用模技術(shù)制作測(cè)速表時(shí),常用測(cè)速發(fā)電機(jī)的方法,即將測(cè)速發(fā)電機(jī)的轉(zhuǎn)軸與待測(cè)軸相連,測(cè)速發(fā)電機(jī)的電壓高低反映了轉(zhuǎn)速的高低。為了能精確地測(cè)量轉(zhuǎn)速外,還要保證測(cè)量的實(shí)時(shí)性,要求能測(cè)得瞬時(shí)轉(zhuǎn)速方法。因此轉(zhuǎn)速的測(cè)試具有重要的意義。這次設(shè)計(jì)內(nèi)容包含知識(shí)全面,對(duì)傳感器測(cè)量發(fā)電機(jī)轉(zhuǎn)速的不同的方法及原理設(shè)計(jì)有較多介紹,在測(cè)量系統(tǒng)中能學(xué)到關(guān)于測(cè)量轉(zhuǎn)速的傳感器采樣問題,單片機(jī)部分的內(nèi)容,顯示部分等各個(gè)模塊的通信和聯(lián)調(diào)。 1.2基本功能概述這次的設(shè)計(jì)系統(tǒng)要完成以下的功能:1. 設(shè)計(jì)
8、并制作單片機(jī)的轉(zhuǎn)速測(cè)量的硬件系統(tǒng); 2.用匯編語(yǔ)言完成轉(zhuǎn)速測(cè)量的軟件系統(tǒng);3.要求把轉(zhuǎn)速顯示在5位LED上;根據(jù)系統(tǒng)要實(shí)現(xiàn)的功能以及要求,要實(shí)現(xiàn)單片機(jī)的轉(zhuǎn)速測(cè)量主要是各個(gè)模塊的設(shè)計(jì),定時(shí)器記數(shù)定時(shí)功能、以及LED驅(qū)動(dòng)之間的通信。單片機(jī)可通過編程控制外圍部件,能實(shí)現(xiàn)較高的自動(dòng)化程度。以它為系統(tǒng)核心的控制模塊可實(shí)現(xiàn)主從控制,完成預(yù)定的任務(wù)。二 方案設(shè)計(jì)轉(zhuǎn)速測(cè)量的方案選擇,一般要考慮傳感器的結(jié)構(gòu)、安裝以及測(cè)速范圍與環(huán)境條件等方面的適用性;再就是二次儀表的要求,除了顯示以外還有控制、通訊和遠(yuǎn)傳方面的要求。下面是兩個(gè)方案的設(shè)計(jì)與論證。2.1 霍爾傳感器測(cè)量方案霍爾轉(zhuǎn)速傳感器的主要工作原理是霍爾效應(yīng),也就
9、是當(dāng)轉(zhuǎn)動(dòng)的金屬部件通過霍爾傳 感器的磁場(chǎng)時(shí)會(huì)引起電勢(shì)的變化,通過對(duì)電勢(shì)的測(cè)量就可以得到被測(cè)量對(duì)象的轉(zhuǎn)速值?;魻栟D(zhuǎn)速傳感器的主要組成部分是傳感頭和齒圈,而傳感頭又是由霍爾元件、永磁體和電子電路組成的?;魻栟D(zhuǎn)速傳感器在測(cè)量機(jī)械設(shè)備的轉(zhuǎn)速時(shí),被測(cè)量機(jī)械的金屬齒輪、齒條等運(yùn)動(dòng)部件會(huì)經(jīng)過傳感器的前端,引起磁場(chǎng)的相應(yīng)變化,當(dāng)運(yùn)動(dòng)部件穿過霍爾元件產(chǎn)生磁力線較為分散的區(qū)域時(shí),磁場(chǎng)相對(duì)較弱,而穿過產(chǎn)生磁力線較為幾種的區(qū)域時(shí),磁場(chǎng)就相對(duì)較強(qiáng)。霍爾轉(zhuǎn)速傳感器就是通過磁力線密度的變化,在磁力線穿過傳感器上的感應(yīng)元件時(shí),產(chǎn)生霍爾電勢(shì)。霍爾轉(zhuǎn)速傳感器的霍爾元件在產(chǎn)生霍爾電勢(shì)后,會(huì)將其轉(zhuǎn)換為交變電信號(hào),最后傳感器的內(nèi)置電路
10、會(huì)將信號(hào)調(diào)整和放大,輸出矩形脈沖信號(hào)。霍爾傳感器的方框圖如圖2.1所示 圖2.1霍爾傳感器框圖缺點(diǎn):采用霍爾傳感器在信號(hào)采樣的時(shí)候,會(huì)出現(xiàn)采樣不精確,因?yàn)樗强看判愿袘?yīng)才采集脈沖的,使用時(shí)間長(zhǎng)了會(huì)出現(xiàn)磁性變小,影響脈沖的采樣精度。2.2 光電傳感器測(cè)量方案 光電轉(zhuǎn)速傳感器是根據(jù)光敏二極管工作原理制造的一種感應(yīng)接收光強(qiáng)度變化的電 子器件,當(dāng)它發(fā)出的光被目標(biāo)反射或阻斷時(shí),則接收器感應(yīng)出相應(yīng)的電信號(hào)。一般的轉(zhuǎn)速長(zhǎng)期測(cè)量系統(tǒng)是預(yù)先在軸上安裝一個(gè)有60 齒的測(cè)速齒盤,當(dāng)測(cè)速齒槽旋轉(zhuǎn)一周,光敏元件就能感受與開孔數(shù)相等次數(shù)的光次數(shù),即每轉(zhuǎn)一周產(chǎn)生60個(gè)電脈沖信號(hào)。臨時(shí)性轉(zhuǎn)速測(cè)量系統(tǒng),多采用光電傳感器,從轉(zhuǎn)軸
11、上預(yù)先粘貼的一個(gè)標(biāo)志上獲得一轉(zhuǎn)一個(gè)轉(zhuǎn)速脈沖,隨后利用電子倍頻器和測(cè)頻方法實(shí)現(xiàn)轉(zhuǎn)速測(cè)量。不論長(zhǎng)期或臨時(shí)轉(zhuǎn)速測(cè)量,都可以在微處理器的參與下,通過測(cè)量轉(zhuǎn)軸上預(yù)留的一轉(zhuǎn)一齒的鑒相信號(hào)或光電信號(hào)的周期,換算出轉(zhuǎn)軸的頻率或轉(zhuǎn)速。即通過速度傳感器,將轉(zhuǎn)速信號(hào)變?yōu)殡娒}沖,利用微機(jī)在 單位時(shí)間內(nèi)對(duì)脈沖進(jìn)行計(jì)數(shù),再經(jīng)過軟件計(jì)算獲得轉(zhuǎn)速數(shù)據(jù)。 即: n=N/(mT) n 轉(zhuǎn)速、單位:轉(zhuǎn)/ 分鐘;N 采樣時(shí)間內(nèi)所計(jì)脈沖個(gè)數(shù); T采樣時(shí)間、單位:分鐘; m 每旋轉(zhuǎn)一周所產(chǎn)生的脈沖個(gè)數(shù)(通常指測(cè)速碼盤的齒數(shù)) 。 通常m=60, 那么1 秒鐘內(nèi)脈沖個(gè)數(shù)N就是轉(zhuǎn)速n, 即: n=N/ (mT) =N/60×1/6
12、0=N 光電傳感器的方框圖如圖2.2所示 圖2.2光電傳感器方框圖優(yōu)點(diǎn):這種方案使用光電轉(zhuǎn)速傳感器具有采樣精確,采樣速度快,范圍廣的特點(diǎn)。 綜上所述,方案二使用光電傳感器來(lái)作為本設(shè)計(jì)的最佳選擇方案。三 硬件電路設(shè)計(jì) 單片機(jī)是單片微型計(jì)算機(jī)(Single Chip Microcomputer)的簡(jiǎn)稱,是指在一塊芯片上集成了中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、程序存儲(chǔ)器ROM或EPROM、定時(shí)器/計(jì)數(shù)器、中斷控制器以及串行和并行I/O接口等部件,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。目前,新型單片機(jī)內(nèi)還有A/D及D/A轉(zhuǎn)換器、高速輸入/輸出等部件。由于它的結(jié)構(gòu)和指令功能都是按工業(yè)控制要求設(shè)計(jì)的,特別適用于工業(yè)
13、控制及其數(shù)據(jù)處理場(chǎng)合,因此,確切的稱謂應(yīng)是微控制器(Microcontroller). 系統(tǒng)使用的單片機(jī)是AT89C51型單片機(jī)。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存貯器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器, AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的
14、方案。 圖3.1 89C51引腳圖 89C51單片機(jī)的特點(diǎn): 它內(nèi)部有一個(gè)8位的CPU,具有4KB的EEPROM。 128字節(jié)的RAM數(shù)據(jù)存儲(chǔ)器,21個(gè)特殊功能寄存器SFR。 4個(gè)8位并行I/O口,其中P0、P2為地址/數(shù)據(jù)線,可尋址64KB ROM和64KB RAM. 一個(gè)可編程全雙工串行口,具有5個(gè)中斷源。 兩個(gè)16位定時(shí)器/計(jì)數(shù)器。 由89C51引腳圖我們可以看到,單片機(jī)的引腳除了電源、復(fù)位、時(shí)鐘接入、用戶I/O口外,其余管腳是為實(shí)現(xiàn)系統(tǒng)擴(kuò)展而設(shè)置的。這些引腳構(gòu)成51單片機(jī)片外三總線結(jié)構(gòu),即: 地址總線(AB):地址總線寬為16位,因此,其外部存儲(chǔ)器直接尋址為64K字節(jié),16位地址總線由
15、P0口經(jīng)地址鎖存器提供8位地址(A0至A7);P2口直接提供8位地址。 數(shù)據(jù)總線(DB):數(shù)據(jù)總線寬度為8位,由P0提供。 控制總線(CB):由P3口的第二功能狀態(tài)和4根獨(dú)立控制線RESET、EA、ALE、PSEN組成。 89C51引腳圖如圖3.1所示 3.1 單片機(jī)及其外圍電路設(shè)計(jì) 圖3.1.1單片機(jī)及其外圍電路圖3.1.1 時(shí)鐘電路設(shè)計(jì)時(shí)鐘電路是計(jì)算機(jī)的心臟,它控制著計(jì)算機(jī)的工作節(jié)奏。51單片機(jī)允許的時(shí)鐘頻率是因型號(hào)而異的典型值為12MHZ 51內(nèi)部都有一個(gè)反相放大器,XTAL1、XTAL2分別為反相放大器輸入和輸出端,外接定時(shí)反饋元件以后就組成振蕩器,產(chǎn)生時(shí)鐘送至單片機(jī)內(nèi)部的各個(gè)部件。S
16、TC89C51是屬于CMOS8位微處理器,它的時(shí)鐘電路在結(jié)構(gòu)上有別于NMOS型的單片機(jī)。 CMOS型單片機(jī)內(nèi)部(如STC89C51)有一個(gè)可控的負(fù)反饋反相放大器,外接晶振(或陶瓷諧振器)和電容組成振蕩器,圖3.3為CMOS型單片機(jī)時(shí)鐘電路框圖。振蕩器工作受/PD端控制,由軟件置“1”PD(即特殊功能寄存器PCON.1)使/PD0,振蕩器停止工作,整個(gè)單片機(jī)也就停止工作,以達(dá)到節(jié)電目的。清“0”PD,使振蕩器工作產(chǎn)生時(shí)鐘,單片機(jī)便正常運(yùn)行。SYS為晶振或陶瓷諧振器,振蕩器產(chǎn)生的時(shí)鐘頻率主要由SYS參數(shù)確定(晶振上標(biāo)明的頻率)。電容C4和C5的作用有兩個(gè):其一是使振蕩器起振,其二是對(duì)振蕩器的頻率f
17、起微調(diào)作用(C4、C5大,f變?。?。 3.1.2復(fù)位電路設(shè)計(jì)計(jì)算機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,使中央處理器CPU和系統(tǒng)中的其它部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。51單片機(jī)有一個(gè)復(fù)位引腳RST,它是史密特觸發(fā)輸入(對(duì)于CHMOS單片機(jī),RST引腳的內(nèi)部有一個(gè)拉低電阻),當(dāng)振蕩器起振后該引腳上出現(xiàn)2個(gè)機(jī)器周期(即 24個(gè)時(shí)鐘周期)以上的高電平,使器件復(fù)位,只要RST保持高電平,51單片機(jī)保持復(fù)位狀態(tài)。此時(shí)ALE、PSEN、P0、P1、P2、P3口都 輸出高電平。RST變?yōu)榈碗娖胶螅顺鰪?fù)位,CPU從初始狀態(tài)開始工作。單片機(jī)采用的復(fù)位方式是自動(dòng)復(fù)位方式。對(duì)于MOS單片機(jī)只要接一個(gè)電容至
18、VCC即可。在加電瞬間,電容通過電阻充電,就在RST端出現(xiàn)一定時(shí)間的高電平,只要高電平時(shí)間足夠長(zhǎng),就可以使51單片機(jī)有效的復(fù)位。RST端在加電時(shí)應(yīng)保持的高電平時(shí)間包括VCC的上升時(shí)間和振蕩器起振的時(shí)間,Vss上升時(shí)間若為10ms,振蕩器起振的時(shí)間和頻率有關(guān)。10MHZ時(shí)約為1ms,1MHZ時(shí)約為10ms,所以一般為了可靠的復(fù)位,RST在上電應(yīng)保持20ms以上的高電平。RC時(shí)間常數(shù)越大,上電RST端保持高電平的時(shí)間越長(zhǎng)。若復(fù)位電路失效,加電后CPU從一個(gè)隨機(jī)的狀態(tài)開始工作,系統(tǒng)就不能正常運(yùn)轉(zhuǎn)。 圖3.3 復(fù)位電路圖3.4顯示電路設(shè)計(jì)顯示電路采用LED數(shù)碼管動(dòng)態(tài)顯示,LED(Light-Emitt
19、ing Diode)是一種外加電壓從而渡過電流并發(fā)出可見光的器件。LED是屬于電流控制器件,使用時(shí)必須加限流電阻。LED有單個(gè)LED和八段LED之分,也有共陰和共陽(yáng)兩種。發(fā)光二極管的陽(yáng)極連在一起的稱為共陽(yáng)極顯示器,陰極連在一起的稱為共陰極顯示器。1位顯示器由八個(gè)發(fā)光二極管組成,其中七個(gè)發(fā)光二極管ag控制七個(gè)筆畫(段)的亮或暗,另一個(gè)控制一個(gè)小數(shù)點(diǎn)的亮和暗,這種筆畫式的七段顯示器能顯示的字符較少,字符的開頭有些失真,但控制簡(jiǎn)單,使用方便。顯示方式: 數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。 靜態(tài)顯
20、示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×840根I/O端口來(lái)驅(qū)動(dòng),一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。 動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極C
21、OM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大
22、量的I/O端口,而且功耗更低。 為了節(jié)省I/O口線,我們采用的動(dòng)態(tài)顯示方式。 顯示電路圖如圖3.4所示。 圖3.4 顯示電路圖3.5 鍵盤電路 按鍵分別控制電機(jī)的不同轉(zhuǎn)速,即控制PWM波高電平的占空比,以實(shí)現(xiàn)電機(jī)的轉(zhuǎn)速控制,采用開環(huán)控制方法,不是十分精確,但控制簡(jiǎn)單,易實(shí)現(xiàn)。 鍵盤電路如圖3.5所示 圖3.5鍵盤電路3.6 電機(jī)控制與驅(qū)動(dòng)電機(jī)的運(yùn)行通過PWM波控制,PWM波通過AT89C51的P2.4口輸出,電路圖如圖3.6所示 圖3.6 電機(jī)控制與驅(qū)動(dòng)電路圖 四 軟件設(shè)計(jì) AT89C51有兩個(gè)定時(shí)器/計(jì)數(shù)器T0和T1,每個(gè)定時(shí)器/計(jì)數(shù)器均可設(shè)置成為16位,也可以設(shè)置成為13位進(jìn)行定時(shí)或計(jì)數(shù)。
23、計(jì)數(shù)器的功能是對(duì)T0或T1外來(lái)脈沖的進(jìn)行計(jì)數(shù),外部輸入脈沖負(fù)跳變時(shí),計(jì)數(shù)器進(jìn)行加1。 定時(shí)功能是通過計(jì)數(shù)器的計(jì)數(shù)來(lái)實(shí)現(xiàn)的,每個(gè)機(jī)器周期產(chǎn)生1個(gè)計(jì)數(shù)脈沖,即每個(gè)機(jī)器周期計(jì)數(shù)器加1,因此定時(shí)時(shí)間等于計(jì)數(shù)個(gè)數(shù)乘以機(jī)器周期。定時(shí)器工作時(shí),每接收到1個(gè)計(jì)數(shù)脈沖(或機(jī)器周期)則在設(shè)定的初值基礎(chǔ)上自動(dòng)加1,當(dāng)所有位都位1時(shí),再加1就會(huì)產(chǎn)生溢出,將向CPU提出定時(shí)器溢出中斷身請(qǐng)。當(dāng)定時(shí)器采用不同的工作方式和設(shè)置不同的初值時(shí),產(chǎn)生溢出中斷的定時(shí)值和計(jì)數(shù)值將不同,從而可以適應(yīng)不同的定時(shí)或計(jì)數(shù)控制。定時(shí)器有4種工作方式:方式0、方式1、方式2和方式3。工作方式寄存器TMOD的設(shè)定: GATE C/T M1 M0 G
24、ATE C/T M1M0 TMOD各位的含義如下: GATE:門控位,用于控制定時(shí)/計(jì)數(shù)器的啟動(dòng)是否受外部中斷請(qǐng)求信號(hào)的影響。C/T:定時(shí)或計(jì)數(shù)方式選擇位,當(dāng)C/T=1時(shí)工作于計(jì)數(shù)方式;當(dāng)C/T=0時(shí)工作于定時(shí)方式。 M1、M0為工作方式選擇位 ,用于對(duì)T0的四種工作方式,T1的三種工作方式進(jìn)行選擇,選擇情況如下表5-1:M1M0=00為方式0;M1M0=01為方式1; 表4.1 M1、M0為工作方式選擇位 M0 M1 工作方式 方式說明 0 0 013位定時(shí)/計(jì)數(shù)器 0 1 116位定時(shí)/計(jì)數(shù)器 1 0 28位自動(dòng)重置定時(shí)/計(jì)數(shù)器 1 1 3兩個(gè)8位定時(shí)/計(jì)數(shù)器(只有T0有) 4.1主程序設(shè)
25、計(jì)主程序是系統(tǒng)上電后首先要執(zhí)行的程序,主程序主要完成系統(tǒng)的初始化、掃描顯示、掃描按鍵等工作。 圖4.1主程序流程圖按照上述分析,主程序流程圖如圖4.1所示。系統(tǒng)上電后,首先設(shè)置堆棧,對(duì)相關(guān)內(nèi)存單元賦初始值,定時(shí)器和中斷系統(tǒng)初始化。完成初始化工作之后,判斷啟動(dòng)鍵有沒有按下,如果沒有按下,等待啟動(dòng)鍵按下;如果按下,及循環(huán)等待,時(shí)間到之后,T1中斷程序?qū)?huì)讀取T0中的計(jì)數(shù)值,并將其放入約定的存儲(chǔ)單元中,并且置位“要求計(jì)算”的標(biāo)志,當(dāng)該標(biāo)志位為1時(shí),主程序即轉(zhuǎn)入計(jì)算。計(jì)算出轉(zhuǎn)速后送入顯示緩沖區(qū)顯示。4.2 中斷服務(wù)程序設(shè)計(jì)51單片機(jī)中沒有專門的開中斷和關(guān)中斷指令,對(duì)各個(gè)中斷源的允許和屏蔽是由內(nèi)部的中斷
26、允許寄存器IE的各位來(lái)控制的。中斷允許寄存器IE的字節(jié)地址為A8H,可以進(jìn)行位尋址 IE D7 D6 D5 D4 D3 D2 D1 D0(A8H) EA ET2 ES ET1 EX1 ET0 EX0 表4-2 中斷位尋址表 EA:中斷允許總控位。EA=0,屏蔽所有的中斷請(qǐng)求;EA=1,開放中斷。 ET2:定時(shí)器/計(jì)數(shù)器T2的溢出中斷允許位。(僅89C52/S52或類似型號(hào)的單片機(jī)有)ET2=1允許T2中斷;ET2=0禁止T2中斷 。ES:串行口中斷允許位。ES=1,允許串行口中斷;ES=0,禁止串行口中斷。ET1:定時(shí)器/計(jì)數(shù)器T1的溢出中斷允許位。ET1=1,允許T1中斷;ET1=0,禁止T
27、1中斷。 EX1:外部中斷 INT1的中斷允許位。 EX1=1,允許外部中斷1中斷;EX1=0,禁止外部中斷1中斷。ET0:定時(shí)器/計(jì)數(shù)器T0的溢出中斷允許位。 ET0=1,允許T0中斷;ET0=0,禁止T0中斷。 EX0:外部中斷 INT0的中斷允許位。EX0=1,允許外部中斷0中斷;EX0=0,禁止外部中斷0中斷。 圖4.2 中斷服務(wù)程序設(shè)計(jì)流程圖定時(shí)器1完成定時(shí)功能,并每隔一定時(shí)間進(jìn)行一次顯示,每隔1秒讀一次計(jì)數(shù)結(jié)果。單片機(jī)對(duì)在1秒內(nèi)計(jì)數(shù)的值進(jìn)行處理,轉(zhuǎn)換成每分鐘的速度送顯存以便顯示。中斷服務(wù)程序流程圖如圖4.2所示4.3子程序設(shè)計(jì)子程序設(shè)計(jì)包括顯示子程序設(shè)計(jì)和按鍵掃描子程序設(shè)計(jì)。4.3
28、.1 顯示子程序設(shè)計(jì)數(shù)碼管顯示采用動(dòng)態(tài)方式,這種工作方式是分時(shí)輪流選通數(shù)碼管的公共端,使得各個(gè)數(shù)碼管輪流導(dǎo)通,即各數(shù)碼管是是由脈沖電流導(dǎo)電的。當(dāng)所有數(shù)碼管依次顯示一遍后,軟件控制循環(huán),使每位顯示器分時(shí)點(diǎn)亮。利用數(shù)碼管余輝和人眼的視覺暫留現(xiàn)象,可以穩(wěn)定地顯示各位數(shù)碼管的值。 圖4.3.1顯示子程序流程圖從圖4.3.1中可以看出,程序中利用了一個(gè)顯示計(jì)數(shù)器,該計(jì)數(shù)器的值在03之間變化,對(duì)應(yīng)第一至第四位數(shù)碼管,當(dāng)計(jì)數(shù)值到4時(shí),即回零。假如當(dāng)顯示計(jì)數(shù)器值等于2時(shí),意味著此時(shí)應(yīng)點(diǎn)亮第3位數(shù)碼管去進(jìn)行顯示。程序中首先取顯示緩沖區(qū)初值,然后查字表碼表,并將該字形碼送往P0,因?yàn)镻0是段驅(qū)動(dòng)。 下面是要點(diǎn)亮第
29、3位數(shù)碼管,程序中再次取計(jì)數(shù)值,即2,然后查位碼,將這個(gè)值被送往P2口。先將P2口的低4位置1(關(guān)閉原點(diǎn)亮的數(shù)碼管),將查得的位碼與P2相與,點(diǎn)亮相應(yīng)的數(shù)碼管。4.3.2鍵處理子程序設(shè)計(jì)啟動(dòng)按鍵一端與P1.0相連,另一端接地。讀取P1口狀態(tài),取反后取有效的按鍵位,如果判斷沒有按鍵按下,直接返回,如果有按鍵按下,延遲10ms去抖動(dòng)。再一次讀鍵判斷是否按鍵。不是,則直接返回。有按鍵,再判斷P1.0的狀態(tài),若P1.0=0,判斷P1.1的狀態(tài),P1.1=0直接返回,若P1.1=1,設(shè)置修改項(xiàng)目,然后返回;若P1.0=1,設(shè)置相應(yīng)項(xiàng)目的值,然后返回。鍵盤子程序流程圖如圖4.3.2所示。 圖4.3.2 按
30、鍵程序流程圖五 總結(jié)經(jīng)過兩周的努力,本次的課程設(shè)計(jì)終于告一個(gè)段落。關(guān)于這次設(shè)計(jì),感觸頗多??偟膩?lái)說是可以的,富有收獲的,盡管其中充滿了艱辛與困難。但看到自己的成果時(shí),所有的艱辛與疲倦都拋到了九霄云外。一種成就感在心頭油然而生。另外一方面,在自己的親身實(shí)踐中,也發(fā)現(xiàn)了自己的一些不足的地方,有待進(jìn)一步提高與改善。整個(gè)設(shè)計(jì)過程是對(duì)自己一年來(lái)所學(xué)知識(shí)歸納總結(jié)和應(yīng)用,也就是把理論知識(shí)用到實(shí)踐之中去。讓理論和實(shí)踐相結(jié)合,以此產(chǎn)生實(shí)際的成果。而這正是我們學(xué)習(xí)理論知識(shí)的目的之所在。除此之外,我們要在擁有扎實(shí)的專業(yè)知識(shí)的前提條件下,在整個(gè)設(shè)計(jì)與調(diào)試過程中要有信心和耐心,對(duì)自己有信心,相信自己能夠很好的完成本次設(shè)
31、計(jì)任務(wù)。在調(diào)試中不斷發(fā)現(xiàn)問題進(jìn)而解決問題,這是一個(gè)再學(xué)習(xí)的過程,其本身就是對(duì)自己的一次鍛煉,培養(yǎng)了自己獨(dú)立思考,動(dòng)手解決問題的能力。從而從各個(gè)方面得到提高與完善了自己,使自己的各個(gè)方面提高到一個(gè)新的臺(tái)階,同時(shí)為以后的工作打下基礎(chǔ)。附錄A 總電路圖 附錄B 部分源程序DISPBUF EQU 5AH ;顯示緩沖區(qū)從5AH開始SECCOUN EQU 59H ;秒計(jì)數(shù)單元,用于累計(jì)T1的終端次數(shù)SPCOUN EQU 57H ;速度計(jì)時(shí)器單元57H和58HCOUNT EQU 56H ;顯示時(shí)的計(jì)數(shù)器SPCALC BIT 00H ;要求計(jì)算速度的標(biāo)志,該位為1則主程序進(jìn)行速度算,然后清位HIDDEN EQ
32、U 10 ORG 0000HAJMP START ORG 001BH JMP TIMER1 ;定時(shí)中斷1入口 ORG 30H START: MOV SP,#5FH ;設(shè)置堆棧 MOV P1,#0FFH ;將P1置位高電平 MOV P0,#0FFH ;將P0置位高電平 MOV P2,#0FFH ;將P2置位高電平,以上三行初始化,所有顯示器、 LED及數(shù)碼管滅 MOV TMOD,#00010101B ;定時(shí)器T1工作于方式1,計(jì)數(shù)器T0工作方式1。 MOV TH1,#HIGH(65536-5000);設(shè)置T1初始值 MOV TL1,#LOW(65536-5000) MOV TH0,#00H ;設(shè)
33、置T0的計(jì)數(shù)初始值0MOV TL0,#00H ETB TR1 ;開啟T1 SETB TR0 ;開啟T0 SETB ET1 ;開定時(shí)器1中斷 SETB EA ;允許單片機(jī)相應(yīng)中斷 LOOP: JNB SPCALC,LOOP ;如果未要求計(jì)算,轉(zhuǎn)本身循環(huán)MULD: MOV A,R3 ;計(jì)算R3乘R7 MOV B,R7 MUL AB MOV R4,B ;暫存部分積 MOV R5,A MOV A,R3 ;計(jì)算R3乘R6 MOV B,R6 MUL AB ADD A,R4 ;累加部分積 MOV R4,A CLR A ADDC A,B MOV R3,A MOV A,R2 ;計(jì)算R2乘R7 MOV B,R7
34、MUL AB ADD A,R4 ;累加部分積 MOV R4,A MOV A,R3 ADDC A,B MOV R3,A CLR A RLC A XCH A,R2 ;計(jì)算R2乘R6 MOV B,R6 MUL AB ADD A,R3 ;累加部分積 MOV R3,A MOV A,R2 ADDC A,B MOV R2,A RET MOV R2,SPCOUN MOV R3,SPCOUN+1 MOV R6,#0 MOV R7,#5 ;測(cè)得的數(shù)據(jù)是每秒計(jì)數(shù)值,轉(zhuǎn)為分(每一轉(zhuǎn)測(cè)12 次,故乘5而非60) CALL MULD SETB TR1 HB2: CLR A ;BCD碼初始化 MOV R3,A MOV R4,A MOV R5,A MOV R2,#10H ;轉(zhuǎn)換雙字節(jié)十六進(jìn)制整數(shù) HB3: MOV A,R7 ;從高端移出待轉(zhuǎn)換數(shù)的一位到CY中 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV A,R5 BCD碼帶進(jìn)位自身相加,相當(dāng)于
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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)估管理制度
- 特殊事件應(yīng)對(duì)管理制度
- 特殊幼兒健康管理制度
- 特種作業(yè)隱患管理制度
- 特種設(shè)備鍋爐管理制度
- 豬場(chǎng)生產(chǎn)現(xiàn)場(chǎng)管理制度
- 豬場(chǎng)采購(gòu)計(jì)劃管理制度
- 豬肉銷售店員管理制度
- 玩具采購(gòu)儲(chǔ)備管理制度
- 環(huán)保檢測(cè)設(shè)備管理制度
- 邏輯思維訓(xùn)練500題
- 八年級(jí)物理下冊(cè)《實(shí)驗(yàn)題》專項(xiàng)練習(xí)題及答案(人教版)
- 高頻課程設(shè)計(jì)-中頻放大器
- 《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解
- 國(guó)家自然科學(xué)獎(jiǎng)
- 紅色大氣謝師宴高考喜報(bào)PPT模板
- 市政道路公路工程監(jiān)理規(guī)范
- 通信線路投標(biāo)文件
- 集結(jié)號(hào)觀后感 集結(jié)號(hào)觀后感500字(最全)
- 滬教版一年級(jí)下冊(cè)數(shù)學(xué)期末試卷
- 模電簡(jiǎn)答題匯總
評(píng)論
0/150
提交評(píng)論