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

📄 main.src

📁 监控仪 监控仪 监控仪
💻 SRC
📖 第 1 页 / 共 3 页
字号:
; .\main.SRC generated from: main.c
; COMPILER INVOKED BY:
;        d:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND SRC(.\main.SRC)

$NOMOD51

NAME	MAIN

P0	DATA	080H
P1	DATA	090H
P2	DATA	0A0H
P3	DATA	0B0H
AC	BIT	0D0H.6
T0	BIT	0B0H.4
T2_EX	BIT	090H.1
T1	BIT	0B0H.5
EA	BIT	0A8H.7
T2	BIT	090H.0
IE	DATA	0A8H
P0_0	BIT	080H.0
P0_1	BIT	080H.1
P2_0	BIT	0A0H.0
P0_2	BIT	080H.2
P2_1	BIT	0A0H.1
P1_2	BIT	090H.2
P0_3	BIT	080H.3
P2_2	BIT	0A0H.2
P1_3	BIT	090H.3
P0_4	BIT	080H.4
P2_3	BIT	0A0H.3
P1_4	BIT	090H.4
P0_5	BIT	080H.5
EXF2	BIT	0C8H.6
RD	BIT	0B0H.6
P2_4	BIT	0A0H.4
P1_5	BIT	090H.5
P0_6	BIT	080H.6
P2_5	BIT	0A0H.5
P1_6	BIT	090H.6
P0_7	BIT	080H.7
ES	BIT	0A8H.4
P2_6	BIT	0A0H.6
P1_7	BIT	090H.7
P2_7	BIT	0A0H.7
IP	DATA	0B8H
RI	BIT	098H.0
CY	BIT	0D0H.7
INT0	BIT	0B0H.2
TI	BIT	098H.1
INT1	BIT	0B0H.3
RCAP2H	DATA	0CBH
PS	BIT	0B8H.4
SP	DATA	081H
OV	BIT	0D0H.2
RCAP2L	DATA	0CAH
C_T2	BIT	0C8H.1
WR	BIT	0B0H.7
RCLK	BIT	0C8H.5
TCLK	BIT	0C8H.4
PCON	DATA	087H
SBUF	DATA	099H
SCON	DATA	098H
TMOD	DATA	089H
TCON	DATA	088H
IE0	BIT	088H.1
IE1	BIT	088H.3
B	DATA	0F0H
CP_RL2	BIT	0C8H.0
ACC	DATA	0E0H
ET0	BIT	0A8H.1
TF0	BIT	088H.5
ET1	BIT	0A8H.3
TF1	BIT	088H.7
ET2	BIT	0A8H.5
TF2	BIT	0C8H.7
RB8	BIT	098H.2
TH0	DATA	08CH
IT0	BIT	088H.0
EX0	BIT	0A8H.0
TH1	DATA	08DH
IT1	BIT	088H.2
EX1	BIT	0A8H.2
TB8	BIT	098H.3
TH2	DATA	0CDH
P	BIT	0D0H.0
SM0	BIT	098H.7
TL0	DATA	08AH
SM1	BIT	098H.6
TL1	DATA	08BH
SM2	BIT	098H.5
TL2	DATA	0CCH
PT0	BIT	0B8H.1
PT1	BIT	0B8H.3
RS0	BIT	0D0H.3
TR0	BIT	088H.4
PT2	BIT	0B8H.5
RS1	BIT	0D0H.4
TR1	BIT	088H.6
TR2	BIT	0C8H.2
PX0	BIT	0B8H.0
PX1	BIT	0B8H.2
DPH	DATA	083H
DPL	DATA	082H
EXEN2	BIT	0C8H.3
REN	BIT	098H.4
T2MOD	DATA	0C9H
T2CON	DATA	0C8H
RXD	BIT	0B0H.0
TXD	BIT	0B0H.1
F0	BIT	0D0H.5
F1	BIT	0D0H.1
PSW	DATA	0D0H
?PR?init?MAIN        SEGMENT CODE 
?PR?_Get_Value?MAIN  SEGMENT CODE 
?PR?_Set_Display?MAIN                    SEGMENT CODE 
?PR?_Display_Lookup_Table?MAIN           SEGMENT CODE 
?PR?_Display_Acord_Byte?MAIN             SEGMENT CODE 
?DT?_Display_Acord_Byte?MAIN             SEGMENT DATA OVERLAYABLE 
?PR?_Calculate_Tem?MAIN                  SEGMENT CODE 
?PR?_Calculate_Pre?MAIN                  SEGMENT CODE 
?PR?INT_UART_Tx_Rx?MAIN                  SEGMENT CODE 
?PR?UART_Start?MAIN  SEGMENT CODE 
?PR?initial_timer0?MAIN                  SEGMENT CODE 
?PR?initial_timer2?MAIN                  SEGMENT CODE 
?PR?INT_TIMER2_overflow?MAIN             SEGMENT CODE 
?PR?main?MAIN        SEGMENT CODE 
?C_INITSEG           SEGMENT CODE 
?DT?MAIN             SEGMENT DATA 
	EXTRN	CODE (_abs)
	EXTRN	CODE (?C?SIDIV)
	EXTRN	CODE (?C?UIDIV)
	EXTRN	CODE (?C_STARTUP)
	PUBLIC	Speed
	PUBLIC	Speed_Count
	PUBLIC	Alarm_Count
	PUBLIC	Dispaly_Count
	PUBLIC	Capture_Count
	PUBLIC	Pre_Oil
	PUBLIC	Tem_Oil
	PUBLIC	Tem_Water
	PUBLIC	main
	PUBLIC	INT_TIMER2_overflow
	PUBLIC	initial_timer2
	PUBLIC	initial_timer0
	PUBLIC	UART_Start
	PUBLIC	INT_UART_Tx_Rx
	PUBLIC	_Calculate_Pre
	PUBLIC	_Calculate_Tem
	PUBLIC	_Display_Acord_Byte
	PUBLIC	_Display_Lookup_Table
	PUBLIC	_Set_Display
	PUBLIC	_Get_Value
	PUBLIC	init

	XSEG  AT  0F800H
Address_Dispaly1:   DS   1

	XSEG  AT  0F400H
Address_Dispaly2:   DS   1

	XSEG  AT  0F200H
Address_Dispaly3:   DS   1

	XSEG  AT  02000H
Address_Tem_Water:   DS   1

	XSEG  AT  0F100H
Address_Dispaly4:   DS   1

	XSEG  AT  00H
Address_Tem_Oil:   DS   1

	XSEG  AT  01000H
Address_Pre_Oil:   DS   1

	RSEG  ?DT?_Display_Acord_Byte?MAIN
?_Display_Acord_Byte?BYTE:
	ORG  5
Temp_Remain?447:   DS   2
Temp_Divide?448:   DS   2
	ORG  0
  Temp_Byte?449:   DS   1
Temp_Remain?450:   DS   2
Temp_Divide?451:   DS   2

	RSEG  ?DT?MAIN
      Tem_Water:   DS   10
        Tem_Oil:   DS   10
        Pre_Oil:   DS   10
  Capture_Count:   DS   2
  Dispaly_Count:   DS   2
    Alarm_Count:   DS   2
    Speed_Count:   DS   2
          Speed:   DS   1

	RSEG  ?C_INITSEG
	DB	002H
	DB	Speed_Count
	DW	00000H

	DB	002H
	DB	Capture_Count
	DW	00000H

	DB	002H
	DB	Dispaly_Count
	DW	00000H

	DB	002H
	DB	Alarm_Count
	DW	00000H

; //#include <reg51.h>
; #include<intrins.h>
; #include<math.h>
; #include <AT89X55.H>
; 
; #define M  5//speed test ,one cycle contain M pulses
; 
; int  Tem_Oil[5];//-20--150;the last byte is average value
; int Tem_Water[5];///-20--150
; unsigned int Pre_Oil[5];//0-1200kpa
; unsigned char Speed;//300--9999
; 
; unsigned int Speed_Count=0;//for test speed
; unsigned int Capture_Count=0;
; unsigned int Dispaly_Count=0;
; unsigned int Alarm_Count=0;
; 
; void init()

	RSEG  ?PR?init?MAIN
init:
			; SOURCE LINE # 18
; {
			; SOURCE LINE # 19
; 
; 
; 
;   Speed_Count=0;//for test speed
			; SOURCE LINE # 23
	CLR  	A
	MOV  	Speed_Count,A
	MOV  	Speed_Count+01H,A
;   Capture_Count=0;
			; SOURCE LINE # 24
	MOV  	Capture_Count,A
	MOV  	Capture_Count+01H,A
;   Dispaly_Count=0;
			; SOURCE LINE # 25
	MOV  	Dispaly_Count,A
	MOV  	Dispaly_Count+01H,A
;   Alarm_Count=0;
			; SOURCE LINE # 26
	MOV  	Alarm_Count,A
	MOV  	Alarm_Count+01H,A
;   
; }
			; SOURCE LINE # 28
	RET  	
; END OF init

; 
; static  xdata unsigned char  Address_Tem_Oil _at_  0x0000;
; static  xdata unsigned char  Address_Pre_Oil _at_  0x1000;
; static  xdata unsigned char Address_Tem_Water _at_  0x2000;
; 
; static  xdata unsigned  char Address_Dispaly1 _at_  0xf800;
; static  xdata unsigned  char Address_Dispaly2 _at_  0xf400;
; static  xdata unsigned  char Address_Dispaly3 _at_  0xf200;
; static  xdata unsigned  char Address_Dispaly4 _at_  0xf100;
; 
; unsigned char Get_Value(unsigned char Choice)//get value of test from fixed address

	RSEG  ?PR?_Get_Value?MAIN
_Get_Value:
	USING	0
			; SOURCE LINE # 39
;---- Variable 'Choice?140' assigned to Register 'R7' ----
; {
			; SOURCE LINE # 40
;   unsigned char value=0;
			; SOURCE LINE # 41
;---- Variable 'value?141' assigned to Register 'R6' ----
	CLR  	A
	MOV  	R6,A
;   switch(Choice) 
			; SOURCE LINE # 42
	MOV  	A,R7
	ADD  	A,#0FEH
	JZ   	?C0004
	DEC  	A
	JZ   	?C0005
	ADD  	A,#02H
	JNZ  	?C0002
;   {
			; SOURCE LINE # 43
;     case 1:  //for tempreture of oil 
			; SOURCE LINE # 44
?C0003:
;       Address_Tem_Oil=0x33;
			; SOURCE LINE # 45
	MOV  	DPTR,#Address_Tem_Oil
; 	  _nop_();//delay 30 us
			; SOURCE LINE # 46
; 	  value=Address_Tem_Oil;
			; SOURCE LINE # 47
; 	  break;
			; SOURCE LINE # 48
	SJMP 	?C0078
; 
; 
; 	case 2:  //for pressure of oil 
			; SOURCE LINE # 51
?C0004:
; 	  Address_Pre_Oil=0x33;
			; SOURCE LINE # 52
	MOV  	DPTR,#Address_Pre_Oil
?C0077:
; 	  _nop_();//delay 30 us
			; SOURCE LINE # 53
; 	  value=Address_Pre_Oil;
			; SOURCE LINE # 54
; 	  break;
			; SOURCE LINE # 55
	SJMP 	?C0078
; 
; 	case 3:  //for tempreture of water
			; SOURCE LINE # 57
?C0005:
; 	  Address_Tem_Water=0x33;
			; SOURCE LINE # 58
	MOV  	DPTR,#Address_Tem_Water
?C0078:
	MOV  	A,#033H
	MOVX 	@DPTR,A
; 	  _nop_();//delay 30 us
			; SOURCE LINE # 59
	NOP  	
; 	  value=Address_Tem_Water;
			; SOURCE LINE # 60
	MOVX 	A,@DPTR
	MOV  	R6,A
; 	  break;
			; SOURCE LINE # 61
; 	default:
			; SOURCE LINE # 62
; 	  break;
			; SOURCE LINE # 63
;   }
			; SOURCE LINE # 64
?C0002:
;   return value;
			; SOURCE LINE # 65
	MOV  	R7,AR6
; }
			; SOURCE LINE # 66
?C0007:
	RET  	
; END OF _Get_Value

; 
; Set_Display(unsigned char Choice,unsigned char Value_Diaplay)

	RSEG  ?PR?_Set_Display?MAIN
L?0088:
	USING	0
	LCALL	_Display_Lookup_Table
	MOV  	Temp_Byte?449,R7
L?0089:
	MOV  	R5,Temp_Byte?449
	MOV  	R7,#01H
_Set_Display:
			; SOURCE LINE # 68
;---- Variable 'Value_Diaplay?243' assigned to Register 'R5' ----
;---- Variable 'Choice?242' assigned to Register 'R7' ----
; {
			; SOURCE LINE # 69
;   switch(Choice) 
			; SOURCE LINE # 70
	MOV  	A,R7
	ADD  	A,#0FEH
	JZ   	?C0010
	DEC  	A
	JZ   	?C0011
	DEC  	A
	JZ   	?C0012
	ADD  	A,#03H
	JNZ  	?C0014
;   {
			; SOURCE LINE # 71
;     case 1:  //for display 1 
			; SOURCE LINE # 72
?C0009:
;       Address_Dispaly1=Value_Diaplay;
			; SOURCE LINE # 73
	MOV  	DPTR,#Address_Dispaly1
	MOV  	A,R5
	MOVX 	@DPTR,A
; 	  
; 	  break;
			; SOURCE LINE # 75
	RET  	
; 
; 
; 	case 2:  //for display 2 
			; SOURCE LINE # 78
?C0010:
; 	  Address_Dispaly2=Value_Diaplay;
			; SOURCE LINE # 79
	MOV  	DPTR,#Address_Dispaly2
	MOV  	A,R5
	MOVX 	@DPTR,A
; 	  break;
			; SOURCE LINE # 80
	RET  	
; 
; 	case 3:  //for display 3
			; SOURCE LINE # 82
?C0011:
; 	  Address_Dispaly3=Value_Diaplay;
			; SOURCE LINE # 83
	MOV  	DPTR,#Address_Dispaly3
	MOV  	A,R5
	MOVX 	@DPTR,A
; 	  break;
			; SOURCE LINE # 84
	RET  	
; 
; 	case 4:  //for display 4 
			; SOURCE LINE # 86
?C0012:
; 	  Address_Dispaly4=Value_Diaplay;
			; SOURCE LINE # 87
	MOV  	DPTR,#Address_Dispaly4
	MOV  	A,R5
	MOVX 	@DPTR,A
; 	default:
			; SOURCE LINE # 88
; 	  break;
			; SOURCE LINE # 89
;   }
			; SOURCE LINE # 90
;   
; }
			; SOURCE LINE # 92
?C0014:
	RET  	
; END OF _Set_Display

; 
; //TAB:  DB  0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,    88H,83H,0C6H,0A1H,86H,8EH
; 
; unsigned char  Display_Lookup_Table(unsigned char byte)

	RSEG  ?PR?_Display_Lookup_Table?MAIN
_Display_Lookup_Table:
	USING	0
			; SOURCE LINE # 96
;---- Variable 'Byte_code?345' assigned to Register 'R6' ----
;---- Variable 'byte?344' assigned to Register 'R7' ----
; {
			; SOURCE LINE # 97
;   unsigned char Byte_code;
;   switch(byte)
			; SOURCE LINE # 99
	MOV  	A,R7
	CJNE 	A,#0CH,?C0071
?C0071:
	JNC  	?C0015
	MOV  	DPTR,#?C0072
	MOV  	R0,A
	ADD  	A,R0
	ADD  	A,R0
	JMP  	@A+DPTR
?C0072:
	LJMP 	?C0016
	LJMP 	?C0017
	LJMP 	?C0018
	LJMP 	?C0019
	LJMP 	?C0020
	LJMP 	?C0021
	LJMP 	?C0022
	LJMP 	?C0023
	LJMP 	?C0024
	LJMP 	?C0025
	LJMP 	?C0026
	LJMP 	?C0027
;   {
			; SOURCE LINE # 100
;     case 0:
			; SOURCE LINE # 101
?C0016:
; 	  Byte_code=0xC0;
			; SOURCE LINE # 102
	MOV  	R6,#0C0H
; 	  break;
			; SOURCE LINE # 103
	SJMP 	?C0015
; 	case 1:
			; SOURCE LINE # 104
?C0017:
; 	  Byte_code=0xF9;
			; SOURCE LINE # 105
	MOV  	R6,#0F9H
; 	  break;
			; SOURCE LINE # 106
	SJMP 	?C0015
; 	case 2:
			; SOURCE LINE # 107
?C0018:
; 	  Byte_code=0xA4;
			; SOURCE LINE # 108
	MOV  	R6,#0A4H
; 	  break;
			; SOURCE LINE # 109
	SJMP 	?C0015
; 	case 3:

⌨️ 快捷键说明

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