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

📄 main.asm

📁 凌阳单片机实验, 四种数据类型DW、DD、FLOAT和DOUBLE的用法和区别.
💻 ASM
字号:
//============================================================================
//
//        The information contained herein is the exclusive property of
//      Sunplus Technology Co. And shall not be distributed, reproduced,
//      or disclosed in whole in part without prior written permission.
//
//            (C) COPYRIGHT 2001   SUNPLUS TECHNOLOGY CO.
//                           ALL RIGHTS RESERVED
//
//    The entire notice above must be reproduced on all authorized copies.
//
//============================================================================
//  工程名称:   插入节点 Struct.spj
//  功能描述:    程序3.5   INCLUDE、DEFINE、IF、ENDIF、MACRO以及PROC等伪指令的使用
//  文件来源:   《SPCE061单片机原理及应用技术》 第三章 指令系统
//  IDE环境:    SUNPLUS u'nSPTM  IDE 1.8.0(or later)
//
//  涉及的库:	 (a) C-Lib:  (CMacro.lib);
//	硬件连接:	 A口的IOA0-I0A7接LED(低电平点亮LED)
//  组成文件:
//    	main.asm
//		Resource.asm/Resource.inc/Struct.h
//  日期:          	2003-5-22(建立)
//					2003-7-16(添加版本说明及版权声明并做代码标准化)
//===============================================================
.include Hardware.inc; 			//将Hardware.inc文件包含进来
.define FoscCLK  	  0x00;		//Fosc=24.576MHz  为FoscCLK赋值
.if FoscCLK==0x20; 				//条件汇编
.define CPUCLK        0x00;		//CPUClk选Fosc
.else
.define CPUCLK        0x02;   	//CPUClk选Fosc/4
.endif 							//结束条件汇编
Delay: .MACRO  TIM 				//宏定义,有一个宏参数TIM
	R3=TIM;
  	DelayLoop1#:       
//隐含标号,程序编译时会将宏展开,为了避免标号重复定义,必须使用隐含标号
	R4=0xFFFF;
DelayLoop2#: 					//隐含标号
   	R4-=1;
    JNZ DelayLoop2#;
    R3-=1;
    JNZ DelayLoop1#;
.ENDM							//结束宏定义

.CODE
.public _main
_main:
	CALL Init_IO; 				//调用过程
	R1=FoscCLK; 				//Fosc
	R1|=CPUCLK; 				//CPUClk
	[P_SystemClock]=R1; 		//系统时钟选择设置
MainLoop:     
    R1=0x00FF; 					//LED灭(输出低电平亮)
    [P_IOA_Data]=R1; 
    Delay 5; 					//宏调用,用实参5代替宏定义中的TIM
    R1=0x00; 					//LED亮
    [P_IOA_Data]=R1;
    Delay 18; 					//宏调用,用实参18代替宏定义中的TIM
    r1=0x0001;
    [P_Watchdog_Clear]=r1;
    JMP MainLoop; 
  
Init_IO: .PROC					//过程定义
    R1=0x00FF; 
	[P_IOA_Dir]=R1; 			//设置IOA0-IOA7为同相低电平输出
	[P_IOA_Attrib]=R1;
	r1=0;
	[P_IOA_Data]=R1;
    RETF;
 .ENDP     						//结束过程定义

⌨️ 快捷键说明

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