📄 shownum.lst
字号:
47 =1 extern void *memcpy (void *s1, void *s2, int n);
48 =1 extern void *memchr (void *s, char val, int n);
49 =1 extern void *memccpy (void *s1, void *s2, char val, int n);
50 =1 extern void *memmove (void *s1, void *s2, int n);
51 =1 extern void *memset (void *s, char val, int n);
52 =1 #pragma RESTORE
53 =1
54 =1 #endif
5 #include<IOsetup.h>
1 =1 #ifndef __IOSETUP_H__
2 =1 #define __IOSETUP_H__
C51 COMPILER V7.06 SHOWNUM 11/18/2005 22:41:13 PAGE 5
3 =1
4 =1
5 =1 #define uint unsigned int
6 =1 #define uchar unsigned char
7 =1
8 =1
9 =1
10 =1 sbit SW=P3^2; //频率档位切换+按键(1~15HZ)
11 =1 sbit fchange=P3^3; //频率档位切换-按键(1~15HZ)
12 =1 sbit fset=P3^4; //启动运行次数按键
13 =1 sbit setnum=P3^5; //运行次数设定按键
14 =1 sbit fuel=P3^7; //油泵输出
15 =1 sbit enable0=P3^0; //显示第一位
16 =1 sbit enable1=P3^1; //显示第二位
17 =1
18 =1
19 =1 #endif
6
7
8 extern void delay(unsigned int t);
9
10 unsigned char DigDsp[2]={0,0};
11
12
13 void DISPLAY(unsigned char x)
14 {
15 1 switch(x)
16 1 {
17 2 case 0:
18 2 P1=0x81;break;
19 2 case 1:
20 2 P1=0xf3;break;
21 2 case 2:
22 2 P1=0x49;break;
23 2 case 3:
24 2 P1=0x61;break;
25 2 case 4:
26 2 P1=0x33;break;
27 2 case 5:
28 2 P1=0x25;break;
29 2 case 6:
30 2 P1=0x05;break;
31 2 case 7:
32 2 P1=0xf1;break;
33 2 case 8:
34 2 P1=0x01;break;
35 2 case 9:
36 2 P1=0x21;break;
37 2 default :
38 2 P1=0xff;break;
39 2 }
40 1 }
41
42 void ShowNum(unsigned char number)
43 {
44 1 DigDsp[1]=number/10;
45 1 while (number>=10){ number-=10;}
46 1 DigDsp[0]=number;
47 1 enable0=1;
48 1 enable1=1;
49 1 if(DigDsp[1]>0){enable0=0;enable1=1;DISPLAY(DigDsp[1]);delay(300);}
50 1 enable0=1;
C51 COMPILER V7.06 SHOWNUM 11/18/2005 22:41:13 PAGE 6
51 1 enable1=0;
52 1 DISPLAY(DigDsp[0]);
53 1 delay(300);
54 1 }
55
C51 COMPILER V7.06 SHOWNUM 11/18/2005 22:41:13 PAGE 7
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _DISPLAY (BEGIN)
; SOURCE LINE # 13
;---- Variable 'x' assigned to Register 'R7' ----
; SOURCE LINE # 14
; SOURCE LINE # 15
0000 EF MOV A,R7
0001 B40A00 CJNE A,#0AH,?C0018
0004 ?C0018:
0004 504D JNC ?C0012
0006 900000 R MOV DPTR,#?C0019
0009 F8 MOV R0,A
000A 28 ADD A,R0
000B 28 ADD A,R0
000C 73 JMP @A+DPTR
000D ?C0019:
000D 020000 R LJMP ?C0002
0010 020000 R LJMP ?C0003
0013 020000 R LJMP ?C0004
0016 020000 R LJMP ?C0005
0019 020000 R LJMP ?C0006
001C 020000 R LJMP ?C0007
001F 020000 R LJMP ?C0008
0022 020000 R LJMP ?C0009
0025 020000 R LJMP ?C0010
0028 020000 R LJMP ?C0011
; SOURCE LINE # 16
; SOURCE LINE # 17
002B ?C0002:
; SOURCE LINE # 18
002B 759081 MOV P1,#081H
002E 22 RET
; SOURCE LINE # 19
002F ?C0003:
; SOURCE LINE # 20
002F 7590F3 MOV P1,#0F3H
0032 22 RET
; SOURCE LINE # 21
0033 ?C0004:
; SOURCE LINE # 22
0033 759049 MOV P1,#049H
0036 22 RET
; SOURCE LINE # 23
0037 ?C0005:
; SOURCE LINE # 24
0037 759061 MOV P1,#061H
003A 22 RET
; SOURCE LINE # 25
003B ?C0006:
; SOURCE LINE # 26
003B 759033 MOV P1,#033H
003E 22 RET
; SOURCE LINE # 27
003F ?C0007:
; SOURCE LINE # 28
003F 759025 MOV P1,#025H
0042 22 RET
; SOURCE LINE # 29
0043 ?C0008:
; SOURCE LINE # 30
C51 COMPILER V7.06 SHOWNUM 11/18/2005 22:41:13 PAGE 8
0043 759005 MOV P1,#05H
0046 22 RET
; SOURCE LINE # 31
0047 ?C0009:
; SOURCE LINE # 32
0047 7590F1 MOV P1,#0F1H
004A 22 RET
; SOURCE LINE # 33
004B ?C0010:
; SOURCE LINE # 34
004B 759001 MOV P1,#01H
004E 22 RET
; SOURCE LINE # 35
004F ?C0011:
; SOURCE LINE # 36
004F 759021 MOV P1,#021H
0052 22 RET
; SOURCE LINE # 37
0053 ?C0012:
; SOURCE LINE # 38
0053 7590FF MOV P1,#0FFH
; SOURCE LINE # 39
; SOURCE LINE # 40
0056 ?C0013:
0056 22 RET
; FUNCTION _DISPLAY (END)
; FUNCTION _ShowNum (BEGIN)
; SOURCE LINE # 42
;---- Variable 'number' assigned to Register 'R7' ----
; SOURCE LINE # 43
; SOURCE LINE # 44
0000 EF MOV A,R7
0001 75F00A MOV B,#0AH
0004 84 DIV AB
0005 F500 R MOV DigDsp+01H,A
0007 ?C0014:
; SOURCE LINE # 45
0007 EF MOV A,R7
0008 C3 CLR C
0009 940A SUBB A,#0AH
000B 4006 JC ?C0015
000D 74F6 MOV A,#0F6H
000F 2F ADD A,R7
0010 FF MOV R7,A
0011 80F4 SJMP ?C0014
0013 ?C0015:
; SOURCE LINE # 46
0013 8F00 R MOV DigDsp,R7
; SOURCE LINE # 47
0015 D2B0 SETB enable0
; SOURCE LINE # 48
0017 D2B1 SETB enable1
; SOURCE LINE # 49
0019 E500 R MOV A,DigDsp+01H
001B D3 SETB C
001C 9400 SUBB A,#00H
001E 4010 JC ?C0016
0020 C2B0 CLR enable0
0022 D2B1 SETB enable1
0024 AF00 R MOV R7,DigDsp+01H
0026 120000 R LCALL _DISPLAY
C51 COMPILER V7.06 SHOWNUM 11/18/2005 22:41:13 PAGE 9
0029 7F2C MOV R7,#02CH
002B 7E01 MOV R6,#01H
002D 120000 E LCALL _delay
0030 ?C0016:
; SOURCE LINE # 50
0030 D2B0 SETB enable0
; SOURCE LINE # 51
0032 C2B1 CLR enable1
; SOURCE LINE # 52
0034 AF00 R MOV R7,DigDsp
0036 120000 R LCALL _DISPLAY
; SOURCE LINE # 53
0039 7F2C MOV R7,#02CH
003B 7E01 MOV R6,#01H
003D 020000 E LJMP _delay
; FUNCTION _ShowNum (END)
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 151 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -