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

📄 dzjs01.asm

📁 mcs-51 单片机led灯的控制。适合初学者了解单片机的功能。就这些了
💻 ASM
📖 第 1 页 / 共 3 页
字号:
        lacc  led20;
        sub   #20h;
        bcnd  K41,EQ;
        lacc  led20;
        sub   #21h;
        bcnd  K42,EQ;
        b     SHOW;
K40:                        ;press set  mode10
        lacc  led05;
        add   led04,3;
        add   led04,1;
        sacl  led30;
        splk  #06h,led10;
        splk  #11h,led20;
        b     SHOW;
K41:                        ;press set  mode20
        lacc  led05;
        add   led04,3;
        add   led04,1;
        sacl  led30;
        sub   #1;
        bcnd  SET01,EQ;
        sub   #1;
        bcnd  SET02,EQ;
        sub   #1;
        bcnd  SET03,EQ;
        sub   #1;
        bcnd  SET04,EQ;
        sub   #1;
        bcnd  SET05,EQ;
        b     SHOW;
SET01:
        lacc  runmode;
        sacl  temp;
        b     K43;
SET02:
        lacc  fgive;
        sacl  temp;
        b     K43;
SET03:
        lacc  enable;
        sacl  temp;
        b     K43;
SET04:  
        lacc  kpdq;
        sacl  temp;
        b     K43;
SET05:
        lacc  kp;
        sacl  temp;
        b     K43;
K43:
        call  CHANGE;
        splk  #21h,led20;
        splk  #05h,led10;
        b     SHOW;
K42:                ;press set  mode21
        splk  #10000,temp;
        lacc  led05;
        lt    led04;
        mpy   #10;
        lta   led03;
        mpy   #100;
        lta   led02;
        mpy   #1000;
        lta   led01;
        mpy   temp;
        apac;
        sacl  temp;
        lacc  led30;
        sub   #1;
        bcnd  SS01,EQ;
        sub   #1;
        bcnd  SS02,EQ;
        sub   #1;
        bcnd  SS03,EQ;
        sub   #1;
        bcnd  SS04,EQ;
        sub   #1;
        bcnd  SS05,EQ;
        b     SHOW;
SS01:
        lacc  temp;
        sub   #1;
        bcnd  SS01_1,EQ;
        lacc  temp;
        sub   #2;
        bcnd  SS01_1,EQ;
        splk  #1,temp;
SS01_1:
        lacc  temp;
        sacl  runmode;
        b     K44;
SS02:
        lacc  temp;
        sub   #10000;
        bcnd  SS02_1,LT;
        splk  #10000,temp;
SS02_1:
        lacc  temp;
        sub   #2000;
        bcnd  SS02_2,GT;
        lacc  #2000;
        sacl  fgive;
        b     K44;
SS02_2:
        lacc  temp;
        sacl  fgive;
        b     K44;
SS03:
        lacc  temp;
        abs;
        sacl  enable;
        b     K44;
SS04:
        lacc  temp;
        abs;
        sacl  kpdq;
        b     K44;
SS05:
        lacc  temp;
        abs;
        sacl  kp;
K44:
        splk  #06h,led10;

SHOW:
        ldp   #4;
        lacc  intnumber1;
        add   #1;
        sacl  intnumber1;
        sub   #4000;
        bcnd  DISP,LT;
        splk  #0,intnumber1;
        lacc  led20;
        sub   #11h;
        bcnd  DISP,NEQ;
        lacc  led30;
        sub   #1;
        bcnd  SH01,EQ;
        sub   #1;
        bcnd  SH02,EQ;
        sub   #1;
        bcnd  SH03,EQ;
        sub   #1;
        bcnd  SH04,EQ;
        sub   #1;
        bcnd  SH05,EQ;
        sub   #1;
        bcnd  SH06,EQ;
        sub   #1;
        bcnd  SH07,EQ;
        sub   #1;
        bcnd  SH08,EQ;
        sub   #1;
        bcnd  SH09,EQ;
        sub   #1;
        bcnd  SH10,EQ;
        b     DISP;
SH01:
        lacc  fgive;
        sacl  temp;
        call  CHANGE;
        b     DISP;
SH02:
        lacc  ima;
        sacl  temp;
        call  CHANGE;
        b     DISP;
SH03:
        lacc  imb;
        sacl  temp;
        call  CHANGE;
        b     DISP;
SH04:
        lacc  imc;
        sacl  temp;
        call  CHANGE;
        b     DISP;
SH05:
        lacc  uabm;
        sacl  temp;
        call  CHANGE;
        b     DISP;
SH06:
        lacc  fshow;
        sacl  temp;
        call  CHANGE;
        b     DISP;
SH07:
        lacc  uab;
        sacl  temp;
        call  CHANGE;
        b     DISP;
SH08:
        lacc  sinb;
        sacl  temp;
        call  CHANGE;
        b     DISP;
SH09:
        lacc  sinc;
        sacl  temp;
        call  CHANGE;
        b     DISP;
SH10:
        lacc  delta;
        sacl  temp;
        call  CHANGE;
        b     DISP;

*************display led0--led5**************
DISP:
        ldp   #4;
        lacc  pos;
        bcnd  rled00,EQ;
        sub   #1;
        bcnd  rled01,EQ;
        sub   #1;
        bcnd  rled02,EQ;
        sub   #1;
        bcnd  rled03,EQ;
        sub   #1;
        bcnd  rled04,EQ;
        sub   #1;
        bcnd  rled05,EQ;
        b     K62;
rled00:  
        lacc  led00;
        sacl  temp3;
        call  K61;
        b     K62;
rled01: 
        lacc  led01;
        sacl  temp3;
        call  K61;
        b     K62;
rled02: 
        lacc  led02;
        sacl  temp3;
        call  K61;
        b     K62;
rled03: 
        lacc  led03;
        sacl  temp3;
        call  K61;
        b     K62;
rled04: 
        lacc  led04;
        sacl  temp3;
        call  K61;
        b     K62;
rled05: 
        lacc  led05;
        sacl  temp3;
        call  K61;
K62:
        lacc  pos;
        add   #1;
        sacl  pos;
        lacc  pos;
        sub   #6;
        bcnd  DISP_END,NEQ;
        splk  #0,pos;
        b     DISP_END;
K61:
        lacc  temp3;
        bcnd  Code0,EQ;
        sub   #1;
        bcnd  Code1,EQ;
        sub   #1;
        bcnd  Code2,EQ;
        sub   #1;
        bcnd  Code3,EQ;
        sub   #1;
        bcnd  Code4,EQ;
        sub   #1;
        bcnd  Code5,EQ;
        sub   #1;
        bcnd  Code6,EQ;
        sub   #1;
        bcnd  Code7,EQ;
        sub   #1;
        bcnd  Code8,EQ;
        sub   #1;
        bcnd  Code9,EQ;
        sub   #1;
        bcnd  Code10,EQ;
        sub   #1;
        bcnd  Code11,EQ;
        sub   #1;
        bcnd  Code12,EQ;
        sub   #1;
        bcnd  Code13,EQ;
        sub   #1;
        bcnd  Code14,EQ;
        sub   #1;
        bcnd  Code15,EQ;
        sub   #1;
        bcnd  Code16,EQ;
        splk  #7fh,dispreg;
        b     K63;
Code0:
        splk  #3fh,dispreg;
        b     K63;
Code1:
        splk  #06h,dispreg;
        b     K63;
Code2:
        splk  #5bh,dispreg;
        b     K63;
Code3:
        splk  #4fh,dispreg;
        b     K63;
Code4:
        splk  #66h,dispreg;
        b     K63;
Code5:
        splk  #6dh,dispreg;
        b     K63;
Code6:
        splk  #7dh,dispreg;
        b     K63;
Code7:
        splk  #07h,dispreg;
        b     K63;
Code8:
        splk  #7fh,dispreg;
        b     K63;
Code9:
        splk  #6fh,dispreg;
        b     K63;
Code10:
        splk  #77h,dispreg;
        b     K63;
Code11:
        splk  #31h,dispreg;
        b     K63;
Code12:
        splk  #39h,dispreg;
        b     K63;
Code13:
        splk  #40h,dispreg;
        b     K63;
Code14:
        splk  #79h,dispreg;
        b     K63;
Code15:
        splk  #00h,dispreg;
        b     K63;
Code16:
        splk  #76h,dispreg;
        b     K63;
K63:
        lacc  pos;
        bcnd  pos05,EQ;
        sub   #1;
        bcnd  pos04,EQ;
        sub   #1;
        bcnd  pos03,EQ;
        sub   #1;
        bcnd  pos02,EQ;
        sub   #1;
        bcnd  pos01,EQ;
pos00:
        splk  #20h,temp4; 
        b     K64;
pos01:          
        splk  #10h,temp4;
        b     K64;
pos02:          
        splk  #08h,temp4;
        b     K64;
pos03:         
        splk  #04h,temp4;
        b     K64;
pos04:          
        splk  #02h,temp4;
        b     K64;
pos05:          
        splk  #01h,temp4;
        b     K64;
K64:
        lacc  dispreg;
        add   temp4,8;
        sacl  dispreg;
        out   dispreg,DIS;
        lacc  intnumber;
        add   #1;
        sacl  intnumber;
        sub   #4000;
        bcnd  H01,EQ;
        lacc  intnumber;
        sub   #2000;
        bcnd  H02,LT;
        ret;
H01:
        splk  #0,intnumber;
        ret;
H02:
        lacc  led20;
        sub   #11h;
        bcnd  H03,EQ;
        lacc  pos;
        sub   led10;
        bcnd  H03,NEQ;
        splk  #00h,dispreg;
        out   dispreg,DIS;
H03:
        ret;
***led01,led02,led03,led04,led05***
CHANGE:
        splk  #0fh,led00;
        lacc  temp;
        bcnd  K71,GEQ;
        splk  #0dh,led00;
        lacc  temp;
        abs;
        sacl  temp;
K71:     
        splk  #10000,temp2;
        splk  #0h,temp1;
K72:  
        lacc  temp;
        sub   temp2;
        bcnd  K73,LT;
        sacl  temp; 
        lacc  temp1;
        add   #1;
        sacl  temp1;
        b     K72;
K73:   
        lacc  temp2;
        sub   #10000;
        bcnd  K74,EQ;
        lacc  temp2;
        sub   #1000;
        bcnd  K75,EQ;
        lacc  temp2;
        sub   #100;
        bcnd  K76,EQ;
        lacc  temp2;
        sub   #10;
        bcnd  K77,EQ;
K74:     
        lacc  temp1;
        sacl  led01;
        splk  #0h,temp1;
        splk  #1000,temp2;
        b     K72;
K75:    
        lacc  temp1;
        sacl  led02;
        splk  #0h,temp1;
        splk  #100,temp2;
        b     K72;
K76:
        lacc  temp1;
        sacl  led03;
        splk  #0h,temp1;
        splk  #10,temp2;
        b     K72;
K77:
        lacc  temp1;
        sacl  led04;
        lacc  temp;
        sacl  led05;
        ret;
DISP_END:       RET;
         

           .include sintable.h
           .end;

⌨️ 快捷键说明

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