![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/22/2d98b7a7-69f9-4ca9-9684-62165fed555d/2d98b7a7-69f9-4ca9-9684-62165fed555dpic.jpg)
![單片機課程設計--16×16 led點陣顯示漢字_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/22/2d98b7a7-69f9-4ca9-9684-62165fed555d/2d98b7a7-69f9-4ca9-9684-62165fed555d1.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘 要</b></p><p> 本系統(tǒng)是基于AT89S52單片機設計的,由2片74HC138八位地址鎖存驅動LED的行信號,由2片74HC595八位串入并出驅動LED的列信號。16*16LED的點陣由4塊8*8的SZ41288K點陣拼接成。在本次的設計中主要是思路是通過定時器定時行掃描時間為1ms,這樣人眼由于延時看到的顯示就是連續(xù)的。在進行掃描的時候
2、,是先送每行的列信號,然后選中當前需要掃描的行。每完成一次行的信號掃描,就跳出定時中斷,定時一秒后又重復下一行的掃描。當一個字的16行都掃描完后,延時一段時間,然后對下一個字進行上述的重復掃描。</p><p> 關鍵詞:16*16LED點陣;AT89S52;74HC138驅動行;74HC595驅動列</p><p><b> 1.設計任務及要求</b></
3、p><p> 題目9:16×16 LED點陣顯示漢字</p><p> 設計要求:通過單片機利用16×16 LED點陣循環(huán)顯示漢字“我愛單片機”。</p><p><b> 2.方案選擇:</b></p><p> 1、采用32個IO口分為兩組16個IO口,分別驅動行和列。這種方法需要注意P0口外
4、接上拉電阻,并且全部IO都占用,不能使LED電路模塊化。</p><p> 2、使用鎖存器驅動行信號,串入并出移位寄存器驅動列信號,這種方法能夠使IO的使用減少,只需要8個IO口,可以實現(xiàn)LED部分的模塊化。</p><p> 本次課程設計采用的是方案2</p><p><b> 2.1總體設計方案</b></p><
5、p> 用兩片片74HC138控制行信號,在對進行片選控制的時候保證,每當?shù)谝黄?4HC138的Y0-Y7掃描完畢(點陣的第一至八行的掃描),進入下一片74HC138進行Y0-Y7的掃描(點陣的第九行至十六行的掃描)。用兩片74HC595采用級聯(lián)的方式,保證一次輸出16列的字碼信號。整體通過定時器定時1ms產生中斷,每1ms就掃描一行,當一個字16行掃描完畢后,重復掃描一段時間,用于延時。直到掃描完“我愛單片機”五個字后程序重復執(zhí)
6、行,這樣就能實現(xiàn)“我愛單片機”循環(huán)顯示。</p><p><b> 圖2.1 整體設計</b></p><p><b> 3.硬件電路設計</b></p><p> 整體原理圖見仿真圖附件(在仿真中單片機最小系統(tǒng)沒有接復位電路,和晶振電路,三極管開關電路用非門代替以及電阻未接)其實際硬件細化模塊如下:</p&g
7、t;<p> 3.1單片機最小系統(tǒng)模塊</p><p> 圖3.1 單片機最小系統(tǒng)</p><p> 最小系統(tǒng)主要包括復位電路,晶振電路,但注意單片機的EA端必須接高電平,否則在做實體時,不會讀片內的程序。</p><p> 圖3.2晶振電路 圖3.3復位電路</p&
8、gt;<p> 3.2 16*16LED驅動模塊:</p><p> 整個設計,拋開單片機最小系統(tǒng),剩下部分作為一個整體LED點陣模塊。其整體硬件原理如圖。</p><p> 圖3.4 16*16點陣模塊</p><p> 3.2.1 行信號驅動</p><p> ?、?4HC138譯碼器的管腳圖</p>
9、<p><b> ?。?lt;/b></p><p> 圖3.5 74HC138管腳圖</p><p> ②其工作功能表如下:</p><p> 圖3.6 74HC138真值表</p><p> E1、E2、E3用于74HC138的信號使能端。只有當E1、E2為低電平,E3為高電平的時候,片選才能被選中,通過
10、A2-A0的組合,可以選擇性的控制Y0-Y7的某一個口輸出低電平。</p><p> ?、郾敬握n程設計行驅動的方式及原理</p><p> 圖中的線上的標號A,B,C,D,EN分別與P2口的P2.0,P2.1,P2.2,P2.3,P2.4</p><p><b> 相連。</b></p><p> EN用于7413
11、8的行信號的總開關信號。D用于控制兩片138的工作順序,當P2口為XXXX0000至XXXX0111時保證選中的第1片74138,當P2口輸出XXXX1000-XXXX1111時保證的是選擇的第2片74138.第1片控制1-8行,第2片控制9-16行。</p><p> 圖3.7兩片74HC138的連接方法</p><p> 74HC138的輸出全部接三極管的開關電路,當輸出為低電平的
12、時候才能使三極管導通,所選的行才能選中。</p><p> 圖3.8 三極管開關電路</p><p> 3.2.2 列信號驅動</p><p> ?、?4HC595管腳圖</p><p> 圖3.9 74HC595管腳圖</p><p><b> ②管腳含義圖</b></p>
13、<p> 圖3.10 74HC595管腳含義</p><p><b> ?、酃δ苷嬷当?lt;/b></p><p> 圖3.11 74HC595真值表</p><p> ?、鼙敬握n程設計列驅動的方式及原理</p><p> 圖3.12兩片74HC595級聯(lián)</p><p> 每次采
14、用串行輸入,當74HC595有上跳時鐘信號時,串入一位。當移入16位數(shù)據時,就開通數(shù)據輸出驅動列信號。其所傳入的數(shù)據是每個字每行的列碼。</p><p> 3.2.3 16*16LED</p><p> ?、俦驹O計通過4塊8×8單色共陽點陣拼接。單個點陣有64個發(fā)光二極管組成,且每個二極管是放置在行線與列線的叉點上。8*8點陣內部結構如圖</p><p>
15、; 3.13 8*8LED點陣的內部原理圖</p><p> ?、?個8*8點陣級聯(lián)構成16*16點陣如下圖</p><p> 圖3.13 LED點陣的級聯(lián)原理</p><p> LED驅動顯示采用動態(tài)掃描方法,動態(tài)掃描方式是逐行輪流點亮,這樣掃描驅動電路就可以實現(xiàn)多行的同名列共用一套列驅動器。以16×16點陣為例,把所有同一行的發(fā)光管的陽極連在一起
16、,把所有同一列的發(fā)光管的陰極連在一起(共陽的接法),先送出對應第1行發(fā)光管亮滅的數(shù)據并鎖存,然后選通第1行使其燃亮一定的時間,然后熄滅;再送出第2行的數(shù)據并鎖存,然后選通第2行使其燃亮相同的時間,然后熄滅;….第16行之后,又重新燃亮第1行,反復輪回。當這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形。顯示數(shù)據傳輸采用串行傳輸?shù)姆椒?,控制電路可以SPI總線的方法,將列數(shù)據一位一位移入列驅動器。&
17、lt;/p><p> 但由于采購的8*8LED點陣的管腳圖與理論上的管腳有出入,所以通過測試,得到其管腳分布如下</p><p> 圖3.14 8*8LED的實際管腳</p><p> 在拼接的過程中,上面兩塊行行相連,下面兩塊行行相連,左面兩塊列列相連,右面兩塊列列相連</p><p> ③16*16共陽型點陣顯示字的原理</p&
18、gt;<p> 行對應的給LED的陽極,先給第一行以高電平,如果送給16列的代碼為EFFF,則第一行的第4個LED被點亮,再給第二行以高電平,如果送給16列的代碼為EF07,則第二行的第4、9、10、11、12、13個被點亮,接著給第三行以高電平,同時給列以驅動代碼,這樣不斷地進行行行的掃描,只要速度夠快,由于人的視覺暫留作用,就不會感覺到明顯的閃爍感。點陣上會看到一個清晰的“機”字。</p><p&
19、gt; 圖3.15顯示字的原理圖</p><p><b> ④字模提取軟件截圖</b></p><p> 圖3.16 字模提取軟件</p><p> 4.軟件設計(程序以及流程框圖)</p><p><b> 4.1程序流程圖</b></p><p> 圖4.1
20、程序流程圖</p><p><b> 4.2程序清單:</b></p><p><b> 見附件一</b></p><p> 4.3程序模塊及其之間的關系:</p><p> 1.主程序:主要是對定時器的計數(shù)初值以及方式進行初始化,開定時器中斷以及寫語句實現(xiàn)真?zhèn)€顯示程序的重復運行。</
21、p><p> 2.顯示子程序:用于初始化行掃描開始的地址以及對每個字的16行重復掃描延時</p><p> 3.時器中斷服務程序:定時1ms,定時的時間就是行掃描的間隔時間,在掃描過程中進行行驅動信號的改變和列信號的改變</p><p> 4.74HC595串入并出子程序:主要是將字的代碼通過串行的方式,移入74HC595進行暫存。</p><
22、p> 程序之間的具體調用是通過主程序調用顯示程序,開始進行定時,當定時時間到,進入中斷服務,進行列信號的查表以及對應行的通斷送點陣顯示。之后調回顯示子程序進行每個字的一段時間的延遲,當“我愛單片機”五個字整體顯示完一次,就再調用顯示子程序重復運行。</p><p><b> 5.檢測與調試</b></p><p> 在仿真的過程中,由于簡化了電路,用非門代
23、替了三極管開關電路,以及單片機最小系統(tǒng)的簡化,在仿真的過程中沒有出現(xiàn)大的問題。但在實際電路的焊接好后,由于經驗不足,加上平時都是在PROTUES中進行仿真,實際電路中在檢查和調試過程中出現(xiàn)了以下問題:</p><p> 1.8*8的點陣的管腳和理論上的管腳不一樣,第一次焊接的時候,忽略了管腳的問題,當焊接好后,出現(xiàn)了不按照預定的程序進行顯示。通過萬用表對點陣的二極管通斷進行檢測,將管腳的各行各列依次檢查出來后再
24、進行拼接。</p><p> 2.在單片機最小系統(tǒng)部分,在最開始沒有將EA管腳接高電平,導致一開始程序不運行,一開始以為是電路沒有連接通,反復查找,在師姐的幫助下,最終發(fā)現(xiàn)是EA沒接高。當接高后問題解決,程序正常運行。</p><p><b> 6.總結</b></p><p> 通過本次的課程設計,我組織并參與了整個過程,從最開始的編程
25、和仿真的聯(lián)調,已經后來的焊接實物和檢查實物的故障。在這個過程中,我明白了要想學好嵌入式系統(tǒng)必須要有耐心和細心。在對元件的選擇方面必須要細心,所有的參數(shù)需要通過計算或者類比,在對元件的焊接方面必須要耐心。清楚的記得在拼接16*16的LED點陣的時候,急躁之后換回來的是重新焊接,在焊接方面一定需要耐心。在查元件的各管腳的含義的時候一定要細心,要領會所有管腳的含義,最重要的是功能作用表和時序圖,這兩個也就是描述芯片的作用,我們本次采用的74H
26、C138和74HC595.通過這兩個芯片我對譯碼器的作用有了更深的理解,不再停留在譯碼器只用在地址的譯碼。也對單片機的串行通信有了更熟悉的理解,一定要用CY作為過渡寄存器,這樣能保證是每到一個脈沖信號就串行通信一位數(shù)據。</p><p> 這里感謝小組同學的付出,特別感謝黃地陪我一起焊接硬件。</p><p> 在這里也感謝簡毅老師對我們的幫助和支持。</p><p
27、><b> 7參考文獻</b></p><p> [1]李朝青.單片機原理及接口技術.北京.北京航空航天大學出版社. 2005.10</p><p> [2]閻石.數(shù)字電子技術基礎.北京.清華大學出版社 . 1998.12</p><p> [3]楊欣. 電子設計從零開始(第2版).北京. 清華大學出版社. 2010.10<
28、/p><p> 附件一:(本次課程設計程序)</p><p> SDATA_595 EQU P2.5 ;串行數(shù)據輸入</p><p> SCLK_595 EQU P2.7 ;移位時鐘脈沖</p><p> RCK_595 EQU P2.6 ;輸出鎖存器控制脈沖</p><p>
29、 G_74138 EQU P2.4 ;顯示允許控制信號端口</p><p> ROW_END BIT 20H.0 ;行掃描完畢標志</p><p> COUN_COMP EQU 30H ;計數(shù)比較值單元</p><p> ;***************************************************
30、*******</p><p> ORG 0000H</p><p> AJMP MAIN</p><p> ORG 000BH</p><p> AJMP TIMER0</p><p> ;*****************************************************
31、*****</p><p><b> MAIN:</b></p><p> MOV SP,#70H</p><p> MOV A,#0FFH</p><p><b> MOV P1,A</b></p><p><b> MOV P2,A</b
32、></p><p><b> MOV P3,A</b></p><p><b> MOV P0,A</b></p><p> CLR ROW_END </p><p> CLR RCK_595</p><p> MOV TMOD,#01
33、H ;設置定時器0工作在定時方式1</p><p> MOV TH0,#0FCH ;1ms定時常數(shù)</p><p> MOV TL0,#18H</p><p> MOV IE,#82H ;允許總中斷,允許定時器0中斷</p><p> MOV DPTR,#TAB</p
34、><p> MOV R0,#00H </p><p><b> MAIN1:</b></p><p> LCALL DISPLAY</p><p> AJMP MAIN1</p><p> ;***************************************
35、*******************</p><p><b> ; 顯示子程序</b></p><p> ; R1 - 文字列碼的偏址</p><p> ; R2 - 行掃描地址 R3 - 每個字循環(huán)掃描的次數(shù)</p><p> ; B - 暫存R1的過程數(shù)據</p><p>
36、; ;**********************************************************</p><p><b> DISPLAY:</b></p><p> MOV B,#00H ;查表偏址暫存(從00開始)</p><p><b> MOV R1,B<
37、/b></p><p> MOV COUN_COMP,#0A0H</p><p><b> D_LOOP:</b></p><p> MOV R3,#5AH ;控制每個字的顯示速度</p><p><b> D_LOOP1:</b></p>
38、<p> MOV R2,#00H ;第0行開始</p><p><b> MOV R1,B</b></p><p> SETB TR0 ;開掃描</p><p><b> D_LOOP2:</b></p><p>
39、JBC ROW_END,D_LOOP3 ;標志為1掃描一個字16行結束</p><p> AJMP D_LOOP2</p><p><b> D_LOOP3:</b></p><p> DJNZ R3,D_LOOP1 ;每個字重復掃描</p><p> MOV A,R1
40、 </p><p><b> MOV B,A</b></p><p> CJNE A,COUN_COMP,D_LOOP ;5個字是否顯示完?</p><p><b> RET </b></p><p> ;**********************************
41、************************</p><p> ; T0中斷掃描子程序</p><p> ; R1 - 取數(shù)據地址; R2 - 行掃描地址</p><p> ;**********************************************************</p><p><b>
42、TIMER0:</b></p><p><b> PUSH ACC</b></p><p> MOV TH0,#0FCH ;1ms定時常數(shù)</p><p> MOV TL0,#18H</p><p> INC R1 ;取每行右邊字節(jié)偏址</p
43、><p><b> MOV A,R1</b></p><p> MOVC A,@A+DPTR ;取每行右邊字節(jié)數(shù)據</p><p> LCALL WR_595</p><p> DEC R1 ;取每行左邊字節(jié)偏址</p><p><b>
44、 MOV A,R1</b></p><p> MOVC A,@A+DPTR ;取每行左邊字節(jié)數(shù)據</p><p> LCALL WR_595</p><p> SETB G_74138 ;關行顯示,準備刷新</p><p><b> NOP</b></p>
45、;<p><b> NOP</b></p><p> SETB RCK_595 ;產生上升沿,數(shù)據打入輸出端</p><p><b> NOP</b></p><p><b> NOP</b></p><p> CLR RCK_59
46、5 ;恢復低電平</p><p> MOV A,R2 ;</p><p> MOV P2,A ;行輸出</p><p> CLR G_74138 ;開行顯示</p><p><b> INC R1</b></
47、p><p> INC R1 ;下一行數(shù)據地址</p><p> INC R2 ;修改顯示行地址</p><p><b> MOV A,R2</b></p><p> ANL A,#0FH</p><p> JNZ T0_E
48、ND ;一個字的16行掃描是否完畢?</p><p> SETB ROW_END ;一個字的16行掃描完,置標記</p><p> CLR TR0 ;一個字的16行掃描完,關掃描</p><p><b> T0_END:</b></p><p>
49、;<b> POP ACC</b></p><p><b> RETI</b></p><p> ;**********************************************************</p><p> ;移位寄存器接收數(shù)據子程序</p><p> ;**
50、********************************************************</p><p><b> WR_595:</b></p><p> MOV R4,#08H</p><p><b> WR_LOOP:</b></p><p><b>
51、 RLC A</b></p><p> MOV SDATA_595,C</p><p> SETB SCLK_595 ;上升沿發(fā)生移位</p><p><b> NOP</b></p><p><b> NOP</b></p><p> CL
52、R SCLK_595</p><p> DJNZ R4,WR_LOOP</p><p><b> RET</b></p><p> ;**********************************************************</p><p><b> TAB:</b>
53、;</p><p><b> ;我</b></p><p> DB 0FBH,7FH,0F1H,5FH,87H,6FH,0F7H,6FH,0F7H,7BH,00H,01H,0F7H,7FH,0F7H,6FH</p><p> DB 0F5H,6FH,0F3H,9FH,0E7H,0BFH,97H,5FH,0F6H,0DFH,0F5H,0E
54、BH,0D7H,0EBH,0EFH,0F3H</p><p><b> ;愛</b></p><p> DB 0FFH,87H,0C0H,7FH,0EEH,0EFH,0F6H,0DFH,80H,01H,0BDH,0FDH,7DH,0FBH,80H,07H</p><p> DB 0FBH,0FFH,0F8H,0FH,0F5H,0DFH
55、,0F6H,0BFH,0EFH,7FH,0EEH,9FH,0DDH,0E3H,0F3H,0F7H</p><p><b> ;單</b></p><p> DB 0EFH,0EFH,0F7H,0DFH,0FBH,0B7H,0C0H,03H,0DEH,0F7H,0DEH,0F7H,0C0H,07H,0DEH,0F7H</p><p> DB
56、 0DEH,0F7H,0C0H,07H,0DEH,0FFH,0FEH,0FBH,00H,01H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH</p><p><b> ;片</b></p><p> DB 0FFH,7FH,0DFH,7FH,0DFH,7FH,0DFH,7FH,0DFH,7BH,0C0H,01H,0DFH,0FFH,0DFH,0FF
57、H</p><p> DB 0C0H,3FH,0DFH,0BFH,0DFH,0BFH,0DFH,0BFH,0DFH,0BFH,0DFH,0BFH,0BFH,0BFH,7FH,0BFH</p><p><b> ;機</b></p><p> DB 0EFH,0FFH,0EFH,0EFH,0EEH,07H,0EEH,0EFH,02H,0
58、EFH,0EEH,0EFH,0CEH,0EFH,0C6H,0EFH</p><p> DB 0AAH,0EFH,0AEH,0EFH,6EH,0EFH,0EEH,0EFH,0EEH,0EDH,0EDH,0EDH,0EBH,0F1H,0E7H,0FFH</p><p> ;**********************************************************
59、</p><p> END ;結束</p><p> ;**********************************************************</p><p> 附件二(本次課程設計的仿真原理圖)</p><p> 附件三(仿真的截圖)</p><p> 附件四
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設計---16×16點陣式漢字顯示
- 單片機課程設計---16×16 led廣告屏
- led16x16點陣課程設計--16×16點陣led電子顯示屏的設計
- 單片機課程設計----led點陣漢字顯示
- 16×16led點陣屏顯示設計-課設論文
- 16x16點陣課程設計--16×16點陣led電子顯示屏的設計
- 16×16_led點陣設計畢業(yè)設計
- 16×16-led點陣設計-畢業(yè)設計
- 16×16點陣eda課程設計報告
- 16×16點陣(滾動顯示)
- 16乘16點陣顯示單片機課程設計
- 單片機課程設計---16乘16點陣顯示
- 基于單片機16x16漢字點陣顯示
- 畢業(yè)設計---16×16點陣led室內電子顯示屏的設計
- 16×16點陣led電子顯示屏的設計畢業(yè)論文
- 畢業(yè)論文---16×16點陣led電子顯示屏的設計模塊
- 單片機課程設計--16x16點陣led電子顯示屏的設計
- 基于at89c51單片機的16x16led點陣顯示的課程設計
- 基于單片機的led點陣顯示課程設計
- 單片機原理與應用課程設計---16x16點陣顯示
評論
0/150
提交評論