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

📄 wxramb.asm

📁 C8051F.rar
💻 ASM
字号:
;参考程序A:WXRAMb.ASM程序访问片上4KRAM,先从设定地址写入256个数据,再读出进
;行比较,看是否正确,若不正确蜂鸣器响一声
$INCLUDE (C8051F020.inc)
  BELL EQU    P3^5;    蜂鸣器控制位
  MOV  WDTCN ,#0deH;    关闭看们狗
  MOV  WDTCN ,#0adH;
  MOV  EMI0CF ,#20H            ;只用内部数据存储器,选择地址/数据复用方式,
                               ;ALE高/低脉宽占1个SYSCLK周期
  MOV  EMI0TC ,#6dH ;      地址建立/保持时间占1个SYSCLK周期,/WR和/RD
;占12个SYSCLK周期
 MOV  P3MDOUT ,#20H;      使能P3.5推挽输出
MOV  XBR2   , #40H;      使能交叉开关和弱上拉
MIAN :  SETB BELL         ;蜂鸣器不叫
	    MOV   R5,#0       ;连续写入256个数据
	    MOV   R0,#0       ;写入数据从0开始
        MOV  DPTR,#0      ;写入地址从0开始
WRITE:	MOV   A,R0
        MOVX  @DPTR,A
     	  INC   R0
       	INC   DPTR
        DJNZ  R5,WRITE
        MOV  R5,#0    ;  ;连续读出256个数据
      	MOV  R0,#0;	      读出的数据要和R0的内容比较
        MOV  DPTR,#0	;	地址指针DPTR
	READ: MOV  B,R0
        MOVX  A,@DPTR
	    CJNE   A,B,ERR   ;读出,比较
	    INC  R0
	    INC  DPTR
	    DJNZ  R5,READ
		AJMP   $
ERR:    CLR   BELL      ;蜂鸣器叫
ACALL   DELY
        SETB    BELL
        AJMP   $
DELY:       ;延时子程序
        MOV   R7,#0FFH
SS:     MOV   R6,#0FFH
        DJNZ  R6,$
        DJNZ  R7,SS
        RET
        END

⌨️ 快捷键说明

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