求汇编语言大师帮忙

[复制链接]
1697|3
 楼主| 张金禄 发表于 2013-5-25 12:39 | 显示全部楼层 |阅读模式
急求大师帮我弄一下该程序
 楼主| 张金禄 发表于 2013-5-25 12:41 | 显示全部楼层
求大师帮我看一下怎么实现报警;和双机通信

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 张金禄 发表于 2013-5-25 12:41 | 显示全部楼层
          ORG 0000H
      JMP MAIN
          ORG 0003H
          JMP INT_0
          ORG 000BH
          JMP T0_INT
          ORG 0013H
          JMP INT_1
          ORG 001BH
          JMP T1_INT
          ORG 0023H
          JMP _SBUF                  
MAIN: SETB EA                 //开中断 ,
      SETB ET0
          SETB ET1
          SETB EX0
          SETB IT0
          SETB EX1
          SETB IT1
          MOV TMOD,#52H
          MOV TH0,#106
          MOV TL0,#106
          MOV TH1,#0F8H
          MOV TL1,#30H
          SETB TR0
          SETB TR1
          MOV 20H,#30  //报警下限
          MOV 21H,#120  //报警上限
          MOV SCON,#60H//开串口通信


          clr p3.6
          clr p3.7
LOOP: JB P1.7,$                 //3秒内计数,模拟传感器采集数据
          INC R5
          JNB P1.7,$
          JMP LOOP

INT_0: INC R4
           MOV A,R4      // 与测试值比较
           MOV B,R5                 //保存实测滴速
           SUBB A,R5
           Jc LOOP1

       MOV A,R4
           LCALL DISPLAY
           MOV P0,A
           jmp out0
           loop1:

           out0:
           RETI
INT_1:
       DEC R4                //设定值
           MOV A,R4            //与测试值比较
           MOV B,R5                                          //保存实测滴速
           SUBB A,R5
           Jc LOOP2            
                                  
       MOV A,R4
           LCALL DISPLAY
           MOV P0,A
           jmp out2
           LOOP2:

           out2:
           RETI                         
T0_INT:
       CPL P3.4
       RETI
     
T1_INT:
      MOV TH1,#0F8H
          MOV TL1,#30H
          INC R6
          CJNE R6,#3,OUT
          MOV A,R5                           //3秒采集的次数传入累加器A
          //MOV SBUF,R5                   //传向sbuf通信
          MOV B,#20                           //3秒中的滴数乘以20就是一分钟的数
          MUL AB                         //采集到(计算出)1分钟点滴速度
          //MOV R1,B                        //保存数据高八位
          //MOV R2,A                   //保存低八位
          SUBB A,R4       //设置好的滴速 //AB寄存器中怎么和在一起?
          Jc LOOP3
         
          //MOV A,R2
          //MOV B,R1
          //MOV P1,R1           //B中为高八位不可能超过九直接输出
           LCALL DISPLAY   //调用显示程序
           mov p0,a
           clr p3.6
           SETB P3.7
          MOV R6,#0           //中断次数清零
          MOV R5,#0         //         测试到点滴速度清零
          LOOP3:
              //电机
           OUT:
       RETI            
          
_SBUF:
          
      
          
          RETI

DISPLAY:
         MOV B,#10
         DIV AB
         SWAP A
         ADD A,B
         RET

/*LOOP1:MOV A,B                //判断滴速是否在上限与下限之外
      SUBB A,20H
          JNC WARN
          MOV A,B
          SUBB A,#21H
          JC WARN
          LCALL DISPLAY
          LCALL BUJIN        //设定速度与测得速度不等且不超过范围
          RET */
WARN:SETB P2.4                 //激发报警器
     SETB P3.7                   //点亮红灯
         LCALL BUJIN          //驱动步进电机
         JB P1.7,WARN          //判断是否按取消报警键
         CLR P2.4
         CLR P3.6
          SETB P3.7
          RET
BUJIN:MOV A,B
SUBB A,R5
      //JC  LOOP2//跳到反转
          //JNC LOOP3//跳到正转
                   
          END
          
 楼主| 张金禄 发表于 2013-5-25 12:52 | 显示全部楼层
这里是硬件电路图protues

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部