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

📄 1602.ams

📁 基于51单片机的1602液晶显示c语言及汇编程序
💻 AMS
字号:
 ;///////////////////////////////////////////////////
;P2接1602的数据位
;1602第1行显示 " guangxi beihai"
;     第2行显示"    subingen   "
;//////////////////////////////////////////////////


   RS EQU P3.5;
    RW EQU P3.6;
    E  EQU P3.7;

    ORG 0000H
    
    SETB E;
    MOV P2,#01H;  清屏并光标复位
    ACALL COMW;   写入

    MOV P2,#00111000B;  显示模式设置,8位总线,2行,5*7
    ACALL COMW;   写入

    MOV P2,#00001100b;  开显示。光标和闪烁
    ACALL COMW;   写入

    MOV P2,#06H;  文字不动,光标自动右移
    ACALL COMW;   写入
   

    MOV P2,#80H;写入的起始位置,第1行第1列
    ACALL COMW;
    MOV R1,#0fH;要写入16个字符
    MOV DPTR,#TABLE1;查表,取字符
    MOV R0,#00H;从第1个写起
    ACALL ST;

    MOV P2,#0C0H;写入的起始位置,第2行第1列
    ACALL COMW;
    MOV R1,#0fH;要写入16个字符
    MOV DPTR,#TABLE2;
    MOV R0,#00H;
    ACALL ST;

    MOV P2,#80H;
    ACALL COMW;
    SJMP $;

ST: MOV A,R0;从第1个写起
    MOVC A,@A+DPTR;取字符,载入数据
    ACALL RAMW;
    INC R0;写下一个
    MOV A,R1;
    SUBB A,R0; R0与R1相减,判断是否显示完
    JNZ ST;未显示完,返回接着显示
    RET;



COMW: CLR RS; 指令和显示地址写入子程序
      ACALL WRITE;
      RET


RAMW: MOV P2,A;数据写入子程序
      SETB RS; RS=1,下面再将RW=0,即为写入数据
      ACALL WRITE;
      RET;



WRITE: CLR RW; 与上面两个子程序子程序配合使用
       CLR E;E由1变到0执行写操作
       ACALL BF;忙检测
       SETB E;
       RET;


BF:   MOV P2,#0FFH;
      CLR RS;
      SETB RW;  RS=0, RW=1 ,读忙信号
      CLR E;
      NOP;等待
      SETB E;读取
      JB P2.7,BF;P2.7=1,忙;
      RET

 TABLE1: DB' guangxi beihai'
 TABLE2: DB'    subingen   '

      


      END

⌨️ 快捷键说明

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