一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 2640|回复: 1
收起左侧

[其他综合] 1602四线驱动求助?汇编的

[复制链接]
发表于 2011-3-10 19:11 | 显示全部楼层 |阅读模式
不大稳定。比如多次开关电源会乱码。但用八线驱动却很正常。程序如下
RS EQU P2.5
RW EQU P2.6
E EQU P2.7
ORG 0000H
ajmp start
org 0033h
start:
       mov sp,#60h
       mov 30h,#1h   ;显示缓存
       mov 31h,#0ah
       mov 32h,#3h
       mov 33h,#9h
       mov 34h,#0bh
       mov 35h,#0ch
main:        MOV P0,#00H;清屏
       ACALL ENABLE
       MOV P0,#10H
       ACALL ENABLE
      
       MOV P0,#00H;清屏
       ACALL ENABLE
       MOV P0,#10H
       ACALL ENABLE
      
        MOV P0,#20H ;功能设置 2行,5X7
       ACALL ENABLE
       MOV P0,#80H
       ACALL ENABLE
      
      
       MOV P0,#00H;光标复位
       ACALL ENABLE
       MOV P0,#20H
       ACALL ENABLE
      
       MOV P0,#00H;字符和光标 ,I/D=0光标 左移S=0字符移动无效
       ACALL ENABLE
       MOV P0,#40H
       ACALL ENABLE
      
       MOV P0,#00H ;显示开关控制 D=1开显示,C=1光标,B=1光标闪
       ACALL ENABLE
       MOV P0,#0F0H
       ACALL ENABLE
      
      
i123: mov r2,#81h   ;第1行第2位开始显示,显示9位
       mov r0,#30h
i125:      MOV A,R2
       mov p0,A
       ACALL ENABLE
       SWAP A
       MOV P0,A
       ACALL ENABLE
       ;ACALL DELAY
       ACALL DISP
       inc  r2
       inc r0
       cjne r2,#8ah,i125 ;显示9位未到,显示继续
       mov r3,#0c0h ;第2行第1位开始显示
       mov r0,#34h
       MOV A,R3
       MOV P0,A
       ACALL ENABLE
       SWAP A
       mov p0,A
       ACALL ENABLE
      ; ACALL DELAY
       ACALL DISP
       AJMP i123
        ;;;;;;;;;;;
ENABLE: CLR RS ;送命令
        ;CLR RW
        CLR E
        ACALL DELAY
        SETB E
        RET
       ;;;;;;;;;;;;
DISP:
     mov dptr,#tab
     
LOOP:MOV A,@r0
     MOVC A,@A+DPTR
     ACALL DISP1
     RET
     ;;;;;;;;;;;;;;;
DISP1:MOV P0,A
      SETB RS
      CLR RW
      CLR E
      ACALL DELAY
      SETB E
      
      SWAP A
      MOV P0,A
      SETB RS
      CLR RW
      CLR E
      ACALL DELAY
      SETB E
      
      RET
;;;;;;;;;;;;;;;;;;;
DELAY: MOV R7,#255
D1:    MOV R6,#2
       DJNZ R6,$
       DJNZ R7,D1
       RET
TAB: DB "0123456789!%*"
END

  

发表于 2011-3-10 20:38 | 显示全部楼层
初始化不对,认真看HD44780手册4线初始化流程,英文版的

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-5-3 02:43 , Processed in 0.054758 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表