四位數(shù)碼管轉(zhuǎn)速表的設(shè)計(jì)_第1頁
四位數(shù)碼管轉(zhuǎn)速表的設(shè)計(jì)_第2頁
四位數(shù)碼管轉(zhuǎn)速表的設(shè)計(jì)_第3頁
四位數(shù)碼管轉(zhuǎn)速表的設(shè)計(jì)_第4頁
四位數(shù)碼管轉(zhuǎn)速表的設(shè)計(jì)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘 要本文是基于51單片機(jī)的轉(zhuǎn)速測量系統(tǒng),其測量方法較多,隨著單片機(jī)對脈沖信號的處理能力越來越強(qiáng)大,使得全數(shù)字量系統(tǒng)越來越普及,并且使轉(zhuǎn)速測量系統(tǒng)也可以用全數(shù)字化處理。輸出電壓經(jīng)整形電路送入STC89C51單片機(jī)進(jìn)行數(shù)據(jù)處理并用四位7段LED顯示器顯示測量結(jié)果。文中首先闡述了構(gòu)成該系統(tǒng)的原理、硬件的實(shí)現(xiàn)方法,在該系統(tǒng)中對信號頻率進(jìn)行測量是首要任務(wù),通過各種測量方法的對比下,該系統(tǒng)應(yīng)采用測頻法測量。其次,在軟件設(shè)計(jì)部分,此系統(tǒng)包含系統(tǒng)初始化程序的設(shè)計(jì)、數(shù)據(jù)接收和處理程序的設(shè)計(jì)、顯示程序的設(shè)計(jì)三個模塊。最終,給出各部分的原理框圖、電路圖及轉(zhuǎn)速測量的程序流程圖,并編出其具體的程序??傊菊n題完成了

2、硬件和軟件系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)了轉(zhuǎn)速測量系統(tǒng)的測量,轉(zhuǎn)速計(jì)算、顯示功能,同時(shí)實(shí)現(xiàn)鍵盤的開始/停止功能,完成了設(shè)計(jì)的要求。關(guān)鍵詞 單片機(jī)、轉(zhuǎn)速測量、脈沖信號目 錄1 單片機(jī)的應(yīng)用11.1 單片機(jī)的介紹11.1.1 單片機(jī)的發(fā)展歷程11.1.2 單片機(jī)的分類21.1.3 單片機(jī)的應(yīng)用與開發(fā)31.2 單片機(jī)的結(jié)構(gòu)41.2.1 單片機(jī)的內(nèi)部結(jié)構(gòu)41.2.2 單片機(jī)的引腳功能61.2.3 單片機(jī)定時(shí)與工作方式72 工作原理和設(shè)計(jì)思路及方案82.1 基本原理82.2 設(shè)計(jì)思路92.3 設(shè)計(jì)方案93 硬件電路設(shè)計(jì)103.1 按鍵設(shè)計(jì)電路圖103.2 顯示電路設(shè)計(jì)圖113.3 脈沖產(chǎn)生電路設(shè)計(jì)圖114 軟件設(shè)計(jì)1

3、24.1 主程序流程及說明124.2 中斷服務(wù)子程序134.3 鍵盤掃描程序145 四位數(shù)碼管轉(zhuǎn)速表的仿真155.1 系統(tǒng)仿真軟件介紹155.1.1 Proteus軟件介紹155.1.2 Keil uVision3 軟件介紹175.2 系統(tǒng)的仿真185.3 四位數(shù)碼管轉(zhuǎn)速表程序20總 結(jié)25致 謝26參考文獻(xiàn)27單片機(jī)實(shí)訓(xùn)1 單片機(jī)的應(yīng)用1.1 單片機(jī)的介紹1.1.1 單片機(jī)的發(fā)展歷程自單片機(jī)出現(xiàn)至今,單片機(jī)技術(shù)已走過了近20年的發(fā)展路程??v觀20年來單片機(jī)發(fā) 展歷程可以看出,單片機(jī)技術(shù)的發(fā)展以微處理器(MPU)技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā) 展為先導(dǎo),以廣泛的應(yīng)用領(lǐng)域拉動,表現(xiàn)出較微處理器更

4、具個性的發(fā)展趨勢。 單片機(jī)長壽命 這里所說的長壽命,一方面指用單片機(jī)開發(fā)的產(chǎn)品可以穩(wěn)定可靠地工作 十年、二十年,另一方面是指與微處理器相比的長壽命。隨著半導(dǎo)體技術(shù)的飛速發(fā)展, MPU更新?lián)Q代的速度越來越快,以386、486、586為代表的MPU,很短的時(shí)間內(nèi)就被淘汰出 局而傳統(tǒng)的單片機(jī)如68HC05、8051等年齡已有15歲,產(chǎn)量仍是上升的。這一方面是由 于其對相應(yīng)應(yīng)用領(lǐng)域的適應(yīng)性,另一方面是由于以該類CPU為核心,集成以更多I/O功能 模塊的新單片機(jī)系列層出不窮??梢灶A(yù)見,一些成功上市的相對年輕的CPU核心,也會隨 著I/O功能模塊的不斷豐富,有著相當(dāng)長的生存周期。新的CPU類型的加盟,使單

5、片機(jī)隊(duì)伍 不斷壯大,給用戶帶來了更多的選擇余地。 8位、16位、32位單片機(jī)共同發(fā)展 這是當(dāng)前單片機(jī)技術(shù)發(fā)展的另一動向。長期以來,單 片機(jī)技術(shù)的發(fā)展是以8位機(jī)為主的。隨著移動通訊、網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)等高科技產(chǎn)品 進(jìn)入家庭,32位單片機(jī)應(yīng)用得到了長足發(fā)展。以Motorola 68K為CPU的32位單片機(jī)97年的 銷售量達(dá)8千萬枚。過去認(rèn)為由于8位單片機(jī)功能越來越強(qiáng),32位機(jī)越來越便宜,使16位 單片機(jī)生存空間有限,而16位單片機(jī)的發(fā)展無論從品種和產(chǎn)量方面,近年來都有較大幅 度的增長。單片機(jī)速度越來越快 MPU發(fā)展中表現(xiàn)出來的速度越來越快是以時(shí)鐘頻率越來越高為標(biāo)志 的。而單片機(jī)則有所不同,為提高

6、單片機(jī)抗干擾能力,降低噪聲,降低時(shí)鐘頻率而不犧 牲運(yùn)算速度是單片機(jī)技術(shù)發(fā)展之追求。一些8051單片機(jī)兼容廠商改善了單片機(jī)的內(nèi)部時(shí) 序,在不提高時(shí)鐘頻率的條件下,使運(yùn)算速度提高了很多,Motorola單片機(jī)則使用了瑣 相環(huán)技術(shù)或內(nèi)部倍頻技術(shù)使內(nèi)部總線速度大大高于時(shí)鐘產(chǎn)生器的頻率。68HC08單片機(jī)使 用4.9M外部振蕩器而內(nèi)部時(shí)鐘達(dá)32M,而M68K系列32位單片機(jī)使用32K的外部振蕩器頻率 內(nèi)部時(shí)鐘可達(dá)16MHz以上。低電壓與低功耗 自80年代中期以來,NMOS工藝單片機(jī)逐漸被CMOS工藝代替,功耗得以 大幅度下降,隨著超大規(guī)模集成電路技術(shù)由3m工藝發(fā)展到1.5、1.2、0.8、0.5、0.3

7、5 近而實(shí)現(xiàn)0.2m工藝,全靜態(tài)設(shè)計(jì)使時(shí)鐘頻率從直流到數(shù)十兆任選,都使功耗不斷下降 。Motorola 最近推出任選的M.CORE 可在1.8V電壓下以50M/48MIPS全速工作,功率約為 20mW。幾乎所有的單片機(jī)都有Wait、Stop等省電運(yùn)行方式。允許使用的電源電壓范圍也 越來越寬。一般單片機(jī)都能在3到6V范圍內(nèi)工作,對電池供電的單片機(jī)不再需要對電源采 取穩(wěn)壓措施。低電壓供電的單片機(jī)電源下限已由2.7V降至2.2V、1.8V。0.9V供電的單片 機(jī)已經(jīng)問世。 低噪聲與高可靠性技術(shù) 為提高單片機(jī)系統(tǒng)的抗電磁干擾能力,使產(chǎn)品能適應(yīng)惡劣的工 作環(huán)境,滿足電磁兼容性方面更高標(biāo)準(zhǔn)的要求,各單片機(jī)

8、商家在單片機(jī)內(nèi)部電路中采取 了一些新的技術(shù)措施。如美國國家半導(dǎo)體NS的COP8單片機(jī)內(nèi)部增加了抗EMI電路,增強(qiáng)了 “看門狗”的性能。Motorola也推出了低噪聲的LN系列單片機(jī)。 OTP與掩膜 OTP是一次性寫入的單片機(jī)。過去認(rèn)為一個單片機(jī)產(chǎn)品的成熟是以投產(chǎn)掩膜 型單片機(jī)為標(biāo)志的。由于掩膜需要一定的生產(chǎn)周期,而OTP型單片機(jī)價(jià)格不斷下降,使得 近年來直接使用OTP完成最終產(chǎn)品制造更為流行。它較之掩膜具有生產(chǎn)周期短、風(fēng)險(xiǎn)小的 特點(diǎn)。近年來,OTP型單片機(jī)需量大幅度上揚(yáng),為適應(yīng)這種需求許多單片機(jī)都采用了在片 編程技術(shù)(In System Programming)。未編程的OTP芯片可采用裸片B

9、onding技術(shù)或表面貼 技術(shù),先焊在印刷板上,然后通過單片機(jī)上引出的編程線、串行數(shù)據(jù)、時(shí)鐘線等對單片 機(jī)編程。解決了批量寫OTP 芯片時(shí)容易出現(xiàn)的芯片與寫入器接觸不好的問題。使OTP的裸 片得以廣泛使用,降低了產(chǎn)品的成本。編程線與I/O線共用,不增加單片機(jī)的額外引腳。而一些生產(chǎn)廠商推出的單片機(jī)不再有掩膜型,全部為有ISP功能的OTP。MTP向OTP挑戰(zhàn) MTP是可多次編程的意思。一些單片機(jī)廠商以MTP的性能、OTP的價(jià)位推出 他們的單片機(jī),如ATMEL AVR單片機(jī),片內(nèi)采用FLASH,可多次編程。華邦公司生產(chǎn)的與 8051兼容的單片機(jī)也采用了MTP性能,OTP的價(jià)位。這些單片機(jī)都使用了IS

10、P技術(shù),等安裝到印刷線路板上以后再下載程序。 1.1.2 單片機(jī)的分類ATMEL公司的AVR單片機(jī),是增強(qiáng)型RISC內(nèi)載Flash的單片機(jī),芯片上的Flash存儲器附在用戶的產(chǎn)品中,可隨時(shí)編程,再編程,使用戶的產(chǎn)品設(shè)計(jì)容易,更新?lián)Q代方便.AVR單片機(jī)采用增強(qiáng)的RISC結(jié)構(gòu),使其具有高速處理能力,在一個時(shí)鐘周期內(nèi)可執(zhí)行復(fù)雜的指令,每MHz可實(shí)現(xiàn)1MIPS的處理能力.AVR單片機(jī)工作電壓為2.76.0V,可以實(shí)現(xiàn)耗電最優(yōu)化.AVR的單片機(jī)廣泛應(yīng)用于計(jì)算機(jī)外部設(shè)備,工業(yè)實(shí)時(shí)控制,儀器儀表,通訊設(shè)備,家用電器,宇航設(shè)備等各個領(lǐng)域. (1)Motorola單片機(jī):Motorola是世界上最大的單片機(jī)廠商

11、.從M6800開始,開發(fā)了廣泛的品種,4位,8位,16位32位的單片機(jī)都能生產(chǎn),其中典型的代表有:8位機(jī)M6805,M68HC05系列,8位增強(qiáng)型M68HC11,M68HC12 , 16位機(jī)M68HC16, 32位機(jī)M683XX. Motorola單片機(jī)的特點(diǎn)之一是在同樣的速度下所用的時(shí)鐘頻率較Intel類單片機(jī)低得多,因而使得高頻噪聲低,抗干擾能力強(qiáng),更適合于工控領(lǐng)域及惡劣的環(huán)境 .(2)MicroChip單片機(jī): MicroChip單片機(jī)的主要產(chǎn)品是PIC 16C系列和17C系列8位單片機(jī),CPU采用RISC結(jié)構(gòu),分別僅有33,35,58條指令,采用Harvard雙總線結(jié)構(gòu),運(yùn)行速度快,低

12、工作電壓,低功耗,較大的輸入輸出直接驅(qū)動能力,價(jià)格低,一次性編程,小體積. 適用于用量大,檔次低,價(jià)格敏感的產(chǎn)品.在辦公自動化設(shè)備,消費(fèi)電子產(chǎn)品,電訊通信,智能儀器儀表,汽車電子,金融電子,工業(yè)控制不同領(lǐng)域都有廣泛的應(yīng)用,PIC系列單片機(jī)在世界單片機(jī)市場份額排名中逐年提高.發(fā)展非常迅速.工業(yè)級OTP單片機(jī),Micon公司生產(chǎn),與PIC單片機(jī)管腳完全一致,海爾集團(tuán)的電冰箱控制器,TCL通信產(chǎn)品,長安奧拓鈴木小轎車功率分配器就采用這種單片機(jī)。EM78系列OTP型單片機(jī): 臺灣義隆電子股份有限公司,直接替代PIC16CXX,管腳兼容,軟件可轉(zhuǎn)換.(4)Scenix單片機(jī):Scenix公司推出的8位R

13、ISC結(jié)構(gòu)SX系列單片機(jī)與Intel 的Pentium II等一起被評選為1998年世界十大處理器.在技術(shù)上有其獨(dú)到之處, SX系列雙時(shí)鐘設(shè)置,指令運(yùn)行速度可達(dá)50/75/100MIPS(每秒執(zhí)行百萬條指令,XXX M Instruction Per Second) ;具有虛擬外設(shè)功能,柔性化I/O端口,所有的I/O端口都可單獨(dú)編程設(shè)定,公司提供各種I/O的庫函數(shù),用于實(shí)現(xiàn)各種I/O模塊的功能以及應(yīng)用,如多路UART,多路A/D,PWM,SPI,DTMF,FS,LCD驅(qū)動等等. 采用EEPROM/FLASH程序存儲器,可以實(shí)現(xiàn)在線系統(tǒng)編程.通過計(jì)算機(jī)RS232C接口,采用專用串行電纜即可對目標(biāo)

14、系統(tǒng)進(jìn)行在線實(shí)時(shí)仿真.(5)8051單片機(jī):8051單片機(jī)最早由Intel公司推出,其后,多家公司購買了8051的內(nèi)核,使得以8051為內(nèi)核的MCU系列單片機(jī)在世界上產(chǎn)量最大,應(yīng)用也最廣泛,有人推測8051可能最終形成事實(shí)上的標(biāo)準(zhǔn)MCU芯片.1.1.3 單片機(jī)的應(yīng)用與開發(fā)單片機(jī)有多種類型,并且逐漸發(fā)展16位、32位單片機(jī),但是掌握好基本的8031是十分重要的。開發(fā)單片機(jī)通常用到開發(fā)軟件、仿真器、編程器,以及諸如邏輯筆、萬用表等輔助工具,當(dāng)然PC機(jī)是少不了的。開發(fā)單片機(jī)應(yīng)用系統(tǒng),首先時(shí)軟硬件設(shè)計(jì),很難說誰先誰后,大致是更據(jù)應(yīng)用的要求畫出框圖,想想哪些功能是由硬件實(shí)現(xiàn)的,哪些是由軟件實(shí)現(xiàn)的,然后畫

15、出軟件的流程圖。當(dāng)然設(shè)計(jì)中有的功能可由軟件代替硬件實(shí)現(xiàn),但要考慮編程的復(fù)雜性,有時(shí)雖然可以降低成本,但會給自己帶來麻煩 。一般有兩種開發(fā)方法,其一是軟件模擬仿真后把沒有錯誤的程序用編程器寫入EPROM或單片機(jī)內(nèi),廉價(jià)的PIC單片機(jī)開發(fā)系統(tǒng)就是這樣,早期的sim51軟件是對8031仿真的。有的是在PC上寫好程序,檢查無語法錯誤后用軟件下載到編程器對AT89C51等單片機(jī)進(jìn)行編程,或者對可在線編程的單片機(jī)有例如PIC16F84、PIC-BASIC(PS1016)等進(jìn)行編程。對于這種“開發(fā)手段”,一般只能應(yīng)用在軟硬件比較簡單的情況下,也特別適用于學(xué)生或者業(yè)余愛好者。其二是采用通用實(shí)時(shí)再線仿真器,用設(shè)

16、斷點(diǎn),單步運(yùn)行,實(shí)時(shí)查看寄存器、I/O口、存儲器內(nèi)容等方法調(diào)試單片機(jī)系統(tǒng)真是感覺好極了,一切盡在掌握。通常仿真器通過RS-232串口于PC機(jī)連接,用軟件編程調(diào)試,PC機(jī)顯示器顯示狀態(tài)。高檔的仿真器支持許多型號的單片機(jī),并有WINDOWS下集成開發(fā)環(huán)境(包括編輯,匯編,仿真等),大多數(shù)做單片機(jī)系統(tǒng)的人都是采用這種方法開發(fā),只是仿真器大多較貴,業(yè)余愛好者要根據(jù)自己的情況決定。以前的開發(fā)要用EPROM,需要編程器(把程序?qū)懭隕PROM中)和紫外線燈(EPROM擦除器),擦完后還要校驗(yàn),非常不便?,F(xiàn)在片內(nèi)帶有EEPROM的單片機(jī)開發(fā)起來很方便(就像CI取代 BIOS一樣),EEPROM既像靜態(tài)RAM那

17、樣讀寫簡便,又在掉電時(shí)數(shù)據(jù)不會丟失的,大大簡化應(yīng)用系統(tǒng)結(jié)構(gòu)。另外一般EPROM中的程序很容易被復(fù)制,OTP單片機(jī)可以把保密熔絲燒斷以保密,而有的EEPROM單片機(jī)有種“鎖”,使別人無法讀取其中的程序,若要讀,EEPROM中原來的信息會自動銷毀,就達(dá)到了保密的目的。 近年來出現(xiàn)了IIC串行總線結(jié)構(gòu),這種總線是用兩條數(shù)據(jù)線代替現(xiàn)行的8位數(shù)據(jù)總線,從而大大地減少了單片機(jī)引線,目前許多電子公司正在積極開發(fā)IIC總線的產(chǎn)品,也為我們使用提供了方便。1.2 單片機(jī)的結(jié)構(gòu)1.2.1 單片機(jī)的內(nèi)部結(jié)構(gòu)8051是MCS-51系列單片機(jī)的典型產(chǎn)品, 8051單片機(jī)包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(

18、RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:(1)中央處理器:中央處理器(CPU)是整個單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。(2)數(shù)據(jù)存儲器(RAM):8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表

19、。(3)程序存儲器(ROM):8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。(4)定時(shí)/計(jì)數(shù)器(ROM):8051有兩個16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于其中的控制程序轉(zhuǎn)向。(5)并行輸入輸出(I/O)口:8051共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。(6)中斷系統(tǒng):8051具備較完善的中斷功能,有兩個外中斷、兩個定時(shí)/計(jì)數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。(7)時(shí)鐘電路:8051內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個單片機(jī)運(yùn)行的脈沖時(shí)序,但8051單片機(jī)需外置振蕩電

20、容。單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。下圖是MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖圖1.1 單片機(jī)結(jié)構(gòu)圖1.2.2 單片機(jī)的引腳功能MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),圖2是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組

21、8位共32個I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在對這些引腳的功能加以說明:圖1.2 單片機(jī)引腳功能圖(1)P0.0P0.7P0口是8位漏極開路型雙向并行I/O端口。當(dāng)訪問外部存儲器時(shí),它分時(shí)作為低8位地址/數(shù)據(jù)總線。在EPROM編程時(shí),由P0輸入指令。在驗(yàn)證程序時(shí),則輸出指令。P1.0P1.7: P1口8位準(zhǔn)雙向并行I/O。在對8751片內(nèi)EPROM編程校驗(yàn)時(shí),用來傳送低8位地址。P2.0P2.7: P2口8位準(zhǔn)雙向并行I/O。當(dāng)訪問外部存儲器及8751片內(nèi)EPROM編程時(shí),用以傳輸高8位地址信號。P3.0-P3.7: P3口8位準(zhǔn)雙向并行I/O線,另外其第二功能為:P3.0-RXD (串行

22、數(shù)據(jù)接收)P3.1-TXD (串行數(shù)據(jù)發(fā)送)P3.2- (外部中斷0請求)P3.3- (外部中斷1請求)P3.4-T0 (定時(shí)/計(jì)數(shù)器0外輸入)P3.5-T1 (定時(shí)/計(jì)數(shù)器1外輸入) P3.6- (外部數(shù)據(jù)存儲器寫脈沖)P3.7- (外部數(shù)據(jù)存儲器讀脈沖)(2)ALE/PROG地址鎖存允許控制信號當(dāng)訪問外部存儲器時(shí),ALE將P0口輸出的低8位地址信號鎖存,完成低8位地址與數(shù)據(jù)的隔離。ALE信號的頻率為振蕩頻率的1/6。它可用于對外輸出時(shí)鐘,定時(shí)等。另外它又可做為8751片內(nèi)EPROM的編程脈沖輸入端。(3)外部程序存儲器讀選通信號低電平有效,在讀外部程序存儲器時(shí),每個機(jī)器周期內(nèi)輸出兩次有效信

23、號。在執(zhí)行內(nèi)部程序存儲器中的程序時(shí),該信號無輸出,在訪問外部數(shù)據(jù)存儲器時(shí),該信號將不會出現(xiàn)。(4)EA/VPP 當(dāng)EA為低電平時(shí),CPU只訪問外部程序存儲器,當(dāng)EA為高電平時(shí),CPU訪問片內(nèi)程序存儲器4KB的地址范圍;如果PC值超出4KB地址時(shí),將訪問外部程序存儲器。對于EPROM型單片機(jī)此引腳VPP為內(nèi)部EPROM編程提供+21V的編程電壓。(5)主電源引腳VSS和VCCVSS:接地。VCC:主電源+5V。(6)外接晶振引腳XTAL1和XTAL2(7)RTS/VPD單片機(jī)復(fù)位/備用電源引腳,當(dāng)輸入的復(fù)位信號延續(xù)2個機(jī)器周期以上高電平時(shí)為有效,用以完成對單片機(jī)的復(fù)位初始化操作。另外,此腳可接上

24、備用電源,在VCC掉電時(shí),可保護(hù)片內(nèi)RAM中的信息不丟失。1.2.3 單片機(jī)定時(shí)與工作方式1. 單片機(jī)定時(shí)/計(jì)數(shù)器的四種工作方式(1)工作方式0 定時(shí)器/計(jì)數(shù)器的工作方式0稱之為13位定時(shí)/計(jì)數(shù)方式。它由TL(1/0)的低5位和TH(0/1)的8位構(gòu)成13位的計(jì)數(shù)器,此時(shí)TL(1/0)的高3位未用,由我們根據(jù)需要自行決定。(2)工作方式1 工作方式1是16位的定時(shí)/計(jì)數(shù)方式,將M1M0設(shè)為01即可,其它特性與工作方式0相同。(3)工作方式2 通常這種式作方式用于波特率發(fā)生器(我們將在串行接口中講解),用于這種用途時(shí),定時(shí)器就是為了提供一個時(shí)間基準(zhǔn)。計(jì)數(shù)溢出后不需要做事情,要做的僅僅只有一件,就

25、是重新裝入預(yù)置數(shù),再開始計(jì)數(shù),而且中間不要任何延遲,可見這個任務(wù)用工作方式2來完成是做好的。(4)工作方式3 這種式作方式之下,定時(shí)/計(jì)數(shù)器0被拆成2個獨(dú)立的定時(shí)/計(jì)數(shù)器來用。其中,TL0可以構(gòu)成8位的定時(shí)器或計(jì)數(shù)器的工作方式,而TH0則只能作為定時(shí)器來用。我們知道作定時(shí)、計(jì)數(shù)器來用,需要控制,計(jì)滿后溢出需要有溢出標(biāo)記,T0被分成兩個來用,那就要兩套控制及、溢出標(biāo)記了,從何而來呢?TL0還是用原來的T0的標(biāo)記,而TH0則借用T1的標(biāo)記。如此T1不是無標(biāo)記、控制可用了嗎?是的。一般情況處,只有在T1以工作方式2運(yùn)行(當(dāng)波特率發(fā)生器用)時(shí),才讓T0工作于方式3的。2定時(shí)器/計(jì)數(shù)器的定時(shí)/計(jì)數(shù)范圍工

26、作方式0:13位定時(shí)/計(jì)數(shù)方式,因此,最多可以計(jì)到2的13次方,也就是8192次。工作方式1:16位定時(shí)/計(jì)數(shù)方式,因此,最多可以計(jì)到2的16次方,也就是65536次。工作方式2和工作方式3,都是8位的定時(shí)/計(jì)數(shù)方式,因此,最多可以計(jì)到2的8次方,也說是256次2 工作原理和設(shè)計(jì)思路及方案 2.1 基本原理本次課程設(shè)計(jì)用STC89C52作為主控器組成一個轉(zhuǎn)速表。電機(jī)轉(zhuǎn)速采用光電脈沖傳感器來測量,通過設(shè)置定時(shí)器/計(jì)數(shù)器T0為1S,設(shè)置定時(shí)器/計(jì)數(shù)器T1為計(jì)數(shù)器對光電傳感器傳過來的脈沖進(jìn)行計(jì)數(shù),電動機(jī)測速采用測周法,即每旋轉(zhuǎn)一周產(chǎn)生一個脈沖,則設(shè)在1s內(nèi)測量的脈沖個數(shù)為n,故測到轉(zhuǎn)速n就是脈沖頻率

27、,再乘以60就是電動機(jī)的轉(zhuǎn)速,單位為r/min。在此期間定時(shí)1s,在1s內(nèi)允許中斷,每中斷一次,軟件計(jì)數(shù)器加1,1s后,關(guān)閉中斷,則軟件計(jì)數(shù)器即為1s內(nèi)的脈沖數(shù),通過計(jì)數(shù)一定時(shí)間內(nèi)通過定時(shí)器的脈沖數(shù)通過軟硬件結(jié)合工作即可測出電機(jī)的轉(zhuǎn)速。2.2 設(shè)計(jì)思路為了確定其設(shè)計(jì)方案,首先必須構(gòu)思好初步的設(shè)計(jì)思路。根據(jù)設(shè)計(jì)要求和實(shí)驗(yàn)仿真條件,初步的設(shè)計(jì)思路可以總結(jié)如下: 1) 用信號發(fā)生器來產(chǎn)生頻率為0-500Hz的方波脈沖信號。2) 當(dāng)前轉(zhuǎn)速與電動機(jī)的狀態(tài)顯示用4段LED數(shù)碼管。 3) 鍵盤采用獨(dú)立式鍵盤,需要3個鍵。 4) 采樣時(shí)間用定時(shí)/計(jì)數(shù)器0來實(shí)現(xiàn)。 5) 用定時(shí)/計(jì)數(shù)器1來統(tǒng)計(jì)采樣時(shí)間內(nèi)的脈沖數(shù)

28、,進(jìn)而計(jì)算轉(zhuǎn)速。2.3 設(shè)計(jì)方案在單片機(jī)中,定時(shí)功能既可以由硬件(定時(shí)/記數(shù)器)實(shí)現(xiàn),也可通過 3軟件定時(shí)實(shí)現(xiàn)。硬件定時(shí)是利用單片機(jī)內(nèi)定時(shí)器定時(shí),啟動以后定時(shí)器可與CPU并行工作,不占用CPU時(shí)間,CPU有較高的工作效率。采用硬件定時(shí)和軟件定時(shí)并用的方式,即用T0溢出中斷功能實(shí)現(xiàn)50ms定時(shí),通過軟件延時(shí)程序?qū)崿F(xiàn)1s定時(shí)。定時(shí)器的TMOD用于設(shè)置定時(shí)器/計(jì)數(shù)器的工作方式03,并確定用于定時(shí)還是用于計(jì)數(shù)。TCON主要功能是為定時(shí)器在溢出時(shí)設(shè)定標(biāo)志位,并控制定時(shí)器的運(yùn)行或停止等。硬件電路設(shè)計(jì)如圖2.1所示。圖2.1硬件電路設(shè)計(jì)3 硬件電路設(shè)計(jì)3.1 按鍵設(shè)計(jì)電路圖 對于按鍵電路的設(shè)計(jì)可以有2種方式

29、:一種方式是直接按鍵設(shè)計(jì),也稱獨(dú)立按鍵,這種設(shè)計(jì)電路適用于按鍵較少的控制,具有按鍵電路簡單,編程方便等優(yōu)點(diǎn);另一種方式是矩陣式鍵盤的設(shè)計(jì),它適用于對控制按鍵較多的電路控制, 占用較少的I/O接口,但是按鍵電路復(fù)雜,編程比較復(fù)雜。本課題總共需要3按鍵,所以采用獨(dú)立按鍵設(shè)計(jì)。設(shè)計(jì)圖如3.1:由上到下的按鍵分別是復(fù)位、停止、啟動。圖3.1按鍵電路3.2 顯示電路設(shè)計(jì)圖 本課題所采用得是由LED(數(shù)碼管)作為顯示電路,用以顯示由單片機(jī)所接收的脈沖轉(zhuǎn)換來的BCD碼,以及開始測速時(shí)的各種狀態(tài)。硬件電路連接是單片機(jī)P0.0P0.7接數(shù)碼管的由AG、DP 8個各管腳,P2.0P2.3接數(shù)碼管的控制端W4、W3

30、、W2、W1采用共陽極連接的方法連接圖如圖3.2所示。圖3.2顯示電路3.3 脈沖產(chǎn)生電路設(shè)計(jì)圖 在實(shí)際做試驗(yàn)是由另一塊單片機(jī)產(chǎn)生脈沖,在本次設(shè)計(jì)中我讓另一塊單片機(jī)輸入1Hz頻率的脈沖,并把脈沖接到現(xiàn)實(shí)的單片機(jī)的P3.5口進(jìn)行計(jì)數(shù)。如圖3.3所示 圖3.3脈沖電路4 軟件設(shè)計(jì) 4.1 主程序流程及說明本次設(shè)計(jì)用T0做定時(shí)器定時(shí)時(shí)間為50ms 、T1作計(jì)數(shù)器,都設(shè)置為工作方式一。如圖4-1所示。圖4-1 主程序流程圖4.2 中斷服務(wù)子程序中斷服務(wù)子程序如圖4-2所示。圖4-2 中斷程序流程圖4.3 鍵盤掃描程序數(shù)字轉(zhuǎn)速表的鍵盤操作應(yīng)具有3個功能,即:啟動、停止、復(fù)位。本次采用的是直接連接的獨(dú)立式

31、按鍵,在鍵盤掃描過程中必須解決以下問題:1、是否有鍵按下;2、是哪一個鍵按下;3是不是有抖動;4、按鍵是不是松開。故在程序應(yīng)該注意以上問題,不然會產(chǎn)生問題,不能正確的對按鍵進(jìn)行識別。圖4-3為鍵盤流程圖:圖4-3 按鍵流程圖5 四位數(shù)碼管轉(zhuǎn)速表的仿真5.1 系統(tǒng)仿真軟件介紹5.1.1 Proteus軟件介紹Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者和從事單片機(jī)教學(xué)的教師以及致力于單片機(jī)開發(fā)應(yīng)用的

32、科技工作者的青睞。1.功能特點(diǎn):Proteus軟件具有其它EDA工具軟件(例:multisim)的功能。這些功能是:(1)原理布圖(2)PCB自動或人工布線(3)SPICE電路仿真2.顯著的特點(diǎn)是以下幾個方面:(1)互動的電路仿真用戶甚至可以實(shí)時(shí)采用諸如LED/LCD、鍵盤、RS232終端等動態(tài)外設(shè)模型來對設(shè)計(jì)進(jìn)行交互仿真。(2)仿真處理器及其外圍電路可以仿真51系列、AVR、PIC等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運(yùn)行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設(shè)計(jì)開發(fā)環(huán)境。3.本軟件具有3大功能模塊

33、:(1)個易用而又功能強(qiáng)大的ISIS原理布圖工具;(2)PROSPICE混合模型SPICE仿真;(3) ARES PCB設(shè)計(jì);4.Protues提供了豐富的資源:(1)Proteus可提供的仿真元器件資源:仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件,有30多個元件庫。(2)Proteus可提供的仿真儀表資源 :示波器、邏輯分析儀、虛擬終端、SPI調(diào)試器、I2C調(diào)試器、信號發(fā)生器、模式發(fā)生器、交直流電壓表、交直流電流表。理論上同一種儀器可以在一個電路中隨意的調(diào)用。(3)除了現(xiàn)實(shí)存在的儀器外,Proteus還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實(shí)時(shí)地顯示出來,其作用與示波器相

34、似,但功能更多。這些虛擬儀器儀表具有理想的參數(shù)指標(biāo),例如極高的輸入阻抗、極低的輸出阻抗。這些都盡可能減少了儀器對測量結(jié)果的影響。(4)Proteus可提供的調(diào)試手段 Proteus提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。5.軟件仿真功能如下:支持當(dāng)前的主流單片機(jī),如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等。(1)提供軟件調(diào)試功能;(2)提供豐富的外圍接口器件及其仿真;RAM,ROM,鍵盤,馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件。這樣很接近實(shí)際,在仿真時(shí),可以選擇

35、不同的方案。(3) 提供豐富的虛擬儀器;利用虛擬儀器在仿真過程中可以測量外圍電路的特性,培養(yǎng)學(xué)生實(shí)際硬件的調(diào)試能力。(4) 具有強(qiáng)大的原理圖繪制功能;6.電路功能仿真:在PROTUES繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.HEX,可以在PROTEUS的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。PROTEUS不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測

36、、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)是學(xué)生走向就業(yè)的重要實(shí)踐環(huán)節(jié)。由于PROTEUS提供了實(shí)驗(yàn)室無法相比的大量的元器件庫,提供了修改電路設(shè)計(jì)的靈活性、提供了實(shí)驗(yàn)室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)我們實(shí)踐精神、創(chuàng)造精神的平臺。隨著科技的發(fā)展,“計(jì)算機(jī)仿真技術(shù)”已成為許多設(shè)計(jì)部門重要的前期設(shè)計(jì)手段。它具有設(shè)計(jì)靈活,結(jié)果、過程的統(tǒng)一的特點(diǎn)。可使設(shè)計(jì)時(shí)間大為縮短、耗資大為減少,也可降低工程制造的風(fēng)險(xiǎn)。在單片機(jī)開發(fā)應(yīng)用中PROTEUS獲得愈來愈廣泛的應(yīng)用。5.1.2 Keil uVision3 軟件介紹單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源

37、程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼用于用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普通使用匯編語言到逐漸使用高級語言開發(fā),單片機(jī)的開發(fā)軟件業(yè)在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從今年來個仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil軟件需要Pent

38、ium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil就是你的選擇。即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。Keil C51開發(fā)系統(tǒng)基本知識Keil C51開發(fā)系統(tǒng)基本知識。1、系統(tǒng)概述:Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用

39、。用過匯編語言后再使用C來開發(fā),體會更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢。2、Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu):C51工具包的整體結(jié)構(gòu),其中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源

40、文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。Keil uVision3是目前使用廣泛的單片機(jī)開發(fā)軟件,它集成了源程序編輯和程序調(diào)試于一體,支持匯編、C、PL/M語言。Keil uVision3是德國Keil 公司開發(fā)的基于Windows環(huán)境的8051軟件開發(fā)平臺,是一個集項(xiàng)目管理、源程序

41、編輯、程序高度于一體的強(qiáng)大集成開發(fā)環(huán)境。uVision3支持Keil 的各種8051工具,包括C編譯器、宏匯編器、連接/定位器及0bject-hex轉(zhuǎn)換程序,以幫助用戶快速有效地進(jìn)行嵌入式系統(tǒng)的設(shè)計(jì)與調(diào)試.5.2 系統(tǒng)的仿真試驗(yàn)所涉及的2個軟件Keil uVsion4和proteus,以下是仿真步驟。程序調(diào)試部分:Keil uVsion4先新建一個工程,選擇芯片為AT89C52然后點(diǎn)擊是,然后彈出是否加入標(biāo)準(zhǔn)啟動文件,點(diǎn)擊否,再新建一個文件,保存為“文件名.C”。然后點(diǎn)開工程窗口的Target右鍵單擊出現(xiàn)彈出菜單,選擇添加文件到工程,選到剛才新建的文件然后點(diǎn)擊OK,輸入程序,點(diǎn)擊工程選擇,選中

42、Output中的Creat Hex File,然后編譯,連接生成Hex文件,有錯誤修改后再編譯鏈接。當(dāng)編譯結(jié)果中沒出現(xiàn)錯誤時(shí)證明該程序已不存在語法錯誤。是否能完成課題所要求的功能則需要進(jìn)行仿真。 仿真部分:運(yùn)行proteus的ISIS后進(jìn)入仿真界面將所需元件選擇好,根據(jù)原理圖畫出仿真圖,待仿真圖換好后雙擊AT89C52導(dǎo)入Keil uVsion4所產(chǎn)生的后綴名為.HEX文件,按開始鍵進(jìn)行仿真。 當(dāng)輸入脈沖為6HZ時(shí)輸出為525rad/min。 圖5.1原理圖圖5.2仿真圖5.3 四位數(shù)碼管轉(zhuǎn)速表程序#include /頭文件 #define uchar unsigned char /宏定義 #

43、define uint unsigned int /宏定義 void Display(void);uchar code table=0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, / 0 1 2 3 4 5 6 7 8 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71; /共陰數(shù)碼管代碼 0-F / 9 A B C D E F uint Count=0; /定時(shí)器中斷的次數(shù) uint Key_State,T_State; /定義鍵的狀態(tài)和定時(shí)器的狀態(tài) int second=0; /定時(shí)器1在1S內(nèi)計(jì)數(shù)的

44、次數(shù) sbit Stop=P30; /停止 sbit Reset=P31; /復(fù)位 sbit Start=P32; /啟動 void delay(uint ms) /延時(shí)子程序 uint i; while(ms-) for(i=0;i=20) /計(jì)數(shù)值到了20次,即1S就清0,并把定時(shí)器狀態(tài)設(shè)為1 Count=0; T_State=1; void T1timer() interrupt 3 /定時(shí)器1用于計(jì)數(shù) TH1=0; /重裝初值 TL1=0; 總 結(jié)實(shí)驗(yàn)表明,本系統(tǒng)的設(shè)計(jì)在功能上完全滿足要求。鍵盤上的各鍵都有效果,且能實(shí)現(xiàn)其功能;顯示器也完全能滿足要求;轉(zhuǎn)速的測量基本上無誤差,之所以還存在很小的誤差是因?yàn)樵谟?jì)算上計(jì)算誤差??偟膩碚f,本設(shè)計(jì)是合理的,但應(yīng)當(dāng)指出的是此系統(tǒng)還可以采用其它更好的方案,從而達(dá)到更好的效果

溫馨提示

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

評論

0/150

提交評論