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

📄 serve.asm

📁 这是基于凌阳单片机设计的交通灯
💻 ASM
字号:
.define     P_IOA_Data   0x7001;
.define     P_IOA_Dir    0x7002;
.define     P_IOA_Attr   0x7003;
.define     P_IOB_Data   0x7005;
.define     P_IOB_Dir    0x7007;
.define     P_IOB_Attr   0x7008;
.define     P_INT_Ctrl   0x7010;
.define     P_INT_Clear  0x7011;


.iram

address: .dw 0x3ebf,0x36ef,0x36ff,0x3687,0x36fd,0x36ed,0x36e6,0x36cf,0x36db,0x3686;
         .dw 0x36bf,0x336f,0x337f,0x3307,0x337d,0x336d,0x3366,0x334f,0x335b,0x3306;
         .dw 0x333f,0x27ef,0x27ff,0x2787,0x27fd,0x27ed,0x27e6,0x27cf,0x27db,0x2786;
         .dw 0x27bf,0x2def,0x2dff,0x2d87,0x2dfd,0x2ded,0x2de6,0x2dcf,0x2ddb,0x2d86;
         .dw 0x2dbf,0x036f,0x037f,0x0307,0x037d,0x036d,0x0366,0x034f,0x035b,0x0306;
         .dw 0x033f,0x1fef,0x1fff,0x1f87,0x1ffd,0x1fed,0x1fe6,0x1fcf,0x1fdb,0x1f86;
.code          


.public _B_State;
_B_State:  .proc
   r1=0xfc03;
   [P_IOB_Dir]=r1;
   //r1=0xfff3;
   [P_IOB_Attr]=r1;
   r1=0x0000;
   [P_IOB_Data]=r1;
   r1=[P_IOB_Data];
retf;
.endp;

.public _time_short;
_time_short: .proc
   INT OFF;
   r1=0xfc03;
   [P_IOB_Dir]=r1;
   [P_IOB_Attr]=r1;   
   r1=0x001e;
   r4=r1;
retf;
.endp;
   
.public _time_medium;
_time_medium: .proc
   INT OFF;
   r1=0xfc03;
   [P_IOB_Dir]=r1;
   [P_IOB_Attr]=r1;
   r1=0x0014;
   r4=r1;
retf;
.endp;

.public _time_long;
_time_long: .proc
    INT OFF;
   r1=0xfc03;
   [P_IOB_Dir]=r1;
   [P_IOB_Attr]=r1;
   r1=0x000a;
   r4=r1
   retf;
   .endp;
  
   
   
.public _time;
_time: .proc                             
  push bp,bp to [sp];
  r2=0x003c;
  r2=r2-r1;
  bp=r2+address;
  r1=bp;
  pop bp,bp from [sp];
  retf;
  .endp;

.public _show;
_show: .proc
 r1=0xffff;
 [P_IOA_Dir]=r1;
 [P_IOA_Attr]=r1;
 push bp,bp to [sp];
 bp=sp+1;
 r3=[bp+3];
 [P_IOA_Data]=r3;
 pop bp,bp from [sp];
 retf;
 .endp;

   
.public _red_green;
_red_green: .proc
   r1=0xd401;                 
   [P_IOB_Data]=r1;
   retf;
   .endp;


.public _red_yellow;
_red_yellow: .proc
   r1=0xcc01;
   [P_IOB_Data]=r1;
   retf;
   .endp;
   
.public _green_red;   
_green_red: .proc  
   r1=0xb802;
   [P_IOB_Data]=r1;
   retf;
   .endp;
   
.public _yellow_red;
_yellow_red: .proc               //south:yellow     north:red
   r1=0xac02;
   [P_IOB_Data]=r1;
   retf;
   .endp
   
.public _EXT1_INT_ON;
_EXT1_INT_ON:
   IRQ OFF; 
   r1=0x0100;
   [P_INT_Ctrl]=r1;
   test r1,[P_INT_Ctrl];
   jz backf;                     //如果没有中断返回值为0
   r1=0x0100;
   [P_INT_Clear]=r1;
   r1=0x0001;                   //如果有中断返回值为1
   retf;
backf:
   r1=0x0000;
   retf;
   
.public _EXT2_INT_ON;
_EXT2_INT_ON:
    IRQ OFF;
   r1=0x0200;
   [P_INT_Ctrl]=r1;
   test r1,[P_INT_Ctrl];
   jz backf;                      //如果没有中断返回值为0
   r1=0x0200;
   [P_INT_Clear]=r1                   
   r1=0x0001;
   retf;




    

   		
	    

⌨️ 快捷键说明

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