2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢 業(yè) 論 文</b></p><p>  論文題目: LED顯示屏 </p><p>  專 業(yè): 電子信息工程技術(shù) </p><p>  班 級: 10電子信息工程技術(shù) </p><p><b>  摘要</b>&

2、lt;/p><p>  本文介紹了一款以單片機(jī)AT89S51為控制器的LED點(diǎn)陣顯示屏系統(tǒng)的設(shè)計(jì)。該系統(tǒng)可實(shí)現(xiàn)中英文字符的顯示和動(dòng)態(tài)特效顯示。并且可以通過級連的方式來擴(kuò)大顯示屏幕的尺寸以達(dá)到增加顯示內(nèi)容的目的。采用程序燒錄器,把編輯的程序燒錄到單片機(jī)AT89S51中,然后利用最小系統(tǒng)控制LED顯示屏的字符顯示,單片機(jī)接收并處理PC機(jī)的控制命令以及顯示代碼,由顯示驅(qū)動(dòng)模塊驅(qū)動(dòng)一個(gè)16×16分辨率的LED點(diǎn)陣顯

3、示屏的掃描顯示。</p><p>  關(guān)鍵詞:電子信息工程技術(shù)、單片機(jī)、串行通信、LED顯示屏</p><p><b>  論文目錄</b></p><p><b>  摘要</b></p><p><b>  功能</b></p><p><b&

4、gt;  設(shè)計(jì)方案</b></p><p><b>  硬件設(shè)計(jì)方案</b></p><p><b>  軟件設(shè)計(jì)方案</b></p><p><b>  系統(tǒng)硬件設(shè)計(jì)</b></p><p><b>  控制部分</b></p>

5、<p><b>  列驅(qū)動(dòng)</b></p><p><b>  行驅(qū)動(dòng)</b></p><p><b>  顯示屏</b></p><p><b>  系統(tǒng)軟件設(shè)計(jì)</b></p><p><b>  總計(jì)</b><

6、/p><p><b>  參考文獻(xiàn)</b></p><p><b>  致謝</b></p><p><b>  附錄</b></p><p><b>  設(shè)計(jì)方案</b></p><p><b>  系統(tǒng)硬件方案</b

7、></p><p>  大多數(shù)的LED顯示屏都在戶外,所以對硬件的質(zhì)量要求非常的高。為方便檢修和維護(hù)硬件電路設(shè)計(jì)時(shí)常常采用模塊化的設(shè)計(jì)方法。硬件的設(shè)計(jì)采用模塊化設(shè)計(jì),既要滿足模塊本身功能又要能夠和整個(gè)系統(tǒng)兼容。如圖2-1所示,根據(jù)顯示系統(tǒng)的功能特點(diǎn)確定系統(tǒng)硬件由顯示屏部分,控制部分,通信系統(tǒng)及上位機(jī)四部分組成。上位機(jī)通過通信部分向控制部分發(fā)送控制指令和顯示內(nèi)容代碼,控制部分執(zhí)行顯示指令并將顯示代碼處理后控制

8、顯示部分的顯示內(nèi)容和顯示方式。</p><p><b>  顯示屏主控制器</b></p><p><b> ?。?)單片機(jī)</b></p><p>  單片機(jī)是集成了CPU,ROM,RAM和I/ O口的微型計(jì)算機(jī)。它有很強(qiáng)的接口性能,非常適合于工業(yè)控制,因此又叫微控制器(MCU)。單片機(jī)品種齊全,型號多樣 CPU 從8,

9、16,32到64位,多采用RISC 技術(shù),片上I/O非常豐富,有的單片機(jī)集成有A/ D,“ 看門狗”,PWM,顯示驅(qū)動(dòng),函數(shù)發(fā)生器,鍵盤控制等。它們的價(jià)格也高低不等,這樣極大地滿足了開發(fā)者的選擇自由。除此之外單片機(jī)還具有低電壓和低功耗的特點(diǎn)。隨著超大規(guī)模集成電路的發(fā)展,NMOS工藝單片機(jī)被CMOS代替,并開始向HMOS 過渡。供電電壓由5V 降到3V,2V甚至到1V,工作電流由mA降至μA ,這在便攜式產(chǎn)品中大有用武之地[4]。<

10、/p><p><b>  (2)DSP 芯片</b></p><p>  DSP 又叫數(shù)字信號處理器。顧名思義,DSP主要用于數(shù)字信號處理領(lǐng)域,非常適合高密度,重復(fù)運(yùn)算及大數(shù)據(jù)容量的信號處理。現(xiàn)在已經(jīng)廣泛應(yīng)用于通信、便攜式計(jì)算機(jī)和便攜式儀表、雷達(dá)、圖像、航空、家用電器、醫(yī)療設(shè)備等領(lǐng)域,DSP具有修正的哈佛結(jié)構(gòu),多總線技術(shù)以及流水線結(jié)構(gòu)。將程序與數(shù)據(jù)存儲(chǔ)器分開,使用多總線,

11、取指令和取數(shù)據(jù)同時(shí)進(jìn)行,以及流水線技術(shù),這使得速度有了較大的提高。DSP區(qū)別于一般微處理器的另一重要標(biāo)志是硬件乘法器以及特殊指令,一般微處理器用軟件實(shí)現(xiàn)乘法,逐條執(zhí)行指令,速度慢。而DSP 依靠硬件乘法器單周期完成乘法運(yùn)算,而且還具有專門的信號處理指令,如TM320 系列的FIRS ,LMS,MACD指令等[5]。</p><p><b> ?。?)EDA</b></p>&l

12、t;p>  EDA(即Electronic Design Automation) 即電子設(shè)計(jì)自動(dòng)化,它是以計(jì)算機(jī)為工具,在EDA 軟件平臺上,對用硬件描述語言HDL 完成的設(shè)計(jì)文件自動(dòng)地邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至對于特定目標(biāo)芯片進(jìn)行適配編譯、邏輯影射和編程下載等。設(shè)計(jì)者只需用HDL 語言完成系統(tǒng)功能的描述,借助EDA工具就可得到設(shè)計(jì)結(jié)果,將編譯后的代碼下載到目標(biāo)芯片就可在硬件上實(shí)現(xiàn)。

13、由于FPGA/CPLD可以通過軟件編程對該硬件的結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),修改軟件程序就相當(dāng)于改變了硬件,軟件編寫可以采用自頂向下的設(shè)計(jì)方案,而且可以多個(gè)人分工并行工作這樣便縮短了開發(fā)周期和上市時(shí)間,有利于在激烈的市場競爭中搶占先機(jī)。而且MCU和DSP都是通過串行執(zhí)行指令來實(shí)現(xiàn)特定功能,不可避免低速,而FPGA/CPLD則可實(shí)現(xiàn)硬件上的并行工作,在實(shí)時(shí)測控和高速應(yīng)用領(lǐng)域前景廣闊;另一方面,F(xiàn)PGA/CPLP器件在功能開發(fā)上是軟件實(shí)現(xiàn)的,但

14、物理機(jī)制卻和純硬件電路一樣,十分可靠。</p><p>  三種設(shè)計(jì)方式相比較各有優(yōu)點(diǎn)且都能夠?qū)崿F(xiàn)控制功能,但單片機(jī)的技術(shù)門檻較低開發(fā)成本也較低非常適合初學(xué)者進(jìn)行學(xué)習(xí)和鍛煉使用?,F(xiàn)在市場上常用的單片機(jī)主要有MCS-51、AVR、ARM、PIC等。其中應(yīng)用最廣泛的單片機(jī)首推Intel的51系列,由于產(chǎn)品硬件結(jié)構(gòu)合理,指令系統(tǒng)規(guī)范,加之生產(chǎn)歷史“悠久”,有先入為主的優(yōu)勢常作為單片機(jī)學(xué)習(xí)的教材。且51系列的I/O腳的設(shè)

15、置和使用非常簡單,當(dāng)該腳作輸入腳使用時(shí),只須將該腳設(shè)置為高電平(復(fù)位時(shí),各I/O口均置高電平)。當(dāng)該腳作輸出腳使用時(shí),則為高電平或低電平均可。所以在控制部分方案的選擇中選定51系列單片機(jī)作為控制部分的核心器件。</p><p><b>  通信系統(tǒng)</b></p><p>  通信部分要滿足的設(shè)計(jì)要求就是穩(wěn)定、快速、簡單易實(shí)現(xiàn)。因?yàn)橥ǔG闆r下顯示屏和上位機(jī)的距離不會(huì)很

16、遠(yuǎn),所以通信距離的要求不是很高。計(jì)算機(jī)數(shù)據(jù)通信主要采用并行通信和串行通信兩種方式。</p><p><b> ?。?)并行通信</b></p><p>  并行通信時(shí)數(shù)據(jù)的各個(gè)位同時(shí)傳送,可以字或字節(jié)為單位并行進(jìn)行。并行通信速度快,但用的通信線多、成本高,故不宜進(jìn)行遠(yuǎn)距離通信。</p><p><b> ?。?)串行通信</b&

17、gt;</p><p>  串行通信數(shù)據(jù)是一位一位順序傳送,只用很少幾根通信線,串行傳送的速度低,但傳送的距離長,因此串行適用于長距離而速度要求不高的場合。在串行發(fā)送時(shí),數(shù)據(jù)是一位一位按順序進(jìn)行的,而計(jì)算機(jī)內(nèi)部的數(shù)據(jù)是并行的。因此,當(dāng)計(jì)算機(jī)向外發(fā)送數(shù)據(jù)時(shí),必須將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)再發(fā)送。反之,又必須將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)輸入計(jì)算機(jī)中。這種轉(zhuǎn)換即可以用硬件實(shí)現(xiàn)也可以用軟件實(shí)現(xiàn)。單由軟件實(shí)現(xiàn)會(huì)增加CPU負(fù)擔(dān),降

18、低其利用率,故目前常采用硬件實(shí)現(xiàn)。通用的通用異步接收/發(fā)送器,簡稱UART(Universal Asynchromous Receeiver/Trabsnitter)是完成這一功能的硬件電路。在單片機(jī)芯片中,UART已經(jīng)集成在其中,作為其組成部分,構(gòu)成一個(gè)串行口[6]。</p><p>  綜上所述,題目設(shè)計(jì)已經(jīng)選定了單片機(jī)為開發(fā)方式而單片機(jī)的UART已經(jīng)集成在單片機(jī)內(nèi),所以通信系統(tǒng)選擇串行通信為通信方式。<

19、;/p><p><b>  LED點(diǎn)陣顯示屏</b></p><p>  顯示部分包括了一塊至少可以顯示一個(gè)漢字的顯示屏,以及驅(qū)動(dòng)該顯示屏的驅(qū)動(dòng)電路。由于單片機(jī)的I/O口有限要不能直接用I/O口來驅(qū)動(dòng)LED顯示屏,所以需要對單片機(jī)IO口進(jìn)行擴(kuò)展增加單片機(jī)并行輸出的能力。</p><p>  LED顯示屏是由一個(gè)一個(gè)的發(fā)光二極管點(diǎn)陣構(gòu)成的,要構(gòu)成大屏

20、幕的LED顯示屏就需要多個(gè)發(fā)光二極管。構(gòu)成LED屏幕的方法有兩種,一是由單個(gè)的發(fā)光二極管逐點(diǎn)連接起來,如圖2-2所示;二是選用一些由單個(gè)發(fā)光二極管構(gòu)成的LED點(diǎn)陣子模塊構(gòu)成大的LED點(diǎn)陣模塊。目前市場上普遍采用的點(diǎn)陣模塊有8×8、16×16幾種;這兩種屏幕構(gòu)成方法各有有缺點(diǎn),單個(gè)發(fā)光二極管構(gòu)成顯示屏優(yōu)點(diǎn)在于當(dāng)單個(gè)的發(fā)光二極管出現(xiàn)問題時(shí)只需更換一個(gè)二極管即可,檢修的成本較低,缺點(diǎn)在于連接線路復(fù)雜;而點(diǎn)陣模塊構(gòu)成的方法卻

21、正好與之相反,模塊構(gòu)成省約了大量的連線,不過當(dāng)一個(gè)LED出現(xiàn)問題時(shí)同在一個(gè)模塊的所有LED都必須被更換。這就加大了維修的成本。</p><p>  兩種方法相比較,決定采取模塊構(gòu)成的方法來制作一個(gè)LED點(diǎn)陣顯示屏。為了避免模塊的缺點(diǎn),選擇點(diǎn)陣數(shù)較小的模塊來減小出現(xiàn)這一問題的風(fēng)險(xiǎn)。所以構(gòu)建一個(gè)16×16的LED點(diǎn)陣屏選用四塊8×8點(diǎn)陣模塊。</p><p>  圖 2-2

22、 LED點(diǎn)陣圖</p><p>  一個(gè)16×16的LED顯示屏行和列各有16支引腳,不能單靠51單片機(jī)的端口驅(qū)動(dòng)所以必須要對單片機(jī)的端口個(gè)數(shù)進(jìn)行擴(kuò)展。經(jīng)常采用的端口擴(kuò)展方法是用串并轉(zhuǎn)換芯片進(jìn)行譯碼。常用的串并轉(zhuǎn)換芯片有74LS154(4線-16線譯碼器)、74LS164(8位串并轉(zhuǎn)換器)、74HC595等。51系列單片機(jī)端口低電平時(shí),吸入電流可達(dá)20mA,具有一定的驅(qū)動(dòng)能力;而為高電平時(shí),輸出電流僅

23、數(shù)十μA甚至更小(電流實(shí)際上是由腳的上拉電流形成的),基本上沒有驅(qū)動(dòng)能力,所以單片機(jī)不能直接驅(qū)動(dòng)LED顯示屏顯示。在單片機(jī)和顯示屏之間還需要增加以功能放大位目的的驅(qū)動(dòng)電路。</p><p><b>  硬件設(shè)計(jì)方案</b></p><p>  最終方案,以51單片機(jī)存儲(chǔ)和處理顯示內(nèi)容用串行通信的方式將顯示內(nèi)容和控制指令傳輸?shù)絾纹瑱C(jī)系統(tǒng),單片機(jī)指令通過端口譯碼擴(kuò)展后驅(qū)動(dòng)

24、4塊8×8LED點(diǎn)陣模塊構(gòu)成的16×16的LED點(diǎn)陣顯示屏。題目將以此方案為指導(dǎo)思想展開具體的硬件電路設(shè)計(jì)。</p><p><b>  系統(tǒng)軟件方案</b></p><p>  軟件的設(shè)計(jì)除了滿足設(shè)計(jì)功能外還必須要滿足易讀寫,方便下載和編譯。設(shè)計(jì)目標(biāo)和硬件總體結(jié)構(gòu)確定的情況下,軟件可以分為主程序,顯示子程序,各種特效顯示子程序,通信程序三個(gè)主要部

25、分組成。具體結(jié)構(gòu)如圖2-4所示。</p><p><b>  軟件功能結(jié)構(gòu)框圖</b></p><p>  軟件的編寫需要借助軟件編輯器和編譯軟件,編譯完成后還需要下載到單片機(jī)中執(zhí)行。編寫軟件之前得首先選擇一種合適的語言以及配套的編輯器和編譯軟件。最后還要選擇一款與所選單片機(jī)的下載器或下載軟件來把編寫的程序下載到單片機(jī)中執(zhí)行。</p><p>

26、<b>  單片機(jī)編程語言</b></p><p>  現(xiàn)在主要運(yùn)用的單片機(jī)編程語言為匯編語言和C語言。兩種語言相比較各有優(yōu)點(diǎn)。</p><p>  匯編語言(Assembly Language)是面向機(jī)器的程序設(shè)計(jì)語言,是一種功能很強(qiáng)的程序設(shè)計(jì)語言,也是利用計(jì)算機(jī)所有硬件特性并能直接控制硬件的語言。其具有執(zhí)行速度快,占內(nèi)存空間少等優(yōu)點(diǎn)。</p><

27、;p>  C語言是一種源于編寫UNIX操作系統(tǒng)的語言,它是一種結(jié)構(gòu)化語言,可產(chǎn)生壓縮代碼。C語言結(jié)構(gòu)是以括號{ }而不是子和特殊符號的語言。對于目前普遍使用的RISC架構(gòu)的8bit MCU來說,其內(nèi)部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯后,會(huì)變成很多條機(jī)器碼,很容易出現(xiàn)ROM空間不夠、堆棧溢出等問題。而且一些單片機(jī)廠家也不一定能提供C編譯器。而匯編語言,一條指令就對應(yīng)一個(gè)機(jī)器碼,每一步執(zhí)行

28、動(dòng)作都很清楚,并且程序大小和堆棧調(diào)用情況都容易控制,調(diào)試起來也比較方便?;谝陨侠碛蓻Q定采用匯編語言為該顯示系統(tǒng)的編程語言。</p><p><b>  系統(tǒng)軟件編譯器介紹</b></p><p>  匯編語言編寫的程序并不能被單片機(jī)直接執(zhí)行還需要編譯為單片機(jī)可執(zhí)行的機(jī)器語言。因此在系統(tǒng)軟件設(shè)計(jì)中,編譯器必不可少。支持MCS-51用C語言編程的編譯器主要有兩種:Fra

29、nklin C51編譯器和KEILC51編譯器。目前在單片機(jī)開發(fā)中普遍都是使用KEIL C51來進(jìn)行編譯。</p><p>  因此軟件設(shè)計(jì)最終方案為采用匯編語言為程序語言,KELC為編譯工具按照控制、通信、顯示等幾個(gè)功能模塊來編寫程序。</p><p><b>  系統(tǒng)硬件設(shè)計(jì)</b></p><p><b>  控制部分</

30、b></p><p><b>  AT89S51簡介</b></p><p>  AT89S51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機(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)方法

31、進(jìn)行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強(qiáng)大,低價(jià)位AT89S51單片機(jī)可提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。</p><p>  AT989S51具有以下特點(diǎn):</p><p>  ·與MCS-51產(chǎn)品指令系統(tǒng)完全兼容</p><p>  ·4k字節(jié)在系統(tǒng)編程(ISP)Flash閃速存儲(chǔ)器</p>

32、;<p>  ·1000次擦寫周期</p><p>  ·4.0-5.5V的工作電壓范圍</p><p>  ·全靜態(tài)工作模式:0Hz-33MHz</p><p><b>  ·三級程序加密鎖</b></p><p>  ·128×8字節(jié)內(nèi)部RAM

33、</p><p>  ·32個(gè)可編程I/O口線</p><p>  ·2個(gè)16位定時(shí)/計(jì)數(shù)器</p><p><b>  ·6個(gè)中斷源</b></p><p>  ·全雙工串行UART通道</p><p>  ·低功耗空閑和掉電模式</p&g

34、t;<p>  ·中斷可從空閑模喚醒系統(tǒng)</p><p>  ·看門狗(WDT)及雙數(shù)據(jù)指針</p><p>  ·掉電標(biāo)識和快速編程特性</p><p>  ·靈活的在系統(tǒng)編程(ISP字節(jié)或頁寫模式)</p><p>  AT89S51提供以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash閃速存儲(chǔ)器,12

35、8字節(jié)內(nèi)部RAM,32個(gè)I/O口線,看門狗(WDT),兩個(gè)數(shù)據(jù)指針,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量兩級中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。</p>&l

36、t;p><b>  控制系統(tǒng)設(shè)計(jì)</b></p><p>  控制電路設(shè)計(jì)中采用的是單片機(jī)系統(tǒng),該系統(tǒng)必須要是工作在一個(gè)最小系統(tǒng)(指單片機(jī)的可以的最小配置系統(tǒng))。AT89S51的最小系統(tǒng)包括了外界時(shí)鐘電路和復(fù)位電路,選定一定數(shù)量的IO口作為控制口控制外部的各種器件和數(shù)據(jù)的輸出。根據(jù)功能選擇一定的單片機(jī)端口添加外圍的器件,具體電路如圖3-2所示。</p><p>

37、  在該系統(tǒng)中,P1各口主要用作LED顯示數(shù)據(jù)的控制輸出。由于端口的驅(qū)動(dòng)能力有限所以該端口外接了5K的上拉電阻來提高驅(qū)動(dòng)能力。具體接法為:P1口連接74HC154,P1.0到P1.3分別連接74HC154的A、B、C、D 端譯碼地址輸入端(低電平有效), </p><p>  端口30,EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。因?yàn)闆]

38、有擴(kuò)展外部程序存儲(chǔ)器所以將EA置為高電平。</p><p><b>  控制部分電路圖</b></p><p>  由于P3口是特殊功能口,在該系統(tǒng)中基本是采用其第二功能。其第二功能和實(shí)際運(yùn)用如表3-1所示:</p><p>  表3-1 AT89S51P3口第二功能的應(yīng)用</p><p>  AT89S51單片機(jī)的P

39、1在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,P2口在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高8位地址數(shù)據(jù)。所以P1和P2口留為外部數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器的擴(kuò)展用,以備內(nèi)部存儲(chǔ)器和程序存儲(chǔ)器不夠用的情況時(shí)使用。</p><p><b>  列驅(qū)動(dòng)</b></p><p><b>  驅(qū)動(dòng)電路<

40、/b></p><p>  本設(shè)計(jì)中,每個(gè)16×16點(diǎn)陣的列驅(qū)動(dòng)電路由兩個(gè)串聯(lián)的8位移位鎖存器74HC595構(gòu)成。74HC595,是為Motorola的SPI總線開發(fā)的一款串并轉(zhuǎn)換芯片。由于74HC595的輸入輸出電平兼容LSTTL,NMOS,CMOS電平,且具有較強(qiáng)的輸出負(fù)載能力,而被廣泛地運(yùn)用于MCU(微控制器)、MPU(微處理器)的I/O口擴(kuò)展。</p><p>  

41、74HC595在5V供電的時(shí)候能夠達(dá)到30MHz的時(shí)鐘速度,每個(gè)并行輸出端口均能承受20mA的灌電流和拉電流。這個(gè)特點(diǎn)保證了不用增加額外的擴(kuò)流電路即可輕松的驅(qū)動(dòng)LED。它輸入端允許500nS的上升(下降)時(shí)間,對嚴(yán)重畸形的時(shí)鐘脈沖仍能檢測。這樣就可以容納較大的傳輸線對地電容,使本設(shè)計(jì)的抗干擾能力增強(qiáng)。</p><p>  74HC595并行輸出端與LED模塊列線之間通過電阻連接,這里電阻起到分壓,去除紅色LED的

42、并聯(lián)嵌位作用。使紅綠兩組LED均能正常發(fā)光。</p><p>  由于LED顯示屏的工作電流時(shí)刻在變化,造成了系統(tǒng)電壓的波動(dòng)。這種電壓波動(dòng)有高頻成分,也有低頻成分。輕則對周圍無線電環(huán)境造成電磁污染,重則使系統(tǒng)時(shí)鐘紊亂,邏輯錯(cuò)誤。為避免此,在每個(gè)74HC595的電源VCC和GND旁邊都并聯(lián)了兩個(gè)電容,用于濾波和退耦。穩(wěn)定系統(tǒng)電壓,旁路掉電源中的高頻脈動(dòng)成份。消除自激,減小對外雜散電磁輻射,提高EMI電磁兼容性。&l

43、t;/p><p><b>  7HC595介紹</b></p><p>  74HC595芯片是一種串入并出的芯片,在電子顯示屏制作當(dāng)中有廣泛的應(yīng)用。</p><p>  74HC595是8位串行輸入/輸出或者并行輸出移位寄存器,具有高阻、關(guān)、斷狀態(tài)。</p><p>  三態(tài)特點(diǎn),8位行輸入 8位串行或并行輸出 存儲(chǔ)狀態(tài)寄

44、存器,三種狀態(tài) 輸出寄存器可以直接清除 100MHz的移位頻率 輸出能力 并行輸出,總線驅(qū)動(dòng) 串行輸出;</p><p>  標(biāo)準(zhǔn) 中等規(guī)模集成電路應(yīng)用 串行到并行的數(shù)據(jù)轉(zhuǎn)換 Remote control holding register. 描述 595是告訴的硅結(jié)構(gòu)的CMOS器件, 兼容低電壓TTL電路,遵守JEDEC標(biāo)準(zhǔn)。</p><p>  CPD決定動(dòng)態(tài)的能耗, PD=CPD

45、15;VCC×f1+∑(CL×VCC2×f0) F1=輸入頻率,CL=輸出電容 f0=輸出頻率(MHz) Vcc=電源電壓 引腳說明符號引腳描述 </p><p><b>  內(nèi)部結(jié)構(gòu)</b></p><p>  74595的數(shù)據(jù)端:</p><p>  QA--QH: 八位并行輸出端,可以直接控制數(shù)碼管的8個(gè)段。

46、QH': 級聯(lián)輸出端。我將它接下一個(gè)595的SI端。</p><p>  SI: 串行數(shù)據(jù)輸入端。</p><p>  74595的控制端說明:</p><p>  /SRCLR(10腳): 低點(diǎn)平時(shí)將移位寄存器的數(shù)據(jù)清零。通常我將它接Vcc。SRCK(11腳):上升沿時(shí)數(shù)據(jù)寄存器的數(shù)據(jù)移位。QA-->QB-->QC-->...-->

47、;QH;下降沿移位寄存器數(shù)據(jù)不變。(脈沖寬度:5V時(shí),大于幾十納秒就行了。我通常都選微秒級)</p><p>  RCK(12腳):上升沿時(shí)移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲(chǔ)寄存器,下降沿時(shí)存儲(chǔ)寄存器數(shù)據(jù)不變。(通常我將RCK置為低電平,) 當(dāng)移位結(jié)束后,在RCK端產(chǎn)生一個(gè)正脈沖(5V時(shí),大于幾十納秒就行了。我通常都選微秒級),更新顯示數(shù)據(jù)。</p><p>  /G(13腳): 高電平時(shí)禁止輸

48、出(高阻態(tài))。如果單片機(jī)的引腳不緊張,用一個(gè)引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果。比通過數(shù)據(jù)端移位控制要省時(shí)省力。3)595是串入并出帶有鎖存功能移位寄存器,它的使用方法很簡單,在正常使用時(shí)SCLR為高電平, G為低電平。從SER每輸入一位數(shù)據(jù),串行輸595是串入并出帶有鎖存功能移位寄存器,它的使用方法很簡單,如下面的真值表,在正常使用時(shí)SCLR為高電平, G為低電平。從SER每輸入一位數(shù)據(jù),串行輸入時(shí)鐘SCK上升沿有效一次,直到

49、八位數(shù)據(jù)輸入完畢,輸出時(shí)鐘上升沿有效一次,此時(shí),輸入的數(shù)據(jù)就被送到了輸出端。入時(shí)鐘SCK上升沿有效一次,直到八位數(shù)據(jù)輸入完畢,輸出時(shí)鐘上升沿有效一次,此時(shí),輸入的數(shù)據(jù)就被送到了輸出端。</p><p><b>  行驅(qū)動(dòng)</b></p><p><b>  驅(qū)動(dòng)原理</b></p><p>  共集驅(qū)動(dòng)方式, 又稱射極跟隨

50、器,當(dāng)電源電壓足夠時(shí),在負(fù)載上獲得的電壓始終等于基極對地電壓Ub減去發(fā)射結(jié)壓降Ube。硅管的Ube一般為0.7V左右,因此在5V供電系統(tǒng)中,在負(fù)載上最多能獲得4.3V的電壓,若Ic=1 A 則在三極管上的管耗為1A×0.7V=0.7W,管耗較大,需選用中功率的管子。還有一個(gè)重要的特點(diǎn),共集電路的基極是用高電平驅(qū)動(dòng),而單片機(jī)在復(fù)位期間,所有I/O口都呈現(xiàn)高電平。這樣的話,在開機(jī)上電復(fù)位的瞬間,在所有的行線上都會(huì)獲得電壓。而造成開

51、機(jī)瞬間全屏顯示或造成巨大的浪涌電流沖擊,使電源電壓跌落,單片機(jī)工作異常。</p><p>  而使用共射驅(qū)動(dòng)方式的話,同樣的電源電壓下,負(fù)載端能獲得4.7V的電壓,Ic=1A時(shí)的管耗只有0.3W。因此可選用小功率器件。共射電路的基極驅(qū)動(dòng)是用低電平,這就不會(huì)造成上述共集電路的浪涌電流影響。同時(shí),大部分單片機(jī)的I/O是弱上拉輸出,也即是單片機(jī)能承受較大的灌電流,而只能提供微弱的拉電流。</p><

52、p>  74HC154介紹4線—16線譯碼器,可以實(shí)現(xiàn)地址的擴(kuò)展。 引腳說明:1-11 13-17 :輸出端。12:Gnd電源地 </p><p>  18-19:使能輸入端、低電平有效</p><p>  20-23地址輸入端 </p><p><b>  24 VCC電源正</b></p><p>

53、  74HC154是一款高速CMOS器件,74HC154引腳兼容低功耗肖特基TTL(LSTTL)系列?! ?4HC154譯碼器可接受4位高有效二進(jìn)制地址輸入,并提供16個(gè)互斥的低有效輸出。74HC154的兩個(gè)輸入使能門電路可用于譯碼器選通,以消除輸出端上的通常譯碼“假信號”,也可用于譯碼器擴(kuò)展。該使能門電路包含兩個(gè)“邏輯與”輸入,必須置為低以便使能輸出端。任選一個(gè)使能輸入端作為數(shù)據(jù)輸入,74HC154可充當(dāng)一個(gè)1-16的多路分配器。當(dāng)

54、其余的使能輸入端置低時(shí),地址輸出將會(huì)跟隨應(yīng)用的狀態(tài)。</p><p>  74HC154 4線-16 線譯碼器/解調(diào)器 ·將4個(gè)二進(jìn)制編碼輸入譯成16個(gè)彼獨(dú)立的輸出之一 ·將數(shù)據(jù)從一個(gè)輸入線分配到16個(gè)輸出的任意一個(gè)而實(shí)現(xiàn)解調(diào)功能 ·輸入箝位二極管簡化了系統(tǒng)設(shè)計(jì) ·與大部分TTL和DTL電路完全兼容 74154這種

55、單片4 線—16 線譯碼器非常適合用于 HYPERLINK "http://www.838dz.com/"高性能存儲(chǔ)器的譯碼器。當(dāng)兩個(gè)選通輸入G1 和G2 為低時(shí), 它可將4 個(gè)二進(jìn)制編碼的輸入譯成16 個(gè)互相獨(dú)立的輸出之一。實(shí)現(xiàn)解調(diào)功能的辦法是:用4 個(gè)輸入線寫出輸出線的地址,使得在一個(gè)選通輸入為低時(shí)數(shù)據(jù)通過另一個(gè)選通輸入。當(dāng)任何一個(gè)選通輸入是高時(shí),所有輸出都為高。</p><p><

56、b>  LED顯示屏</b></p><p><b>  LED顯示屏結(jié)構(gòu)</b></p><p>  設(shè)計(jì)時(shí)必須掌握點(diǎn)陣工作原理方能進(jìn)行更深層設(shè)計(jì)。16x16LED點(diǎn)陣其實(shí)就是4塊8x8點(diǎn)陣LED級聯(lián)而成的,因此特給出 8×8 點(diǎn)陣LED的工作原理。圖(1)為8×8點(diǎn)陣LED外觀及引腳圖,其等效電路如圖(2)所示,只要其對應(yīng)的X

57、、Y軸順向偏壓,即可使LED發(fā)亮。例如如果想使左上角LED點(diǎn)亮,則Y0=1,X0=0即可。應(yīng)用時(shí)限流電阻可以放在X軸或Y軸。而16x16就是在8x8原理的基礎(chǔ)上將四塊8x8級聯(lián)而成,如圖(3)。</p><p>  圖(1)8×8點(diǎn)陣LED外觀及引腳圖</p><p>  圖(2)8×8點(diǎn)陣LED等效電路</p><p>  圖(3)四塊8x8點(diǎn)

58、陣LED級聯(lián)成16x16點(diǎn)陣</p><p>  LED點(diǎn)陣的顯示文字原理</p><p>  漢字顯示屏用于顯示漢字、字符及圖像信息,在公共汽車、銀行、醫(yī)院及戶外廣告等地方都有廣泛的應(yīng)用。下面是簡單的漢字顯示屏的制作,由單片機(jī)控制漢字的顯示內(nèi)容。為了降低成本,使用了四塊8×8的LED點(diǎn)陣發(fā)光管的模塊,組成了一個(gè)16×16的LED點(diǎn)陣顯示屏,如圖(3)所示。在這里僅做了

59、二十五個(gè)漢字的顯示,在實(shí)際的使用中可以根據(jù)這個(gè)原理自行的擴(kuò)展顯示的漢字,下面是介紹漢字顯示的原理。 </p><p>  LED驅(qū)動(dòng)顯示采用動(dòng)態(tài)掃描方法,動(dòng)態(tài)掃描方式是逐行輪流點(diǎn)亮,這樣掃描驅(qū)動(dòng)電路就可以實(shí)現(xiàn)多行的同名列共用一套列驅(qū)動(dòng)器。以16×16點(diǎn)陣為例,把所有同一行的發(fā)光管的陰極連在一起,把所有同一列的發(fā)光管的陽極連在一起(共陰的接法),先送出對應(yīng)第1列發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第1列使其燃

60、亮一定的時(shí)間,然后熄滅;再送出第2列的數(shù)據(jù)并鎖存,然后選通第2列使其燃亮相同的時(shí)間,然后熄滅;….第16列之后,又重新燃亮第1列,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形。該方法能驅(qū)動(dòng)較多的LED,控制方式較靈活,而且節(jié)省單片機(jī)的資源。</p><p>  顯示數(shù)據(jù)可通過單片機(jī)的P0,,P2口接驅(qū)動(dòng)電路傳輸?shù)近c(diǎn)陣行引腳。</p><

61、p>  LED點(diǎn)陣顯示模塊進(jìn)行的方法有兩種:</p><p>  1)水平方向(X方向)掃描,即逐列掃描的方式(簡稱列掃描方式):此時(shí)用一個(gè)P口輸出列碼決定哪一列能亮(相當(dāng)于位碼),用另一個(gè)P口輸出行碼(列數(shù)據(jù)),決定該列上哪個(gè)LED亮(相當(dāng)于段碼)。能亮的列從左到右掃描完16列(相當(dāng)于位碼循環(huán)移動(dòng)16次)即顯示出一個(gè)完整的圖像。</p><p> ?。?)豎直方向(Y方向)掃描,即

62、逐行掃描方式(簡稱行掃描方式):此時(shí)用一個(gè)P口輸出決定哪一行能亮(相當(dāng)于位碼),另一個(gè)P口輸出列碼(行數(shù)據(jù),行數(shù)據(jù)為將列數(shù)據(jù)的點(diǎn)陣旋轉(zhuǎn)90度的數(shù)據(jù))決定該行上哪些LED燈亮(相當(dāng)于段碼)。能亮的行從上向下掃描完16行(相當(dāng)于位碼循環(huán)移位16次)即顯示一幀完整的圖像。</p><p>  本設(shè)計(jì)應(yīng)用的是第一種的掃描方法,即水平方向(X方向)掃描。</p><p>  每一個(gè)字由16行16列的

63、點(diǎn)陣形成顯示,即每個(gè)字均由256個(gè)點(diǎn)陣來表示,我們可以把每一個(gè)點(diǎn)理解為一個(gè)像素。一般我們使用的16×16的點(diǎn)陣宋體字庫,即所謂的16×16,是每一個(gè)漢字在縱橫各16點(diǎn)的區(qū)域內(nèi)顯示的。漢字庫從該位置起的32字節(jié)信息記錄了該字的</p><p>  字模信息。事實(shí)上這個(gè)漢字屏不僅可以顯示漢字,也可以顯示在256像素范圍內(nèi)的任何圖形。</p><p>  LED點(diǎn)陣屏顯示方式

64、主要由靜態(tài)顯示和動(dòng)態(tài)掃描顯示兩種。</p><p>  對靜態(tài)顯示來說,每一個(gè)發(fā)光二極管都需要一套驅(qū)動(dòng)電路,一幀畫面輸入以后便可一勞永逸地顯示,除非我們改變了顯示內(nèi)容,需要重新輸出新的點(diǎn)陣數(shù)據(jù).這種方式系統(tǒng)原理相對簡單一些,但所需的譯碼驅(qū)動(dòng)裝量很多,引線多而繁雜,不便于大屏幕的制造,成本高,其可靠性也較低.</p><p>  另一種動(dòng)態(tài)掃描顯示是把整個(gè)LED屏幕分成若干部分,每一幅畫面的

65、顯示是顯示完一部分后,又顯示第二部分……直到顯示完最后一部分又重新開始顯示第一部分,重復(fù)循環(huán)進(jìn)行.在重復(fù)掃描速度足夠快的情況下,我們看到的就是一幅穩(wěn)定的畫面.也就是說采用動(dòng)態(tài)掃描顯示需要不斷進(jìn)行畫面的刷新.在這種方式下其顯示驅(qū)動(dòng)電路可重復(fù)利用,引線也大大減少,從而使硬件成本降低,且屏幕上的發(fā)光二極管輪流發(fā)光,使用時(shí)的耗電量大大降低.大屏幕的制造、維護(hù)要容易許多,可靠性也增加了.</p><p>  兩種顯示方式的

66、比較再結(jié)合51單片機(jī)IO口數(shù)量有限的原因決定采用動(dòng)態(tài)掃描的方式進(jìn)行顯示。</p><p>  動(dòng)態(tài)掃描分為行掃描和列掃描兩種方式區(qū)別在于選通端和數(shù)據(jù)輸入端分別是行還是列。在該顯示系統(tǒng)中掃描顯示的工作原理如圖4-2所示,先選通列然后再從行送入對應(yīng)列的數(shù)據(jù),這樣從第1列到第16列循環(huán)往復(fù),只要切換的速度足夠的快利用人眼的延時(shí)特性就可以看見一幅穩(wěn)定的畫面。</p><p><b>  

67、掃描顯示程序原理圖</b></p><p><b>  系統(tǒng)軟件設(shè)計(jì)</b></p><p>  系統(tǒng)軟件采用匯編語言編寫,按照模塊化的設(shè)計(jì)思路設(shè)計(jì)。首先分析程序所要實(shí)現(xiàn)的功能,程序要實(shí)現(xiàn)串口通信,靜態(tài)顯示,動(dòng)態(tài)顯示三大功能。其功能結(jié)構(gòu)如圖2-4所示。通信程序接收數(shù)據(jù),交給主程序處理再通過控制程序選擇不同的顯示程序進(jìn)行顯示。</p><

68、p>  主程序的工作流程如圖4-1所示</p><p>  圖4-1 主程序流程圖</p><p>  程序開始時(shí)首先必須對單片機(jī)進(jìn)行初始化,其中初始化的內(nèi)容包括:串行通信時(shí)通信方式的選擇和波特率的設(shè)定,各IO口功能的設(shè)定等。按照設(shè)定的方式和內(nèi)容顯示出所需要的內(nèi)容。</p><p><b>  程序:</b></p>&l

69、t;p>  ;顯示字用查表法,不占內(nèi)存,用四個(gè)16*16共陽LED點(diǎn)陣顯示,</p><p>  ;效果:向上滾動(dòng)顯示字,每次四個(gè),重復(fù)循環(huán)。</p><p>  ;R2:行掃描地址(從00-0FH)。</p><p>  ;R3:滾動(dòng)顯示時(shí)控制移動(dòng)速度,也可控制靜止顯示的時(shí)間。</p><p>  ;************;<

70、/p><p><b>  ;中斷入口程序;</b></p><p>  ;************;</p><p><b>  ;</b></p><p>  ORG 0000H</p><p>  LJMP START</p><p> 

71、 ORG 0003H</p><p><b>  RETI</b></p><p>  ORG 000BH</p><p>  LJMP INTT0</p><p>  ORG 0013H</p><p><b>  RETI</b></p

72、><p>  ORG 001BH</p><p><b>  RETI</b></p><p>  ORG 0023H</p><p><b>  RETI</b></p><p>  ORG 002BH</p><p><b

73、>  RETI</b></p><p><b>  ;</b></p><p>  ;************;</p><p><b>  ; 初始化程序 ;</b></p><p>  ;************;</p><p><b>  

74、;</b></p><p><b>  ;</b></p><p>  ;************;</p><p>  ; 主程序 ;</p><p>  ;************;</p><p><b>  ;</b></p><

75、;p>  START: </p><p>  MOV 20H,#00H ;清標(biāo)志位為0,00H=(20h.0)為1幀掃描結(jié)束標(biāo)志</p><p>  MOV A,#0FFH ;端口初始化</p><p>  MOV P1,A</p><p>  MOV P2,A

76、</p><p>  MOV P3,A</p><p>  MOV P0,A</p><p>  CLR P1.6 ;串行寄存器打入輸出端控制位</p><p>  MOV TMOD,#01H ;使用T0作16位定時(shí)器,行掃描用。</p><p>  MOV TH0,#0

77、FCH ;1ms初值(12MHZ)</p><p>  MOV TL0,#18H</p><p>  MOV SCON,#00H ;串口方式0</p><p>  MOV IE,#82H ;T0中斷允許,總中斷允許</p><p>  MOV SP,#70H ;修改堆棧底部為70H單

78、元</p><p>  LCALL DIS1 ;顯示準(zhǔn)備,黑屏,1.6秒</p><p>  MAIN: </p><p>  MOV DPTR,#TAB</p><p>  LCALL MOVDISP ;逐排顯示,每排四字,共六排</p><p>

79、;  MOV DPTR,#TAB</p><p>  LCALL MOVDISP1 ;滾動(dòng)顯示,每排四字)</p><p>  AJMP MAIN</p><p><b>  ;</b></p><p><b>  ;</b></p><p>

80、  ;********************;</p><p>  ; 四字逐排顯示子程序 ;</p><p>  ;********************;</p><p>  ;每次四字移入移出顯示方式,入口時(shí)定義好DPTR值</p><p><b>  ;</b></p><p>  M

81、OVDISP: MOV R1,#6 ;顯示6排字,每排四字(R1=排數(shù))</p><p>  DISLOOP: MOV R3,#100 ;每排顯示時(shí)間16ms*100=1.6S</p><p>  DISMOV: MOV R2,#00H ;第0行開始</p>

82、<p>  SETB TR0 ;開掃描(每次一幀)</p><p>  WAITMOV: JBC 00H,DISMOV1 ;標(biāo)志為1掃描一幀結(jié)束(16毫秒為1幀,每行1毫秒)</p><p>  AJMP WAITMOV</p><p>  DISMOV1: DJNZ

83、R3,DISMOV ;1幀重復(fù)顯示(控制顯示時(shí)間)</p><p>  MOV A,#128 ;顯示字指針移一排(每排4字*32=128)</p><p>  ADD A,DPL ;</p><p>  MOV DPL,A</p><p>  MOV A,#0&

84、lt;/p><p>  ADDC A,DPH</p><p>  MOV DPH,A</p><p>  DEC R1 ;R1為0,顯示完</p><p>  MOV A,R1</p><p>  JZ MOVOUT ;</p>

85、<p>  AJMP DISLOOP ;</p><p>  MOVOUT: RET ;移動(dòng)顯示結(jié)束</p><p><b>  ;</b></p><p>  ;********************;</p><p>  ; 四

86、字滾動(dòng)顯示子程序 ;</p><p>  ;********************;</p><p>  ;每排四字向上移出顯示方式,入口時(shí)定義好DPTR值</p><p><b>  ;</b></p><p>  MOVDISP1: MOV R1,#96 ;向上移動(dòng)顯示6排字,每

87、排四字(R1=排數(shù)*16)</p><p>  DISLOOP1: MOV R3,#10 ;移動(dòng)速度1.6*10=0.16S</p><p>  DISMOV2: MOV R2,#00H ;第0行開始</p><p>  SETB TR0 ;開掃描(每次一幀)&

88、lt;/p><p>  WAITMOV1: JBC 00H,DISMOV3 ;標(biāo)志為1掃描一幀結(jié)束(16毫秒為1幀,每行1毫秒)</p><p>  AJMP WAITMOV1</p><p>  DISMOV3: DJNZ R3,DISMOV2 ;1幀重復(fù)顯示(控制移動(dòng)速度)</p><p

89、>  INC DPTR ;顯示字指針移一行(二字節(jié)位置)</p><p>  INC DPTR</p><p>  DEC R1 ;R1為0,顯示完</p><p>  MOV A,R1</p><p>  JZ MOVOUT1 ;

90、</p><p>  AJMP DISLOOP1 ;</p><p>  MOVOUT1: RET ;移動(dòng)顯示結(jié)束</p><p><b>  ;</b></p><p><b>  ;</b></p><p

91、>  ;*****************;</p><p>  ; 四個(gè)字顯示子程序 ;</p><p>  ;*****************;</p><p>  ;靜止顯示表中某四個(gè)字(黑屏)</p><p>  DIS1: MOV R3,#100 ;靜止顯示時(shí)間控制(16MS*#

92、5ah=1.6秒)</p><p>  DIS11: MOV R2,#00H ;一幀掃描初始值(行地址從00-0FH)</p><p>  MOV DPTR,#TAB ;取表首址</p><p>  SETB TR0 ;開掃描(每次一幀)</p><p&g

93、t;  WAIT11: JBC 00H,DIS111 ;為1,掃描一幀結(jié)束</p><p>  AJMP WAIT11</p><p>  DIS111: DJNZ R3,DIS11</p><p><b>  RET</b></p><p><b>

94、;  ;</b></p><p><b>  ;</b></p><p>  ;************;</p><p>  ; 掃描程序 ;</p><p>  ;************;</p><p>  ;1MS傳送一行,每行顯示1毫秒,一次傳送四個(gè)字的某行共8個(gè)字節(jié).

95、</p><p><b>  ;</b></p><p>  INTT0: PUSH ACC</p><p>  MOV TH0,#0FCH ;1ms初值重裝</p><p>  MOV TL0,#18H</p><p>  MOV A,

96、#97 ;指向第四個(gè)字行右字節(jié)(#tab+97)</p><p>  ADD A,DPL</p><p>  MOV DPL,A</p><p>  MOV A,#0</p><p>  ADDC A,DPH</p><p>  MOV DPH,A</p&

97、gt;<p>  MOV A,#0</p><p>  MOVC A,@A+DPTR ;查表(0+#tab+97)</p><p>  MOV SBUF,A ;串口0方式發(fā)送</p><p>  WAIT: JBC TI,GO ;等待發(fā)送完畢</p

98、><p>  AJMP WAIT ;</p><p>  GO: MOV A,DPL ;指向第四個(gè)字行左字節(jié)</p><p>  SUBB A,#1</p><p>  MOV DPL,A</p><p>  MOV A,

99、DPH</p><p>  SUBB A,#0</p><p>  MOV DPH,A</p><p>  MOV A,#0</p><p>  MOVC A,@A+DPTR</p><p>  MOV SBUF,A</p><p>  WAIT1:

100、 JBC TI,GO1</p><p>  AJMP WAIT1;</p><p>  GO1: MOV R0,#03H</p><p>  MLOOP: MOV A,DPL ;指向前三個(gè)字行右字節(jié)</p><p>  SUBB A,#3

101、1</p><p>  MOV DPL,A</p><p>  MOV A,DPH</p><p>  SUBB A,#0</p><p>  MOV DPH,A</p><p>  MOV A,#0</p><p>  MOVC A,@A+DPTR

102、 ;查表</p><p>  MOV SBUF,A ;串口0方式發(fā)送</p><p>  WAIT2: JBC TI,GO2 ;等待發(fā)送完畢</p><p>  AJMP WAIT2 ;</p><p>  GO2:

103、 MOV A,DPL ;指向前三個(gè)字行左字節(jié)</p><p>  SUBB A,#1</p><p>  MOV DPL,A</p><p>  MOV A,DPH</p><p>  SUBB A,#0</p><p>  MOV DPH,A<

104、/p><p>  MOV A,#0</p><p>  MOVC A,@A+DPTR</p><p>  MOV SBUF,A</p><p>  WAIT3: JBC TI,GO3</p><p>  AJMP WAIT3</p><p> 

105、 GO3: DJNZ R0,MLOOP ;執(zhí)行三次;</p><p>  SETB P1.7 ;關(guān)行顯示,準(zhǔn)備涮新</p><p>  NOP ;串口寄存器數(shù)據(jù)穩(wěn)定</p><p>  SETB P1.6 ;產(chǎn)生上升沿,行數(shù)據(jù)打入

106、輸出端</p><p>  NOP ;</p><p>  NOP ;</p><p>  CLR P1.6 ;恢復(fù)低電平</p><p>  MOV A,R2 ;修改顯示行地址</p>&

107、lt;p>  ORL A,#0F0H ;修改顯示行地址a=0f0h</p><p>  MOV R2,A ;修改顯示行地址r2=0f0h</p><p>  MOV A,P1 ;修改顯示行地址a=10111111b=0bfh</p><p>  ORL A,#0FH

108、 ;修改顯示行地址a=10111111b=0bfh</p><p>  ANL A,R2 ;修改顯示行地址a=b0h</p><p>  MOV P1,A ;修改完成p1=b0h=1011 0000b</p><p>  CLR P1.7 ;開行顯示</p&

109、gt;<p>  INC R2 ;下一行掃描地址值r2=f1h=1111 0001b</p><p>  INC DPTR ;dptr=#tab+1</p><p>  INC DPTR ;下一行數(shù)據(jù)地址dptr=#tab+2</p><p>  MOV

110、 A,R2</p><p>  ANL A,#0FH ;a=01h</p><p>  JNZ GO4</p><p>  SETB 00H ;R2為10H,現(xiàn)為末行掃描,置1幀結(jié)束標(biāo)志</p><p>  MOV A,DPL ;指針修正為原幀初值<

111、;/p><p>  SUBB A,#32</p><p>  MOV DPL,A</p><p>  MOV A,DPH</p><p>  SUBB A,#0</p><p>  MOV DPH,A</p><p>  CLR TR0

112、 ;一幀掃描完,關(guān)掃描</p><p>  GO4: POP ACC</p><p>  RETI ;退出</p><p><b>  總計(jì)</b></p><p>  經(jīng)過一段時(shí)間的工作,終于完成了基于51單片機(jī)的LED顯示系統(tǒng)的設(shè)計(jì),項(xiàng)目所要求的

113、功能全部達(dá)到。通過這次設(shè)計(jì)收獲頗多,不僅是所作題目涉及到的軟硬件知識還有更為重要的實(shí)際經(jīng)驗(yàn)和過程中所發(fā)現(xiàn)的問題。</p><p>  接手題目之后從互聯(lián)網(wǎng)上對LED進(jìn)行了詳細(xì)的資料收集,從技術(shù)和產(chǎn)業(yè)的兩方面對LED進(jìn)行了了解。通過了解我認(rèn)識到LED是一門當(dāng)今應(yīng)用非常廣泛的技術(shù),整個(gè)產(chǎn)業(yè)每年都會(huì)有巨大的產(chǎn)值而且技術(shù)還在不斷發(fā)展和創(chuàng)新[20]。</p><p>  從設(shè)計(jì)之初就確定了參照大屏幕

114、顯示屏的實(shí)現(xiàn)方法和實(shí)際情況設(shè)計(jì)一款小屏幕的LED點(diǎn)陣顯示屏。在查閱了大量的大屏幕顯示屏資料后確定了題目的設(shè)計(jì)方案。整個(gè)設(shè)計(jì)采用AT89S51做核心控制器,74HC154和74HC595做行和列驅(qū)動(dòng)。在實(shí)現(xiàn)這一設(shè)計(jì)的過程中所遇到的問題和困難給我留下了寶貴的經(jīng)驗(yàn)和深刻教訓(xùn)。這些經(jīng)驗(yàn)和教訓(xùn)是:</p><p> ?。?)設(shè)計(jì)之前應(yīng)該進(jìn)行大量的資料收集和分析,確定一個(gè)清晰的設(shè)計(jì)思路;</p><p&g

115、t; ?。?)器件選擇時(shí)要詳細(xì)閱讀器件使用手冊,不但要考慮器件的功能實(shí)現(xiàn)還要考慮器件在整個(gè)系統(tǒng)中的兼容性;</p><p> ?。?)硬件的系統(tǒng)的建立必須合理和穩(wěn)定,實(shí)物建立之前最好進(jìn)行仿真這樣才能為軟件提供一個(gè)可靠的試驗(yàn)平臺;</p><p> ?。?)軟件的編寫不但要實(shí)現(xiàn)功能還要不斷的優(yōu)化、簡練、易讀。</p><p>  隨著課題的進(jìn)行,對LED的了解也越來越

116、深入。認(rèn)為LED技術(shù)也會(huì)進(jìn)一步發(fā)展,LED應(yīng)用將會(huì)更加廣泛。</p><p>  設(shè)計(jì)結(jié)束了,但學(xué)習(xí)還在繼續(xù)。我相信通過此次設(shè)計(jì)所得到的知識、心得、經(jīng)驗(yàn)?zāi)酥粮惺芏紩?huì)讓我在以后的日子里受益匪淺。</p><p><b>  參考文獻(xiàn)</b></p><p>  [2] .51單片機(jī)應(yīng)用從零開始</p><p>  [2]

117、.LED.顯示屏發(fā)展?fàn)顩r及趨勢[J].世界電子元器件,2000, (02):277-301.</p><p>  [3] 匯編語言程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)改革與探索.教學(xué)研究,2005,(06):3-5.</p><p>  [4] 單片機(jī)對LED大屏幕顯示的控制系統(tǒng)[J].河北大學(xué)學(xué)報(bào)(自然科學(xué)版),1993,13(3):86-89.</p><p>  [5] .LED

118、屏幕顯示器的設(shè)計(jì)[J].零陵師范學(xué)院學(xué)報(bào),2002,(9):367-380.</p><p><b>  致謝</b></p><p>  這次能夠圓滿完成畢業(yè)設(shè)計(jì)我首先要感謝我的指導(dǎo)老師褚麗麗老師,感謝他在百忙之中對我畢業(yè)設(shè)計(jì)的指導(dǎo)、勉勵(lì)、和督導(dǎo),使我在畢業(yè)設(shè)計(jì)中避免了不少彎路。還要感謝在這個(gè)設(shè)計(jì)所用到的知識的教學(xué)老師李祖明老師,同時(shí)我要感謝大學(xué)三年里教過我課程的老

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論