單片機(jī)輸出方波及顯示寬度_第1頁
單片機(jī)輸出方波及顯示寬度_第2頁
單片機(jī)輸出方波及顯示寬度_第3頁
單片機(jī)輸出方波及顯示寬度_第4頁
單片機(jī)輸出方波及顯示寬度_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)最小應(yīng)用系統(tǒng) 設(shè) 計(jì) 報(bào) 告 前言  近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測日新月益更新.在實(shí)時(shí)檢測和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,加以完善. 單片機(jī)是指在一個(gè)芯片上集成了中央處理器、存儲(chǔ)器和各種I/O接口的微型計(jì)算機(jī),它主要面向控制性應(yīng)用領(lǐng)域,因此又稱為嵌入式微控制器。單片機(jī)誕生30多年以來,其品種、功能和應(yīng)用技術(shù)都得到飛速的發(fā)展,單片機(jī)的應(yīng)用已深入國民經(jīng)濟(jì)和日常生活的各個(gè)領(lǐng)域。 本次課程設(shè)計(jì)目的主要

2、是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。 本課程設(shè)計(jì)實(shí)在學(xué)完單片機(jī)原理及課程之后綜合利用所學(xué)單片機(jī)只是完成一個(gè)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)并在實(shí)驗(yàn)室實(shí)現(xiàn)。該課程設(shè)計(jì)的主要任務(wù)是通過解決一、兩個(gè)實(shí)際問題,鞏固和加深“單片機(jī)原理和應(yīng)用”課程中所學(xué)的理論知識(shí)和實(shí)驗(yàn)?zāi)芰Γ菊莆諉纹瑱C(jī)應(yīng)用電路的一般設(shè)計(jì)方法,提高電子電路的設(shè)計(jì)和實(shí)驗(yàn)?zāi)芰Γ由顚?duì)

3、單片機(jī)軟硬知識(shí)的理解,獲的初步的應(yīng)用經(jīng)驗(yàn),為以后從事生產(chǎn)和科研工作打下一定的基礎(chǔ)。摘要單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。單片機(jī)是20世紀(jì)中期發(fā)展起來的一種面向控制的大規(guī)模集成電路模塊,具有功能強(qiáng)、體積小、可靠性高、價(jià)格低廉等特點(diǎn),在工業(yè)控制、數(shù)據(jù)采集、智能儀表、機(jī)電一體化、家用電器等領(lǐng)域得到了廣泛的應(yīng)用,極大的提高了這些領(lǐng)域的技術(shù)水平和自動(dòng)化程度。單片機(jī)應(yīng)用的意義絕不僅限于它的廣闊范圍以及帶來的經(jīng)濟(jì)效益,更重要的意義在于,單片機(jī)的應(yīng)用正從根本上改變著傳統(tǒng)的控制系統(tǒng)的設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模

4、擬電路或數(shù)字電路實(shí)現(xiàn)的大部分控制功能,現(xiàn)在使用單片機(jī)通過軟件就能實(shí)現(xiàn)了。隨著單片機(jī)應(yīng)用的推廣普及,單片機(jī)控制技術(shù)將不斷發(fā)展,日益完善。本文是設(shè)計(jì)頻率/脈沖寬度的測量與顯示的硬件電路與程序的編制。它可以測量脈沖信號(hào)的脈沖寬度,頻率等參數(shù)。利用定時(shí)器的門控信號(hào)GATE進(jìn)行控制可以實(shí)現(xiàn)脈沖寬度的測量。利用定時(shí)器T0定時(shí)T1計(jì)數(shù)來測量由P3.5口輸入的脈沖信號(hào)的頻率。在單片機(jī)應(yīng)用系統(tǒng)中,為了便于對(duì)LED顯示器進(jìn)行管理,需要建立一個(gè)顯示緩沖區(qū)。顯示時(shí)采用動(dòng)態(tài)掃描的方式將將各位數(shù)的BCD碼依序輸入到LED中,并連續(xù)掃描2秒鐘。通過采用STC89C52RC單片機(jī)為中心器件來設(shè)計(jì)脈沖寬度測量器,并運(yùn)用MCS5

5、1/52單片機(jī)計(jì)數(shù)功能,選擇好工作模式,對(duì)脈寬進(jìn)行計(jì)數(shù)。在現(xiàn)有的單片機(jī)仿真機(jī)系統(tǒng)上掌握相關(guān)軟硬件設(shè)計(jì)與調(diào)試知識(shí),并在計(jì)算機(jī)上編寫匯編程序調(diào)試運(yùn)行。關(guān)鍵詞: 門控信號(hào)GATE;脈沖寬度;擴(kuò)展測量范圍;脈沖頻率ABSTRACTAlong with the large scale integrated circuit technology and the computer technology rapid development, the computer logic unit and the controller (namely CPU), the memory and the many kind

6、s of interfaces integration the chip which becomes together on the chip is a monolithic integrated circuit. The monolithic integrated circuit is published for 20 years, development speed swift and violent, the application scope was broad is formerly any technology all is unable to compare. The monol

7、ithic integrated circuit achievement inserts declines controller its application to be very popular. This ticle introduced the monolithic integrated circuit concept, the classification, the developing process, and use the MCS-51 monolithic integrated circuit and the CD4094 monolithic integrated circ

8、uit design multipurpose square wave-form oscillator hardware electric circuit and the control circuit, and has carried on the software programming to the monolithic integrated circuit, causes manufacture and production multipurpose square-wave signal generating device which the user may facilitate.

9、The this article first chapter simply introduced the monolithic integrated circuit developing process and the application domain; Second chapter take the MCS-51 monolithic integrated circuit as the example, specifically introduces the monolithic integrated circuit the structure as well as the princi

10、ple of work; Third chapter uses the MCS-51 monolithic integrated circuit and the CD4094 monolithic integrated circuit design multipurpose square wave-form oscillator hardware electric circuit and the control circuit, and carries on the software programming. Key word: Microprocessor, monolithic integ

11、rated circuit, MCS-51 monolithic integrated circuit, multipurpose signal generating device electric circuit, multipurpose signal generating device program,Key words: Microprocessor,目錄前言3摘要3目錄4一、設(shè)計(jì)原理41.1脈沖寬度測量原理61.1脈沖頻率測量原理71.2擴(kuò)展測量范圍原理7二、實(shí)驗(yàn)課題內(nèi)容及要求8三、實(shí)驗(yàn)?zāi)康募耙饬x9四、系統(tǒng)硬件電路104.1硬件電路說明104.2系統(tǒng)調(diào)試及結(jié)果分析134.3最小系統(tǒng)控

12、制部分154.3.1晶振電路64.3.2復(fù)位電路7五、軟件設(shè)計(jì)265.1程序流程圖275.2程序源代碼28六、注意事項(xiàng)及解決問題的方案31七、心得體會(huì)32八、參考文獻(xiàn)34一、設(shè)計(jì)原理(1)T0工作方式通過設(shè)置TMOD,使其為定時(shí)器模式。在做定時(shí)器使用時(shí),將T0定時(shí)為0.001S。當(dāng)GATE=1時(shí),為門控方式。只有TR0設(shè)置為1,且同時(shí)外部中斷引腳也為高電平時(shí),才能啟動(dòng)T0開始計(jì)數(shù)工作。把脈沖信號(hào)從P3.2腳引入,T0設(shè)為定時(shí)器方式工作,并工作在門控方式(GATE=1)。在待測信號(hào)高電平期間,T0對(duì)內(nèi)部周期脈沖進(jìn)行計(jì)數(shù)。在待測脈沖高電平結(jié)束時(shí),其下降沿向P3.2發(fā)中斷,在外部中斷0的中斷服務(wù)程序

13、中,讀取TH0、TL0的計(jì)數(shù)值,該值就是待測脈沖的脈寬。隨后,清零TH0和TL0,以便下一個(gè)脈寬的測量。計(jì)算方法:脈沖寬度=計(jì)數(shù)值*0.01s,將脈沖寬度的數(shù)值轉(zhuǎn)換為壓縮BCD碼,再將壓縮BCD碼轉(zhuǎn)換為非壓縮BCD碼用于顯示,最后調(diào)用顯示程序,讀取脈沖寬度。(2)T2捕捉工作方式使用T2的捕捉方式,TH2、TL2的初值設(shè)為0,待測信號(hào)從T2EX(P1.1)引入,采用定時(shí)器T0定時(shí)0.001s,剛開始待測信號(hào)為高電平或低電平時(shí)等待,再次檢測為高電平時(shí)T2開始計(jì)數(shù),定時(shí)器T0每定時(shí)0.001s,通過串口P1.0的開關(guān)狀態(tài)使T2的計(jì)數(shù)值增一并將計(jì)數(shù)值存入RCAP2H和RCAP2L兩個(gè)寄存器中。計(jì)算方

14、法:脈沖寬度=計(jì)數(shù)值*0.001s,再將得到的表示脈沖寬度的十六進(jìn)制轉(zhuǎn)換為壓縮BCD碼,再將壓縮BCD碼轉(zhuǎn)換為非壓縮BCD碼用來顯示,讀取LED上顯示的數(shù)據(jù)即為要測量的脈沖寬度。1.1 脈沖寬度測量利用定時(shí)器的門控信號(hào)GATE進(jìn)行控制可以實(shí)現(xiàn)脈沖寬度的測量。對(duì)定時(shí)器T1來講,如果GATE=0,必須使軟件控制位TR1=1,且INT1為高電平方可啟動(dòng)定時(shí)器T1,即定時(shí)器T1的啟動(dòng)要受外部中斷請(qǐng)求信號(hào)INT1的影響。利用此特點(diǎn),被測脈沖信號(hào)從INT1端引入,其上升沿啟動(dòng)T1計(jì)數(shù),下降沿停止T1計(jì)數(shù)。定時(shí)器的計(jì)數(shù)值乘以機(jī)器周期即為脈沖寬度。下圖中給出了脈沖寬度測量的原理圖。 為低時(shí)啟動(dòng)T1 下降沿停止

15、計(jì)數(shù) 被檢測脈沖信號(hào) INT1 為高則等待 上升沿開始計(jì)數(shù) 圖1 脈沖寬度測量過程 圖 2 系統(tǒng)原理圖1.2 脈沖頻率測量頻率測量實(shí)際上就是在1s內(nèi)對(duì)脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),計(jì)數(shù)值就是信號(hào)頻率。令定時(shí)器T0工作在方式1,得到100ms的定時(shí)間隔,再進(jìn)行軟件計(jì)數(shù)10次,形成一個(gè)1s的測量閘門信號(hào)。在測量閘門信號(hào)期間令計(jì)數(shù)器T1工作在計(jì)數(shù)方式1,對(duì)脈沖信號(hào)的頻率計(jì)數(shù),計(jì)數(shù)值存入COUNT、COUNT+1和COUNT+2單元,計(jì)數(shù)值通過6位動(dòng)態(tài)數(shù)碼管顯示出來。1.3 擴(kuò)展測量范圍原理上述系統(tǒng)被測脈沖寬度范圍最大為65535us,擴(kuò)展計(jì)數(shù)器的位數(shù)可提高脈沖寬度的測量范圍。令定時(shí)器T1工作在方式1定時(shí),GAT

16、E=1,用COUNT單元,COUNT+1單元即定時(shí)器T1的計(jì)數(shù)單元TH1和TL1組成一個(gè)32位的計(jì)數(shù)器對(duì)脈沖寬度進(jìn)行測量。并且在定時(shí)器T1溢出時(shí),給COUNT+2賦值#01H,并將THI和TH0置零,重新開始計(jì)數(shù)。以擴(kuò)展系統(tǒng)測量范圍使可以達(dá)到130ms的任務(wù)要求。同時(shí)在進(jìn)行頻率測量時(shí),當(dāng)計(jì)數(shù)器T1溢出時(shí),給COUNT+2賦值#01H,并將THI和TH0置零,重新開始計(jì)數(shù)。以擴(kuò)展系統(tǒng)測量范圍使可以達(dá)到100KHZ的任務(wù)要求。二、實(shí)驗(yàn)課題內(nèi)容及要求2.1 要求用8031單片機(jī)控制可測方波1001000Hz,并測量方波寬度2.2 設(shè)計(jì)內(nèi)容 利用單片機(jī)及4位LED數(shù)碼管做成四位脈寬顯示 ,在

17、一個(gè)脈寬期間對(duì)內(nèi)部周期進(jìn)行計(jì)數(shù),得到的一個(gè)高電平脈沖內(nèi)的計(jì)數(shù)值顯示在四位數(shù)碼管上,并達(dá)到相應(yīng)的技術(shù)指標(biāo)要求技術(shù)指標(biāo) (1) 輸入脈沖幅度:0-5V (2) 脈寬測量范圍:0.1-50ms  (3) 測量精度:±1% (4) 顯示方式:四位數(shù)字顯示  計(jì)數(shù) 被檢測脈沖信號(hào) 為高則開始計(jì)數(shù) 為低時(shí)停止計(jì)數(shù)T0:把脈沖信號(hào)從P3.2腳引入,T0設(shè)為定時(shí)器方式工作,并工作在門控方式(GATE=1)。在待測信號(hào)高電平期間,T0對(duì)內(nèi)部周期脈沖進(jìn)行計(jì)數(shù)。在待測脈沖高電平結(jié)束時(shí),其下降沿向P3.2發(fā)中

18、斷,在外部中斷0的中斷服務(wù)程序中,讀取TH0、TL0的計(jì)數(shù)值,計(jì)算出所測。隨后,清零TH0和TL0,以便下一個(gè)脈寬的測量。顯示:將數(shù)碼管的段控信號(hào)與P口與六位LED數(shù)碼管相連。T2:使用T2捕捉方式時(shí)將脈沖信號(hào)加到P1.1引腳,并且同時(shí)開通T0定時(shí)器,將數(shù)碼管的段控信號(hào)與P0口與六位LED數(shù)碼管相連,將位控信號(hào)P2與鍵盤相連。三、實(shí)驗(yàn)?zāi)康募耙饬x目的:1、 加深外部中斷指令的基本使用方法;2、 熟悉外部中斷處理程序的編程方法;3、 進(jìn)一步熟悉8051內(nèi)部定時(shí)/計(jì)數(shù)器的初始化、使用方法及編程法;4、 進(jìn)一步掌握8051中斷處理程序的編程方法和應(yīng)用;5、 掌握I/O接口的基本方法;6、 學(xué)會(huì)使用并熟

19、練掌握電路繪制軟件Protel99SE(或DXP)。7、基于 STC89C52RC單片機(jī)測量脈沖寬度; 8、研究分別使用定時(shí)計(jì)數(shù)器 0,1 的 GATE 模式和定時(shí)計(jì)數(shù)器 2 的捕捉功能完成外部脈沖寬度測量; 9、通過6位 LED顯示計(jì)數(shù)值,時(shí)間精確到 0.1秒。并熟悉了解試驗(yàn)箱的應(yīng)用,提高動(dòng)手能力。意義:1、通過單片機(jī)的綜合設(shè)計(jì),能夠?qū)⑺鶎W(xué)的知識(shí)融會(huì)貫通,鍛煉獨(dú)立設(shè)計(jì)、制作和調(diào)試單片機(jī)的應(yīng)用系統(tǒng)能力,領(lǐng)會(huì)單片機(jī)應(yīng)用系統(tǒng)的軟件、硬件調(diào)試方法和系統(tǒng)的研制開發(fā)過程,為進(jìn)一步的科研實(shí)踐活動(dòng)打下一定的基礎(chǔ)。2、通過單片機(jī)綜合設(shè)計(jì)更加熟悉的掌握51單片機(jī)的應(yīng)用;掌握了方波頻率計(jì)算以及形成的原理,更加進(jìn)一

20、步的學(xué)習(xí)方波寬度的測量,并且對(duì)軟件編程及硬件設(shè)計(jì)方法更加好的掌握,掌握根據(jù)課題要求,提出并選擇設(shè)計(jì)方案、查找確定所用元器件、設(shè)計(jì)并搭制硬件電路、編程寫入并調(diào)試等的一系列,掌握單片機(jī)應(yīng)用的基本方法與步驟。3、通過單片機(jī)的綜合設(shè)計(jì),對(duì)輸出方波的原理有很大的了解,掌握方波頻率的計(jì)算方法,同時(shí)對(duì)其脈沖測量過程學(xué)習(xí)到很多,在設(shè)計(jì)中對(duì)系統(tǒng)原理圖也有很好地掌握,實(shí)驗(yàn)中和本組隊(duì)員努力配合,明白團(tuán)隊(duì)的努力是偉大的。 四、系統(tǒng)硬件電路整個(gè)設(shè)計(jì)主要包括單片機(jī)基本的晶振電路,按鍵復(fù)位電路,設(shè)計(jì)中需要的LED管,開關(guān)、按鍵等。具體的電路圖如下圖1所示圖1系統(tǒng)設(shè)計(jì)總電路圖4.1硬件電路說明 本次硬件系統(tǒng)包括單片機(jī)最小系統(tǒng)

21、、外部中斷電路、LED顯示電路三部分在下面介紹中對(duì)每一部分都有詳細(xì)的說明。AT89C51單片機(jī)簡介 AT89S51單片機(jī)是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4K bytes的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度,非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲(chǔ)器,既可在線編程(ISP)也可用傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強(qiáng)大,低價(jià)AT89S51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。圖2 AT89S51引腳圖AT89S51是一個(gè)低功耗,高性

22、能CMOS 8位單片機(jī),片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及89C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。1、AT89S51具有如下特點(diǎn):40個(gè)引腳,8k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷

23、嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。2、AT89S51的運(yùn)行模式 (1)空閑模式 在空閑模式下,CPU處于睡眠狀態(tài),振蕩器和所有片內(nèi)外圍電路仍然有效??臻e模式可由軟件設(shè)置進(jìn)入(設(shè)IDL1)。在這種模式下,片內(nèi)RAM和SFR中的內(nèi)容保持不變。空閑模式可通過任何一個(gè)允許中斷或硬件復(fù)位退出。 若用硬件復(fù)位方式結(jié)束空閑模式,則在片內(nèi)復(fù)位控制邏輯發(fā)生作用前長達(dá)約兩個(gè)機(jī)器周期時(shí)間內(nèi),器件從斷點(diǎn)處開始執(zhí)行程序。片內(nèi)硬件禁止訪問內(nèi)部RAM,但不禁止訪問端口。為避免采用復(fù)位方式退出空閑模式時(shí)對(duì)端口的不應(yīng)有的訪問,在緊隨設(shè)置進(jìn)入空閑指令(即設(shè)IDL1)

24、的后面,不能是寫端口或外部RAM的指令。(2)掉電模式引起掉電模式的指令是執(zhí)行程序中的最后一條指令(使PD1的指令)。在掉電模式下,振蕩器停止工作,CPU和片內(nèi)所有外圍部件均停止工作,但片內(nèi)RAM和SFR中的內(nèi)容保留不變,直到掉電模式結(jié)束。 退出掉電模式可用硬件復(fù)位或任何一個(gè)有效的外部中斷INT0和INT1。復(fù)位可重新設(shè)置SFR中的內(nèi)容,但不改變片內(nèi)RAM中的內(nèi)容。在Vcc電源恢復(fù)到正常值并維持足夠長的時(shí)間之后,允許振蕩器恢復(fù)并達(dá)到穩(wěn)定,方可進(jìn)行復(fù)位,以退出掉電模式。3、MCS-51系列單片機(jī)的并行I/O口接口電路是微機(jī)必不可少的組成部分,并行輸入確出接口是CPU和外部進(jìn)行信息交換的主要通道。

25、MSC51系列單片有4個(gè)8位并行雙向I/O口P0P3,共32根I/O線。每一根線能獨(dú)立用作輸入或輸出。單片機(jī)可以外接鍵盤、顯示器等外圍設(shè)備還可以進(jìn)行系統(tǒng)擴(kuò)展,以解決硬件資源不足問題。4個(gè)并行口都是雙向口,既可以輸入又可以輸出。P0、P2口經(jīng)常作外部擴(kuò)展存儲(chǔ)器時(shí)的數(shù)據(jù)、地址線,P3口除作I/O口外,每一根都有第二功能。這4個(gè)I/O口結(jié)構(gòu)基本相同,但仍存在差別。(1) P1口是最常用的I/O口如圖3所示,因?yàn)椴蛔鲾?shù)據(jù)地址線,其結(jié)構(gòu)中沒有數(shù)據(jù)地址線,也沒有多路開關(guān)MUX,輸出驅(qū)動(dòng)電路接有上拉電阻。P1口輸入輸出時(shí)與P0作I/O時(shí)相似,輸出數(shù)據(jù)時(shí)先寫入鎖存器,經(jīng)Q端反相,再經(jīng)場效應(yīng)管反相輸出到引腳。輸

26、入時(shí),先向鎖存器寫l,使v管截止外部引腳信號(hào)由下方讀緩沖器送入內(nèi)部總線,完成讀引腳操作。P1口也可以讀鎖存器。外部提升電阻將引腳拉升至高電平,但輸人的低電平信號(hào)能將其拉低,不會(huì)影響低電平的輸入。圖3 P1口一位結(jié)構(gòu)(2) P3口為雙功能口,當(dāng)P3口作為通用I/O口使用時(shí),它為準(zhǔn)雙向口,且每位都可定義為輸入或輸出口,其工作原理同P1口類似。 (3)P3口還具有第二功能,其引腳描述,P3口特殊功能口線特殊功能信號(hào)名稱P3.0RXD串行輸入口P3.1TXD串行輸出口P3.2 外部中斷0輸入口P3.3 外部中斷1輸入口P3.4T0定時(shí)器0外部輸入口P3.5T1定時(shí)器1外部輸入口P3

27、.6WR寫選通輸出口P3.7RD讀選通輸出口4.2系統(tǒng)調(diào)試及結(jié)果分析1、硬件調(diào)試 硬件電路板中器件連接好后,先用萬用表測試電路中有無虛焊短接之處,測試無誤后,將板子通電,進(jìn)行靜態(tài)調(diào)試。 取好兩跟短的導(dǎo)線,一根導(dǎo)線的其中一端接地,另一端接P2.3P2.0口中的一個(gè)口,若數(shù)碼管亮,再用另一根導(dǎo)線,其中異端接地,另一端與P0.0P0.7依次接觸,看數(shù)碼管各段的亮滅情況,從而判斷每個(gè)數(shù)碼管各段的好壞及電路的是否正確。 2、軟件調(diào)試   3、結(jié)果分析 因?yàn)閺脑O(shè)計(jì)程序分析,數(shù)碼管顯示器動(dòng)態(tài)到秒的頻率約為167HZ,實(shí)際使用觀察時(shí)完全沒有

28、閃爍,由于計(jì)時(shí)中斷程序中加了中斷延時(shí)誤差處理,所以,實(shí)際設(shè)計(jì)時(shí)精度非常的高。4.3最小系統(tǒng)控制部分4.3.1單片機(jī)最小系統(tǒng)單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn)的,有條不紊地進(jìn)行工作。因而時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路方式有兩種:一種是內(nèi)部時(shí)鐘方式,一種是外部時(shí)鐘方式,這里采用的是內(nèi)部時(shí)鐘方式,外接晶振。時(shí)鐘電路由片外晶體、微調(diào)電容和單片機(jī)的內(nèi)部電路組成。選取頻率為11.0592MHz的晶振,微調(diào)電容是瓷片電容。89S52單片機(jī)的P0.7口作為波形輸出口,若接示波器,則可通過示波器來觀察波形,是一個(gè)矩形波。此單元電路包括時(shí)鐘電路、復(fù)

29、位電路,具體電路如圖2所示:小鍵盤接口電路小鍵盤如圖3所示。它包括8個(gè)鍵,系統(tǒng)中用到的鍵只有5個(gè),分別為0號(hào)、1號(hào)、2號(hào)、3號(hào)、4號(hào)鍵。其中0號(hào)鍵是狀態(tài)鍵,采用外部中斷控制,用它來確定其它幾個(gè)鍵的按鍵功能,具體作用在前述的系統(tǒng)功能中已做介紹了;另外4個(gè)鍵為功能鍵,調(diào)節(jié)頻率與占空比的。小鍵盤中引出的6根線依次分別接單片機(jī)的P1.0、P1.1、P1.2、P1.3、P1.4、P1.5口。4.3.2晶振電路電源引腳Vcc和Vss Vcc:電源端,接5V。 Vss:接地端。 時(shí)鐘電路引腳XTAL1和XTAL2 XTAL1:接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,若使用外部TTL時(shí)鐘

30、時(shí),該引腳必須接地。XTAL2:接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出,若使用外部TTL時(shí)鐘時(shí),該引腳為外部時(shí)鐘的輸入端。系統(tǒng)擴(kuò)展時(shí),ALE用于控制地址鎖存器鎖存P0口輸出的低8位地址,從而實(shí)現(xiàn)數(shù)據(jù)與低位地址的復(fù)用。圖4 系統(tǒng)晶振電路系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路(如圖5所示)。AT89S單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對(duì)外接電容

31、的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為22F。在焊接刷電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。外部程序存儲(chǔ)器讀選通信號(hào),是讀外部程序存儲(chǔ)器的選通信號(hào),低電平有效。程序存儲(chǔ)器地址允許輸入端 /VPP。 當(dāng)為高電平時(shí),CPU執(zhí)行片內(nèi)程序存儲(chǔ)器指令,但當(dāng)PC中的值超過0FFFH時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行片外程序存儲(chǔ)器指令。當(dāng)為低電平時(shí),CPU只執(zhí)行片外程序存儲(chǔ)器指令。輸入/輸出口引腳P0、P1

32、、P2和P3。P0口(P0.0P0.7):該端口為漏極開路的8位準(zhǔn)雙向口,負(fù)載能力位8高LSTTL負(fù)載,它為8位地址線和8位數(shù)據(jù)線的復(fù)用端口。P1口(P1.0P1.7):它是一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P1口的驅(qū)動(dòng)能力為4個(gè)LSTTL負(fù)載。P2口(P2.0P2.7):它為一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P2口的驅(qū)動(dòng)能力也為4個(gè)LSTTL負(fù)載。在訪問外部程序存儲(chǔ)器時(shí),它作存儲(chǔ)器的高8位地址線。P3口(P3.0P3.7):P3口同樣是內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P3口除了作為一般的I/O口使用之外,其還具有特殊功能。3.3.3復(fù)位電路復(fù)位使單片機(jī)處于起始狀態(tài),并從此狀態(tài)

33、開始運(yùn)行MCS5-51單片機(jī)RST引腳為復(fù)位端,該引腳連續(xù)保持2個(gè)機(jī)器周期(24個(gè)時(shí)鐘振蕩周期)以上的高電平。可使單片機(jī)復(fù)位。本論文使用的是外部復(fù)位電路,單片機(jī)在啟動(dòng)后要從復(fù)位狀態(tài)開始運(yùn)行,因此上電時(shí)要完成復(fù)位工作,稱上電復(fù)位,如圖6a所示。上電瞬間電容兩端的電壓不能發(fā)生突變,只RST端為高電平5v,上電后電容通過及RC電路放電RST端電壓逐漸下降,直至低電平0V,如圖6c所示。適當(dāng)選擇R、C的值,使RST端的高I電平維持2個(gè)機(jī)器周期以上即可完成復(fù)位。單片機(jī)L在運(yùn)行過程中,出于本身或外并干擾的原因會(huì)導(dǎo)致出錯(cuò)。這時(shí)可按復(fù)位鍵以重新開始遠(yuǎn)行,按鍵復(fù)位可分為按鍵電平復(fù)位或按健脈沖復(fù)位,如圖6b所示。

34、按鍵脈沖復(fù)位和上電平復(fù)值的原理是一樣的,都是利用RC電路的放電原理,如圖6d所示。讓RST端能保持一段時(shí)間的高電平,以完成復(fù)位,按鍵電平復(fù)位時(shí),按鍵時(shí)間也應(yīng)保持在兩個(gè)機(jī)器周期以上。(a) 上電復(fù)位(b)按鍵電平復(fù)位(c)RC放電過程(d) 電平復(fù)位過程圖5 單片機(jī)常用復(fù)位電路根據(jù)設(shè)計(jì)要求和計(jì)算簡便的原則,我們選擇12M的石英晶振、30PF的電容、+5V電源,最小系統(tǒng)如下:圖6最小系統(tǒng)連接圖4.4 數(shù)碼管顯示電路圖7四位數(shù)碼管引腳圖四位數(shù)碼管引腳如上圖所示,在實(shí)際判別中,讓有小數(shù)點(diǎn)的端對(duì)著自己,上面引腳的功能為1,a,f,2,3,b下面引腳為e,d,p,c,g,4根據(jù)七段數(shù)碼管的連接原則,可以將

35、abcdefg分別依次連接在P0口,然后由P2口控制片選信號(hào)就可以了 內(nèi)部的四個(gè)共用adp這8根數(shù)據(jù)線,為人們的使用提供了方便,因?yàn)槔锩嬗兴膫€(gè)數(shù)碼管,所以它有四個(gè)公共端,加上adp,共有12個(gè)引腳,下面便是一個(gè)共陰的四位數(shù)碼管的內(nèi)部結(jié)構(gòu)圖(共陽的與之相反)。引腳排列依然是從左下角的那個(gè)腳(1腳)開始,以逆時(shí)針方向依次為112腳,下圖中的數(shù)字與之一一對(duì)應(yīng)。系統(tǒng)各模塊 信號(hào)產(chǎn)生電路、被測信號(hào)、單片機(jī)、顯示 2、硬件裝備圖    器件參數(shù): 數(shù)碼管4個(gè),排阻,74LS07芯片,74LS00芯片,電阻510歐,電容uf,4.7uf,

36、20pf,晶振,導(dǎo)線諾干。 4  管腳說明 VCC:供電電壓。 GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在編程時(shí),P0 口作為原碼輸入口,當(dāng)進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入

37、時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地 “1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口也可作為89C51的一些特殊功能口,在本次課程設(shè)計(jì)中用到的P3口如下所示: P3.2 /INT0(外部中斷0) RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 XTAL1:反向振蕩放大器

38、的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。硬件焊接:先根據(jù)裝備圖進(jìn)行各元件排版,然后根據(jù)元件的排放進(jìn)行布線,盡量導(dǎo)線不要疊加。然后把元器件焊在板子上,用導(dǎo)線全部焊接一起。焊接完后,再仔細(xì)檢查。五、軟件設(shè)計(jì)5.1程序流程圖方波發(fā)生器的軟件設(shè)計(jì)包括主程序、延時(shí)子程序、系統(tǒng)初始化程序、顯示子程序、鍵盤掃描程序、定時(shí)器中斷子程序。其中主程序用來控制整個(gè)程序的執(zhí)行,它與各子程序緊密相聯(lián),共同實(shí)現(xiàn)方波發(fā)生器各種功能的執(zhí)行。開始啟動(dòng)定時(shí)器緩存區(qū)初始化調(diào)用數(shù)字轉(zhuǎn)換程序調(diào)用顯示程序 END一分鐘5.2程序源代碼 LED1 equ 40hLED2 equ 41hLED3 equ

39、 42h;存放三個(gè)數(shù)碼管段碼org 0003h;外部中斷0入口地址Ljmp T0_INTorg 1bh;定時(shí)器1中斷入口jmp t1_int;org 0000hljmp mainorg 0030hmain: MOV R1,#00H SETB EA SETB EX0;外部中斷 SETB ET1;定時(shí)器中斷 setb it0;外部中斷0在下降沿時(shí)工作 mov tmod,#00010000b;1作定時(shí)器 setb tr1;激活定時(shí)器 MOV TL1,#00H MOV TH1,#4CH MOV SP,#60H mov R0,#200;延遲10S ;MOV R3, #40H BCD: mov A,R1;

40、 mov B,#100; DIV AB; DA A MOV LED3,A;存百位 MOV A,B MOV B,#10 DIV AB DA A MOV LED2,A;存十位 MOV LED1,B;存?zhèn)€位 LCALL DISPLAY LJMP BCD DISPLAY: MOV P0,#0FFH MOV R4,#11111110B MOV R3,#3 LOOP: MOV A,R4 MOV P2,A ;MOV R5,LED1 ;MOV A,R5 ;MOV A,R5 MOV A,LED1 MOV DPTR , #TAB MOVC A,A+DPTR MOV P0,A LCALL DELAY MOV A,R

41、4 RLC A MOV R4,A ;INC R5 ;MOV LED1,LED2 INC LED1 DJNZ R3,LOOP ;JB ACC.3,DISPLAY RETI t0_int: ;外部中斷0 PUSH PSWPUSH ACC INC R1 POP ACC POP PSW RETI t1_int: ;定時(shí)器中斷 PUSH PSWPUSH ACC DJNZ R0,GO CLR EX0 GO: POP ACC POP PSW RETI delay:;5MS MOV R6,#10D1: MOV R7,#250 DJNZ R7,$ DJNZ R6,D1 RET tab:db 3fh,06h,5b

42、h,4fh,66h,6dh,7dh,07h,7fh,6fh;數(shù)碼管的顯示碼表 end5.3系統(tǒng)實(shí)現(xiàn)功能在電源正確接入的前提下,由RC震蕩器產(chǎn)生信號(hào)從P3.2口輸入,利用內(nèi)部脈沖對(duì)外部信號(hào)進(jìn)行計(jì)數(shù)。計(jì)數(shù)值經(jīng)過二十轉(zhuǎn)換后,判斷高位是否為零,如果為零即顯示低四位,如果不為零即顯示高四位。通過數(shù)碼管顯示計(jì)數(shù)脈沖的個(gè)數(shù),其個(gè)數(shù)即為脈沖寬度。簡單的流程為:主程序掃描鍵盤,將設(shè)置信息輸入,處理后,輸出到LED顯示器顯示。單片機(jī)的晶振為11.0592MHz,用到了兩個(gè)定時(shí)器,即定時(shí)器0與定時(shí)器1,分別進(jìn)行頻率與占空比的定時(shí),兩個(gè)定時(shí)器都是工作在方式1。根據(jù)計(jì)算定時(shí)器初值的公式: 計(jì)算出定時(shí)器0與定時(shí)器1所要裝

43、入的初值。頻率及占空比的顯示電路由74LS164構(gòu)成的驅(qū)動(dòng)電路和LED數(shù)碼顯示管組成,利用八個(gè)數(shù)碼管來顯示,有五位是用來顯示頻率的,有兩位是顯示占空比的,在頻率與占空比顯示管中間有一個(gè)LED數(shù)碼管是用來顯示“”的,用以區(qū)分頻率顯示與占空比顯示的。此電路的鍵盤是由一個(gè)狀態(tài)鍵,四個(gè)功能鍵(調(diào)節(jié)頻率與占空比的增減)組成,其特殊之處在于利用外部中斷實(shí)現(xiàn)鍵盤掃描。狀態(tài)鍵有三種狀態(tài),當(dāng)其處于狀態(tài)0時(shí),則其它的鍵會(huì)處于無用狀態(tài),當(dāng)其處于狀態(tài)1時(shí),可通過按四個(gè)調(diào)節(jié)鍵來調(diào)節(jié)頻率,處于第三種狀態(tài)時(shí),按四個(gè)調(diào)節(jié)鍵中的前兩個(gè)便可對(duì)占空比進(jìn)行調(diào)節(jié)了。六、注意事項(xiàng)與解決問題的方案 1、硬件部分 (1)

44、在排版方面,由于線比較多,而且某些節(jié)點(diǎn)上要連2到3根導(dǎo)線,造成了導(dǎo)線交叉。后來引出了一根長線,把這麻煩解決了。 (2)在數(shù)碼管顯示部分,d,e,f一起亮一起暗,經(jīng)檢查,是這三根線短路了,將導(dǎo)線重新焊接后問題解決了。 (3)硬件與示波器連接后,出來的方波不是很完整,將74LS00中的與非門全部用上濾波,最后出來的波形很完整。  2、軟件部分 (1)開始寫的程序很亂,老師建議我們用調(diào)用子程序的方法,一步一步分開來寫。發(fā)現(xiàn)這方法很有用。 (2)在編寫軟件時(shí)經(jīng)常會(huì)漏掉一些簡單的口令,在編譯時(shí)出現(xiàn)錯(cuò)誤,才更正過來。 (3)軟件編寫完后

45、,數(shù)碼管顯示的數(shù)字一閃一閃很不穩(wěn)定,經(jīng)過分析,是延時(shí)程序沒有編寫正確,后來修改了延時(shí)時(shí)間,數(shù)碼管正確的顯示了。3、焊接部分(1)焊接之前,應(yīng)事先畫好硬件原理圖,細(xì)化到每一根接線,以及芯片內(nèi)部的各個(gè)引腳,合理布局好元器件。這樣才能使硬件電路板布線美觀。焊接時(shí)要注意防止虛焊的產(chǎn)生,在兩個(gè)較近的焊點(diǎn)之間要注意不要短接。    (2)焊接時(shí)要注意焊接工藝,由于是通用板,質(zhì)量不是太高,如果不注意, 上面的小銅片很容易損壞,容易導(dǎo)致虛焊。焊完后,要用萬用表檢測,以免出現(xiàn)虛焊漏焊,短接等現(xiàn)象。檢查無誤后再通電檢測。焊接完一部分后,最好先觀察一下該部分的波形是否正確,若

46、有錯(cuò)誤,可以方便修改。 (3)板子及仿真機(jī)接電源時(shí),要注意正負(fù)極,以免損壞板子或仿真機(jī)。  (4)仿真機(jī)一旦與計(jì)算機(jī)進(jìn)行連接之后,就不要經(jīng)常再拔下,以確保正常通信。   (5).編寫程序時(shí),要注意各指令的合理應(yīng)用。若程序過長,可以先編寫子程序,再將其進(jìn)行組合。以免出現(xiàn)不必要的錯(cuò)誤和困擾。   (6)在插拔器件以及接線過程中,為避免儀器損壞應(yīng)該在斷電的前提下操作。七、設(shè)計(jì)總結(jié)Protues功能強(qiáng)大,為我們進(jìn)行電子電路原理圖和仿真提供了良好的操作環(huán)境。用Protues進(jìn)行電路設(shè)計(jì)分為兩大部分:原理圖的設(shè)計(jì)和電路板的設(shè)計(jì)。用protues進(jìn)行電路板設(shè)計(jì)的第一步

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論