點陣式LED顯示器_第1頁
點陣式LED顯示器_第2頁
點陣式LED顯示器_第3頁
點陣式LED顯示器_第4頁
點陣式LED顯示器_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)設(shè)計生產(chǎn)實習(xí)(2)報告點陣式LED顯示器院 系 :信息科學(xué)與工程學(xué)院專 業(yè):測控技術(shù)與儀器年級(班級):1102班姓 名:何鵬舉學(xué) 號:110401215指導(dǎo)教師:劉博完成日期:2015年 01 月 09日 目錄1. 緒論11.1背景及設(shè)計目的11.2選題目的和意義12設(shè)計方案簡述22.1 LED驅(qū)動顯示方案22.2 數(shù)據(jù)傳輸和顯示方案32.3 系統(tǒng)模塊框圖43.單片機系統(tǒng)電路設(shè)計43.1單片機系統(tǒng)及外圍電路43.2 74HC595列鎖存電路63.3 8*8點陣84.系統(tǒng)軟件設(shè)計941顯示驅(qū)動程序1042系統(tǒng)主程序105.調(diào)試115.1 硬件調(diào)試115.2軟件調(diào)試125.3 系統(tǒng)總電路13

2、6.總結(jié)14參考文獻(xiàn)15附錄16實物圖21摘 要文章介紹了基于STC89C52單片機的8乘8點陣LED電子顯示屏的設(shè)計。分別闡述設(shè)計方案的方案論證、51單片機的最小系統(tǒng)及其外圍電路、顯示屏顯示的基本原理、硬件仿真設(shè)計、控制方法及其程序的實現(xiàn)。系統(tǒng)的設(shè)計和實現(xiàn)流程大體按照模塊設(shè)計、硬件仿真、元件焊接、硬件調(diào)試、軟件代碼設(shè)計、程序調(diào)試。設(shè)計的結(jié)果能夠?qū)崿F(xiàn)對漢字和圖形的靜態(tài)和動態(tài)顯示,動態(tài)顯示的方式有多種方式。關(guān)鍵詞:單片機;點陣;硬件調(diào)試;軟件調(diào)試;動態(tài)顯示AbstractThis paper introduces the microcontroller based STC89C52 8 by 8

3、 dot matrix LED electronic display design. Elaborate design of the program were demonstrated, 51 the microcontroller system and its peripheral circuits, the display shows the basic principle, the hardware simulation design, control methods and procedures for implementation. System design and impleme

4、ntation process in general accordance with the modular design, hardware simulation, welding components, hardware debugging, software code, design, program debugging. Result of the design of Chinese characters and graphics to achieve static and dynamic display, dynamic display mode in several ways. K

5、eywords:microcontroller; lattice; hardware debugging; software debugging; dynamic display - IV -1 緒論1.1背景及設(shè)計目的現(xiàn)代社會,信息的更新速度達(dá)到了前所未有的程度。信息的顯示方式傳統(tǒng)上有LED發(fā)光管,LED數(shù)碼管,雖然兩者應(yīng)用很廣泛,但是只能單一地顯示電平狀態(tài)和數(shù)碼。LED點陣集兩者特點于一身,更加由于能顯示漢字字符、圖形、符號等而廣泛應(yīng)用于人們的日常生活中。它具有發(fā)光效率高、使用壽命長、組態(tài)靈活、色彩豐富以及對室內(nèi)外環(huán)境適應(yīng)能力強等特點,被廣泛應(yīng)用在公交車站、碼頭、商店、學(xué)校和銀行等公共場合

6、用于信息的發(fā)布和廣告宣傳。目前,國內(nèi)的LED點陣顯示屏大部分是單顯示型,其顯示的內(nèi)容相對較少,顯示的花樣較單一。一般在產(chǎn)品出廠時,顯示的內(nèi)容就已寫入顯示屏的控制系統(tǒng)中的EPROM芯片內(nèi),當(dāng)需要更換顯示內(nèi)容時就非常困難,這樣使該類型的顯示屏使用范圍受到了限制。國內(nèi)的另一種LED顯示屏可編程序型LED顯示屏,雖然增加了顯示屏系統(tǒng)的編程能力,現(xiàn)實的內(nèi)容和顯示的花樣都有所增加,但也存在著顯示內(nèi)容不便的缺點。隨著社會經(jīng)濟(jì)的迅速發(fā)展,如今的廣告牌都存在著顯示內(nèi)容豐富。信息量大。信息更換速度快等特點。一次傳統(tǒng)的LED顯示屏控制系統(tǒng)已經(jīng)越來越不能滿足現(xiàn)代廣告宣傳業(yè)的需求,而利用PC機通信技術(shù)控制LED顯示屏,

7、則具有顯示豐富,信息更換靈活等優(yōu)點。國內(nèi)從事LED顯示屏生產(chǎn)的企業(yè)眾多,同時,受到外資企業(yè)LED顯示屏價格過高的影響,在中國LED顯示屏市場上多以本土企業(yè)為主。目前,本土LED顯示屏生產(chǎn)企業(yè)除供應(yīng)國內(nèi)需求外,還不斷把產(chǎn)品出口到國外市場。隨著國際LED顯示屏生產(chǎn)大廠不斷把生產(chǎn)基地轉(zhuǎn)移至國內(nèi), 加之國內(nèi)眾多的LED顯示屏本土企業(yè),中國正在成為全球LED顯示屏的主要生產(chǎn)基地。因此研究LED漢字滾動顯示屏的設(shè)計方法具有重要的理論和現(xiàn)實意義。1.2選題目的和意義通過這次畢業(yè)設(shè)計,掌握51單片機的接口電路、點陣顯示原理、自動控制等原理。了解簡單的16乘16點陣顯示圖像、漢字、符號的原理,提高動手實踐和軟編

8、程件調(diào)試的能力。同時通過本課題研究、設(shè)計、裝配、調(diào)試、提高自己的獨立開發(fā)項目和動手能力,鞏固已學(xué)的單片機及自動控制原理的知識。了解并分析系統(tǒng)各電路模塊之間的組成與相互關(guān)系和影響。本次畢業(yè)設(shè)計的完成也為以后學(xué)習(xí)16位,甚至32位單片機和嵌入式系統(tǒng)等在自動控制方面的應(yīng)用奠定一定的理論與實際基礎(chǔ),也為以后獨立開發(fā)單片機系統(tǒng)、嵌入式系統(tǒng)等工業(yè)控制打下堅實的基礎(chǔ)。2 設(shè)計方案簡述2.1 LED驅(qū)動顯示方案按顯示方式分,有靜態(tài)顯示和動態(tài)(掃描)顯示,按譯碼方式可分為硬件譯碼和軟件譯碼之分。靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功能,單片機將所要顯示的數(shù)據(jù)送出后就不再管,知道下一次顯示數(shù)據(jù)需要更新時再傳送一次

9、新數(shù)據(jù),顯示數(shù)據(jù)穩(wěn)定,占用很少的CPU時間。但每個顯示單元都要單獨的顯示驅(qū)動電路,使用的硬件較多;動態(tài)顯示需要CPU時刻對顯示器進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時間多,但使用硬件少,能節(jié)省線路和單片機I/O空間。若使用靜態(tài)顯示方式,8乘8點陣共有64個發(fā)光二極管,單片機沒有這么多的端口,如果用鎖存器來擴展端口,按8位鎖存器來計算,也需要8個鎖存器。因此,在實際應(yīng)用中顯示屏幾乎都不采用靜態(tài)顯示,而是采用動態(tài)掃描的顯示方法??紤]到成本的減少,以及顯示的完整性,此次設(shè)計使用4塊8乘8共陽型點陣拼成16乘16點陣,采用行掃描法,先送出對應(yīng)點陣第一行發(fā)光二極管亮滅的數(shù)據(jù)并鎖存,然后選通第一行

10、使其亮的時間,然后熄滅;再送第二行的數(shù)據(jù),依次下去,直到第十六行、整個來回的時間只要達(dá)到每秒24次以上,利用人的視覺暫留,就可以看到顯示屏上顯示出的穩(wěn)定的圖像了。具體的點陣屏的電路如圖2-1所示。圖2-1 16乘16點陣2.2數(shù)據(jù)傳輸和顯示方案采用掃描方式顯示時,顯示數(shù)據(jù)通常存儲在單片機的存儲器中,以字節(jié)形式順序排放。顯示時要把一行中各列的數(shù)據(jù)都傳送到相應(yīng)的列驅(qū)動器上,這就存在著一個顯示數(shù)據(jù)傳輸?shù)膯栴}。數(shù)據(jù)傳輸可以采用并行方式或串行方式。并行數(shù)據(jù)傳輸方式具有操作簡單,外圍電路少等優(yōu)點,同時存在占用資源大、控制時間長、擴展性差等缺點;串行方式具有占用資源少,控制簡便易行,良好的擴展性等諸多方面的

11、有點,考慮到點陣屏的擴展及其電路走線等問題,本次設(shè)計的十六乘十六點陣屏系統(tǒng)的數(shù)據(jù)傳輸方式采用串行傳輸?shù)姆椒ā2捎么朔椒?,控制電路可以只用一根信號線,將列數(shù)據(jù)一位一位傳送到列驅(qū)動器,但是,串行傳輸過程較長導(dǎo)致列數(shù)據(jù)傳輸和顯示的時間矛盾,針對此問題,可以采用重疊處理的方法。即在顯示本行各列數(shù)據(jù)的同時,傳送下一行的數(shù)據(jù)。為了達(dá)到重疊處理的目的,列數(shù)據(jù)的顯示就需要具有所存的功能。經(jīng)過上述分析,歸納出列驅(qū)動器電路應(yīng)具備串入并出的移位功能和并行鎖存功能。2.3.系統(tǒng)模塊框圖STC89C52單片機系統(tǒng)74HC595行驅(qū)動74HC595列驅(qū)動16乘16點陣圖2-2 系統(tǒng)模塊圖3.詳細(xì)系統(tǒng)電路設(shè)計3.1 單片機

12、系統(tǒng)及外圍電路單片機采用了STC89C52,選用了12M晶振,用P1口低四位作為行選通線,高四位作為列控制線,兩個串行口分別用作列數(shù)據(jù)輸入和移位時鐘。設(shè)計的界面可以顯示一個漢字,需要4個8*8點陣模塊,組成16*16點陣。STC89C52是51系列單片機的一個型號, 是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,STC89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用宏晶公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元

13、,功能強大的STC89C52單片機可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。STC89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個RW口線,STC89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。 圖3-2:STC89C52引腳圖合適尺寸 實際尺寸 主要引腳功能1 電源和晶振 Vcc 運行和程序校驗時加+5V Vss 電源地 XTAL1 輸入到振蕩器的反相放大器XTAL2 反相放大器的輸出,輸入到內(nèi)部時

14、鐘發(fā)生器如果使用外部振蕩器時,外接12MHZ晶振,同時加上兩個30pF的電容來輔助穩(wěn)定外部振蕩器的頻率,減少頻率偏差。2 I/O口P0-P3 為可編程通用I/O 腳,其功能用途由軟件定義P0口為開漏輸出結(jié)構(gòu),在輸出的時候通常加以上拉電阻配合使用,提高IO口攜帶負(fù)載的能力。3 控制線 RST 復(fù)位輸入信號,高電平有效,兩個機器周期以上的高電平即可。 EA/Vpp 片外程序存儲器訪問允許信號,低電平有效。 ALE/PROG 地址鎖存允許信號,輸出。PSEN 片外程序存儲器選通信號,低電平有效。圖3-1 單片機系統(tǒng)電路3.2 74HC595列鎖存電路3.2.1 74HC59574HC595是一款漏極

15、開路輸出的CMOS移位寄存器,輸出端口為可控的輸出端,亦能串行輸出控制下一級聯(lián)芯片。74595的引腳分布:QA-QH: 八位并行輸出端,可以直接控制數(shù)碼管的8個段。QH': 級聯(lián)輸出端。我將它接下一個595的SI端。SI: 串行數(shù)據(jù)輸入端。/SCLR(10腳): 低點平時將移位寄存器的數(shù)據(jù)清零。通常我將它接Vcc。SCK(11腳):上升沿時數(shù)據(jù)寄存器的數(shù)據(jù)移位。QA->QB->QC->.->QH;下降沿移位寄存器數(shù)據(jù)不變。RCK(12腳):上升沿時移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲寄存器,下降沿時存儲寄存器數(shù)據(jù)不變。通常我將RCK置為低點平,當(dāng)移位結(jié)束后,在RCK端產(chǎn)

16、生一個正脈沖,更新顯示數(shù)據(jù)。/G(13腳): 高電平時禁止輸出(高阻態(tài))。如果單片機的引腳不緊張,用一個引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果。比通過數(shù)據(jù)端移位控制要省時省力。表3-1-1 74HC595管腳定義管腳編號管腳名說明15、1、2、34、5、6、7QA-QH三態(tài)并行輸出管腳8GND電源地9SQH串行輸出級聯(lián)端10SCLR移位寄存器清零端11SCK移位時鐘線12RCK輸出鎖存線13OE輸出使能14SI串行數(shù)據(jù)輸入端15VCC電源正3.2.2. 595列輸出電路圖3-2 74HC595列鎖存電路點陣的十六列由兩片74HC595并行輸出提供。引腳SI為串行數(shù)據(jù)輸入端,與單片機串口RXD

17、(P3.0)相連,用來傳送數(shù)據(jù);引腳SCK為移位寄存器的移位時鐘脈沖線,與單片機串口TXD(P3.1)相連;引腳SCLR信號是移位寄存器的清零輸入端,低電平有效,接單片機P1.5口;RCK是輸出寄存器的輸出鎖存信號,與單片機P1.6口連接。 3.3 8乘8點陣點陣內(nèi)部結(jié)構(gòu)如下,8X8點陣共由64個發(fā)光二極管組成,且每個發(fā)光二極管是放置在行線和列線的交叉點上,當(dāng)對應(yīng)的某一行置1電平,某一列置0電平,則相應(yīng)的二極管就亮;如要將第一個點點亮,則9腳接高電平13腳接低電平,則第一個點就亮了;如果要將第一行點亮,則第9腳要接高電平,而(13、3、4、10、6、11、15、16)這些引腳接低電平,那么第一

18、行就會點亮;如要將第一列點亮,則第13腳接低電平,而(9、14、8、12、1、7、2、5)接高電平,那么第一列就會點亮。因此,要在點陣屏幕上顯示出設(shè)計好的漢字、圖像、字符等就必需采用掃描亮點的方式,利用人的視覺暫留,顯示出清晰、穩(wěn)定的畫面。圖3-4 8乘8點陣內(nèi)部組成4系統(tǒng)軟件設(shè)計顯示屏軟件的主要功能是向屏體提供顯示數(shù)據(jù),并產(chǎn)生各種控制信號,使屏幕按設(shè)計的要求顯示??砂扬@示屏的軟件系統(tǒng)分成兩大層:第一層是底層的顯示驅(qū)動程序,第二層是上層的系統(tǒng)應(yīng)用程序。顯示驅(qū)動程序負(fù)責(zé)向屏體送顯示數(shù)據(jù),并負(fù)責(zé)產(chǎn)生掃描信號和其他控制信號,配合LED顯示屏的掃描顯示工作。顯示驅(qū)動程序由定時器T0中斷程序?qū)崿F(xiàn),系統(tǒng)的

19、顯示效果處理等工作,由主程序來實現(xiàn)。4.1 顯示驅(qū)動程序進(jìn)入中斷掃描程序后,對單片機重新賦初值,讀取當(dāng)前所在行號,并使其加一,通過串口取出緩沖區(qū)的列數(shù)據(jù)到移位寄存器。為消除在切換下一行時發(fā)生拖尾現(xiàn)象,驅(qū)動程序先要關(guān)掉顯示屏,等顯示數(shù)據(jù)經(jīng)過移位寄存器輸出并鎖存,再輸出新的行號,再打開顯示屏。圖4-1中斷程序流程圖4.2系統(tǒng)主程序進(jìn)入主程序后,首先對系統(tǒng)進(jìn)行初始化,包括設(shè)置定時器工作方式,串口,中斷,以及顯示效果,包括左移,上移等。通過一維數(shù)組dispram32來實現(xiàn)列驅(qū)動數(shù)據(jù)的存儲,二維數(shù)組Bmp存儲所有要顯示漢字圖形的列代碼。系統(tǒng)上電后,漢字以上移的形式顯示,當(dāng)顯示到第五個漢字時,停頓三秒,漢

20、字再以左移的形式顯示,到最后一個字時停止。從上至下顯示漢字開始從左至右顯示漢字是否顯示到第五個漢字結(jié)束YN圖4-2 主程序流程圖5.調(diào)試5.1 硬件調(diào)試由于點陣需要16行和16列來驅(qū)動,所以點陣模塊線路比較復(fù)雜,當(dāng)元件都焊接好以后,應(yīng)先從較簡單的模塊進(jìn)行檢查調(diào)試:單片機最小系統(tǒng),74LS154譯碼電路,74HC595列驅(qū)動電路,最后才是點陣的連接。具體檢測單片機晶振能否正常起振,30腳是否有1Mhz的方波輸出,74LS154的各行輸出的電平是否逐位變化,74HC595的SI端是否有數(shù)據(jù)輸入,其他控制引腳的脈沖和時序是否正常,都沒有問題后細(xì)心檢查點陣的各行各列的連接??偟膩碚f,硬件的調(diào)試是比較麻

21、煩的。對點陣顯示屏系統(tǒng)進(jìn)行測試,所用測試儀表儀器如表5-1所示。表5-1 測試儀表測試儀表名稱 型號 模擬示波器 LS3102B 20MHz 信號發(fā)生器 AFG3102 萬用表 UNFTNT56根據(jù)本系統(tǒng)設(shè)計電路圖進(jìn)行組裝電路,電路組裝好以后,首先要檢查一遍接線情況,在確定安裝接線無誤的情況下,就可進(jìn)行電路通電調(diào)試。首先測量電源供電情況是否達(dá)到要求;其次是本次設(shè)計的點陣屏顯示模塊的檢測是否正確,顯示的漢字、字符、圖像是否清晰無閃爍;再者是利用軟件方式,只測試顯示固定不動的畫面是否能正常工作;最后測試的行掃描和列掃描模塊電路,將行掃描和列掃描的掃描信號線接到信號源上,用信號源輸出波形代替單片機控

22、制系統(tǒng)模塊發(fā)出的行掃和列掃的信號,在單獨對點陣屏顯示電路模塊進(jìn)行調(diào)試,當(dāng)準(zhǔn)確的顯示出要移動顯示的漢字、字符、圖像時即可證明此行掃描電路模塊和列掃描電路模塊工作正常,可以進(jìn)行整個系統(tǒng)的調(diào)試工作。將所有的模塊電路綜合成一個整體的系統(tǒng),通電進(jìn)行測試工作,在軟件上小心的調(diào)試,盡力將參數(shù)調(diào)整到最優(yōu),通過多次測量和在不同的光線的環(huán)境中測量顯示的畫面的情況,實現(xiàn)了該系統(tǒng)的穩(wěn)定清晰的顯示漢字、字符、圖像任務(wù),完全達(dá)到了設(shè)計的預(yù)想,滿足了設(shè)計系統(tǒng)的要求。此時證明本系統(tǒng)設(shè)計成功。5.2 軟件調(diào)試軟件部分的調(diào)試主要是顯示屏刷新屏幕的時間,進(jìn)入中斷程序后都要對定時器進(jìn)行重新賦值,以保證屏幕的刷新的穩(wěn)定,清晰。定時器T

23、0采用工作方式1,即16位定時器模式,通過計算可得,TH0= 0xfb,TL0=0xee。這樣每經(jīng)過1ms,單片機就中斷一次,即每次刷新屏幕的頻率大概65hz(對于12M晶振),達(dá)到人眼視覺暫留的效果。5.3 系統(tǒng)總電路圖5-3 系統(tǒng)總仿真圖在仿真圖中,行線直接用反相器輸出驅(qū)動點陣的行,由于仿真中不考慮芯片的帶負(fù)載能力,所以可以仿真,但是實際情況下,每一行的驅(qū)動電流遠(yuǎn)遠(yuǎn)大于反相器的驅(qū)動電流。因此譯碼器的每行輸出必須接三極管,使得點陣的每一行獲得足夠的驅(qū)動電流。6總結(jié)16乘16點陣顯示屏的設(shè)計從電路的設(shè)計,仿真,硬件連接,調(diào)試和軟件的調(diào)試是一個完整的電路設(shè)計過程。在整個過程中,點陣設(shè)計涉及三個問

24、題,第一:單片機I/O口地使用,52單片機共有32個I/O口,而點陣有16行,16列,如果都用I/O口驅(qū)動,那么很浪費I/O資源,考慮到點陣的16行是逐行掃描的,那么4線16線譯碼器就可以很好地作為點陣的行驅(qū)動器,這樣只要利用單片機的4個I/O口。另外,把單片機的串口當(dāng)并口用,即利用單片機的串口搭配串入并出的移位寄存器-74HC595,它的并口輸出就可以作為點陣的16個列驅(qū)動線。那么僅用兩條線,串口發(fā)送和接收線,就可以完成點陣16列的驅(qū)動;第二:行驅(qū)動電流問題,由于使用的是共陽的點陣,所以每一行的電流應(yīng)該能同時點亮16個二極管,大概要達(dá)到320mA。那么肯定要用三極管來放大每一行的電流來驅(qū)動點

25、陣的每一行;第三:16乘16點陣的級聯(lián),采用4塊8乘8點陣拼接而成,那么上面兩個點陣的每一行都要連接到一起,下面同上,左邊的兩個點陣的每一列都連接在一起,右邊同上。這樣16乘16點陣的使用和8乘8點陣一樣。16乘16點陣的設(shè)計就很好地解決了這些問題。在硬件調(diào)試中,也遇到了以前從未有的問題:點陣顯示模糊的漢字圖形,但是顯示易受外界影響。細(xì)細(xì)考慮之后,知道點陣每一行顯示數(shù)據(jù)時,列數(shù)據(jù)的更新時間是1ms,那么串行信號的輸入線(RXD),595移位時鐘線(TXD),易受到其他信號線的影響,所以兩條線與74HC595的連接必須用錫絲連接。這樣才能讓點陣穩(wěn)定地顯示?,F(xiàn)在市面的廣告牌都是用基本的16乘16點

26、陣組成,通過這次16乘16點陣顯示屏的設(shè)計,我清楚地了解并掌握了它的顯示原理和電路實現(xiàn),相信能為以后學(xué)習(xí)功能更強大的單片機,設(shè)計大屏幕LED顯示屏奠定良好的基礎(chǔ)。參考文獻(xiàn)1 張齊,朱西寧.單片機應(yīng)用系統(tǒng)設(shè)計技術(shù)基于C51的Proteus仿真 M .北京:電子工業(yè)出版社,2009.12 張惠敏.數(shù)字電子技術(shù) M .北京:化學(xué)工業(yè)出版社,2009.3 華強.電子世界.基于8051單片機的數(shù)控電源設(shè)計 EB/OL .4 周雪.模擬電子 技術(shù) M .西安:西安電子科技大學(xué)出版社,2007.5 梅笙,李瑋.基于A T89C52控制的數(shù)控直流電流源的設(shè)計J .6 童詩白,華成英.模擬電子技術(shù)基礎(chǔ)(第四版)

27、 北京:清華大學(xué)電子教研室組編.20087 閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第四版).北京:清華大學(xué)電子學(xué)教研室組編 2005.12 全書8 黃賢武,鄭筱霞,曲波等. 傳感器實際應(yīng)用電路設(shè)計M. 成都:電子科技大學(xué)出版社.1997.4-10.9 忠梅. 單片機的C語言應(yīng)用程序設(shè)計M. 北京:北京航空航天大學(xué)出版社,199710 陳光東編著單片微型計算機原理及其C語言程序設(shè)計.華中科技大學(xué)出版社 ,2004年4月11 宏晶公司.STC89C52單片機數(shù)據(jù)手冊Z12 方佩敏.新編傳感器原理、應(yīng)用、電路詳解. 編著電子工業(yè)出版社,2004.1013 樊昌元,丁義元. 高精度測距雷達(dá)研究.電子測量與儀器學(xué)報

28、,2010.1014 蘇偉,鞏壁建.超聲波測距誤差分析.傳感器技術(shù),2004.15 恒清,張靖.加強單片機系統(tǒng)抗干擾能力的方法.通化師范學(xué)院學(xué)報,2004 .1016 胡萍.超聲波測距儀的研制.計算機與現(xiàn)代化,2003.1017 蘇長贊.紅外線與超聲波遙控.北京:人民郵電出版社,1993.718 張謙琳.超聲波檢測原理和方法.北京:中國科技大學(xué)出版社,1993.10附錄:軟件C代碼圓圈縮小#include <REG51.H>#include <intrins.h>#define NOP() _nop_() / 定義空指令 ,這個函數(shù)在庫 <intrins.h>

29、; 中/SPI IOsbit MOSIO = P34;sbit R_CLK = P35;sbit S_CLK = P36;/變量聲明unsigned long column; /點陣列unsigned long row; /點陣行unsigned long dt;/點陣顯示數(shù)組unsigned char code tab0 = 0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x0

30、8, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x00; unsigned char code tab1 = 224,7,16,8,8,16,4,32,2,64,1,128,1,128,1,128,1,128,1,128,1,128,2,64,4,32,8,16,16,8,224,7;unsigned char code tab2 = 0,0,224,7,16,8,8,16,4,32,2,64,2,64,2,64,2,64,2,64,2,64,4,32,8,16,16,8,224,7,0,0;unsigned char code tab3

31、 = 0,0,0,0,192,3,32,4,16,8,8,16,4,32,4,32,4,32,4,32,8,16,16,8,32,4,192,3,0,0,0,0;unsigned char code tab4 = 0,0,0,0,0,0,192,3,32,4,16,8,8,16,8,16,8,16,8,16,16,8,32,4,192,3,0,0,0,0,0,0;unsigned char code tab5 = 0,0,0,0,0,0,0,0,128,1,64,2,32,4,16,8,16,8,32,4,64,2,128,1,0,0,0,0,0,0,0,0;unsigned char cod

32、e tab6 = 0,0,0,0,0,0,0,0,0,0,128,1,64,2,32,4,32,4,64,2,128,1,0,0,0,0,0,0,0,0,0,0;unsigned char code tab7 = 0,0,0,0,0,0,0,0,0,0,0,0,128,1,64,2,64,2,128,1,0,0,0,0,0,0,0,0,0,0,0,0;unsigned char code tab8 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0;unsigned char code tab9 = 0,0

33、,0,0,0,0,0,0,0,0,0,0,128,1,64,2,64,2,128,1,0,0,0,0,0,0,0,0,0,0,0,0;unsigned char code tab10 = 0,0,0,0,0,0,0,0,0,0,128,1,64,2,32,4,32,4,64,2,128,1,0,0,0,0,0,0,0,0,0,0;unsigned char code tab11 = 0,0,0,0,0,0,0,0,128,1,64,2,32,4,16,8,16,8,32,4,64,2,128,1,0,0,0,0,0,0,0,0;unsigned char code tab12 = 0,0,0,

34、0,0,0,192,3,32,4,16,8,8,16,8,16,8,16,8,16,16,8,32,4,192,3,0,0,0,0,0,0;unsigned char code tab13 = 0,0,0,0,192,3,32,4,16,8,8,16,4,32,4,32,4,32,4,32,8,16,16,8,32,4,192,3,0,0,0,0;unsigned char code tab14 = 0,0,224,7,16,8,8,16,4,32,2,64,2,64,2,64,2,64,2,64,2,64,4,32,8,16,16,8,224,7,0,0;unsigned char code

35、 tab15 = 224,7,16,8,8,16,4,32,2,64,1,128,1,128,1,128,1,128,1,128,1,128,2,64,4,32,8,16,16,8,224,7;/函數(shù)聲明void HC595SendData( unsigned char BT3, unsigned char BT2,unsigned char BT1,unsigned char BT0); /*主函數(shù)*/void main(void) int k,i,ms; i = 16; /顯示時間 while(1) for(ms = i; ms > 0; ms-) for(k = 0; k <

36、 16; k+) HC595SendData(tab12*k +1,tab12*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏 for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+) HC595SendData(tab22*k +1,tab22*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏 for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC59

37、5SendData(tab32*k +1,tab32*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏 for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC595SendData(tab42*k +1,tab42*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏 for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC595SendData(ta

38、b52*k +1,tab52*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏 for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC595SendData(tab62*k +1,tab62*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏 for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC595SendData(tab72*k +1,tab

39、72*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC595SendData(tab82*k +1,tab82*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC595SendData(tab92*k +1,tab92*k,tab02*k,t

40、ab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC595SendData(tab102*k +1,tab102*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏 for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/HC595SendData(tab112*k +1,tab112*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏for(

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論