⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1602液晶屏驱动源程序15.txt

📁 液晶显示器1602显示编程范例
💻 TXT
字号:
1602液晶屏驱动源程序15 
      
      ;30h-3fh is the second line sbuffer.
      ;50h-5fh is the first line sbuffer.
      ;70h is the second line counter .
      ;62h is the first line counter.

      rs bit p2.6
      r_w bit p2.5
      enable bit p2.7
      db0_db7 data p1 
      org 0000h
      ljmp main
      org 0030h
      main:
      lcall initial
      lcall cls
      mov dptr,#tab
      mov 61h,#16
      mov 70h,#00
      mov 69h,#11
      mov 6ah,#11
      lcall loop
      qq:
      lcall main1
      inc 70h
      djnz 61h,qq
      ww:
      lcall initiala
      lcall loopa
      mov 67h,#04
      inc 70h
      lcall main1
      mov 62h,#00
      lcall main1a
      qqa:
      inc 62h
      lcall main1a
      inc 70h
      lcall main1
      djnz 67h,qqa
      inc 70h
      lcall main1
      mov 68h,69h
      qq1:
      inc 62h
      lcall main1a
      djnz 68h,qq1
      lcall initial
      lcall loop
      inc 62h
      lcall main1a
      mov 70h,#00
      lcall main1
      mov 67h,#04
      qqb:
      inc 62h
      lcall main1a
      inc 70h
      lcall main1
      djnz 67h,qqb
      inc 62h
      lcall main1a

      mov 68h,69h
      qqb1:
      inc 70h
      lcall main1
      djnz 68h,qqb1

      ljmp ww



      main1:
      mov a,70h
      push acc
      lcall yw
      pop 3fh
      lcall display
      lcall ttd
      ret
      main1a:
      mov a,62h
      push acc
      lcall ywa
      pop 50h
      lcall displaya
      lcall ttd
      ret 
      ttd:
      mov 65h,#0e0h
      ttd1:
      lcall delay
      djnz 65h,ttd1
      ret

      yw:
      mov r1,#31h
      mov r0,#30h
      yw1:
      mov a,@r1
      mov @r0,a
      inc r1
      inc r0

      cjne r0,#40h,yw1
      ret
      ywa:
      mov r1,#60h
      mov r0,#5fh
      yw1a:
      mov a,@r0
      mov @r1,a
      dec r1
      dec r0

      cjne r0,#4fh,yw1a
      ret


      display:
      mov r2,#0c0h
      mov r0,#30h
      display1:
      mov a,@r0
      movc a,@a+dptr
      push acc
      mov a,r2
      lcall write_instruction
      pop acc
      lcall writelcddata
      inc r2
      inc r0

      cjne r0,#40h,display1
      ret
      displaya:
      mov r3,#8fh
      mov r0,#5fh
      display1a:
      mov a,@r0
      movc a,@a+dptr
      push acc
      mov a,r3
      lcall write_instruction
      pop acc
      lcall writelcddata
      dec r3
      dec r0

      cjne r0,#4fh,display1a
      ret



      loop:
      mov r0,#30h

      loop1:
      mov a,#0bh
      mov @r0,a
      inc r0
      mov a,r0
      cjne a,#40h,loop1
      ret
      loopa:
      mov r0,#50h

      loop1a:
      mov a,#0bh
      mov @r0,a
      inc r0
      mov a,r0
      cjne a,#60h,loop1a
      ret

      cls:
      mov a,#01h
      lcall write_instruction
      ret
      initial:
      mov a,#00001100b
      lcall write_instruction
      mov a,#00000110b
      lcall write_instruction
      mov a,#00111000b
      lcall write_instruction
      mov a,#00000001b
      lcall write_instruction
      ret
      initiala:
      mov a,#00001100b
      lcall write_instruction
      mov a,#00000100b
      lcall write_instruction
      mov a,#00111000b
      lcall write_instruction

      ret
      checkbusy:
      push acc
      checkbusyloop:
      clr enable 
      setb r_w
      clr rs
      setb enable
      mov a,db0_db7
      clr enable
      jb acc.7,checkbusyloop
      pop acc
      call delay
      ret
      write_instruction:
      call checkbusy
      clr enable
      clr r_w
      clr rs
      setb enable
      mov db0_db7,a
      clr enable
      ret
      writelcddata:
      call checkbusy
      clr enable
      clr r_w
      setb rs
      setb enable
      mov db0_db7,a
      clr enable
      ret
      delay:
      mov r6,#5
      d1:
      mov r7,#248
      djnz r7,$
      djnz r6,d1
      ret
      tab:
      db 30h,20h,31h,20h,32h,20h,20h,20h,20h,20h,20h,20h,20h,20h
      db 20h,20h,20h,20h,20h,20h,20h,20h,20h

      end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -