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

📄 xram.asm

📁 这是一个有关C8051F020单片机的实验教学材料,相信对于单片机的研究人员会有很大的帮助.
💻 ASM
字号:
//-----------------------------------------------------------------------------
// 版权归新华龙电子公司所有
//-----------------------------------------------------------------------------
//
//文件名:	XRAM.asm
//
//编写人:	LC
//
//编写时间:2005/03/10
//
//目标器件: C8051F02x
//
//编译工具: Silicon Laboratories IDE
//
//程序说明:	此程序对外部RAM操作,先在外部RAM特定地址写入数据,再读出进行比较是否
//			正确,若不正确蜂鸣器响一声


//------------------------------------------------------------------------------------
// Includes
//------------------------------------------------------------------------------------
$include (c8051f020.inc)      ;SFR定义
//------------------------------------------------------------------------------------
// Global CONSTANTS
//------------------------------------------------------------------------------------

BUZ			EQU		 P3.5

	ORG		0
	AJMP	main
	ORG		30h


;延时子程序
Delay:
   	MOV   	R7, #01h			
Delay1:
    MOV   	R6, #80h
Delay0:
    MOV   	R5, #00h
    DJNZ  	R5, $
    DJNZ  	R6, Delay0
    DJNZ  	R7, Delay1
	RET

;初始化I/O
PORT_Init:
	MOV		XBR2,#40h		;使能交叉开关和弱上拉
   	ORL		P74OUT,#0ffh	;使能P4~P7推挽输出
   	ORL		EMI0CF,#2ch		;EMIF工作在地址/数据复用方式,只用外部存储器,ALE高/低脉宽占1个SYSCLK周期
   	ORL		EMI0TC,#6ch		;地址建立/保持时间占0个SYSCLK周期,/WR和/RD占12个SYSCLK周期
   	ORL		P3MDOUT,#0dfh	;使能P3.5推挽输出
	RET

//------------------------------------------------------------------------------------
// MAIN Routine
//------------------------------------------------------------------------------------
main:
   	;无效看门狗
   	MOV		WDTCN,#0deh;
   	MOV		WDTCN,#0adh;
	
	LCALL	PORT_Init;		;初始化端口
   	MOV		P6,#00h
   	MOV		P5,#00h
	MOV		A,#01h;			;待写数据变量
    MOV		DPTR,#0000h		;地址指针
	MOV		R4,#10h			;写十六个数据
WrData:    
	MOVX	@DPTR,A  		;写数据到RAM
	INC		DPTR
	INC		A;
	DJNZ	R4,WrData
	MOV		R1,#01h
	MOV		DPTR,#0000h
	MOV		R4,#10h
Com_Data:					;读出比较
	MOVX	A,@DPTR			;读数据
	CJNE	A,01h,Err		;是否出错*/
	AJMP	Next_Data
Err:		
	CLR		BUZ				;蜂鸣器响
	LCALL	Delay
	LCALL	Delay
	LCALL	Delay
	SETB	BUZ				;蜂鸣器灭
	NOP
Next_Data:
	INC		R1
	INC		DPTR
	NOP
	DJNZ	R4,Com_Data		;数据是否读完
	NOP
	RET
	END

⌨️ 快捷键说明

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