📄 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -