本实验程序是凌阳SPCE61A单片机的程序代码!希望大家能够把单片机学好,部分程序有C语言版本的,有一部分没有,我认为C语言版本的其实是按照汇编版的改编的,都是大同小异,所以后面一部分中断程序就没有写C语言版本的!望理解
^_^
//使用汇编语言实现 A 口的输出 .RAM .CODE .public _main
.define P_IOA_Dir 0X7002 .define P_IOA_Attrib 0X7003 .define P_IOA_Data 0X7000 .define P_watchdog_clear 0X7012 _main:
R1=0x00FF //初始化 [P_IOA_Dir] = R1 [P_IOA_Attrib] = R1 R1 = 0x0000 [P_IOA_Data] = R1
LP1: [P_IOA_Data] = R1 R1 += 1 CALL delay
R2 = 0X0001 //清狗
[P_watchdog_clear] = R2 JMP LP1
delay: .PROC
BP = 0 LPN: BP += 1
CMP BP,0X9000 JNZ LPN
RETF .ENDP
//使用C语言实现 A 口的输出
#define P_IOA_Data (volatile unsigned int *)0x7000 #define P_IOA_Dir (volatile unsigned int *)0x7002 #define P_IOA_Attrib (volatile unsigned int *)0x7003 #define P_watchdog_clear (volatile unsigned int *)0X7012 int main (void) {
unsigned int i = 0 ,j = 0; *P_IOA_Dir = 0xffff; *P_IOA_Attrib = 0xffff; *P_IOA_Data = 0x0000; }
while (1) { }
for (i = 0;i <= 255;++i) { }
for (j = 0 ; j <= 2222; ++j) //延时,可以更改
*P_IOA_Data = i ;
*P_watchdog_clear = 0x0001;
相关推荐: