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

📄 initial.asm

📁 ads7818是一款非常实用的芯片
💻 ASM
字号:
.include hardware.inc
.ram 
.external _ADS7818_DATA;

.code


.public _initial;
_initial: .proc

	//IOA0: clk;
	//IOA1: data;
	//IOA2: conv; 
	
	r1 = 0x0005;
	[P_IOA_Dir] = r1;
	[P_IOA_Attrib] = r1;
	[P_IOA_Data] = r1;
	
	r1 = 0x0080;
	[P_SystemClock] = r1;			//选择PLL频率为49.152MHZ,CPUCLK为49.152MHZ	
	
	retf;
	
.endp


.public _feeddog;
_feeddog:.proc
	push r1 to [sp];
	r1 = 0x0001;
	[P_Watchdog_Clear] = r1;
	pop r1 from [sp];
	retf;
.endp

.public _CONV_R;
_CONV_R:.proc
	push r1 to [sp];
	r1 = [P_IOA_Data];
	r1 &= 0xfffb;
	[P_IOA_Data] = r1;
	pop r1 from [sp];
	retf;
.endp


.public _CONV_S;
_CONV_S:.proc
	push r1 to [sp];
	r1 = [P_IOA_Data];
	r1 |= 0x0004;
	[P_IOA_Data] = r1;
	pop r1 from [sp];
	retf;
.endp

.public _CLK_R;
_CLK_R:.proc
	push r1 to [sp];
	r1 = [P_IOA_Data];
	r1 &= 0xfffe;
	[P_IOA_Data] = r1;
	pop r1 from [sp];
	retf;
.endp


.public _CLK_S;
_CLK_S:.proc
	push r1 to [sp];
	r1 = [P_IOA_Data];
	r1 |= 0x0001;
	[P_IOA_Data] = r1;
	pop r1 from [sp];
	retf;
.endp

.public _CLK;
_CLK:.proc
	push r1 to [sp];
	r1 = [P_IOA_Data];
	r1 |= 0x0001;
	[P_IOA_Data] = r1;
	r1 &= 0xfffe;
	[P_IOA_Data] = r1;
	pop r1 from [sp];
	retf;
.endp

.public _IN_DATA;
_IN_DATA: .proc
	push r1,r2 to [sp];
	r1 = [P_IOA_Data];
	r2 = [_ADS7818_DATA]; 
	r1 &= 0x0002;
	r1 = r1 asr 1;
	r2 = r2 lsl 1;
	r2 |= r1;
	[_ADS7818_DATA] = r2;
	pop r1,r2 from [sp];
	retf;
.endp	


.public _ADS7818;
_ADS7818: .proc

	call _CLK_S;
	call _CONV_R;
	call _CLK_R;
//************************************************
//	call _CLK;
	call _CLK;						//Are u ready?
//************************************************
	call _CLK_S;
	call _IN_DATA;					//0
	call _CLK_R;
//************************************************
	call _CLK_S;
	call _IN_DATA;					//1
	call _CLK_R;
//************************************************
	call _CLK_S;
	call _IN_DATA;					//2
	call _CLK_R;
//************************************************
	call _CLK_S;
	call _IN_DATA;					//3
	call _CLK_R;
//************************************************
	call _CLK_S;
	call _IN_DATA;					//4
	call _CLK_R;
//************************************************
	call _CLK_S;
	call _IN_DATA;					//5
	call _CLK_R;
//************************************************
	call _CLK_S;
	call _IN_DATA;					//6
	call _CLK_R;
//************************************************
	call _CLK_S;
	call _IN_DATA;					//7
	call _CLK_R;
//************************************************
	call _CLK_S;
	call _IN_DATA;					//8
	call _CLK_R;
//************************************************
	call _CLK_S;
	call _IN_DATA;					//9
	call _CLK_R;
//************************************************
	call _CLK_S;
	call _IN_DATA;					//10
	call _CLK_R;
//************************************************
	call _CLK_S;
	call _IN_DATA;					//11
	call _CLK_R;
//************************************************
	call _CONV_S;
	call _CLK;
	call _CLK;						//Are u satisfied?
//************************************************
//	call _CLK;
//	call _CLK;
	retf;
.endp
	

⌨️ 快捷键说明

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