單片機lcd系統(tǒng)顯示課程設計_第1頁
已閱讀1頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  LCD顯示系統(tǒng)的設計1</p><p>  一、課程設計的目的與要求1</p><p>  1、課程設計目的:1</p><p>  2、課程設計要求1</p><p>  二、課程設計課題的分析2</p><p><b>  1、原理說明2</b></p&

2、gt;<p>  2、1602LCD主要技術(shù)參數(shù)2</p><p>  3、引腳功能說明2</p><p><b>  4、硬件接口3</b></p><p><b>  5、用戶命令3</b></p><p>  6、顯示窗口坐標關(guān)系5</p><p&g

3、t;  三、課程設計的結(jié)果7</p><p><b>  程序17</b></p><p><b>  程序2:9</b></p><p>  四、課程設計的心得與體會12</p><p><b>  五、參考文獻13</b></p><p>

4、  LCD顯示系統(tǒng)的設計</p><p>  一、課程設計的目的與要求</p><p><b>  1、課程設計目的:</b></p><p> ?。?)進一步理解和消化書本知識,運用所學知識和技能進行簡單的設計。</p><p> ?。?)通過課程設計提高應用能力,分析問題和解決問題的能力。</p>&l

5、t;p> ?。?)培養(yǎng)查閱資料的習慣,訓練和提高自學,獨立思考的能力。</p><p><b>  2、課程設計要求</b></p><p> ?。?)理解液晶顯示模塊的工作原理。</p><p> ?。?)掌握液晶顯示模塊與單片機的接口方法。</p><p> ?。?)自主設計通過8255驅(qū)動LCD顯示模塊的電路

6、</p><p> ?。?)編制程序使LCD顯示所要求的漢字</p><p> ?。?)實現(xiàn)實時信息板的設計</p><p>  從課程設計的目的出發(fā),通過設計工作的各個環(huán)節(jié),達到以下要求:</p><p> ?。?)能夠正確理解課程設計的題目和意義,全面思考問題。</p><p> ?。?)運用科學合理的方法,認真按

7、時完成。</p><p>  二、課程設計課題的分析</p><p><b>  1、原理說明</b></p><p>  點陣式LCD顯示電路是在系統(tǒng)板上外掛點陣式液晶顯示模塊,模塊的數(shù)據(jù)線、狀態(tài)、控制線都通過插孔引出??芍苯优c系統(tǒng)相連。 </p><p>  1、OCMJ2×8液晶模塊介紹及使用說明<

8、/p><p>  OCMJ中文模塊系列液晶顯示器內(nèi)含 GB 2312 16*16點陣國標一級簡體漢字和 ASCII8*8(半高)及8*16(全高)點陣英文字庫,用戶輸入?yún)^(qū)位碼或 ASCII 碼即可實現(xiàn)文本顯示。也可用作一般的點陣圖形顯示器之用。提供位點陣和字節(jié)點陣兩種圖形顯示功能,用戶可在指定的屏幕位置上以點為單位或以字節(jié)為單位進行圖形顯示。完全兼容一般的點陣模塊。OCMJ中文模塊系列液晶顯示器可以實現(xiàn)漢字、ASCI

9、I 碼、點陣圖形和變化曲線的同屏顯示,并可通過字節(jié)點陣圖形方式造字。本系列模塊具有上/下/左/右移動當前顯示屏幕及清除屏幕的命令。一改傳統(tǒng)的使用大量的設置命令進行初始化的方法,OCMJ中文模塊所有的設置初始化工作都是在上電時自動完成的,實現(xiàn)了“即插即用”。同時保留了一條專用的復位線供用戶選擇使用,可對工作中的模塊進行軟件或硬件強制復位。規(guī)劃整齊的10個用戶接口命令代碼,非常容易記憶。標準用戶硬件接口采用REQ/BUSY 握手協(xié)議,簡單可

10、靠。</p><p>  2、1602LCD主要技術(shù)參數(shù)</p><p>  顯示容量:16×2個字符</p><p>  芯片工作電壓:4.5—5.5V</p><p>  工作電流:2.0mA(5.0V)</p><p>  模塊最佳工作電壓:5.0V</p><p>  字符尺寸

11、:2.95×4.35(W×H)mm</p><p><b>  3、引腳功能說明</b></p><p>  第1腳:VSS為地電源。</p><p>  第2腳:VDD接5V正電源。</p><p>  第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生

12、“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。</p><p>  第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。</p><p>  第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。</

13、p><p>  第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。</p><p>  第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。</p><p>  第15腳:背光源正極。</p><p>  第16腳:背光源負極。</p><p><b>  4、硬件接口</b></p&

14、gt;<p>  接口協(xié)議為 請求/應答(REQ/BUSY) 握手方式。應答B(yǎng)USY 高電平(BUSY =1) 表示 OCMJ 忙于內(nèi)部處理,不能接收用戶命令;BUSY 低電平(BUSY =0)表示 OCMJ 空閑,等待接收用戶命令。發(fā)送命令到 OCMJ可在BUSY =0 后的任意時刻開始,先把用戶命令的當前字節(jié)放到數(shù)據(jù)線上,接著發(fā)高電平REQ 信號(REQ =1)通知OCMJ請求處理當前數(shù)據(jù)線上的命令或數(shù)據(jù)。OCMJ模塊

15、在收到外部的REQ高電平信號后立即讀取數(shù)據(jù)線上的命令或數(shù)據(jù),同時將應答線BUSY變?yōu)楦唠娖?,表明模塊已收到數(shù)據(jù)并正在忙于對此數(shù)據(jù)的內(nèi)部處理,此時,用戶對模塊的寫操作已經(jīng)完成,用戶可以撤消數(shù)據(jù)線上的信號并可作模塊顯示以外的其他工作,也可不斷地查詢應答線BUSY是否為低(BUSY =0?), 如果BUSY =0,表明模塊對用戶的寫操作已經(jīng)執(zhí)行完畢??梢栽偎拖乱粋€數(shù)據(jù)。如向模塊發(fā)出一個完整的顯示漢字的命令,包括坐標及漢字代碼在內(nèi)共需5個字節(jié),

16、模塊在接收到最后一個字節(jié)后才開始執(zhí)行整個命令的內(nèi)部操作,因此,最后一個字節(jié)的應答B(yǎng)USY 高電平(BUSY =1)持續(xù)時間較長,具體的時序圖和時間參數(shù)說</p><p><b>  5、用戶命令</b></p><p>  用戶通過用戶命令調(diào)用 OCMJ 系列液晶顯示器的各種功能。命令分為操作碼及操作數(shù)兩部分,操作數(shù)為十六進制。共分為 3 類10 條。分別是:<

17、/p><p> ?。ㄒ韵滤救≈捣秶謩e為:2X8、4X8、5X10的取值范圍)</p><p><b>  1)顯示國標漢字</b></p><p>  命令格式: F0 XX YY QQ WW</p><p>  該命令為5字節(jié)命令(最大執(zhí)行時間為1.2毫秒,Ts2=1.2mS),其中</p><p&

18、gt;  XX:為以漢字為單位的屏幕行坐標值,取值范圍00到07、02到09、00到09</p><p>  YY:為以漢字為單位的屏幕列坐標值,取值范圍00到01、00到03、00到04</p><p>  QQ WW:坐標位置上要顯示的GB 2312 漢字區(qū)位碼</p><p>  2) 顯示8X8 ASCII字符</p><p>  命

19、令格式:F1 XX YY AS</p><p>  該命令為4字節(jié)命令(最大執(zhí)行時間為0.8毫秒,Ts2=0.8mS),其中</p><p>  XX:為以ASCII碼為單位的屏幕行坐標值,取值范圍00到0F、04到13、00到13</p><p>  YY:為以ASCII碼為單位的屏幕列坐標值,取值范圍00到1F、00到3F、00到4F</p>&l

20、t;p>  AS:坐標位置上要顯示的ASCII 字符碼</p><p>  3) 顯示8X16 ASCII字符</p><p>  命令格式:F9 XX YY AS</p><p>  該命令為4字節(jié)命令(最大執(zhí)行時間為1.0毫秒,Ts2=1.0mS),其中</p><p>  XX:為以ASCII碼為單位的屏幕行坐標值,取值范圍00到

21、0F、04到13、00到13</p><p>  YY:為以ASCII碼為單位的屏幕列坐標值,取值范圍00到1F、00到3F、00到4F</p><p>  AS:坐標位置上要顯示的ASCII 字符碼</p><p><b>  4) 顯示位點陣 </b></p><p>  命令格式: F2 XX YY &l

22、t;/p><p>  該命令為3字節(jié)命令(最大執(zhí)行時間為0.1毫秒,Ts2=0.1mS),其中</p><p>  XX:為以1*1點陣為單位的屏幕行坐標值,取值范圍00到7F、20到9F、00到9F</p><p>  YY:為以1*1點陣為單位的屏幕列坐標值,取值范圍00到40、00到40、00到40</p><p><b>  5

23、) 顯示字節(jié)點陣</b></p><p>  命令格式: F3 XX YY BT</p><p>  該命令為4字節(jié)命令(最大執(zhí)行時間為0.1毫秒,Ts2=0.1mS),其中</p><p>  XX:為以1*8點陣為單位的屏幕行坐標值,取值范圍00到0F、04到13、00到13</p><p>  YY:為以1*1點陣為單位的屏

24、幕列坐標值,取值范圍00到1F、00到3F、00到4F</p><p>  BT:字節(jié)像素值,0 顯示白點,1 顯示黑點 (顯示字節(jié)為橫向)</p><p><b>  6) 清屏</b></p><p><b>  命令格式:F4</b></p><p>  該命令為單字節(jié)命令(最大執(zhí)行時間為11

25、毫秒,Ts2=11mS),其功能為將屏幕清空。</p><p><b>  7) 上移</b></p><p><b>  格式:F5</b></p><p>  令為單字節(jié)命令(最大執(zhí)行時間為25毫秒,Ts2=25mS),其功能為將屏幕向上移 一個點陣行。</p><p><b>  8

26、) 下移</b></p><p><b>  命令格式:F6</b></p><p>  該命令為單字節(jié)命令(最大執(zhí)行時間為30毫秒,Ts2=30mS),其功能為將屏幕向下移動一個點陣行。</p><p><b>  9) 左移</b></p><p><b>  命令格式:F

27、7</b></p><p>  該命令為單字節(jié)命令(最大執(zhí)行時間為12毫秒,Ts2=12mS),其功能為將屏幕向左移動一個點陣行。</p><p><b>  10) 右移</b></p><p><b>  命令格式: F8</b></p><p>  該命令為單字節(jié)命令(最大執(zhí)行時間

28、為12毫秒,Ts2=12mS),其功能為將屏幕向右移動一個點陣行。</p><p>  6、顯示窗口坐標關(guān)系</p><p>  1)以下列表為漢字、ASCⅡ碼顯示屏幕坐標(ASCⅡ碼Y坐標一點陣坐標為準)。如顯示圖形點陣,則以128*64(OCMJ4X8)或128*32(OCMJ2X8)點陣坐標為準,可在屏幕任意位置顯示。</p><p>  圖1、屏幕窗口坐標關(guān)

29、系</p><p>  圖2、OCMJ2×8液晶模塊外部連接原理圖</p><p><b>  圖3、程序1流程圖</b></p><p><b>  圖4、程序2流程圖</b></p><p><b>  三、課程設計的結(jié)果</b></p><p

30、><b>  程序1:</b></p><p>  PA EQU 0CFA0H </p><p>  PB EQU 0CFA1H</p><p>  PCC EQU 0CFA2H</p><p>  PCTL EQU 0CFA3H </p>

31、;<p>  STOBE0 EQU 70H </p><p>  STOBE1 EQU 71H </p><p>  CSEG AT 0000H</p><p>  LJMP START</p><p>  CSEG AT 4100H</p>

32、<p><b>  START:</b></p><p>  MOV DPTR, #PCTL </p><p>  MOV A, #88H </p><p>  MOVX @DPTR, A </p><p>  MOV A, #STOBE0</p&

33、gt;<p>  MOVX @DPTR, A </p><p><b>  START1: </b></p><p>  MOV A, #0F4H </p><p>  ACALL SUB2 </p><p>  MOV R0, #1</p&

34、gt;<p>  MOV R1, #60 </p><p><b>  W_LOOP: </b></p><p>  ACALL SUB1 </p><p>  ACALL SUB2 </p><p><b>  INC R0<

35、;/b></p><p>  DJNZ R1, W_LOOP</p><p>  ACALL DELAY</p><p><b>  SUB1: </b></p><p>  MOV A, R0</p><p>  MOVC A,@A+PC</p><p>

36、<b>  RET</b></p><p>  DB 0F0H, 1, 0, 48,37 </p><p>  DB 0F0H, 2, 0, 47,02</p><p>  DB 0F0H, 3, 0, 25,04</p><p>  DB 0F0H, 4, 0, 19,44&l

37、t;/p><p>  DB 0F0H, 5, 0, 49,07</p><p>  DB 0F0H, 6, 0, 52,26</p><p>  DB 0F0H, 1, 1, 55,52</p><p>  DB 0F0H, 2, 1, 22,15</p><p>  DB

38、 0F0H, 3, 1, 27,15</p><p>  DB 0F0H, 4, 1, 48,77</p><p>  DB 0F0H, 5, 1, 35,87</p><p><b>  SUB2:</b></p><p>  PUSH DPH</p><p>  PUS

39、H DPL</p><p>  PUSH ACC</p><p><b>  HE1:</b></p><p>  MOV DPTR , #PCC</p><p>  MOVX A, @DPTR</p><p>  JB ACC.7, HE1</p><p

40、><b>  POP ACC</b></p><p>  MOV DPTR, #PA</p><p>  MOVX @DPTR , A</p><p>  MOV DPTR, #PCTL</p><p>  MOV A, #STOBE1</p><p>  MOVX

41、 @DPTR , A</p><p><b>  HE2:</b></p><p>  MOV DPTR, #PCC</p><p>  MOVX A,@DPTR</p><p>  JNB ACC.7, HE2</p><p>  MOV DPTR, #PCTL</p&g

42、t;<p>  MOV A, #STOBE0</p><p>  MOVX @DPTR,A</p><p><b>  POP DPL</b></p><p><b>  POP DPH</b></p><p><b>  RET</b></p

43、><p>  DELAY: </p><p>  MOV R5, #23H</p><p><b>  DEL0: </b></p><p>  MOV R6, #6FH</p><p><b>  DEL1:

44、 </b></p><p>  MOV R7, #6FH</p><p><b>  DEL2:</b></p><p>  DJNZ R7, DEL2</p><p>  DJNZ R6, DEL1</p><p>  DJNZ R5, DE

45、L0</p><p><b>  RET</b></p><p><b>  END</b></p><p><b>  程序2:</b></p><p>  PA EQU 0CFA0H</p><p>  PB EQU 0C

46、FA1H</p><p>  PCC EQU 0CFA2H</p><p>  PCTL EQU 0CFA3H</p><p>  STOBE0 EQU 70H </p><p>  STOBE1 EQU 71H </p><p>  CSEG AT 0000H&l

47、t;/p><p>  LJMP START</p><p>  CSEG AT 4100H</p><p><b>  START: </b></p><p>  MOV DPTR, #PCTL </p><p>  MOV A, #88H </p

48、><p>  MOVX @DPTR, A </p><p>  MOV A, #STOBE0</p><p>  MOVX @DPTR, A </p><p>  MOV A, #0F4H </p><p>  ACALL SUB2

49、 </p><p><b>  _AB: </b></p><p>  MOV R2, #13 </p><p>  MOV DPTR, #DALIAN</p><p><b>  START2:</b></p><p>  MOV R

50、0, #7 </p><p>  MOV R1, #0 </p><p>  ACALL _W_H_LOOP</p><p>  DJNZ R2, D </p><p><b>  LJMP _AB</b></p><p><b>  D:

51、 </b></p><p>  MOV R1, #16 </p><p><b>  _LEFT_:</b></p><p>  MOV A, #0F7H </p><p>  ACALL SUB2</p><p>  ACALL DELAY&l

52、t;/p><p>  DJNZ R1, _LEFT_</p><p>  INC DPTR </p><p>  LJMP START2</p><p>  _W_H_LOOP:</p><p>  MOV A, #0F0H</p><p>  LCALL SUB2</

53、p><p>  MOV A, R0</p><p><b>  INC R0</b></p><p>  LCALL SUB2</p><p>  MOV A, R1</p><p>  LCALL SUB2</p><p>  MOVX A,

54、 @DPTR</p><p>  INC DPTR</p><p><b>  CLR C</b></p><p>  SUBB A, #160</p><p>  LCALL SUB2</p><p>  MOVX A, @DPTR</p><

55、p><b>  CLR C</b></p><p>  SUBB A, #160</p><p>  LCALL SUB2</p><p><b>  RET </b></p><p>  DALIAN: </p><p>  DW 

56、9;X'</p><p>  DW 'X'</p><p>  DW '大'</p><p>  DW '學'</p><p>  DW 'X'</p><p>  DW 'X'</p&

57、gt;<p>  DW '學'</p><p>  DW '院'</p><p><b>  SUB2:</b></p><p>  PUSH DPH</p><p>  PUSH DPL</p><p>  PUSH

58、 ACC</p><p><b>  HE1: </b></p><p>  MOV DPTR, #PCC</p><p>  MOVX A, @DPTR</p><p>  JB ACC.7, HE1</p><p>  POP ACC</p>

59、;<p>  MOV DPTR, #PA</p><p>  MOVX @DPTR, A</p><p>  MOV DPTR, #PCTL</p><p>  MOV A, #STOBE1</p><p>  MOVX @DPTR, A</p><p>&

60、lt;b>  HE2:</b></p><p>  MOV DPTR, #PCC</p><p>  MOVX A, @DPTR </p><p>  JNB ACC.7, HE2 "</p><p>  MOV DPTR, #PCTL</p&g

61、t;<p>  MOV A, #STOBE0</p><p>  MOVX @DPTR, A </p><p>  POP DPL</p><p>  POP DPH</p><p><b>  RET</b></p><p><

62、b>  DELAY:</b></p><p>  MOV R5, #5H</p><p>  DEL0: MOV R6, #3FH</p><p>  DEL1: MOV R7, #3FH</p><p>  DEL2: DJNZ R7, DEL2<

63、/p><p>  DJNZ R6, DEL1</p><p>  DJNZ R5, DEL0</p><p><b>  RET</b></p><p><b>  END</b></p><p>  結(jié)果:程序1運行結(jié)果為屏幕上靜止顯示“信息工程學 自動化許

64、明”</p><p>  程序2運行結(jié)果為屏幕上由右向左循環(huán)滾動顯示“大連海洋大學信息工程學院”。</p><p>  四、課程設計的心得與體會</p><p><b>  五、參考文獻</b></p><p>  [1] 劉衛(wèi)國,陳昭平,張穎.MATLAB程序設計與應用.北京:高等教育出版社,2002年</p&g

溫馨提示

  • 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

提交評論