單片機(jī)課程設(shè)計(jì)----led點(diǎn)陣漢字顯示_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  單片機(jī)是計(jì)算機(jī)技術(shù)、大規(guī)模集成電路技術(shù)和控制技術(shù)的綜合產(chǎn)物。經(jīng)過30多年的發(fā)展歷程,單片機(jī)應(yīng)用已十分廣泛和深入。所以可以毫不夸張地說,任何設(shè)備和產(chǎn)品的自動(dòng)化、數(shù)字化和智能化都離不開單片機(jī)?,F(xiàn)在,凡是電腦控制的設(shè)備和產(chǎn)品,必有單片機(jī)嵌入其中。這一切表明,單片已成為人類生活中不可或缺的助手。隨著單片機(jī)應(yīng)用的日益廣泛,利用單片機(jī)

2、控制漢字顯示屏被廣泛地應(yīng)用與汽車報(bào)站器,廣告屏等領(lǐng)域。</p><p>  本文詳細(xì)介紹了基于51單片機(jī)的LED顯示屏控制系統(tǒng)的顯示原理,對(duì)16*16點(diǎn)陣漢字進(jìn)行顯示,顯示屏由4個(gè)8*8的LED點(diǎn)陣模塊組成一個(gè)16*16點(diǎn)陣LED。系統(tǒng)仿真利用PORTEUS仿真軟件和KEIL軟件的聯(lián)調(diào)對(duì)LED點(diǎn)陣顯示屏系統(tǒng)進(jìn)行調(diào)試。</p><p>  關(guān)鍵詞: LED點(diǎn)陣顯示屏 單片機(jī) PROT

3、EUS仿真</p><p><b>  目 錄</b></p><p><b>  摘 要1</b></p><p><b>  1 硬件設(shè)計(jì)1</b></p><p>  1.1設(shè)計(jì)框圖及介紹1</p><p>  1.2 51系列單片機(jī)簡(jiǎn)介

4、2</p><p>  1.3 LED點(diǎn)陣介紹5</p><p>  1.4 LED顯示方式6</p><p>  1.5 硬件電路8</p><p><b>  2 軟件設(shè)計(jì)10</b></p><p>  2.1 程序流程圖10</p><p>  2.2

5、程序代碼11</p><p>  3.主要芯片介紹14</p><p>  3.1 8051系列的單片機(jī)14</p><p>  3.2 74HC15416</p><p>  4 PROTEUS仿真18</p><p><b>  5心得體會(huì)20</b></p><

6、;p><b>  1 硬件設(shè)計(jì)</b></p><p>  1.1設(shè)計(jì)框圖及介紹</p><p>  LED點(diǎn)陣總體框圖如圖1.1所示,點(diǎn)陣電路大體上可以分成微機(jī)本身的硬件、顯示驅(qū)動(dòng)電路、控制信號(hào)電路三部分??刂齐娐凡糠职ㄒ粋€(gè)51CUP和一些外圍電路。在整個(gè)電路當(dāng)中此控制電路部分相當(dāng)于一個(gè)上位機(jī),它負(fù)責(zé)控制整個(gè)電路以及相應(yīng)的程序的運(yùn)行、與PC機(jī)的串行通訊、以及

7、給屏體電路部分發(fā)送命令。點(diǎn)陣顯示屏體、以及它的行和列的各個(gè)驅(qū)動(dòng)電路。由于兩部分的電路在制板時(shí)可以放到一起,所以可以將其字庫放到控制電路部分使用串行通訊方式來與屏體電路部分進(jìn)行數(shù)據(jù)和命令的傳送。</p><p>  此顯示電路采用掃描方式進(jìn)行顯示時(shí),每行有一個(gè)行驅(qū)動(dòng)器,各行的同名列共用一個(gè)列驅(qū)動(dòng)器。由行譯碼器給出的行選通信號(hào),從第一行開始,按順序依次對(duì)各行進(jìn)行掃描(把該行與電源的一端接通)。另一方而,根據(jù)各列鎖存的

8、數(shù)據(jù),確定相應(yīng)的列驅(qū)動(dòng)器是否將該列與電源的另一端接通。接通的列,就在該行該列點(diǎn)燃相應(yīng)的LED;未接通的列所對(duì)應(yīng)的LED熄滅??赏ㄟ^掃描輸出口的控制實(shí)現(xiàn)顏色的轉(zhuǎn)換。</p><p>  圖1.1 點(diǎn)陣顯示的總體框圖</p><p>  1.2 51系列單片機(jī)簡(jiǎn)介</p><p>  單片機(jī)(Microcontroller,又稱微處理器)是在一塊硅片上集成了各種部件的微

9、型機(jī),這些部件包括中央處理器CPU、數(shù)據(jù)存儲(chǔ)器RAM、程序存儲(chǔ)器ROM、定時(shí)器/計(jì)數(shù)器和多種I/O接口電路。</p><p>  8051單片機(jī)的基本結(jié)構(gòu)見圖1.2。</p><p>  圖1.2 8051單片機(jī)的基本結(jié)構(gòu)</p><p>  8051是MCS-51系列單片機(jī)的一個(gè)產(chǎn)品。MCS-51系列單片機(jī)是Intel公司推出的通用型單片機(jī),8051單片機(jī)系列指的

10、是MCS-51系列和其他公司的8051衍生產(chǎn)品。這些衍生品是在基本型基礎(chǔ)上增強(qiáng)了各種功能的產(chǎn)品。這些產(chǎn)品給8位單片機(jī)注入了新的活力,給它的開發(fā)應(yīng)用開拓了更廣泛的前景。</p><p>  8051系列的內(nèi)部結(jié)構(gòu)可以劃分為CPU、存儲(chǔ)器、并行口、串行口、定時(shí)器/計(jì)數(shù)器、中斷邏輯幾部分。</p><p><b>  (1)中央處理器</b></p><

11、p>  8051的中央處理器由運(yùn)算器和控制邏輯構(gòu)成,其中包括若干特殊功能寄存器(SFR)。</p><p>  算術(shù)邏輯單元ALU能對(duì)數(shù)據(jù)進(jìn)行加、減、乘、除等算術(shù)運(yùn)算;“與”、“或”、“異或”等邏輯運(yùn)算以及位操作運(yùn)算。</p><p>  ALU只能進(jìn)行運(yùn)算,運(yùn)算的操作數(shù)可以事先存放到累加器ACC或寄存器TMP中,運(yùn)算結(jié)果可以送回ACC或通用寄存器或存儲(chǔ)單元中,累加器ACC也可以寫為

12、A。B寄存器在乘法指令中用來存放一個(gè)乘數(shù),在除法指令中用來存放除數(shù),運(yùn)算后B中為部分運(yùn)算結(jié)果。</p><p>  程序狀態(tài)字PSW是個(gè)8位寄存器,用來寄存本次運(yùn)算的特征信息,用到其中七位。PSW的格式如下所示,其各位的含義是:</p><p>  CY:進(jìn)位標(biāo)志。有進(jìn)位/錯(cuò)位時(shí)CY=1,否則CY=0。 </p><p>  AC:半進(jìn)位標(biāo)志。當(dāng)D3位向D4位產(chǎn)生進(jìn)

13、位/錯(cuò)位時(shí),AC=1,否則AC=0,常用于十進(jìn)制調(diào)整運(yùn)算中。</p><p>  F0:用戶可設(shè)定的標(biāo)志位,可置位/復(fù)位,也可供測(cè)試。</p><p>  RS1、RS0:四個(gè)通用寄存器組選擇位,該兩位的四種組合狀態(tài)用來選擇0~3寄存器組。。</p><p>  OV:溢出標(biāo)志。當(dāng)帶符號(hào)數(shù)運(yùn)算結(jié)果超出-128~+127范圍時(shí)OV=1,否則OV=0。當(dāng)無符號(hào)數(shù)乘法結(jié)果

14、超過255時(shí),或當(dāng)無符號(hào)數(shù)除法的除數(shù)為0時(shí)OV=1,否則OV=0。</p><p>  P:奇偶校驗(yàn)標(biāo)志。每條指令執(zhí)行完,若A中1的個(gè)數(shù)為奇數(shù)時(shí)P=1,否則P=0,即偶校驗(yàn)方式。</p><p>  控制邏輯主要包括定時(shí)和控制邏輯、指令寄存器 、譯碼器以及地址指針DPTR和程序寄存器PC等。</p><p>  單片機(jī)是程序控制式計(jì)算機(jī),即它的運(yùn)行過程是在程序控制下

15、逐條執(zhí)行程序指令的過程:從程序存儲(chǔ)器中取出指令送指令存儲(chǔ)器IR,然后指令譯碼器ID進(jìn)行譯碼,譯碼產(chǎn)生一系列符合定時(shí)要求的微操作信號(hào),用以控制單片機(jī)的各部分動(dòng)作。8051的控制器在單片機(jī)內(nèi)部協(xié)調(diào)各功能部件之間的數(shù)據(jù)傳送、數(shù)據(jù)運(yùn)算等操作,并對(duì)單片機(jī)發(fā)出若干控制信息。這些控制信息的使用專門的控制線,諸如PSEN、ALE、EA以及RST,也有一些是和P3口的某些端子合用,如WR和RD就是P3.6和P3.7,他們的具體功能在介紹8051引腳是一起

16、敘述。</p><p><b>  (2)存儲(chǔ)器組織</b></p><p>  8051單片機(jī)的存儲(chǔ)器結(jié)構(gòu)特點(diǎn)之一是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開,并有各自的尋址機(jī)構(gòu)和尋址方式,這種結(jié)構(gòu)稱為哈佛結(jié)構(gòu)單片機(jī)。這種結(jié)構(gòu)與通用微機(jī)的存儲(chǔ)器結(jié)構(gòu)不同,一般微機(jī)只有一個(gè)存儲(chǔ)器邏輯空間,可隨意安排ROM或RAM,訪存時(shí)用同一種指令,這種結(jié)構(gòu)稱為普林斯頓型。</p>&

17、lt;p>  8051單片機(jī)在物理上有四個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器和片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器。</p><p>  8051片內(nèi)有256K數(shù)據(jù)存儲(chǔ)器RAM和4KB的程序存儲(chǔ)器ROM。除此之外,還可以在片外擴(kuò)展RAM和ROM,并且各有64KB的尋址范圍。也就是最多可以在外部擴(kuò)展2*64KB存儲(chǔ)器。</p><p>  8051的存儲(chǔ)器組織結(jié)構(gòu)如圖2.3所示。<

18、;/p><p>  圖 1.3 8051存儲(chǔ)器組織結(jié)構(gòu)</p><p>  64K字節(jié)的程序存儲(chǔ)器(ROM)空間中,有4K字節(jié)地址區(qū)對(duì)于片內(nèi)ROM和片外ROM是公用的,這4K字節(jié)地址是0000H~FFFH。而1000H~FFFFH地址區(qū)為外部ROM專用。CPU的控制器專門提供一個(gè)控制信號(hào)EA用來區(qū)分內(nèi)部ROM和外部ROM的公用地址區(qū):當(dāng)EA接高電平時(shí),單片機(jī)從片內(nèi)ROM的4K字節(jié)存儲(chǔ)器區(qū)取指

19、令,而當(dāng)指令地址超過0FFFH后,就自動(dòng)的轉(zhuǎn)向片外ROM取指令。當(dāng)EA接低電平時(shí),CPU只從片外ROM取指令。</p><p>  程序存儲(chǔ)器的某些單元是保留給系統(tǒng)使用的:0000H~0002H單元是所有執(zhí)行程序的入口地址,復(fù)位以后,CPU總是叢0000H單元開始執(zhí)行程序。0003H~002AH單元均勻地分為五段,用做五個(gè)中斷服務(wù)程序的入口。用戶程序不應(yīng)進(jìn)入上述區(qū)域。</p><p>  

20、8051的RAM雖然字節(jié)數(shù)不很多,但卻起著十分重要的作用。256個(gè)字節(jié)被分為兩個(gè)區(qū)域:00H~7FH時(shí)真正的RAM區(qū),可以讀寫各種數(shù)據(jù)。而80H~FFH是專門用于特殊功能寄存器(SFR)的區(qū)域。對(duì)于8051安排了21個(gè)特殊功能寄存器,每個(gè)寄存器為8位,所以實(shí)際上128個(gè)字節(jié)并沒有全部利用。</p><p>  內(nèi)部RAM的各個(gè)單元,都可以通過直接地址來尋找,對(duì)于工作寄存器,則一般都直接用R0~R7,對(duì)特殊功能寄存

21、器,也是直接使用其名字較為方便。8051內(nèi)部特殊功能寄存器都是可以位尋址的,并可用“寄存器名.位”來表示,如ACC.0,B.7等。</p><p>  1.3 LED點(diǎn)陣介紹</p><p>  8×8單色點(diǎn)陣共需要64個(gè)發(fā)光二極管組成,且每個(gè)二極管是放置在行線與列線的叉點(diǎn)上。對(duì)于點(diǎn)陣型LED顯示可以采用共陰極或共陽極,本系統(tǒng)采用共陽極,其硬件電路如圖1.1所示。當(dāng)行上有一正選通

22、信號(hào)時(shí),列選端八位數(shù)據(jù)為0的發(fā)光二極管便導(dǎo)通點(diǎn)亮。這樣只需要將圖形或文字的顯示編碼作為列信號(hào)跟對(duì)應(yīng)的行信號(hào)進(jìn)行逐次掃描,就可以逐行點(diǎn)亮點(diǎn)陣。只要掃描速度大于24Hz,由于掃描時(shí)間很快,人眼的視覺有暫留效應(yīng),就可以看到顯示的是完整的圖形或文字。</p><p>  8×8點(diǎn)陣LED結(jié)構(gòu)下圖1.5所示。</p><p>  圖1.4 8×8點(diǎn)陣外觀及引腳圖</p&g

23、t;<p>  圖1.5 8*8 LED點(diǎn)陣結(jié)構(gòu)</p><p>  1.4 LED顯示方式</p><p>  漢字顯示屏用于顯示漢字、字符及圖像信息,在公共汽車、銀行、醫(yī)院及戶外廣告等地方都有廣泛的應(yīng)用。下面是簡(jiǎn)單的漢字顯示屏的制作,由單片機(jī)控制漢字的顯示內(nèi)容。為了降低成本,使用了四塊8×8的LED點(diǎn)陣發(fā)光管的模塊,組成了一個(gè)16×16的LED點(diǎn)陣顯

24、示屏,如圖2.10所示。在這里僅做了四個(gè)漢字的顯示,在實(shí)際的使用中可以根據(jù)這個(gè)原理自行的擴(kuò)展顯示的漢字,下面是介紹漢字顯示的原理。 </p><p>  圖1.6 四塊8×8的LED點(diǎn)陣組成16×16的LED點(diǎn)陣</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×1

25、6點(diǎn)陣為例,把所有同一行的發(fā)光管的陽極連在一起,把所有同一列的發(fā)光管的陰極連在一起(共陽的接法),先送出對(duì)應(yīng)第1行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第1行使其燃亮一定的時(shí)間,然后熄滅;再送出第2行的數(shù)據(jù)并鎖存,然后選通第2行使其燃亮相同的時(shí)間,然后熄滅;….第16行之后,又重新燃亮第1行,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形。該方法能驅(qū)動(dòng)較多的LED,控制方式較靈活,而且節(jié)

26、省單片機(jī)的資源。</p><p>  顯示數(shù)據(jù)傳輸采用串行傳輸?shù)姆椒?,控制電路可以只用一根信?hào)線,將列數(shù)據(jù)一位一位傳往列驅(qū)動(dòng)器,在硬件方面無疑是十分經(jīng)濟(jì)的。但串行傳輸過程較長,數(shù)據(jù)按順序一位一位地輸出給列驅(qū)動(dòng)器,只有當(dāng)一行的各列數(shù)據(jù)都已傳輸?shù)轿恢?,這一行的各列才能并行地進(jìn)行顯示。對(duì)于串行傳輸方式來說,列數(shù)據(jù)準(zhǔn)備時(shí)間可能相當(dāng)長,在行掃描周期確定的情況下,留給行顯示的時(shí)間就太少了,以致影響到LED的亮度。</

27、p><p>  采用串行傳輸中列數(shù)據(jù)準(zhǔn)備和列數(shù)據(jù)顯示的時(shí)間矛盾,可以采用重疊處理的方法。即在顯示本行各列數(shù)據(jù)的同時(shí),傳送下一行的列數(shù)據(jù)。為了達(dá)到重疊處理的目的,列數(shù)據(jù)的顯示就需要有鎖存功能。對(duì)于列數(shù)據(jù)準(zhǔn)備來說,它應(yīng)能實(shí)現(xiàn)串入并出的移位功能。這樣,本行已準(zhǔn)備好的數(shù)據(jù)打入并行鎖存器進(jìn)行顯示時(shí),串行移位寄存器就可以準(zhǔn)備下一行的列數(shù)據(jù),而不會(huì)影響本行的顯示。</p><p>  LED點(diǎn)陣顯示模塊進(jìn)行

28、的方法有兩種:</p><p>  (1)水平方向(X方向)掃描,即逐列掃描的方式(簡(jiǎn)稱列掃描方式):此時(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方向)掃描,即逐行掃描方式(簡(jiǎn)稱行掃描方式):

29、此時(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列的點(diǎn)陣形成顯示,即每個(gè)字均由256

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

31、顯示,如圖下的,如果用8位的AT89S51的單片機(jī)來控制,由于單片機(jī)的總線為8位,一個(gè)字需要拆分成兩個(gè)部分。一般我們把它分解成上部分和下部分,上部分由8*16的點(diǎn)陣組成,下部分也由8*16的點(diǎn)陣組成。在本例中單片機(jī)首先顯示的是左上角的第一列的部分,即第0列的P00~P07口。方向?yàn)镻00到P07,顯示漢字“江”的時(shí)候,P00到P04都是滅的,P05亮,即二進(jìn)制00001000,轉(zhuǎn)換為16進(jìn)制為08H,如圖2.11所示。</p>

32、;<p>  上半部分第一列完成之后,繼續(xù)掃描下半部分的第一列,為了接線的方便,我們?nèi)栽O(shè)計(jì)成由上往下的掃描方式,即從P27向P20方向掃描,從上圖可以看到,這一列所有的都不亮,所以代碼為00000000,16進(jìn)制為00H,然后單片機(jī)轉(zhuǎn)向上半部的第二列,除了P05亮,其他的都不亮,即為00000100,16進(jìn)制為04H,這一列掃描完成之后繼續(xù)進(jìn)行下半部分的掃描,除了P21亮,其他的為不亮,為二進(jìn)制00100000,即16進(jìn)制

33、20H。</p><p>  按照這個(gè)方法,繼續(xù)進(jìn)行下面的掃描,一共掃描32個(gè)8位,可以得出漢字“江”的掃描代碼為 :</p><p>  08H,20H,06H,20H,80H,7EH,63H,80H</p><p>  0CH,04H,00H,04H,20H,04H,20H,04H</p><p>  20H,04H,3FH,FCH,20

34、H,04H,20H,04H</p><p>  20H,04H,20H,04H,00H,04H,00H,00H</p><p>  圖1.7 點(diǎn)陣顯示原理圖</p><p>  由這個(gè)原理可以看到,無論顯示何種字體或圖像,都可以用這種方法來分析出它的掃描代碼從而顯示在屏幕上。</p><p><b>  1.5 硬件電路</b

35、></p><p>  在proteus中連接硬件電路圖如圖1.8所示</p><p>  圖1.8 硬件電路圖</p><p><b>  2 軟件設(shè)計(jì)</b></p><p><b>  2.1 程序流程圖</b></p><p><b>  N</

36、b></p><p><b>  Y</b></p><p><b>  2.2 程序代碼</b></p><p><b>  ORG0000H</b></p><p><b>  AJMPMAIN</b></p><p>

37、;<b>  ORG0030H</b></p><p>  MAIN:MOVDPTR,#TAB;字碼表初址賦值</p><p>  MOVR1,#00H;列控制碼</p><p>  MOVR4,#96;移動(dòng)“ ”及“單片機(jī)仿真”6個(gè)字符,共96列</p><p>  CM:MOVR5,#5

38、;每屏反復(fù)顯示5次</p><p>  MOVR3,#16;列數(shù)</p><p>  C1:MOVR2,#0;取碼指針</p><p>  C16:MOVP0,#00H</p><p>  MOVP2,#00H;關(guān)顯示</p><p><b>  CLRP3.0</b>

39、</p><p>  MOVA,R2</p><p>  MOVCA,@A+DPTR;取當(dāng)前列顯示字碼的第一個(gè)字節(jié)</p><p>  MOVP0,A;送1~8行控制口</p><p><b>  INCR2</b></p><p><b>  MOVA,R2<

40、/b></p><p>  MOVCA,@A+DPTR;取當(dāng)前列的顯示字碼的第二個(gè)字節(jié)</p><p>  MOVP2,A;送9~15行控制口</p><p><b>  INCR2</b></p><p>  MOVP1,R1;送列控制碼</p><p><b>

41、;  INCR1</b></p><p>  ACALLD1MS;顯示2MS</p><p>  ACALLD1MS</p><p>  DJNZR3,C16;一屏16列是否顯示完</p><p>  MOVR3,#16</p><p>  DJNZR5,C1;未顯示5次,繼續(xù)<

42、;/p><p>  INCDPTR;一屏反復(fù)顯示5次完,字碼表初值加2</p><p><b>  INCDPTR</b></p><p>  DJNZR4,CM;96列未移動(dòng)完,繼續(xù)</p><p>  AJMPMAIN;96列移動(dòng)完,返回,重新從“ ”開始顯示</p><p>

43、;  D1MS:MOVR6,#2</p><p>  MOVR7,#248</p><p><b>  DJNZR7,$</b></p><p>  DJNZR6,$-4</p><p><b>  RET</b></p><p>  TAB:DB 000H ,0

44、00H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ;</p><p>  DB 000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ;" &q

45、uot;, </p><p>  DB 000H ,000H ,000H ,008H ,000H ,008H ,0E0H ,008H ,0F4H ,00DH ,054H ,005H ,0F4H ,07FH ,0F8H ,07FH ;</p><p>  DB 01EH ,005H ,0FEH ,005H ,0FAH ,006H ,010H ,002H ,000H ,006H ,000H ,

46、004H ,000H ,000H ,000H ,000H ;"單",0</p><p>  DB 000H ,000H ,000H ,000H ,000H ,010H ,000H ,01CH ,0FCH ,00FH ,0FCH ,003H ,040H ,002H ,040H ,002H ;</p><p>  DB 07EH ,07FH ,03EH ,07FH ,020

47、H ,000H ,020H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ;"片",1</p><p>  DB 000H ,008H ,040H ,00CH ,040H ,006H ,0DCH ,03FH ,0FEH ,03FH ,022H ,011H ,020H ,01DH ,0F0H ,00FH ;</p>&l

48、t;p>  DB 0F0H ,003H ,0F0H ,00FH ,0F0H ,01FH ,010H ,010H ,000H ,01CH ,000H ,01CH ,000H ,010H ,000H ,000H ;"機(jī)",2</p><p>  DB 000H ,001H ,080H ,001H ,0C0H ,000H ,0F0H ,03FH ,0FCH ,03FH ,04CH ,018H

49、,040H ,00CH ,040H ,027H ;</p><p>  DB 0CCH ,063H ,0ECH ,079H ,028H ,01FH ,020H ,007H ,020H ,000H ,020H ,000H ,000H ,000H ,000H ,000H ;"仿",3</p><p>  DB 000H ,000H ,000H ,010H ,000H ,09

50、8H ,000H ,0C8H ,0E8H ,06FH ,0E8H ,03FH ,07CH ,01BH ,07EH ,00AH ;</p><p>  DB 0E6H ,03FH ,0E4H ,07FH ,004H ,06CH ,000H ,004H ,000H ,004H ,000H ,000H ,000H ,000H ,000H ,000H ;"真",4</p><p&g

51、t;<b>  END</b></p><p><b>  3.主要芯片介紹</b></p><p>  3.1 8051系列的單片機(jī)</p><p>  AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。圖片見下圖附錄1。</p><p>  圖3.1 89S51管腳圖<

52、/p><p> ?。?).管腳說明VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,

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

54、2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀</p><p>  3.2 74HC154</p><p>  (1)74HC154功能簡(jiǎn)介: 74HC154 為 4 線-16 線譯碼器,當(dāng)選通端(E1、E2)均為低電平時(shí),可將地址端(ABCD)的二進(jìn)制編碼在一個(gè)對(duì)應(yīng)的輸出端,以

55、低電平譯出。 如果將E1和E2中的一個(gè)作為數(shù)據(jù)輸入端,由ABCD對(duì)輸出尋址,74HC154還可作1線-16線數(shù)據(jù)分配器。</p><p> ?。?)引腳功能介紹A、B、C、D 譯碼地址輸入端(低電平有效)G1、G2 選通端(低電平有效)

56、 0-15 輸出端(低電平有效)</p><p>  (3)74HC54真值表</p><p>  圖3.2 74HC54真值表</p><p>  4 PROTEUS仿真</p><p&

57、gt;  Proteus仿真時(shí),單片機(jī)需要加載程序,加載程序?yàn)?HEX文件。本設(shè)計(jì)利用Keil μVision2, 在新建Keil項(xiàng)目時(shí)選擇AT89C52單片機(jī)作為CPU,將源程序?qū)耄凇癘ptions For Target”對(duì)話窗口中,選中“Output”選項(xiàng)中的“Create HEX File”,編譯鏈接后就可以生成.HEX文件。在Proteus ISIS中,選中AT89C51并單擊鼠標(biāo)左鍵,對(duì)AT89C51進(jìn)行設(shè)置,設(shè)置單片機(jī)時(shí)

58、鐘頻率為12MHz,按照正確的文件路徑加載.HEX文件。對(duì)單片機(jī)設(shè)置完畢后就可以開始仿真了。仿真過程中如有硬件問題可在Proteus ISIS中直接修改,如有軟件問題可在Keil μVision2中直接修改,通過Keil與Proteus的聯(lián)合調(diào)試就可以得到滿意的結(jié)果。利用Proteus實(shí)現(xiàn)了對(duì)點(diǎn)陣式LED滾動(dòng)漢字顯示屏的仿真,說明程序和電路圖都沒有問題。</p><p><b>  仿真電路圖:<

59、/b></p><p>  仿真結(jié)果: </p><p>  結(jié)果分析:LED顯示屏能滾動(dòng)顯示“單片機(jī)仿真”幾個(gè)漢字,實(shí)現(xiàn)了程序功能。</p><p><b>  5心得體會(huì)</b></p><p>  通過這次的課

60、程設(shè)計(jì)作品的制作讓我對(duì)單片機(jī)的理論有了更加深入的了解,同時(shí)在具體的制作過程中我們發(fā)現(xiàn)現(xiàn)在書本上的知識(shí)與實(shí)際的應(yīng)用存在著不小的差距,書本上的知識(shí)很多都是理想化后的結(jié)論,忽略了很多實(shí)際的因素,或者涉及的不全面,可在實(shí)際的應(yīng)用時(shí)這些是不能被忽略的,我們不得不考慮這方的問題,這讓我們無法根據(jù)書上的理論就輕易得到預(yù)想中的結(jié)果,有時(shí)結(jié)果甚至很差別很大。通過這次實(shí)踐使我更深刻的體會(huì)到了理論聯(lián)系實(shí)際的重要性,我們?cè)诮窈蟮膶W(xué)習(xí)工作中會(huì)更加的注重實(shí)際,避免

61、稱為只會(huì)紙上談兵的趙括。</p><p>  通過查閱大量的相關(guān)資料,詳細(xì)了解了LED的發(fā)光原理和LED顯示屏的原理,了解了LED的現(xiàn)狀,清楚地了解了LED顯示屏與其它顯示屏相比較有那些優(yōu)點(diǎn),明確了研究目標(biāo)。并且通過對(duì)單片機(jī)資料的查閱和應(yīng)用,更進(jìn)一步增加了對(duì)單片機(jī)知識(shí)的理解和運(yùn)用能力。并證實(shí)了自己的思路:“查資料→思考總結(jié)→運(yùn)用→找出差錯(cuò),再查資料和向別人詢問→再次運(yùn)用”的正確性。</p><

62、p>  在這次畢業(yè)設(shè)計(jì)的過程中熟悉了proteus和keil的使用,使用它們調(diào)試軟硬件就方便多了,有強(qiáng)大的功能。</p><p>  總之,通過這次課程設(shè)計(jì),我更熟練的掌握了單片機(jī)的知識(shí),學(xué)會(huì)了對(duì)知識(shí)的運(yùn)用。在這個(gè)過程中,我曾經(jīng)因?yàn)閷?shí)踐經(jīng)驗(yàn)的缺乏失落過,也曾經(jīng)仿真成功而熱情高漲。汗水預(yù)示著結(jié)果也見證著收獲。勞動(dòng)是人類生存生活永恒不變的話題。雖然這只是一次的極簡(jiǎn)單的課程制作,可是平心而論,也耗費(fèi)了我們不少的心

63、血。在課程設(shè)計(jì)過程中,收獲知識(shí),提高能力的同時(shí),我也學(xué)到了很多人生的哲理,懂得怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒。同時(shí)我也明白對(duì)任何事情如果付出越多,那么你收獲也就越多。因此在以后的生活和學(xué)習(xí)的過程中,我一定會(huì)把課程設(shè)計(jì)的精神帶到生活中,不畏艱難,勇往直前!</p><p><b>  .參考文獻(xiàn)</b></p><p

64、>  [1] 何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與接口技術(shù) .北京航空航天大學(xué)出版社,1990</p><p>  [2] 任濤等.閃速存儲(chǔ)器數(shù)據(jù)及應(yīng)用簡(jiǎn)明速查手冊(cè).電子工業(yè)出版社,1997</p><p>  [3] 何立民.單片機(jī)應(yīng)用技術(shù)選編.北京航空航天大學(xué)出版社,2000</p><p>  [4] 張毅剛等.MCS-51單片機(jī)應(yīng)用設(shè)計(jì).哈爾濱

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論