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

📄 test.asm

📁 这是一个在RT-19264上显示一幅图的程序用汇编编写
💻 ASM
📖 第 1 页 / 共 4 页
字号:
;****************************************
;本程序的意图为在RT19264-1上显示一幅图片
;作者:王海龙
;编制时间:2007-6-20
;****************************************
ORG 0000H;
LJMP MAIN;
ORG 0100H;
RS EQU P2.3;                
RW EQU P2.2;
E1 EQU P2.1;
E2 EQU P2.0;
COMMAND EQU 30H;
DATA1 EQU 31H;
DATA2 EQU 32H;

;上半屏忙标志检测
RR_BF_U:MOV P1,#0FFH;
    BF1:CLR RS;
        SETB RW;
        SETB E1;
		CLR E2
        JB P1.7,BF1;
        CLR E1;
        RET;

;上半屏写指令了程序(检测忙标志位)
WW_COM_U:LCALL RR_BF_U;
         CLR RS;
         CLR RW;
         SETB E1;
		 CLR E2
         MOV P1,COMMAND;
         CLR E1;
         RET;

;上半屏写数据了程序(检测忙标志位)
WW_DAT_U:LCALL RR_BF_U;
         SETB RS;
         CLR RW;
         SETB E1;
		 CLR E2
         MOV P1,DATA1;
         CLR E1;
         RET;
         

;下半屏忙标志检测
RR_BF_D:MOV P1,#0FFH;
    BF2:CLR RS;
        SETB RW;
        SETB E2;
		CLR E1
        JB P1.7,BF2;
        CLR E2;
        RET;

;下半屏写指令了程序(检测忙标志位)
WW_COM_D:LCALL RR_BF_D;
         CLR RS;
         CLR RW;
         SETB E2;
		 CLR E1
         MOV P1,COMMAND;
         CLR E2;
         RET;

;下半屏写数据了程序(检测忙标志位)
WW_DAT_D:LCALL RR_BF_D;
         SETB RS;
         CLR RW;
         SETB E2;
		 CLR E1
         MOV P1,DATA1;
         CLR E2;
         RET;


;延时50MS;
;DELAY1:MOV R7,#01;
;   LL1:MOV R6,#100;
;   LL2:MOV R5,#250;
;   LL3:DJNZ R5,LL3;
;       DJNZ R6,LL2;
;       DJNZ R7,LL1;
;       RET;
       
;延时100MS;
DELAY2:MOV R7,#50;
   LL4:MOV R6,#100;
   LL5:MOV R5,#250;
   LL6:DJNZ R5,LL6;
       DJNZ R6,LL5;
       DJNZ R7,LL4;
       RET;

;延时1MS;
;DELAY3:MOV R7,#020;
;   LL7:MOV R6,#02;
;   LL8:MOV R5,#125;
;   LL9:DJNZ R5,LL9;
;       DJNZ R6,LL8;
;       DJNZ R7,LL7;
;       RET;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MAIN:MOV COMMAND,#34H
     LCALL WW_COM_U
     LCALL WW_COM_D 
     MOV COMMAND,#01H;清除显示
     LCALL WW_COM_U;
     LCALL WW_COM_D;
     MOV COMMAND,#02H;地址归位
     LCALL WW_COM_U;
     LCALL WW_COM_D;            
     MOV COMMAND,#36H;
     LCALL WW_COM_U
     LCALL WW_COM_D 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LOOP:MOV DPTR,#DAB1
	 LCALL DISPLAY
	 MOV DPTR,#DAB
	 LCALL DISPLAY
	 MOV DPTR,#DAB2
	 LCALL DISPLAY
	 MOV DPTR,#DAB3
	 LCALL DISPLAY
	 MOV DPTR,#DAB4
	 LCALL DISPLAY
	 LJMP LOOP
DISPLAY:     
     MOV R2,#32
     MOV R3,#80H
DISPLAY1:
     MOV COMMAND,R3
     INC R3
     LCALL WW_COM_U
     MOV COMMAND,#80H
     LCALL WW_COM_U
     MOV R1,#24
DISPLAY2:
     CLR A
     MOVC A,@A+DPTR
     MOV DATA1,A
     LCALL WW_DAT_U
     INC DPTR
     DJNZ R1,DISPLAY2
     DJNZ R2,DISPLAY1
     MOV R2,#32
     MOV R3,#80H
DISPLAY3:
     MOV COMMAND,R3
     INC R3
     LCALL WW_COM_D
     MOV COMMAND,#80H
     LCALL WW_COM_D
     MOV R1,#24
DISPLAY4:
     CLR A
     MOVC A,@A+DPTR
     MOV DATA1,A
     LCALL WW_DAT_D
     INC DPTR
     DJNZ R1,DISPLAY4
     DJNZ R2,DISPLAY3
     LCALL DELAY2
     LCALL DELAY2
	 RET
	  
     

⌨️ 快捷键说明

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