點(diǎn)陣LED電子顯示屏[單片機(jī)課程設(shè)計(jì)].doc_第1頁
點(diǎn)陣LED電子顯示屏[單片機(jī)課程設(shè)計(jì)].doc_第2頁
點(diǎn)陣LED電子顯示屏[單片機(jī)課程設(shè)計(jì)].doc_第3頁
點(diǎn)陣LED電子顯示屏[單片機(jī)課程設(shè)計(jì)].doc_第4頁
點(diǎn)陣LED電子顯示屏[單片機(jī)課程設(shè)計(jì)].doc_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、本科生課程設(shè)計(jì)題題 目目 名名 稱稱 點(diǎn)陣點(diǎn)陣 LED 電子顯示屏電子顯示屏專專 業(yè)業(yè)電氣工程及其自動化電氣工程及其自動化班班 級級0909 級級 2 2 班班學(xué)學(xué) 生生 姓姓 名名 趙晨趙晨 王琛王琛 張顯飛張顯飛 王永濤王永濤 陳志華陳志華 聯(lián)聯(lián) 系系 方方 式式20122012年年 6 6 月月目錄目錄概述概述 .1一、設(shè)計(jì)要求與總體分析一、設(shè)計(jì)要求與總體分析 .11.1 設(shè)計(jì)要求.11。2 基本工作原理及框圖.1二、硬件電路設(shè)計(jì)及說明二、硬件電路設(shè)計(jì)及說明 .22。1 AT89C51 芯片.22。2 74HC138 譯碼器.32.3 1616 點(diǎn)陣.4三、軟件設(shè)計(jì)分析三、軟件設(shè)計(jì)分析

2、.63。1 設(shè)計(jì)基本思路.63.2 軟件設(shè)計(jì)流程圖.63。3 程序.6四、系統(tǒng)仿真與結(jié)果分析四、系統(tǒng)仿真與結(jié)果分析 .104.1 PROTEUS軟件基本概述.104。2 PROTEUS軟件仿真電路圖及結(jié)果.104.3 軟件仿真分析.11五、課程設(shè)計(jì)總結(jié)五、課程設(shè)計(jì)總結(jié) .12概述概述隨著電子技術(shù),特別是隨大規(guī)模集成電路的產(chǎn)生而出現(xiàn)的微型計(jì)算機(jī)技術(shù)的飛速發(fā)展,人類生活發(fā)生了根本性的改變。如果說微型計(jì)算機(jī)的出現(xiàn)使現(xiàn)代科學(xué)研究得到了質(zhì)的飛躍,那么可以毫不夸張地說,單片機(jī)技術(shù)的出現(xiàn)則是給現(xiàn)代工業(yè)測控領(lǐng)域帶來了一次新的技術(shù)革命。目前,單片機(jī)以其體積小、重量輕、抗干擾能力強(qiáng)、對環(huán)境要求不高、高可靠性、高性

3、能價格比、開發(fā)較為容易,在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表、辦公自動化等諸多領(lǐng)域得到極為廣泛的應(yīng)用,并已走人家庭,從洗衣機(jī)、微波爐到音響、汽車,到處都可見到單片機(jī)的蹤影。因此,單片機(jī)技術(shù)開發(fā)和應(yīng)用水平已逐步成為一個國家工業(yè)發(fā)展水平的標(biāo)志之一。本課題研究的內(nèi)容就是以單片機(jī)為主要控制元件,驅(qū)動 LED 點(diǎn)陣顯示所想要現(xiàn)實(shí)的漢字。一、設(shè)計(jì)要求與總體分析一、設(shè)計(jì)要求與總體分析1 1。1 1 設(shè)計(jì)要求設(shè)計(jì)要求(1)設(shè)計(jì) 4 個 1616 的 LED 電子顯示屏,能穩(wěn)定、清晰地顯示圖形或文字.(2)圖形或文字顯示通過編程能實(shí)現(xiàn)靜止、左移和右移等多種顯示方式.(3)采用動態(tài)掃描方式,保證在目測條件

4、 LED 顯示屏可亮度均勻地顯示圖形和文字,并且穩(wěn)定、清晰、無串?dāng)_。1.21.2 基本工作原理及框圖基本工作原理及框圖 LED 點(diǎn)陣總體框圖如圖 1。1 所示,點(diǎn)陣電路大體上可以分成微機(jī)本身的硬件、顯示驅(qū)動電路、控制信號電路三部分??刂齐娐凡糠职ㄒ粋€ 51CUP 和一些外圍電路。在整個電路當(dāng)中單片機(jī)負(fù)責(zé)控制整個電路以及相應(yīng)的程序的運(yùn)行、與 PC 機(jī)的串行通訊、以及給屏體電路部分發(fā)送命令.點(diǎn)陣顯示屏體、以及它的行和列的各個驅(qū)動電路。此顯示電路采用掃描方式進(jìn)行顯示時,每行有一個行驅(qū)動器,各行的同名列共用一個列驅(qū)動器。由行譯碼器給出的行選通信號,從第一行開始,按順序依次對各行進(jìn)行掃描(把該行與電源

5、的一端接通)。另一方而,根據(jù)各列鎖存的數(shù)據(jù),確定相應(yīng)的列驅(qū)動器是否將該列與電源的另一端接通。接通的列,就在該行該列點(diǎn)燃相應(yīng)的 LED;未接通的列所對應(yīng)的 LED 熄滅.可通過掃描輸出口的控制實(shí)現(xiàn)顏色的轉(zhuǎn)換. 圖 1.1 基本工作原理框圖二、硬件電路設(shè)計(jì)及說明二、硬件電路設(shè)計(jì)及說明2 2。1 1 AT89C51AT89C51 芯片芯片AT89C51 是美國 ATMEL 公司生產(chǎn)的低電壓,高性能 CMOS 8 位單片機(jī),片內(nèi)含 4k bytes 的反復(fù)擦寫的 Flash 只讀程序存儲器和 128 bytes 的隨機(jī)存取數(shù)據(jù)存儲器(RAM) ,器件采用 ATMEL 公司高密度、非易失性存儲技術(shù)生產(chǎn),

6、兼容標(biāo)準(zhǔn)MCS51 指令系統(tǒng),片內(nèi)置通用 8 位中央處理器(CPU)和 Flash 存儲單元,功能強(qiáng)大 AT89C51 單片機(jī)可為您提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域.AT89C51 引腳如圖 2.1 所示。 XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3

7、.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51單片機(jī)是在一塊硅片上集成了各種部件的微型機(jī),這些部件包括中央處理器 CPU、數(shù)據(jù)存儲器 RAM、程序存儲器 ROM、定時器/計(jì)數(shù)器和多種 I/O 接口電路。8051 單片機(jī)的基本結(jié)構(gòu)見圖 2。2。 圖 2。2 8051 單片機(jī)的基本結(jié)構(gòu)2 2。2 2 74HC13874HC138 譯碼器譯碼器4HC138 是一款高速 CMOS 器件,

8、74HC138 引腳兼容低功耗肖特基TTL(LSTTL)系列。74HC138 譯碼器可接受 3 位二進(jìn)制加權(quán)地址輸入(A0, A1 和 A3),并當(dāng)使能時,提供 8 個互斥的低有效輸出(Y0 至 Y7).74HC138 特有 3 個使能輸入端:兩個低有效(E1 和 E2)和一個高有效(E3)。除非 E1 和 E2 置低且 E3 置高,否則 74HC138 將保持所有輸出為高.利用這種復(fù)合使能特性,僅需 4 片 74HC138 芯片和 1 個反相器,即可輕松實(shí)現(xiàn)并行擴(kuò)展,組合成為一個 132(5 線到 32 線)譯碼器。任選一個低有效使能輸入端作為數(shù)據(jù)輸入,而把其余的使能輸入端作為選通端,則 7

9、4HC138 亦可充當(dāng)一個 8 輸出多路分配器,未使用的使能輸入端必須保持綁定在各自合適的高有效或低有效狀態(tài)。圖 2.3 74HC138 封裝圖圖 2。1 AT89C51 引腳圖2 2。3 3 16161616 點(diǎn)陣點(diǎn)陣1616LED 點(diǎn)陣其實(shí)就是 4 塊 88 點(diǎn)陣 LED 級聯(lián)而成的,因此特給出 88 點(diǎn)陣 LED 的工作原理。圖 2。4 為 88 點(diǎn)陣 LED 外觀及引腳圖,其等效電路如圖 2。5 所示,只要其對應(yīng)的 X、Y 軸順向偏壓,即可使 LED 發(fā)亮。例如如果想使左上角 LED 點(diǎn)亮,則 Y0=1,X0=0 即可。應(yīng)用時限流電阻可以放在 X 軸或 Y軸。而 1616 就是在 88

10、 原理的基礎(chǔ)上將四塊 88 級聯(lián)而成,如圖 2.6。圖 2.4 88 點(diǎn)陣 LED 外觀及引腳圖圖 2.5 88 點(diǎn)陣 LED 等效電路 圖 2.6 四塊 8x8 點(diǎn)陣 LED 級聯(lián)成 16x16 點(diǎn)LED 驅(qū)動顯示采用動態(tài)掃描方法,動態(tài)掃描方式是逐行輪流點(diǎn)亮,這樣掃描驅(qū)動電路就可以實(shí)現(xiàn)多行的同名列共用一套列驅(qū)動器.以 1616 點(diǎn)陣為例,把所有同一行的發(fā)光管的陰極連在一起,把所有同一列的發(fā)光管的陽極連在一起(共陰的接法) ,先送出對應(yīng)第 1 列發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第 1 列使其燃亮一定的時間,然后熄滅;再送出第 2 列的數(shù)據(jù)并鎖存,然后選通第 2 列使其燃亮相同的時間,然后熄滅;

11、.第 16 列之后,又重新燃亮第 1 列,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒 24 次以上),由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形.顯示數(shù)據(jù)可通過單片機(jī)的 P0, ,P2 口接驅(qū)動電路傳輸?shù)近c(diǎn)陣行引腳.點(diǎn)陣的移動列掃描方式左移動:列向組字顯示字符水平方向的移動. 將原來字符點(diǎn)陣數(shù)組的 16 個數(shù)據(jù)重復(fù)一遍延長,點(diǎn)陣數(shù)組的數(shù)據(jù)個數(shù)為32 個。每掃描一幀取 8 個數(shù)據(jù)顯示,下一幀取數(shù)要在數(shù)組中后移一個數(shù)取數(shù).循環(huán)一遍掃 16 幀??梢约傧胗袃蓧K 1616 的點(diǎn)陣模塊(共 32 幀)水平平行排列,用一個恰好能罩住 16 列點(diǎn)陣的中空方框去罩這個點(diǎn)陣,第 1(第 1 幀)罩住最左邊數(shù)

12、起第一列開始的 16 列,就掃描顯示這 16 列;第 2 次(第 2 幀)使方框右移一列,罩住做左邊數(shù)起第 2 列開始的 16 列,就掃描顯示這 16 列;這樣每掃描完一幀使方框右移一列,最后第 16 次(第 16 幀)時,罩住左邊數(shù)起的第 16 列開始的 16 列,就掃描顯示這 16 列.如此完成 16 幀畫面的掃描顯示,也就完成了整個一次移動循環(huán)掃描、之后反復(fù)循環(huán),即可呈現(xiàn)顯示字符沿水平向左移動的圖像因?yàn)槭橇邢蚪M字(列掃描方式,點(diǎn)陣數(shù)據(jù)為行碼,上邊為低位下面為高位),希望顯示移動的一個字符,第 1 次掃描從行碼的點(diǎn)陣數(shù)組中取第 116 個數(shù)據(jù),送行碼輸出口,對應(yīng)于這 8 個數(shù)據(jù),同時用列碼

13、輸出口輸出列碼,分別控制第116 列。掃描完前 16 個數(shù)據(jù)之后,第 2 次掃描從點(diǎn)陣數(shù)組中取第 318 個數(shù)據(jù)(第 18 個數(shù)據(jù)與第 1 個數(shù)據(jù)同),送行碼輸出口,對應(yīng)于這 16 個數(shù)據(jù),同時用列碼輸出口輸出列碼,仍分別控制掃第 116 列。第 3 次掃描從點(diǎn)陣數(shù)組中取第 520 個數(shù)據(jù)(第 20 個數(shù)據(jù)碼與第 2 個數(shù)據(jù)碼相同)掃描;如此實(shí)現(xiàn)字符向左移動。以上完成一個圖形移動的方法,也可以看成是移動 16 個不同的字形,首先掃描第一個字型,同樣是 16 行,16 次掃描,16 次顯示;完成一個字型的掃描以后,再掃描第二個字型;完成第二個字型的掃描之后,再掃描第三個字型依此類推,即可產(chǎn)生該文

14、字的左移的感覺.三、軟件設(shè)計(jì)分析三、軟件設(shè)計(jì)分析3 3。1 1 設(shè)計(jì)基本思路設(shè)計(jì)基本思路在硬件方面基于 AT89C51 單片機(jī)的基礎(chǔ)上,采用動態(tài)掃描的方式對 LED 點(diǎn)陣進(jìn)行掃描顯示,運(yùn)用 74HC138 對點(diǎn)陣進(jìn)行列驅(qū)動,通過加上拉電阻對點(diǎn)陣進(jìn)行行驅(qū)動;在軟件方面,通過定時中斷讓顯示的文字更加穩(wěn)定,更加清晰,由字模生成軟件得到所要的文字、圖片在 LED 點(diǎn)陣中顯示的代碼,不斷掃描各行各列,通過人的視覺誤差達(dá)到文字、圖片的穩(wěn)定顯示。3.23.2 軟件設(shè)計(jì)流程圖軟件設(shè)計(jì)流程圖3 3。3 3 程序程序include #define uchar unsigned chardefine uint un

15、signed int#define ulong unsigned longuchar flag;uchar n;uchar code table32= 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,/ ” / 0 x00,0 x00,0 x00,0 x00,0

16、xF0,0 x1F,0 x20,0 x12,0 x20,0 x12,0 x20,0 x12,0 x20,0 x12,0 xFC,0 xFF,0 x22,0 x12,0 x22,0 x12,0 x22,0 x12,0 x22,0 x12,0 xF2,0 x1F,0 x02,0 x00,0 x0E,0 x00,0 x00,0 x00,/”電,0/* (16 X 16 , 新宋體 ) /0 x00,0 x01,0 x00,0 x02,0 x00,0 x0C,0 xFE,0 x3F,0 x00,0 xE0,0 x00,0 x50,0 x7E,0 x15,0 x44,0 x15,0 x44,0 x95,

17、0 x44,0 x75,0 x44,0 x55,0 x44,0 x15,0 x7E,0 x15,0 x00,0 x10,0 x00,0 x10,0 x00,0 x00,/”信,1*/ (16 X 16 , 新宋體 ) /0 x00,0 x00,0 x08,0 x00,0 x08,0 x20,0 x08,0 x20,0 x08,0 x20,0 x08,0 x20,0 x08,0 x20,0 x08,0 x20,0 x08,0 x20,0 x08,0 x20,0 x08,0 x20,0 x08,0 x60,0 x08,0 x20,0 x18,0 x00,0 x08,0 x00,0 x00,0 x0

18、0 ,/二” ,2*/* (16 X 16 , 新宋體 ) /0 x08,0 x42,0 x08,0 x42,0 xF0,0 x7F,0 x11,0 x42,0 x92,0 x42,0 x04,0 x07,0 x18,0 x00,0 xE0,0 xFF,0 x04,0 x00,0 x04,0 x42,0 x04,0 x42,0 xFC,0 x7F,0 x04,0 x42,0 x04,0 x42,0 x04,0 x42,0 x00,0 x00,/*”班”,3*/ (16 X 16 , 新宋體 ) / 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,

19、0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00/* ” */ ;void delay(void) ;ulong offset;void main(void) uchar i; uchar *p; flag=0 x10; n=0; TMOD=0 x01; TH0=0 xb0; TL0=0 xf0; ET0=1; EA=1; TR0=1;p=&table

20、0 0; while (1) for (i=0;i8;i+) /顯示左半邊屏幕 P0=*(p+offset+2*i); P2=i0 x08; /P2.4=0,P2.3=1 選中 U2, 輸出掃描碼給 U6 delay();P0 = 0 x00; P0=*(p+offset+2*i+1); P2=i0 x10; /P2。4=1,P2.3=0 選中 U3, 輸出掃描碼給U7 delay();P0 = 0 x00; for (i=8;i16;i+) /顯示右半邊屏幕 P0=*(p+offset+2*i); P2=(i-8)0 x20; /P2.5=1 P2.4=0, P2.3=0 選中 U4,輸出掃

21、描碼 U8 delay();P0 = 0 x00; P0=*(p+offset+2i+1); P2=(i-8)0 x40; /P2。6=1 P2.5=0, P2.4=0 選中 U5,輸出掃描碼 U9 delay();P0 = 0 x00; void delay(void) uchar i,j;for (i=0;i100;i+)for(j=0;j100;j+) ; ;void timer0() interrupt 1 using 3 TF0=0; TH0=0 xb1; TL0=0 xf0; if (n10)n+; else offset+=2; if (offset160) offset=0;

22、n=0; 四、系統(tǒng)仿真與結(jié)果分析四、系統(tǒng)仿真與結(jié)果分析4 4。1 1 ProteusProteus 軟件基本概述軟件基本概述Proteus 軟件是英國 Labcenter electronics 公司出版的 EDA 工具軟件.它不僅具有其它 EDA 工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件 ,它能從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì) ,是目前世界上唯一將電路仿真軟件、PCB 設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和MSP430 等。4.24.2 ProteusProteus 軟件仿真電路圖及結(jié)果軟件仿真電路圖及結(jié)果仿真電路圖如下圖 5.1 所示圖 5。1 仿真電路圖仿真結(jié)果如圖 5。2 所示仿真結(jié)果4.34.3 軟件仿真分析軟件仿真分析 基于 Proteus 軟

溫馨提示

  • 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

提交評論