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

📄 xu.asm

📁 基于凌阳单片机远程电话报警系统程序。
💻 ASM
字号:
.EXTERNAL _shuo
.INCLUDE hardware.inc
.CODE
.PUBLIC _main
_main:
R1=0x0000
[0x070b]=R1
 R1=0x0710
 [0x070e]=R1
 R1=0x00C0
 [P_IOB_Dir]=R1
 [P_IOB_Attrib]=R1
 R1=0x0004
 [P_IOB_Data]=R1
 R1=0x00ff
 [P_IOA_Dir]=R1
 [P_IOA_Attrib]=R1   
  R1=0x0050
 [P_IOA_Data]=R1
 R1=0x0001
   [P_Watchdog_Clear]=R1
  R1=0x002d                 //写CRA
 [P_IOA_Data]=R1
  R1=0x00ad
 [P_IOA_Data]=R1
 [P_IOA_Data]=R1
 R1=0x002d
 [P_IOA_Data]=R1
 R1=0x005b
 [P_IOA_Data]=R1
 R1=0x002b                 //写CRB
 [P_IOA_Data]=R1
  R1=0x00ab
 [P_IOA_Data]=R1
 [P_IOA_Data]=R1
 R1=0x002b
 [P_IOA_Data]=R1
 R1=0x005b
 [P_IOA_Data]=R1
 R1=0x0001
   [P_Watchdog_Clear]=R1
  R1=0x0700
   R2=0x000a
   [R1++]=R2
   R2=0x0003
   [R1++]=R2
   R2=0x0002
   [R1++]=R2
   R2=0x0001
   [R1]=R2
  //INT IRQ
  R1=0x0100
   [P_INT_Ctrl]=R1
  // R1=0x012d
   //[P_TimerA_Ctrl]=R1
   //R1=0xffe0
   //[P_TimerA_Data]=R1
   
   R1=0x0000
   [0x070e]=R1
   INT IRQ
  
 loop:
   nop
   nop
   nop
   nop
   R1=0x0001
   R2=[0x070b]
   TEST R1,r2
   JNZ lp0
   R1=0x0001
   [P_Watchdog_Clear]=R1
   GOTO loop
   lp0:  
 R1=0x0000
 [0x070b]=R1
   R1=0x0040               //摘机
  [P_IOB_Data]=R1
  CALL _shuo
  //播放语音提示
   R1=0x00f0
  [P_IOA_Dir]=R1
  [P_IOA_Attrib]=R1 
  R1=0x004f
 [P_IOA_Data]=R1
 lp1:
    R1=0x003f                //读状态寄存器
   [P_IOA_Data]=R1
   R1=0x00bf  
  [P_IOA_Data]=R1
  
  R1=[P_IOA_Data]
  R3=0x003f                
   [P_IOA_Data]=R3
  R3=0x004f
   [P_IOA_Data]=R3
  TEST R1,0x0004
  R4=0x0001
   [P_Watchdog_Clear]=R4
  JZ lp1
  R1=0x006f
  [P_IOA_Data]=R1
   R1=0x001f                //读数据
   [P_IOA_Data]=R1
   R1=0x009f  
  [P_IOA_Data]=R1
  R1=[P_IOA_Data]
  R3=0x001f
  [P_IOA_Data]=R3
  R3=0x006f
  [P_IOA_Data]=R3
 // R1&=0x000f
  R2=[0x070e]
  [R2++]=R1
  [0x070e]=R2
  R4=0x0001
   [P_Watchdog_Clear]=R4
   CMP R1,0x000c      //判断是否为#号
   JNZ lp1
   R1=0x0700
  R2=0x0710
  R4=0x0005
lp2: R4-=1
     JZ lp4 
     R5=0x0001
   [P_Watchdog_Clear]=R5
     R3=[R1++]
     CMP R3,[R2++]
     JZ lp2
     
//lp3:  R1=0x0000       //挂机
   //  [P_IOB_Data]=R1
//L_EXIT_INT:
     //pop R1,R5 from [sp]
    //  R1=0x0100
    //[P_INT_Clear]=R1
    //INT IRQ
    
    // RETI
lp4: R1=0x0080            //点灯
    [P_IOB_Data]=R1
    [P_IOB_Data]=R1
    [P_IOB_Data]=R1
    R4=0x0001
   [P_Watchdog_Clear]=R4
   R1=0x0000
   [0x0710]=R1
    [0x0711]=R1
     [0x0712]=R1
      [0x0713]=R1
      [0x0714]=R1
    nop
    nop
    nop
    nop
 GOTO loop
       
    
  
  
  















   
   //.TEXT        //清计数
   //.PUBLIC 	_IRQ1
//_IRQ1:
    // INT OFF
     //push R1,R5 to [sp]
     //R1=0x0000
     //[0x070e]=R1
     //pop R1,R5 from [sp]  
     //INT IRQ
  // RETI  
  .TEXT               //振铃检测
  .PUBLIC _IRQ3
  _IRQ3:
   INT OFF
   PUSH R1,R5 TO [SP]
   R1=[0x070b]
   R1+=1
   [0x070b]=R1
    R1=0x0001
   [P_Watchdog_Clear]=R1
   R1=0x0100
   [P_INT_Ctrl]=R1
   pop R1,R5 from [sp]
   INT IRQ
   RETI
   
   //R1=0x1000
 // TEST R1,[P_INT_Ctrl]
  // JNZ L_IRQ3_EXT1
  // R1=0x0200
  // TEST R1,[P_INT_Ctrl]
  // JNZ L_IRQ3_EXT2
  //GOTO L_EXIT_INT
  //L_IRQ3_EXT2:
  // GOTO L_EXIT_INT
//L_IRQ3_EXT1:
   // INT OFF
   //R1=0x0080   /////////////////////////////////////////////////////////
   // [P_IOB_Data]=R1
   
  
   
   
    //R1=[0x070e]
    //R1+=1
    //[0x070e]=R1
   //CMP R1,0x0006
   //JZ lp0
   //INT IRQ
   //pop R1,R5 from [sp]
   //RETI
  
 

⌨️ 快捷键说明

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