<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          AT89S52與LCD1602(asm/c51)

          作者: 時(shí)間:2016-11-10 來源:網(wǎng)絡(luò) 收藏

          LCD1602 DDRAM地址映射表:

          本文引用地址:http://www.ex-cimer.com/article/201611/317448.htm

          第一行地址80H

          第二行地址C0H

          單片機(jī)與LCD1602接口

          ;///////////////////////////////////////////////
          項(xiàng)目名稱:AT89S52與LCD1602接口實(shí)驗(yàn)
          功能:在LCD1602的第一行顯示W(wǎng)WW.LZY.EDU.CN:
          在LCD1602的第二行顯示0830--3150897
          ;///////////////////////////////////////////////
          RS EQUP2.4;P2.4接LCD的RS

          RW EQUP2.5;P2.5接LCD的RW

          E EQUP2.6;P2.6接LCD的E
          DRIR EQUP0;P0口接LCD的DB0-DB7
          CWDK EQU 40H
          DATK EQU 41H

          ORG 0000H
          SJMP START
          ORG 0030H
          ;主程序
          START:MOV SP,#80H
          LCALL RESTE
          LCALL TOPDA
          LCALL BOTDA
          SJMP $
          ;函數(shù)INCWD 指令寫入程序
          INCWD:CLR RS
          CLR RW
          MOV A,CWDK
          MOV DRIR,A
          SETB E
          NOP
          NOP
          CLR E
          LCALL DELAY
          RET
          ;函數(shù)INDAT顯示數(shù)據(jù)寫入程序
          INDAT:SETB RS
          CLR RW
          MOV A,DATK
          MOV DRIR,A
          SETB E
          NOP
          NOP
          CLR E
          LCALL DELAY
          RET
          ;函數(shù)RESTELCD1602初始化程序
          RESTE:MOV CWDK,#00111000B;工作方式 8位數(shù)據(jù)接口,二行顯示,5*7點(diǎn)陣
          LCALL INCWD
          MOV CWDK,#00000001B;AC清0 光標(biāo)復(fù)位
          LCALL INCWD
          MOV CWDK,#00001111B;開顯示 開光標(biāo) 開閃爍
          LCALL INCWD
          MOVCWDK,#00011100B;屏幕不動(dòng)光標(biāo)自動(dòng)右移
          LCALL INCWD
          RET
          ;函數(shù)TOPDA LCD1602第一行顯示程序
          TOPDA:MOV CWDK,#80H
          LCALL INCWD
          MOV R2,#10H
          MOV R3,#00H
          MOV DPTR,#TABL1
          D1:MOV A,R3
          MOVC A,@A+DPTR
          MOV DATK,A
          LCALL INDAT
          LCALL DEL1S
          INC R3
          DJNZ R2,D1
          RET
          ;函數(shù)BOTDA LCD1602第二行顯示程序
          BOTDA:MOV CWDK,#0C0H
          LCALL INCWD
          MOV R2,#10H
          MOV R3,#00H
          MOV DPTR,#TABL2
          D2:MOV A,R3
          MOVC A,@A+DPTR
          MOV DATK,A
          LCALL INDAT
          LCALL DEL1S
          INC R3
          DJNZR2,D2
          RET
          ;函數(shù)DELAY 480us延時(shí)
          DELAY:MOV R1,#0A0H
          E1:NOP
          DJNZ R1,E1
          RET
          ;函數(shù)DEL1S 1S延時(shí)
          DEL1S:MOV R5,#20
          E2:MOV R6,#20
          E3:MOV R7,#248
          DJNZ R7,$
          DJNZ R6,E3
          DJNZ R5,E2
          RET

          TABL1:DB "WWW.LZY.EDU.CN"
          TABL2:DB " 0830---3150897 "
          END

          /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

          付帶閃爍光標(biāo)的LCD1602字符顯示

          ;///////////////////////////////////////////////////

          ;AT89S52與LCD1602接口

          ;目的:1602第一行顯示:WWW.SINA.COM.CN

          ;第二行顯示:Visual Basic net

          ;//////////////////////////////////////////////////

          RS EQU P2.4

          RW EQU P2.5

          EEQU P2.6

          LDB EQU P0

          DAT DATA 40H

          COM DATA 41H

          ORG 0000H

          SJMP START

          ORG 0030H

          ;主程序

          START:MOV SP,#50H

          LCALL DEL40;1602復(fù)位延時(shí)

          LCALL LRET;LCD1602初始化

          LCALL TOPD;顯示第一行

          LCALL BOMD;顯示第二行

          LJMP START

          ;函數(shù)BUSY忙標(biāo)志檢測(cè)

          BUSY: CLR RS

          SETB RW

          E1:MOV LDB,#0FFH

          SETB E

          MOV A,LDB

          CLR E

          JB ACC.7,E1

          RET

          ;函數(shù)WCOM LCD1602指令寫入子程序

          WCOM: LCALL BUSY

          CLR RS

          CLR RW

          MOV A,COM

          MOV LDB,A

          SETB E

          NOP

          CLR E

          RET

          ;函數(shù)WDAT LCD1602顯示數(shù)據(jù)寫入子程序

          WDAT: LCALL BUSY

          SETB RS

          CLR RW

          MOV A,DAT

          MOV LDB,DAT

          SETB E

          NOP

          CLR E

          RET

          ;函數(shù)LRET LCD1602初始化子程序

          LRET: MOV COM,#00000001B;清屏

          LCALL WCOM

          MOV COM,#00111000B;功能設(shè)定8bit數(shù)據(jù)接口,兩行顯示,5*7點(diǎn)陣

          LCALL WCOM

          MOV COM,#00000110B;輸入方式設(shè)定AC加一,畫面不動(dòng)

          LCALL WCOM

          MOV COM,#00001111B;開顯示,開光標(biāo),開閃爍

          LCALL WCOM

          MOV COM,#00000010B;光標(biāo)復(fù)位

          LCALL WCOM

          MOV COM,#00010100B;光標(biāo)右移

          LCALL WCOM

          RET

          ;函數(shù)TOPD LCD1602第一行顯示子程序

          TOPD: MOV COM,#80H

          LCALL WCOM

          MOV DPTR,#TAB1

          MOV R3,#10H

          MOV R4,#00H

          E2:MOV A,R4

          MOVC A,@A+DPTR

          MOV DAT,A

          LCALL WDAT

          LCALL DEL05

          INC R4

          DJNZ R3,E2

          RET

          ;函數(shù)BOMD LCD1602第二行顯示子程序

          BOMD: MOV COM,#0C0H

          LCALL WCOM

          MOV DPTR,#TAB2

          MOV R3,#10H

          MOV R4,#00H

          E3:MOV A,R4

          MOVC A,@A+DPTR

          MOV DAT,A

          LCALL WDAT

          LCALL DEL05

          INC R4

          DJNZ R3,E3

          RET

          ;函數(shù)DEL40 40MS延時(shí)

          DEL40:MOV R0,#160

          D1:MOV R1,#250

          DJNZ R1,$

          DJNZ R0,D1

          RET

          ;函數(shù)DEL05 0.5S延時(shí)

          DEL05:MOV R5,#2

          D3:MOV R0,#200

          D2:MOV R1,#248

          DJNZ R1,$

          DJNZ R0,D2

          DJNZ R5,D3

          RET

          ;顯示數(shù)據(jù)表

          TAB1:DB " WWW.SINA.COM.CN"

          TAB2:DB "Visual Basic net"

          END



          關(guān)鍵詞: AT89S52LCD160

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();