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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

5、1/52單片機計數(shù)功能,選擇好工作模式,對脈寬進行計數(shù)。在現(xiàn)有的單片機仿真機系統(tǒng)上掌握相關軟硬件設計與調(diào)試知識,并在計算機上編寫匯編程序調(diào)試運行。關鍵詞: 門控信號GATE;脈沖寬度;擴展測量范圍;脈沖頻率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一、設計原理41.1脈沖寬度測量原理61.1脈沖頻率測量原理71.2擴展測量范圍原理7二、實驗課題內(nèi)容及要求8三、實驗目的及意義9四、系統(tǒng)硬件電路104.1硬件電路說明104.2系統(tǒng)調(diào)試及結(jié)果分析134.3最小系統(tǒng)控

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

39、 42h;存放三個數(shù)碼管段碼org 0003h;外部中斷0入口地址Ljmp T0_INTorg 1bh;定時器1中斷入口jmp t1_int;org 0000hljmp mainorg 0030hmain: MOV R1,#00H SETB EA SETB EX0;外部中斷 SETB ET1;定時器中斷 setb it0;外部中斷0在下降沿時工作 mov tmod,#00010000b;1作定時器 setb tr1;激活定時器 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: ;定時器中斷 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)實現(xiàn)功能在電源正確接入的前提下,由RC震蕩器產(chǎn)生信號從P3.2口輸入,利用內(nèi)部脈沖對外部信號進行計數(shù)。計數(shù)值經(jīng)過二十轉(zhuǎn)換后,判斷高位是否為零,如果為零即顯示低四位,如果不為零即顯示高四位。通過數(shù)碼管顯示計數(shù)脈沖的個數(shù),其個數(shù)即為脈沖寬度。簡單的流程為:主程序掃描鍵盤,將設置信息輸入,處理后,輸出到LED顯示器顯示。單片機的晶振為11.0592MHz,用到了兩個定時器,即定時器0與定時器1,分別進行頻率與占空比的定時,兩個定時器都是工作在方式1。根據(jù)計算定時器初值的公式: 計算出定時器0與定時器1所要裝

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

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

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

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

溫馨提示

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

評論

0/150

提交評論