單片機頻率計實驗報告_第1頁
單片機頻率計實驗報告_第2頁
單片機頻率計實驗報告_第3頁
單片機頻率計實驗報告_第4頁
單片機頻率計實驗報告_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 單片機課程設(shè)計報告 基于AT89C51的數(shù)字頻率計 學(xué)院名稱: 電氣信息工程學(xué)院 專 業(yè): 班 級: 姓 名: 學(xué) 號: 指導(dǎo)老師: 設(shè)計時間: 2014年3月 一 .數(shù)字頻率計簡介.1 二 .設(shè)計要求.1 2.1技術(shù)要求 2.2 LED數(shù)碼顯示三 .數(shù)字頻率計設(shè)原理.2 3.1 功能指標(biāo)3.2 硬件電路設(shè)計 3.3 軟件程序設(shè)計四 .單片機的硬件連接圖.7 五 .程序設(shè)計.9 5.1流程圖 5.2子程序六總程序設(shè)計 .12七.系統(tǒng)調(diào)試及結(jié)果分析.16 71 硬件調(diào)試 7.2 軟件調(diào)試 7.3結(jié)果分析八.注意事項.17九.心得體會.18十.參考文獻.18附錄:元件清單概述:單片微型計算機簡稱

2、單片機,20世紀(jì)中期發(fā)展起來的一種面向控制的大規(guī)模集成電路模塊,具有功能強、體積小、可靠性高、價格低廉等特點,在工業(yè)控制、數(shù)據(jù)采集、智能儀表、機電一體化、家用電器等領(lǐng)域得到了廣泛的應(yīng)用,極大的提高了這些領(lǐng)域的技術(shù)水平和自動化程度,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的縮寫MCU表示單片機,單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。單片機由運算器,控制器,存儲器,輸入輸出設(shè)備構(gòu)成,相當(dāng)于一個微型的計算機(最小系統(tǒng)),和計算機相比,單片機缺少了外圍設(shè)備等。概括的講:一塊芯片就成了一臺計算機。它的體積小、

3、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。它最早是被用在工業(yè)控制領(lǐng)域。AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合

4、在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。本次試驗通過AT89C51單片機為核心來設(shè)計一個驅(qū)動四位數(shù)碼管的數(shù)字頻率計。關(guān)鍵詞:數(shù)字頻率計;AT89C51單片機;信號;編碼一數(shù)字頻率計簡介(本實驗用仿真頭替代AT89C51實現(xiàn)功能)數(shù)字頻率計是采用數(shù)字電路制做成的能實現(xiàn)對周期性變化信號頻率測量的儀器。頻率計主要用于測量正弦波、矩形波、三角波和尖脈沖等周期信號的頻率值。其擴展功能可以測量信號的周期和脈沖寬度。通常說的,數(shù)字頻率計是電子計數(shù)指式頻率計。二數(shù)字頻率計的設(shè)計1技

5、術(shù)要求 (1)輸入脈沖幅度:0-5V (2)頻率測量范圍:100-10000HZ (3)測量精度:±1% (4)顯示方式:四位數(shù)字顯示2數(shù)字頻率軟件設(shè)計2.采用動態(tài)掃描法實現(xiàn)LED數(shù)碼管顯示。共陰7段LED顯示器顯示原理:引腳數(shù)字顯示.P0.7hP0.6gP0.5fP0.4eP0.3dP0.2cP0.1bP0.0a數(shù)碼顯示0001111113EH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011011017DH70000011107H8011111117FH9011011116FH該電路采用AT89C51單

6、片機最小化應(yīng)用,采用共陰7段LED數(shù)碼管顯示器,P3.4口引入脈沖信號,P2.0至p2.3口作為列掃描輸出,P0口輸出段碼數(shù)據(jù),采用12Mhz晶振,可提高計數(shù)的精確度。三頻率計設(shè)計原理 對一秒鐘內(nèi)的輸入脈沖進行計數(shù),計數(shù)的個數(shù)即為頻率??稍O(shè)置T1為定時器工作方式,定時時間為1秒。開中斷。而將T0設(shè)為計數(shù)器工作方式,待測輸入脈沖從P3.4輸入。起計數(shù)初值清零,即TH0TL0=0000H。在一秒定時到時,在T1的中斷服務(wù)程序中,讀取TH0TL0中的計數(shù)值到內(nèi)存中的頻率單元。并隨后清零TH0TL0,以便下次讀數(shù)。讀到的計數(shù)值即為頻率值,經(jīng)二十進制轉(zhuǎn)換子程序為十進制,并拆為非壓縮BCD碼后送顯示緩沖區(qū)

7、顯示。信號源89C51單片機控制器4位數(shù)碼管顯示振蕩電路7407列驅(qū)動復(fù)位電路 設(shè)計框圖3.1 功能指標(biāo)(1)輸入脈沖幅度:0-5V(2)頻率測量范圍:100-10000HZ(3)測量精度:±1% (4)顯示方式:四位數(shù)字顯示 對一秒鐘內(nèi)的輸入脈沖進行計數(shù),計數(shù)的個數(shù)即為頻率。3.2 硬件電路設(shè)計上網(wǎng)查找關(guān)于51單片機的引腳圖,以及74LS07的引腳圖,共陰極數(shù)碼管的顯示方式。 a.單片機引腳圖1. VCC 運行時加5V2. GND 接地3. XTAL1 振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端4. XTAL2 振蕩器反相放大器的輸出端 自激振蕩器5. RST 復(fù)位輸入,高電平有效,

8、在晶振工作時,在RST引腳上作用2個機器周期以上的高電平,將使單片機復(fù)位。WDT溢出將使該引腳輸出高電平,設(shè)置SFT AUXR的DISRTO位(地址8EH)可打開或關(guān)閉該功能。DISRTO位缺省為RESET輸出高電平打開狀態(tài)。6. P端口 P1、P2、P3口是一組帶內(nèi)部上拉電阻的8位雙向I/O口。P0口沒有內(nèi)接上拉電阻,故需要外部接上一排阻充當(dāng)P0口的上拉電阻。可以用P口接按鍵來實現(xiàn)外加功能。(P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時

9、,P0 口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程

10、序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.

11、2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(計時器0外部輸入)P3.5 T1(計時器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。)b.74LS07驅(qū)動器 六驅(qū)動器(OC高壓輸出) 74LS0774LS07具有穩(wěn)壓驅(qū)動作用,可以通過74LS07驅(qū)動器來驅(qū)動四位數(shù)碼管。c.七段數(shù)碼管所使用的數(shù)碼管為共陰極,使用時將四個數(shù)碼管的公共端通過74LS07連接到單片機對應(yīng)的P2口,從而用P2口來點亮相應(yīng)的數(shù)碼管,即P2口輸出為低電平時,對應(yīng)的數(shù)碼管點亮;將其他段選信號腳接到P0

12、口,當(dāng)P0口部分端輸出為高電平時,則點亮相應(yīng)的字段。3.3 軟件程序設(shè)計對于定時器服務(wù)子程序,設(shè)置TH1=0F0H TL1=60H,從而產(chǎn)生5ms的脈沖,循環(huán)200次,實現(xiàn)定時1秒的目的。 MOV SP,#60H ;設(shè)置堆棧指針 MOV TMOD,#15H ;定時器T1工作在方式1定時模式,計數(shù)器T0工作在方式1計數(shù)模式 MOV TH1,#0ECH ;T1置計數(shù)初值,定時5mS MOV TL1,#78H SETB EA ;CPU開中斷 SETB ET1 ;允許定時器/計數(shù)器T1中斷 MOV TH0,#0 MOV TL0,#0 ;給計數(shù)器T0賦初值0 MOV 30H,#200 ;循環(huán)200次 2

13、00*5=1S定時1S MOV 33H,#0 ;用于判斷顯示數(shù)碼管哪一位 SETB TR1 ;啟動定時器1 SETB TR0 ;啟動計數(shù)器0 字庫的選擇,根據(jù)端選引腳(abcdefg)與P0口連接情況進行匯編,若hcdegfab依次與P0.7-P0.0相連,則0可表示為:77H。為了焊接的方便,現(xiàn)將引腳連接如下:P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3abcdefgh1234可以得到相應(yīng)的字庫為(加h位): 01234567890BFH86H0DBH0CFH0E6H0EDH0FDH87H0FFH0EFH四單片機的硬件連接圖(1) 電路原理

14、圖如下 電路連接原理圖(2)硬件安裝圖如下五流程圖a.主程序流程圖ORG 0000H ;程序復(fù)位入口地址AJMP MAIN ;轉(zhuǎn)移到主程序ORG 001BH ;定時器T1的中斷入口AJMP PFRO ;跳轉(zhuǎn)到中斷程序中ORG 0022H ;主程序入口地址MAIN:MOV SP,#60H ;設(shè)置堆棧指針初始化將測量值轉(zhuǎn) 換為十進數(shù)拆為非壓縮BCD數(shù)調(diào)用顯示子程序 MOV TMOD,#15H ;定時器T1工作在方式1定時模式,計數(shù)器T0工作在方式1計數(shù)模式 MOV TH1,#0ECH ;T1置計數(shù)初值,定時5mS MOV TL1,#78H SETB EA ;CPU開中斷 SETB ET1 ;允許定

15、時器/計數(shù)器T1中斷 MOV TH0,#0 MOV TL0,#0 ;給計數(shù)器T0賦初值0 MOV 30H,#200 ;循環(huán)200次 200*5=1S定時1S MOV 33H,#0 ;用于判斷顯示數(shù)碼管哪一位 SETB TR1 ;啟動定時器1 SETB TR0 ;啟動計數(shù)器0 LOOP:ACALL BCD ;將二進制數(shù)轉(zhuǎn)換為壓縮BCD碼 ACALL NBCD ;將壓縮BCD碼轉(zhuǎn)換為非壓縮BCD碼 AJMP LOOP ;循環(huán)處理計數(shù)器T0采集得到的數(shù)據(jù) PFRO:MOV TH1,#0ECH ;中斷程序b.定時器1中斷服務(wù)程序MOV TL1,#78H ;給定時器T1重新賦值 INC 33H ;數(shù)碼管

16、判斷位加1 MOV A,40H ;非壓縮BCD碼最高位重 設(shè) TH1,TL11秒 到 否讀TH0,TL0到 頻率單元清 零TH0 ,TL0返回 CJNE A,#0,WANW ;判斷40H單元是否為零,若為0繼續(xù)往下執(zhí)行,若不為0,則跳轉(zhuǎn)到子程序WANW中 MOV A,33H ;每5ms顯示一位,從最高位開始,到最低位時,返回高位 CJNE A,#1,LOP1 ;判斷40H單元是否為1,若為1繼續(xù)往下執(zhí)行,若不為1,則跳轉(zhuǎn)到子程序LOP1中 ACALL QIAW ;千位 AJMP DSHI LOP1: CJNE A,#2,LOP2 ACALL BAIW ;百位 AJMP DSHI LOP2: C

17、JNE A,#3,LOP3 ACALL SHIW ;十位 AJMP DSHI LOP3: ACALL GEEW ;個位 MOV 33H,#0 AJMP DSHI DSHI: DJNZ 30H,FHUI ;判斷是否到1S MOV 20H,TH0 MOV 21H,TL0 ;將計數(shù)器T0中的數(shù)轉(zhuǎn)移到20H,21H中 MOV TH0,#0 MOV TL0,#0 ;將計數(shù)器T0重新賦0 MOV 30H,#200FHUI:RETIc.二進制轉(zhuǎn)換為壓縮BCD碼BCD: MOV R2,20H ;將計數(shù)得到的值存入R2和R3中 MOV R3,21H CLR A MOV R4,#0 ;將R4、R5、R6清零 MO

18、V R5,#0 MOV R6,#0 MOV R7,#16 LOP: CLR C ; 將16位二進制數(shù)逐位左移一位 ,移得的數(shù)據(jù)放入進位C中 調(diào)用轉(zhuǎn)換 子程序20H R221H R30 R4R5R616 R7R2R3左移一位(R4R5R6)*2+CR7-1*N>0 MOV A,R3 RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A MOV A,R6 ADDC A,R6 DA A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A DJNZ R7,LOP RET 將R

19、5R6中的內(nèi)容與A進行半字節(jié)交換R5R6中的內(nèi)容高低字節(jié)交換 交換結(jié)果即為顯示的值d.壓縮BCD碼轉(zhuǎn)換為非壓縮BCD碼NBCD:MOV A,R5 ;將壓縮BCD碼R4R5R6轉(zhuǎn)換為非壓縮BCD碼 ,從高到低依次放于40H、41H、42H、43H、44H ANL A,#0F0H SWAP A MOV 41H,A MOV A,R5 ANL A,#0FH MOV 42H,A MOV A,R6 ANL A,#0F0H SWAP A MOV 43H,A MOV A,R6 ANL A,#0FH MOV 44H,A MOV 40H,R4 RET A 41H查表將結(jié)果送到A中A P0把位選給P2數(shù)碼管驅(qū)動顯示

20、e.顯示子程序(以10K位為例)WANW:MOV A,33H ;10KHZ CJNE A,#1,LOOP1 ACALL QIAW1 AJMP DSHI LOOP1: CJNE A,#2,LOOP2 ACALL BAIW1 AJMP DSHI LOOP2: CJNE A,#3,LOOP3 ACALL SHIW1 AJMP DSHI LOOP3: ACALL GEEW1 MOV 33H,#0 AJMP DSHI六總程序設(shè)計ORG 0000H ;程序復(fù)位入口地址AJMP MAIN ;轉(zhuǎn)移到主程序ORG 001BH ;定時器T1的中斷入口AJMP PFRO ;跳轉(zhuǎn)到中斷程序中ORG 0022H ;主程

21、序入口地址MAIN:MOV SP,#60H ;設(shè)置堆棧指針 MOV TMOD,#15H ;定時器T1工作在方式1定時模式,計數(shù)器T0工作在方式1計數(shù)模式 MOV TH1,#0ECH ;T1置計數(shù)初值,定時5mS MOV TL1,#78H SETB EA ;CPU開中斷 SETB ET1 ;允許定時器/計數(shù)器T1中斷 MOV TH0,#0 MOV TL0,#0 ;給計數(shù)器T0賦初值0 MOV 30H,#200 ;循環(huán)200次 200*5=1S定時1S MOV 33H,#0 ;用于判斷顯示數(shù)碼管哪一位 SETB TR1 ;啟動定時器1 SETB TR0 ;啟動計數(shù)器0 LOOP:ACALL BCD

22、 ;將二進制數(shù)轉(zhuǎn)換為壓縮BCD碼 ACALL NBCD ;將壓縮BCD碼轉(zhuǎn)換為非壓縮BCD碼 AJMP LOOP ;循環(huán)處理計數(shù)器T0采集得到的數(shù)據(jù) PFRO:MOV TH1,#0ECH ;中斷程序 MOV TL1,#78H ;給定時器T1重新賦值 INC 33H ;數(shù)碼管判斷位加1 MOV A,40H ;非壓縮BCD碼最高位 CJNE A,#0,WANW ;判斷40H單元是否為零,若為0繼續(xù)往下執(zhí)行,若不為0,則跳轉(zhuǎn)到子程序WANW中 MOV A,33H ;每5ms顯示一位,從最高位開始,到最低位時,返回高位 CJNE A,#1,LOP1 ;判斷40H單元是否為1,若為1繼續(xù)往下執(zhí)行,若不為

23、1,則跳轉(zhuǎn)到子程序LOP1中 ACALL QIAW ;千位 AJMP DSHI LOP1: CJNE A,#2,LOP2 ACALL BAIW ;百位 AJMP DSHI LOP2: CJNE A,#3,LOP3 ACALL SHIW ;十位 AJMP DSHI LOP3: ACALL GEEW ;個位 MOV 33H,#0 AJMP DSHI WANW:MOV A,33H ;10KHZ CJNE A,#1,LOOP1 ACALL QIAW1 AJMP DSHI LOOP1: CJNE A,#2,LOOP2 ACALL BAIW1 AJMP DSHI LOOP2: CJNE A,#3,LOOP

24、3 ACALL SHIW1 AJMP DSHI LOOP3: ACALL GEEW1 MOV 33H,#0 AJMP DSHIDSHI: DJNZ 30H,FHUI ;判斷是否到1S MOV 20H,TH0 MOV 21H,TL0 ;將計數(shù)器T0中的數(shù)轉(zhuǎn)移到20H,21H中 MOV TH0,#0 MOV TL0,#0 ;將計數(shù)器T0重新賦0 MOV 30H,#200FHUI:RETI BCD: MOV R2,20H ;將計數(shù)得到的值存入R2和R3中 MOV R3,21H CLR A MOV R4,#0 ;將R4、R5、R6清零 MOV R5,#0 MOV R6,#0 MOV R7,#16 LO

25、P: CLR C ; 將16位二進制數(shù)逐位左移一位 ,移得的數(shù)據(jù)放入進位C中 MOV A,R3 RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A MOV A,R6 ADDC A,R6 DA A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A DJNZ R7,LOP RETNBCD:MOV A,R5 ;將壓縮BCD碼R4R5R6轉(zhuǎn)換為非壓縮BCD碼 ,從高到低依次放于40H、41H、42H、43H、44H ANL A,#0F0H SWAP A MOV 41H,A MO

26、V A,R5 ANL A,#0FH MOV 42H,A MOV A,R6 ANL A,#0F0H SWAP A MOV 43H,A MOV A,R6 ANL A,#0FH MOV 44H,A MOV 40H,R4 RET QIAW:MOV A,41H ;頻率不超過10KHZ時,以HZ為單位,四位顯示,最高位為千位,以此類推 MOV DPTR,#TAB2 ;千位上顯示41H單元中的內(nèi)容 MOVC A,A+DPTR MOV P0,A MOV P2,#0F7H RET BAIW:MOV A,42H ;百位上顯示42H單元中的內(nèi)容 MOV DPTR,#TAB1 MOVC A,A+DPTR MOV P0

27、,A MOV P2,#0FBH RET SHIW:MOV A,43H ;十位上顯示43H單元中的內(nèi)容 MOV DPTR,#TAB1 MOVC A,A+DPTR MOV P0,A MOV P2,#0FDH RET GEEW:MOV A,44H ;個位上顯示44H單元中的內(nèi)容,顯示小數(shù)點,表示可測量頻率小于10KHZ MOV DPTR,#TAB1 MOVC A,A+DPTR MOV P0,A MOV P2,#0FEH RETQIAW1:MOV A,40H ;頻率大于10KHZ時,小數(shù)點放千位,以KHZ為單位 MOV DPTR,#TAB1 ;千位上顯示40H單元中的內(nèi)容 MOVC A,A+DPTR

28、MOV P0,A MOV P2,#0EFH RETBAIW1:MOV A,41H ;百位上顯示41H單元中的內(nèi)容和顯示小數(shù)點 MOV DPTR,#TAB2 MOVC A,A+DPTR MOV P0,A MOV P2,#0F7H RETSHIW1:MOV A,42H ;十位上顯示42H單元中的內(nèi)容 MOV DPTR,#TAB1 MOVC A,A+DPTR MOV P0,A MOV P2,#0FBH RETGEEW1:MOV A,43H ;個位上顯示43H單元中的內(nèi)容 MOV DPTR,#TAB1 MOVC A,A+DPTR MOV P0,A MOV P2,#0FDH RETTAB1:DB 3FH

29、,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;GFEDCBATAB2:DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH ;HGFEDCBAEND七.系統(tǒng)調(diào)試及結(jié)果分析71 硬件調(diào)試硬件電路板焊接好以后,先用萬用表測試電路中有無虛焊短接之處,將所有的電源及地線測量一下,看有無遺漏。測試無誤后,將板子通電,用萬用表檢測電源和地線之間是否是5V電壓,測量無誤后,進行靜態(tài)調(diào)試。取兩根線一端接地,另一端接P2.0P2.3口中的一個口,若對應(yīng)數(shù)碼管亮,再用另一根導(dǎo)線,其中一端接地,另一端與P0.0P0.7依次接觸,看數(shù)碼管各

30、段的亮滅情況,從而判斷每個數(shù)碼管各段的好壞及電路的是否正確。若有異常顯示,則需查找對應(yīng)接線。通電后,將示波器一端接地,另一端接P3.4口,看波形是否為方波。(周期T大約為6.7ms)7.2 軟件調(diào)試將編好的子程序進行編譯仿真,并進行調(diào)試。若有錯誤顯示,則需一一改正后,再進行調(diào)試。將所有子程序仿真完畢后,在調(diào)試總程序,進行仿真,通過仿真頭連接到電路板上進行調(diào)試。7.3結(jié)果分析1.故障分析:問題1:無方波顯示解決辦法:查看是否是連接的到T0(14管教),如連接正常,則查看電路是否有漏焊或虛焊。問題2:數(shù)碼管不亮解決辦法:查看硬件電路發(fā)現(xiàn)數(shù)碼管的公共端沒有接,用電烙鐵全部連起來問題3:用程序驅(qū)動數(shù)碼

31、管發(fā)現(xiàn)出現(xiàn)亂碼解決辦法:先查看程序是否編碼錯誤,若無錯誤,查找焊接。由于焊接電路時,數(shù)碼管7段顯示沒有按照順序接,P2口也沒按順序接,然后調(diào)整程序和電路板。2.誤差分析由原理圖可知頻率的理論值f=1/(2.2RC)=189.6HZ,由示波器讀出來的值為149.1HZ。有數(shù)碼管讀出來的值148到153之間變化。由于單片機的計數(shù)的速率限制會存在誤差,測得是瞬時頻率,所以數(shù)碼管或跳動。可能是產(chǎn)生信號源的電路所產(chǎn)生的脈沖不穩(wěn)定,導(dǎo)致結(jié)果有誤差。還有可能硬件電路焊接的問題,焊錫的多少,導(dǎo)線的長短有關(guān)。還有誤差來源有可能來自振蕩電路,12MHZ的晶振準(zhǔn)確度不夠。從而引起結(jié)果誤差。八.注意事項 1. 在焊接電路板之前,先畫好硬件原理圖,在電路板上面排版,使得元器件都合理分布,芯片朝一個方向,同時使仿真頭不會擋住數(shù)碼管。2焊接器件時,應(yīng)遵循由小及大,由埃及高的原

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論