打印

求汇编语言大师帮忙

[复制链接]
1352|3
手机看帖
扫描二维码
随时随地手机跟帖
沙发
张金禄|  楼主 | 2013-5-25 12:41 | 只看该作者
求大师帮我看一下怎么实现报警;和双机通信

QQ截图20130525122350.png (21.11 KB )

硬件电路图

硬件电路图

使用特权

评论回复
板凳
张金禄|  楼主 | 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

改版.zip

20.17 KB

硬件电路图

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝