單片機課程設(shè)計--1616點陣顯示實驗_第1頁
已閱讀1頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  題目:16*16點陣顯示實驗</p><p><b>  內(nèi)容簡介</b></p><p><b>  一.摘要</b></p><p><b>  二.設(shè)備選取</b></p><p>  三.系統(tǒng)設(shè)計及總體方案………………………………………………………

2、</p><p>  3.1模塊控制………………………………………………………………………. 3.2點陣顯示模塊………………………………………………………………</p><p>  3.3實驗目的…………………………………………………………………</p><p>  3.4實驗內(nèi)容……………………………………………………………………</p><

3、p>  3.5實驗步驟……………………………………………………………………</p><p>  四.電路圖及流程圖</p><p>  五.程序………………………… …………………………………………</p><p>  六.設(shè)計總結(jié)……………………………………………………………………</p><p><b>  摘要<

4、/b></p><p>  這次單片機課程設(shè)計我們主要設(shè)計了一個16×16點陣顯示實驗,其顯示漢字可自動循環(huán),本系統(tǒng)是由MCS-51單片機為控制核心,控制16×16點陣電子顯示屏顯示的設(shè)計。利用單片機的I/O口或以擴展鎖存器的方式控制。設(shè)計單片機與16×16點陣塊之間的接口電路,以及編寫程序,就可以使單片機發(fā)出控制信號去控制點陣的顯示。</p><p>

5、<b>  二.設(shè)備選取</b></p><p>  PC機 Dais-586PH+實驗箱 連接線 字模提取軟件 138譯碼器</p><p>  三.系統(tǒng)設(shè)計及總體方案</p><p>  本系統(tǒng)以51單片機為控制核心,LED點陣顯示屏及74LS273驅(qū)動電路為系統(tǒng)中心,通過軟件編程與調(diào)試,實現(xiàn)所要求的各種功能。</p>

6、<p>  運用所學的單片機知識,結(jié)合數(shù)碼管,發(fā)光二極管,點陣,步進電機等,制作一個多功能的系統(tǒng) 簡易16×16點陣顯示的LED電子顯示屏</p><p>  3.1控制模塊 使用MCS-51單片機</p><p>  3.2點陣顯示模塊 自動點亮“ 劉老師,您辛苦了!”</p><p>  3.3實驗目的 ?、爬脝纹瑱CI/O口或以

7、擴展鎖存器的方式控制點陣顯示?! 、普莆諉纹瑱C與16×16點陣塊之間接口電路設(shè)計及編程。</p><p>  3.4 實驗內(nèi)容 利用實驗系統(tǒng)16×16點陣實驗單元,以兩種方式控制點陣顯示。要求編制程序?qū)崿F(xiàn)漢字點陣循環(huán)顯示。</p><p><b>  3.5實驗步驟</b></p><p>  按實驗電路圖連接13

8、8譯碼輸入端A.B.C,其中A連A2,B連A3,C連A4,138使能控制輸入端G與位于地址線A0引出孔所在位置下方的使能控制輸出端G作對應連接,該端的尋址范圍為FFE0~FFFFH?! 、虐腰c陣單元的片選信號CS插孔與譯碼輸出插孔Y0相連; ?、朴靡?芯扁平電纜把點陣單元總線接口與數(shù)據(jù)總線(D0~D7)任一接口相連;</p><p> ?、怯靡桓p頭實驗線把點陣單元的寫信號WR插孔與位于六位LED顯示左下方的

9、系統(tǒng)控制信號WR/IOWR相連。 ?、染幾g、裝載、連續(xù)運行程序,點陣顯示模塊應循環(huán)顯示“ 劉老師,您辛苦了!”字樣。</p><p><b>  四.電路圖及流程圖</b></p><p><b>  電路圖</b></p><p><b>  實驗電路圖:</b></p>&

10、lt;p><b>  八、實驗連線:</b></p><p>  1、138譯碼器y0連16*16LED點陣顯示單元CS信號</p><p>  2、IDWR連16*16LED點陣顯示單元WR信號</p><p>  3、138譯碼器A連A2</p><p>  4、138譯碼器B連A3</p>&l

11、t;p>  5、138譯碼器C連A4</p><p>  6、138使能控制輸入端G與位于地址線A0引出孔所在位置下方的使能控制輸出端G作對應連接</p><p>  7、用一8芯扁平電纜把點陣單元總線接口與數(shù)據(jù)總線(D0~D7)任一接口相連;</p><p><b>  五.程序</b></p><p><

12、b>  程序代碼:</b></p><p><b>  ORG 0000H</b></p><p>  LJMP XB13</p><p>  ;==========點陣掃描子程序====================</p><p>  X01A: CLR A ;清列值&

13、lt;/p><p>  MOV 0EH, A ;指向零列</p><p>  X023: MOV A, 0EH ;取列值</p><p><b>  CLR C</b></p><p>  SUBB A, #10H ;減16(十進制數(shù))</p><p>  JC X

14、0D2 ;末滿16列繼續(xù)掃描下一列</p><p>  RET ;本次掃描完畢返回主程序</p><p>  X0D2: MOV 0F0H, #02H</p><p>  MOV A, 0EH</p><p>  MUL AB ;當前列值與“2”進行十進制調(diào)正</p>

15、;<p>  MOV 82H, A ;調(diào)正結(jié)果送數(shù)據(jù)指針DPTR</p><p>  MOV 83H, 0F0H</p><p>  LCALL XB1F ;取與當前列對應的掃描代碼</p><p>  MOV 20H, A ;SHU P13</p><p> 

16、 ;=====================</p><p>  LCALL XB4E ;掃描代碼送高八位鎖存器</p><p>  ;=====================</p><p>  MOV A, 0EH ;取列值</p><p>  MOV 0F0H, #02H ;當前列值與“2”進行十進制調(diào)正&

17、lt;/p><p><b>  MUL AB</b></p><p>  ADD A, #01H ;調(diào)正結(jié)果加1送數(shù)據(jù)指針DPTR</p><p>  MOV R7, A</p><p><b>  CLR A</b></p><p>  ADDC A,

18、0F0H</p><p>  MOV 82H, R7</p><p>  MOV 83H, A</p><p>  LCALL XB1F ;取與當前列對應的掃描代碼</p><p>  ;=========存儲列代碼===========</p><p>  PUSH DPH ;掃描

19、代碼送低八位鎖存器</p><p><b>  PUSH DPL</b></p><p>  MOV DPTR,#0FFE0H</p><p>  MOVX @DPTR,A</p><p>  ;====================</p><p>  MOV A, #01H ;代碼

20、掃描從第一行開始</p><p>  MOV R6, #00H</p><p>  MOV R0, 0EH ;取與當前代碼掃描對應的列值</p><p>  INC R0 ;列指針加1</p><p>  SJMP X083</p><p>  X07E: CLR C

21、 ;當前代碼掃描對應行的查找</p><p>  RLC A ;行高八位左移一位</p><p>  XCH A, R6</p><p>  RLC A ;行低八位帶進位左移一位</p><p>  XCH A, R6</p><p>  X083:

22、 DJNZ R0, X07E ;不為當前代碼掃描對應行返上繼續(xù)調(diào)正</p><p>  ;====================</p><p>  MOV DPTR,#0FFE2H ;當前行碼送高八位鎖存器</p><p>  MOVX @DPTR,A</p><p>  MOV DPTR,#0FFE1H ;當前行碼送低八位鎖存

23、器</p><p><b>  MOV A,R6</b></p><p>  MOVX @DPTR,A</p><p>  MOV R6,#80H ;當前行鎖定顯示250u秒</p><p><b>  DJNZ R6,$</b></p><p>  ;======

24、==============</p><p>  CLR A ;關(guān)閉顯示</p><p>  MOV DPTR,#0FFE1H</p><p>  MOVX @DPTR,A ;行高八位鎖存器清零</p><p><b>  INC DPTR</b></p><p>

25、;  MOVX @DPTR,A ;行低八位鎖存器清零</p><p><b>  POP DPL</b></p><p><b>  POP DPH</b></p><p>  ;====================</p><p>  INC 0EH ;列指針加1

26、</p><p>  AJMP X023 ;繼續(xù)下1行</p><p>  ;======== 行掃描============</p><p>  X097: CLR A</p><p>  MOV DPTR,#0FFE1H</p><p>  MOVX @DPTR,A <

27、/p><p><b>  INC DPTR</b></p><p>  MOVX @DPTR,A ;全部行清零 </p><p>  ;====================</p><p>  X0A0: CLR A ;清掃描個數(shù)寄存器<

28、/p><p>  MOV R5, A ;從第一個開始掃描</p><p>  X0A2: MOV A, R5 ;取當前掃描個數(shù)</p><p>  CLR C ;為SUBB做準備</p><p>  ;========= 確定要顯示的漢字個數(shù)===========; 用戶可自定義漢字個

29、數(shù)</p><p>  SUBB A, #09H ;共掃描9個漢字</p><p>  JNC X0A0 ;掃描個數(shù)滿9個返回從第一個開始</p><p>  MOV A, R5</p><p>  ;========= 確定顯示為循環(huán)方式============;用戶可自定義為移位循環(huán)方式</p>

30、<p>  MOV DPTR,#STLS ;指向漢字表首址</p><p>  MOV 0F0H, #20H ; 設(shè)定以完整的一個漢字為最小循環(huán)單位</p><p><b>  MUL AB</b></p><p>  ADD A, DPL</p><p>  MOV 0AH, A&

31、lt;/p><p>  MOV A, DPH</p><p>  ADDC A, 0F0H ;換字</p><p>  MOV 09H, A</p><p><b>  CLR A</b></p><p>  MOV R4, A</p>&l

32、t;p>  X0BD: MOV A, R4</p><p><b>  CLR C</b></p><p>  SUBB A, #64H ;每個漢字掃描64次</p><p>  JNC X0CF ;當前漢字掃描次數(shù)滿64次轉(zhuǎn)</p><p>  MOV R2,09H&l

33、t;/p><p>  MOV R1, 0AH</p><p>  ACALL X01A</p><p>  INC R4 ;掃描次數(shù)加1</p><p>  SJMP X0BD</p><p>  X0CF: INC R5 ;掃描個數(shù)加1指向下一個漢字</p>

34、;<p>  SJMP X0A2</p><p>  ;============ 漢字代碼表======================================</p><p><b>  STLS:</b></p><p>  ;-- 文字: 劉 --</p><p>  ;-- Fix

35、edsys12; 此字體下對應的點陣為:寬x高=16x16 --</p><p>  DB 10H,04H,08H,04H,08H,04H,0FFH,0A4H,02H,24H,42H,24H,22H,24H,14H,24H</p><p>  DB 14H,24H,08H,24H,08H,24H,14H,24H,24H,04H,42H,04H,82H,14H,00H,08H<

36、;/p><p>  ;-- 文字: 老 --</p><p>  ;-- Fixedsys12; 此字體下對應的點陣為:寬x高=16x16 --</p><p>  DB 02H,00H,02H,08H,3FH,0D0H,02H,20H,02H,40H,0FFH,0FEH,01H,00H,02H,00H</p><p>  DB

37、 0CH,10H,18H,0E0H,2FH,00H,48H,08H,88H,08H,08H,08H,07H,0F8H,00H,00H</p><p>  ;-- 文字: 師 --</p><p>  ;-- Fixedsys12; 此字體下對應的點陣為:寬x高=16x16 --</p><p>  DB 08H,00H,0BH,0FEH,48H,20

38、H,48H,20H,48H,20H,49H,0FCH,49H,24H,49H,24H</p><p>  DB 49H,24H,49H,24H,49H,24H,09H,34H,11H,28H,10H,20H,20H,20H,40H,20H</p><p>  ;-- 文字: , --</p><p>  ;-- Fixedsys12; 此字體下對應的點陣

39、為:寬x高=16x16 --</p><p>  DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H</p><p>  DB 00H,00H,00H,00H,00H,00H,30H,00H,30H,00H,10H,00H,20H,00H,00H,00H</p><p>  ;

40、-- 文字: 您 --</p><p>  ;-- Fixedsys12; 此字體下對應的點陣為:寬x高=16x16 --</p><p>  DB 09H,00H,09H,00H,11H,0FCH,32H,04H,54H,48H,99H,50H,11H,48H,12H,44H</p><p>  DB 14H,44H,11H,40H,10H,80

41、H,02H,00H,51H,04H,51H,12H,90H,12H,0FH,0F0H</p><p>  ;-- 文字: 辛 --</p><p>  ;-- Fixedsys12; 此字體下對應的點陣為:寬x高=16x16 --</p><p>  DB 02H,00H,01H,00H,3FH,0F8H,00H,00H,08H,20H,04H,40

42、H,0FFH,0FEH,01H,00H</p><p>  DB 01H,00H,01H,00H,7FH,0FCH,01H,00H,01H,00H,01H,00H,01H,00H,01H,00H</p><p>  ;-- 文字: 苦 --</p><p>  ;-- Fixedsys12; 此字體下對應的點陣為:寬x高=16x16 --</p

43、><p>  DB 08H,20H,08H,20H,0FFH,0FEH,08H,20H,09H,20H,01H,00H,01H,00H,0FFH,0FEH</p><p>  DB 01H,00H,01H,00H,1FH,0F0H,10H,10H,10H,10H,10H,10H,1FH,0F0H,10H,10H</p><p>  ;-- 文字: 了 --&l

44、t;/p><p>  ;-- Fixedsys12; 此字體下對應的點陣為:寬x高=16x16 --</p><p>  DB 00H,00H,7FH,0F8H,00H,10H,00H,20H,00H,40H,01H,80H,01H,00H,01H,00H</p><p>  DB 01H,00H,01H,00H,01H,00H,01H,00H,01H,00

45、H,01H,00H,05H,00H,02H,00H</p><p>  ;-- 文字: ! --</p><p>  ;-- Fixedsys12; 此字體下對應的點陣為:寬x高=16x16 --</p><p>  DB 00H,00H,10H,00H,10H,00H,10H,00H,10H,00H,10H,00H,10H,00H,10H,00H&

46、lt;/p><p>  DB 10H,00H,10H,00H,00H,00H,00H,00H,10H,00H,10H,00H,00H,00H,00H,00H</p><p>  ---------------------------------------------------------------------</p><p>  XB13: MOV

47、R0, #7FH</p><p><b>  CLR A</b></p><p>  XB16: MOV @R0, A </p><p>  DJNZ R0, XB16 ;把1-7f清零,</p><p>  MOV

48、81H, #20H ;sp堆棧指向20h</p><p><b>  JMP X097</b></p><p>  ;============查找與當前列對應的漢字代碼子程序====================</p><p>  XB1F: MOV A, 82H ;本次掃

49、描首址與當前列值相加</p><p>  ADD A, R1 ;低八位相加</p><p>  MOV 82H, A ;送DPL</p><p>  MOV A, 83H ;高八位相加</p><p>  ADDC A, R2 ;再加低八位進位位CY</p><p&

50、gt;  MOV 83H, A ;送DPH</p><p><b>  CLR A</b></p><p>  MOVC A, @A+DPTR ;取漢字代碼</p><p>  RET ; 返回</p><p>  ;=====================</p

51、><p>  XB4E: MOV C, 07H</p><p>  MOV ACC.0, C</p><p>  MOV C, 06H</p><p>  MOV ACC.1, C</p><p>  MOV C, 05H</p><p>  MOV ACC.2, C

52、</p><p>  MOV C, 04H</p><p>  MOV ACC.3, C</p><p>  MOV C, 03H</p><p>  MOV ACC.4, C</p><p>  MOV C, 02H</p><p>  MOV ACC.5, C<

53、/p><p>  MOV C, 01H</p><p>  MOV ACC.6, C</p><p>  MOV C, 00H</p><p>  MOV ACC.7, C ; 倒237(4)</p><p>  ;XB4E: ;如果是P

54、H206請刪除上述XB4E開始的16行代碼,并刪除本行首的";"</p><p><b>  PUSH DPH</b></p><p><b>  PUSH DPL</b></p><p>  MOV DPTR,#0FFE3H</p><p>  MOVX @DPTR,A<

55、/p><p><b>  POP DPL</b></p><p><b>  POP DPH</b></p><p>  RET ;倒過來</p><p>  ;-------------------------------</p><p&

56、gt;<b>  END</b></p><p><b>  五.課程設(shè)計總結(jié)</b></p><p>  經(jīng)過一段時間的努力,我們順利的完成了這次單片機課程設(shè)計。這是一個磨練意志的過程。從課題的選擇開始,內(nèi)容的設(shè)計、到最后課程設(shè)計的完成,這其中經(jīng)歷了很多困難,但是更重要的是在這個過程中我得到了很大的鍛煉。一方面通過MSC-51單片機等一些器件的

57、設(shè)計讓我學習和掌握了單片機技術(shù)的基礎(chǔ)知識和技術(shù)要點,也使以前學的很多知識都得到了運用;另一方面還復習了相關(guān)的知識,查詢了相關(guān)的資料,更好地掌握了簡單單片機應用系統(tǒng)的設(shè)計、制作、調(diào)試的方法。</p><p>  當然,這是一個需要不斷的嘗試,不斷的校核,不斷的修改,最后完成一個合理的設(shè)計的過程。需要的是細心和耐心,更重要的是同學之間的相互合作,而且在很大程度上培養(yǎng)了我拼搏的學習精神。使我受益匪淺,更加明確了自己專業(yè)

58、的方向。</p><p>  通過本次課程設(shè)計,我不僅學到了關(guān)于單片機技術(shù)方面的許多專業(yè)知識,同時也讓我感覺到團隊合作的重要性。其實如何有效和快速的找到資料也是課設(shè)給我的啟發(fā),圖書館和網(wǎng)絡是資源的最好的利用。與他人交流思想是取得成功的關(guān)鍵,在交流中,不僅強化了自己原有的知識體系,也擴展了自己的思維。課設(shè)是一個通過思考、發(fā)問、自己解惑并動手、提高的過程。我會在以后的學習中不斷學習,積累經(jīng)驗,完善自己。</p&

59、gt;<p>  通過這次的單片機課程設(shè)計,我們不僅加深了對單片機原理及應用技術(shù)的認識,而且進一步鞏固了對單片機知識的理解,同時還總結(jié)出了課程設(shè)計應該遵循的原則:(1)正確性和完備性原則(2)模塊化、結(jié)構(gòu)化原則(3)直觀性、清晰性原則。只有遵循原則,我們的方案才能系統(tǒng)化、清晰易懂、可靠性高、可維護性好。</p><p>  這次單片機課程設(shè)計不僅鞏固了以前所學過的知識,而且學到了很多在書本上沒有學到

溫馨提示

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

評論

0/150

提交評論