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

📄 main.ls1

📁 监控仪 监控仪 监控仪
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     215     ; #include<math.h>
                     216     ; #include <AT89X55.H>
                     217     ; 
                     218     ; #define M  5//speed test ,one cycle contain M pulses
                     219     ; 
                     220     ; int  Tem_Oil[5];//-20--150;the last byte is average value
                     221     ; int Tem_Water[5];///-20--150
                     222     ; unsigned int Pre_Oil[5];//0-1200kpa
                     223     ; unsigned char Speed;//300--9999
                     224     ; 
                     225     ; unsigned int Speed_Count=0;//for test speed
                     226     ; unsigned int Capture_Count=0;
                     227     ; unsigned int Dispaly_Count=0;
                     228     ; unsigned int Alarm_Count=0;
                     229     ; 
                     230     ; void init()
                     231     
----                 232             RSEG  ?PR?init?MAIN
0000                 233     init:
                     234                             ; SOURCE LINE # 18
                     235     ; {
                     236                             ; SOURCE LINE # 19
                     237     ; 
                     238     ; 
                     239     ; 
                     240     ;   Speed_Count=0;//for test speed
                     241                             ; SOURCE LINE # 23
0000 E4              242             CLR     A
0001 F500     F      243             MOV     Speed_Count,A
0003 F500     F      244             MOV     Speed_Count+01H,A
                     245     ;   Capture_Count=0;
                     246                             ; SOURCE LINE # 24
0005 F500     F      247             MOV     Capture_Count,A
0007 F500     F      248             MOV     Capture_Count+01H,A
                     249     ;   Dispaly_Count=0;
                     250                             ; SOURCE LINE # 25
0009 F500     F      251             MOV     Dispaly_Count,A
000B F500     F      252             MOV     Dispaly_Count+01H,A
                     253     ;   Alarm_Count=0;
                     254                             ; SOURCE LINE # 26
000D F500     F      255             MOV     Alarm_Count,A
000F F500     F      256             MOV     Alarm_Count+01H,A
A51 MACRO ASSEMBLER  MAIN                                                                 07/20/2007 11:13:54 PAGE     5

                     257     ;   
                     258     ; }
                     259                             ; SOURCE LINE # 28
0011 22              260             RET     
                     261     ; END OF init
                     262     
                     263     ; 
                     264     ; static  xdata unsigned char  Address_Tem_Oil _at_  0x0000;
                     265     ; static  xdata unsigned char  Address_Pre_Oil _at_  0x1000;
                     266     ; static  xdata unsigned char Address_Tem_Water _at_  0x2000;
                     267     ; 
                     268     ; static  xdata unsigned  char Address_Dispaly1 _at_  0xf800;
                     269     ; static  xdata unsigned  char Address_Dispaly2 _at_  0xf400;
                     270     ; static  xdata unsigned  char Address_Dispaly3 _at_  0xf200;
                     271     ; static  xdata unsigned  char Address_Dispaly4 _at_  0xf100;
                     272     ; 
                     273     ; unsigned char Get_Value(unsigned char Choice)//get value of test from fixed address
                     274     
----                 275             RSEG  ?PR?_Get_Value?MAIN
0000                 276     _Get_Value:
                     277             USING   0
                     278                             ; SOURCE LINE # 39
                     279     ;---- Variable 'Choice?140' assigned to Register 'R7' ----
                     280     ; {
                     281                             ; SOURCE LINE # 40
                     282     ;   unsigned char value=0;
                     283                             ; SOURCE LINE # 41
                     284     ;---- Variable 'value?141' assigned to Register 'R6' ----
0000 E4              285             CLR     A
0001 FE              286             MOV     R6,A
                     287     ;   switch(Choice) 
                     288                             ; SOURCE LINE # 42
0002 EF              289             MOV     A,R7
0003 24FE            290             ADD     A,#0FEH
0005 600C            291             JZ      ?C0004
0007 14              292             DEC     A
0008 600E            293             JZ      ?C0005
000A 2402            294             ADD     A,#02H
000C 7013            295             JNZ     ?C0002
                     296     ;   {
                     297                             ; SOURCE LINE # 43
                     298     ;     case 1:  //for tempreture of oil 
                     299                             ; SOURCE LINE # 44
000E                 300     ?C0003:
                     301     ;       Address_Tem_Oil=0x33;
                     302                             ; SOURCE LINE # 45
000E 900000          303             MOV     DPTR,#Address_Tem_Oil
                     304     ;         _nop_();//delay 30 us
                     305                             ; SOURCE LINE # 46
                     306     ;         value=Address_Tem_Oil;
                     307                             ; SOURCE LINE # 47
                     308     ;         break;
                     309                             ; SOURCE LINE # 48
0011 8008            310             SJMP    ?C0078
                     311     ; 
                     312     ; 
                     313     ;       case 2:  //for pressure of oil 
                     314                             ; SOURCE LINE # 51
0013                 315     ?C0004:
                     316     ;         Address_Pre_Oil=0x33;
                     317                             ; SOURCE LINE # 52
0013 901000          318             MOV     DPTR,#Address_Pre_Oil
0016                 319     ?C0077:
                     320     ;         _nop_();//delay 30 us
                     321                             ; SOURCE LINE # 53
                     322     ;         value=Address_Pre_Oil;
A51 MACRO ASSEMBLER  MAIN                                                                 07/20/2007 11:13:54 PAGE     6

                     323                             ; SOURCE LINE # 54
                     324     ;         break;
                     325                             ; SOURCE LINE # 55
0016 8003            326             SJMP    ?C0078
                     327     ; 
                     328     ;       case 3:  //for tempreture of water
                     329                             ; SOURCE LINE # 57
0018                 330     ?C0005:
                     331     ;         Address_Tem_Water=0x33;
                     332                             ; SOURCE LINE # 58
0018 902000          333             MOV     DPTR,#Address_Tem_Water
001B                 334     ?C0078:
001B 7433            335             MOV     A,#033H
001D F0              336             MOVX    @DPTR,A
                     337     ;         _nop_();//delay 30 us
                     338                             ; SOURCE LINE # 59
001E 00              339             NOP     
                     340     ;         value=Address_Tem_Water;
                     341                             ; SOURCE LINE # 60
001F E0              342             MOVX    A,@DPTR
0020 FE              343             MOV     R6,A
                     344     ;         break;
                     345                             ; SOURCE LINE # 61
                     346     ;       default:
                     347                             ; SOURCE LINE # 62
                     348     ;         break;
                     349                             ; SOURCE LINE # 63
                     350     ;   }
                     351                             ; SOURCE LINE # 64
0021                 352     ?C0002:
                     353     ;   return value;
                     354                             ; SOURCE LINE # 65
0021 AF06            355             MOV     R7,AR6
                     356     ; }
                     357                             ; SOURCE LINE # 66
0023                 358     ?C0007:
0023 22              359             RET     
                     360     ; END OF _Get_Value
                     361     
                     362     ; 
                     363     ; Set_Display(unsigned char Choice,unsigned char Value_Diaplay)
                     364     
----                 365             RSEG  ?PR?_Set_Display?MAIN
0000                 366     L?0088:
                     367             USING   0
0000 120000   F      368             LCALL   _Display_Lookup_Table
0003 8F00     F      369             MOV     Temp_Byte?449,R7
0005                 370     L?0089:
0005 AD00     F      371             MOV     R5,Temp_Byte?449
0007 7F01            372             MOV     R7,#01H
0009                 373     _Set_Display:
                     374                             ; SOURCE LINE # 68
                     375     ;---- Variable 'Value_Diaplay?243' assigned to Register 'R5' ----
                     376     ;---- Variable 'Choice?242' assigned to Register 'R7' ----
                     377     ; {
                     378                             ; SOURCE LINE # 69
                     379     ;   switch(Choice) 
                     380                             ; SOURCE LINE # 70
0009 EF              381             MOV     A,R7
000A 24FE            382             ADD     A,#0FEH
000C 6010            383             JZ      ?C0010
000E 14              384             DEC     A
000F 6013            385             JZ      ?C0011
0011 14              386             DEC     A
0012 6016            387             JZ      ?C0012
0014 2403            388             ADD     A,#03H
A51 MACRO ASSEMBLER  MAIN                                                                 07/20/2007 11:13:54 PAGE     7

0016 7017            389             JNZ     ?C0014
                     390     ;   {
                     391                             ; SOURCE LINE # 71
                     392     ;     case 1:  //for display 1 
                     393                             ; SOURCE LINE # 72
0018                 394     ?C0009:
                     395     ;       Address_Dispaly1=Value_Diaplay;
                     396                             ; SOURCE LINE # 73
0018 90F800          397             MOV     DPTR,#Address_Dispaly1
001B ED              398             MOV     A,R5
001C F0              399             MOVX    @DPTR,A
                     400     ;         
                     401     ;         break;
                     402                             ; SOURCE LINE # 75
001D 22              403             RET     
                     404     ; 
                     405     ; 
                     406     ;       case 2:  //for display 2 
                     407                             ; SOURCE LINE # 78
001E                 408     ?C0010:
                     409     ;         Address_Dispaly2=Value_Diaplay;
                     410                             ; SOURCE LINE # 79
001E 90F400          411             MOV     DPTR,#Address_Dispaly2
0021 ED              412             MOV     A,R5
0022 F0              413             MOVX    @DPTR,A
                     414     ;         break;
                     415                             ; SOURCE LINE # 80
0023 22              416             RET     
                     417     ; 
                     418     ;       case 3:  //for display 3
                     419                             ; SOURCE LINE # 82
0024                 420     ?C0011:
                     421     ;         Address_Dispaly3=Value_Diaplay;
                     422                             ; SOURCE LINE # 83
0024 90F200          423             MOV     DPTR,#Address_Dispaly3
0027 ED              424             MOV     A,R5
0028 F0              425             MOVX    @DPTR,A
                     426     ;         break;
                     427                             ; SOURCE LINE # 84
0029 22              428             RET     
                     429     ; 
                     430     ;       case 4:  //for display 4 
                     431                             ; SOURCE LINE # 86
002A                 432     ?C0012:
                     433     ;         Address_Dispaly4=Value_Diaplay;
                     434                             ; SOURCE LINE # 87
002A 90F100          435             MOV     DPTR,#Address_Dispaly4
002D ED              436             MOV     A,R5
002E F0              437             MOVX    @DPTR,A

⌨️ 快捷键说明

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