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

📄 system.asm

📁 2005年全国大学生电子设计竞赛论文集
💻 ASM
字号:
//===================================================
//文件名称:System.asm
//功能描述:IO口初始化,波形初始化
//完成日期:2003-6-12
//======================================================

.INCLUDE hardware.inc;
.RAM
.EXTERNAL  _Out_Value

.CODE
.PUBLIC _System_Initial;
_System_Initial: .PROC
		r1 = 0						
		[P_INT_Ctrl] = r1		
        
         r1=0x0000             
  		[P_SystemClock]=r1     //CPUCLK选择FOSC=24.576M
        
        r1 = 0x0000            //IOA0--IOA5 接键盘,设置为带下拉电阻的输入
        [P_IOA_Dir] = r1        
        [P_IOA_Attrib] = r1     
        r1 = 0x0000 
        [P_IOA_Data] = r1       
        
		retf;
		.ENDP;

.PUBLIC _InitOutTriang       //输出三角波初始化
_InitOutTriang: .PROC
  	    INT OFF  
	    r1=0x030            //CLKa=FOSC/2=12.288MHz,CLKb=1				
  		[P_TimerA_Ctrl]=r1
		 
		r1=0x0000;
        [P_DAC_Ctrl]=r1;
        
        r1=0x2000;          //D/A初值,用D/A中间的一段
        [_Out_Value]=r1
        
		r1=0x1000            //允许TimerA 中断
	    [P_INT_Ctrl] = r1  
	    IRQ  ON  
    	retf
	    .ENDP

.PUBLIC _OutputTriang
_OutputTriang: .PROC
     bp=sp
      r1=[bp+3]       		 //计数初值
  	  [P_TimerA_Data]=r1      
	  RETF
	  .ENDP  
	  
  .PUBLIC _InitOutSQUARE     //输出方波
_InitOutSQUARE: .PROC
  	    INT OFF
	  
	    r1=0x032             //CLKa=32768Hz				
  		[P_TimerB_Ctrl]=r1
	    r2=65535-3           //定时10us///////是定时100us吗
		[P_TimerB_Data]=r2 
		 
		 r1=0x0000;
        [P_DAC_Ctrl]=r1;     //直接将DAr1内数据锁存到DAC1内
        					 //直接将DAR2内数据锁存到DAC2内
		r1=0x0400            //允许TimerB中断
	    [P_INT_Ctrl] = r1  
	     IRQ  ON  
    	retf
	    .ENDP

.PUBLIC _outdac
_outdac: .PROC
      int off
      bp=sp
      r2=[bp+3]
      [P_DAC1]=R2	
      [P_DAC2]=R2	 
      retf
      .ENDP 

⌨️ 快捷键说明

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