AT89C51制作的自动计数剪线系

  作者:dolphin 时间:2011-05-05


 ORG 0000H
          AJMP PLAY
          ORG 001BH
          AJMP JONG
PLAY:        MOV P1, #0FFH: 程序初始化
          MOV P2, #00H 
          MOV 70H, #00H
          MOV 71H, #00H
          MOV 72H, #00H
          MOV 73H, #00H
          MOV 74H, #00H
          MOV 75H, #00H
          MOV 76H, #00H
          MOV 77H, #00H
          MOV R1, #00H
          MOV R2, #00H
          MOV TMOD, #50H
          MOV TL1, #0FFH
          MOV TH1, #0FFH
          SETB TR1
          SETB ET1
          SETB EA
;////////////////////////////////////////////////////////////////////////
MAIN:        MOV SP, #80H;         
          ACALL S0;          调用运行子程序
          ACALL S1;          调用停止子程序
          ACALL S2;          调用个位数按键子程序
          ACALL S3;           调用十位数按键子程序
          ACALL S4;          调用百位数按键子程序
          ACALL S5;          调用千位数按键子程序
          ACALL ESJJ;         调用显示延时子程序
          AJMP MAIN;           返回主程序
;////////////////////////////////////////////////////////////////////////
S0:         JB P1.0, S01;        运行按键子程序
          SETB P2.0;         如果按键1.0为0,则置位2.0
S01:         RET
;///////////////////////////////////////////////////////////////////////
S1:         JB P1.1, S11;          停止按键子程序
          CLR P2.0;           如果按键1.1为0,则置位2.0
S11:         RET
;//////////////////////////////////////////////////////////////////////
S2:         JB P1.2, S23;          个位数按键子程序
          MOV A, 60H;
          CJNE A, #09H, S21;        个位数是否小于9,小于加1
          MOV 60H, #00H;          大于清0
          AJMP S210;
S21:         INC 60H;
S210:        JB P1.6, S211;          判断此数为长度数还是数量 数
          MOV 70H, 60H;           数量数送到70H单元     
          AJMP S22;
S211:        MOV 74H, 60H;
          ACALL K11;           长度数送到74H单元
S22:         ACALL DL            调用按键延时子程序
S23:         RET
;/////////////////////////////////////////////////////////////////////
S3:         JB P1.3, S33;           十位按键子程序 
          MOV A, 61H;
          CJNE A, #09H, S31;
          MOV 61H, #00H;
          AJMP S310;
S31:         INC 61H;
S310:        JB P1.6, S311;
          MOV 71H, 61H;
          AJMP S32;
S311:        MOV 75H, 61H;
          ACALL K11;
S32:         ACALL DL
S33:         RET
;////////////////////////////////////////////////////////////////////
S4:        JB P1.4, S43;           百位按键子程序 
         MOV A, 62H;     
         CJNE A, #09H, S41; 
         MOV 62H, #00H;
         AJMP S410;
S41:        INC 62H;
S410:       JB P1.6, S411;
         MOV 72H, 62H;
         AJMP S42; 
S411:       MOV 76H, 62H;
         ACALL K11;
S42:        ACALL DL;
S43:        RET
;////////////////////////////////////////////////////////////////////
S5:        JB P1.5, S53;           千位按键子程序
         MOV A, 63H;  
         CJNE A, #09H, S51;
         MOV 63H, #00H;
         AJMP S510;
S51:        INC 63H;
S510:       JB P1.6, S511;
         MOV 73H, 63H;
         AJMP S52;
S511:       MOV 77H, 63H;
         ACALL K11;
S52:        ACALL DL;
S53:        RET
;////////////////////////////////////////////////////////////////////
      长度数BCD转二进制码子程序

关键词: AT89C51 制作 自动 计数 剪线

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关电路