📄 shownum.lst
字号:
C51 COMPILER V7.06 SHOWNUM 02/04/2006 20:03:53 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE SHOWNUM
OBJECT MODULE PLACED IN shownum.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE shownum.c BROWSE DEBUG OBJECTEXTEND CODE LISTINCLUDE
stmt level source
1 #include <REG52.H>
1 =1 /*--------------------------------------------------------------------------
2 =1 REG52.H
3 =1
4 =1 Header file for generic 80C52 and 80C32 microcontroller.
5 =1 Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 #ifndef __REG52_H__
10 =1 #define __REG52_H__
11 =1
12 =1 /* BYTE Registers */
13 =1 sfr P0 = 0x80;
14 =1 sfr P1 = 0x90;
15 =1 sfr P2 = 0xA0;
16 =1 sfr P3 = 0xB0;
17 =1 sfr PSW = 0xD0;
18 =1 sfr ACC = 0xE0;
19 =1 sfr B = 0xF0;
20 =1 sfr SP = 0x81;
21 =1 sfr DPL = 0x82;
22 =1 sfr DPH = 0x83;
23 =1 sfr PCON = 0x87;
24 =1 sfr TCON = 0x88;
25 =1 sfr TMOD = 0x89;
26 =1 sfr TL0 = 0x8A;
27 =1 sfr TL1 = 0x8B;
28 =1 sfr TH0 = 0x8C;
29 =1 sfr TH1 = 0x8D;
30 =1 sfr IE = 0xA8;
31 =1 sfr IP = 0xB8;
32 =1 sfr SCON = 0x98;
33 =1 sfr SBUF = 0x99;
34 =1
35 =1 /* 8052 Extensions */
36 =1 sfr T2CON = 0xC8;
37 =1 sfr RCAP2L = 0xCA;
38 =1 sfr RCAP2H = 0xCB;
39 =1 sfr TL2 = 0xCC;
40 =1 sfr TH2 = 0xCD;
41 =1
42 =1
43 =1 /* BIT Registers */
44 =1 /* PSW */
45 =1 sbit CY = PSW^7;
46 =1 sbit AC = PSW^6;
47 =1 sbit F0 = PSW^5;
48 =1 sbit RS1 = PSW^4;
49 =1 sbit RS0 = PSW^3;
50 =1 sbit OV = PSW^2;
51 =1 sbit P = PSW^0; //8052 only
52 =1
53 =1 /* TCON */
54 =1 sbit TF1 = TCON^7;
C51 COMPILER V7.06 SHOWNUM 02/04/2006 20:03:53 PAGE 2
55 =1 sbit TR1 = TCON^6;
56 =1 sbit TF0 = TCON^5;
57 =1 sbit TR0 = TCON^4;
58 =1 sbit IE1 = TCON^3;
59 =1 sbit IT1 = TCON^2;
60 =1 sbit IE0 = TCON^1;
61 =1 sbit IT0 = TCON^0;
62 =1
63 =1 /* IE */
64 =1 sbit EA = IE^7;
65 =1 sbit ET2 = IE^5; //8052 only
66 =1 sbit ES = IE^4;
67 =1 sbit ET1 = IE^3;
68 =1 sbit EX1 = IE^2;
69 =1 sbit ET0 = IE^1;
70 =1 sbit EX0 = IE^0;
71 =1
72 =1 /* IP */
73 =1 sbit PT2 = IP^5;
74 =1 sbit PS = IP^4;
75 =1 sbit PT1 = IP^3;
76 =1 sbit PX1 = IP^2;
77 =1 sbit PT0 = IP^1;
78 =1 sbit PX0 = IP^0;
79 =1
80 =1 /* P3 */
81 =1 sbit RD = P3^7;
82 =1 sbit WR = P3^6;
83 =1 sbit T1 = P3^5;
84 =1 sbit T0 = P3^4;
85 =1 sbit INT1 = P3^3;
86 =1 sbit INT0 = P3^2;
87 =1 sbit TXD = P3^1;
88 =1 sbit RXD = P3^0;
89 =1
90 =1 /* SCON */
91 =1 sbit SM0 = SCON^7;
92 =1 sbit SM1 = SCON^6;
93 =1 sbit SM2 = SCON^5;
94 =1 sbit REN = SCON^4;
95 =1 sbit TB8 = SCON^3;
96 =1 sbit RB8 = SCON^2;
97 =1 sbit TI = SCON^1;
98 =1 sbit RI = SCON^0;
99 =1
100 =1 /* P1 */
101 =1 sbit T2EX = P1^1; // 8052 only
102 =1 sbit T2 = P1^0; // 8052 only
103 =1
104 =1 /* T2CON */
105 =1 sbit TF2 = T2CON^7;
106 =1 sbit EXF2 = T2CON^6;
107 =1 sbit RCLK = T2CON^5;
108 =1 sbit TCLK = T2CON^4;
109 =1 sbit EXEN2 = T2CON^3;
110 =1 sbit TR2 = T2CON^2;
111 =1 sbit C_T2 = T2CON^1;
112 =1 sbit CP_RL2 = T2CON^0;
113 =1
114 =1 #endif
2 #include<stdio.h>
1 =1 /*--------------------------------------------------------------------------
C51 COMPILER V7.06 SHOWNUM 02/04/2006 20:03:53 PAGE 3
2 =1 STDIO.H
3 =1
4 =1 Prototypes for standard I/O functions.
5 =1 Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 #ifndef __STDIO_H__
10 =1 #define __STDIO_H__
11 =1
12 =1 #ifndef EOF
13 =1 #define EOF -1
14 =1 #endif
15 =1
16 =1 #ifndef NULL
17 =1 #define NULL ((void *) 0)
18 =1 #endif
19 =1
20 =1 #ifndef _SIZE_T
21 =1 #define _SIZE_T
22 =1 typedef unsigned int size_t;
23 =1 #endif
24 =1
25 =1 #pragma SAVE
26 =1 #pragma REGPARMS
27 =1 extern char _getkey (void);
28 =1 extern char getchar (void);
29 =1 extern char ungetchar (char);
30 =1 extern char putchar (char);
31 =1 extern int printf (const char *, ...);
32 =1 extern int sprintf (char *, const char *, ...);
33 =1 extern int vprintf (const char *, char *);
34 =1 extern int vsprintf (char *, const char *, char *);
35 =1 extern char *gets (char *, int n);
36 =1 extern int scanf (const char *, ...);
37 =1 extern int sscanf (char *, const char *, ...);
38 =1 extern int puts (const char *);
39 =1
40 =1 #pragma RESTORE
41 =1
42 =1 #endif
43 =1
3 #include<intrins.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 INTRINS.H
3 =1
4 =1 Intrinsic functions for C51.
5 =1 Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 #ifndef __INTRINS_H__
10 =1 #define __INTRINS_H__
11 =1
12 =1 extern void _nop_ (void);
13 =1 extern bit _testbit_ (bit);
14 =1 extern unsigned char _cror_ (unsigned char, unsigned char);
15 =1 extern unsigned int _iror_ (unsigned int, unsigned char);
16 =1 extern unsigned long _lror_ (unsigned long, unsigned char);
17 =1 extern unsigned char _crol_ (unsigned char, unsigned char);
18 =1 extern unsigned int _irol_ (unsigned int, unsigned char);
19 =1 extern unsigned long _lrol_ (unsigned long, unsigned char);
C51 COMPILER V7.06 SHOWNUM 02/04/2006 20:03:53 PAGE 4
20 =1 extern unsigned char _chkfloat_(float);
21 =1
22 =1 #endif
23 =1
4 #include<string.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 STRING.H
3 =1
4 =1 String functions.
5 =1 Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 #ifndef __STRING_H__
10 =1 #define __STRING_H__
11 =1
12 =1 #ifndef _SIZE_T
=1 #define _SIZE_T
=1 typedef unsigned int size_t;
=1 #endif
16 =1
17 =1 #ifndef NULL
=1 #define NULL ((void *) 0L)
=1 #endif
20 =1
21 =1 #pragma SAVE
22 =1 #pragma REGPARMS
23 =1 extern char *strcat (char *s1, char *s2);
24 =1 extern char *strncat (char *s1, char *s2, int n);
25 =1
26 =1 extern char strcmp (char *s1, char *s2);
27 =1 extern char strncmp (char *s1, char *s2, int n);
28 =1
29 =1 extern char *strcpy (char *s1, char *s2);
30 =1 extern char *strncpy (char *s1, char *s2, int n);
31 =1
32 =1 extern int strlen (char *);
33 =1
34 =1 extern char *strchr (const char *s, char c);
35 =1 extern int strpos (const char *s, char c);
36 =1 extern char *strrchr (const char *s, char c);
37 =1 extern int strrpos (const char *s, char c);
38 =1
39 =1 extern int strspn (char *s, char *set);
40 =1 extern int strcspn (char *s, char *set);
41 =1 extern char *strpbrk (char *s, char *set);
42 =1 extern char *strrpbrk (char *s, char *set);
43 =1 extern char *strstr (char *s, char *sub);
44 =1 extern char *strtok (char *str, const char *set);
45 =1
46 =1 extern char memcmp (void *s1, void *s2, int n);
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<IOkey.h>
1 =1
2 =1
C51 COMPILER V7.06 SHOWNUM 02/04/2006 20:03:53 PAGE 5
3 =1 #ifndef __IOKEY_H__
4 =1 #define __IOKEY_H__
5 =1
6 =1
7 =1
8 =1
9 =1 sbit SW=P3^4; //启动停止按键
10 =1 sbit gokey=P3^5; //正转按键
11 =1 sbit backkey=P3^6; //反转按键
12 =1 sbit before=P3^7; //次数设定键
13 =1
14 =1
15 =1 sbit motaA=P1^0; //步进电机三相控制口
16 =1 sbit motaB=P1^1; //步进电机三相控制口
17 =1 sbit motaC=P1^2; //步进电机三相控制口
18 =1 sbit clutch=P1^3; //离合器控制口
19 =1
20 =1 sbit enabled1=P2^6; //LED片选位1
21 =1 sbit enabled2=P2^5; //LED片选位2
22 =1 sbit enabled3=P2^4; //LED片选位3
23 =1 sbit enabled4=P2^3; //LED片选位4
24 =1 sbit enabled5=P2^2; //LED片选位5
25 =1
26 =1
27 =1 #endif
6
7
8 extern void delay(unsigned int t);
9
10 unsigned char DigDsp[5]={0,0,0,0,0};
11
12
13 void DISPLAY(unsigned char x)
14 {
15 1 switch(x)
16 1 {
17 2 case 0:
18 2 P0=0x28;break;
19 2 case 1:
20 2 P0=0xee;break;
21 2 case 2:
22 2 P0=0x32;break;
23 2 case 3:
24 2 P0=0xa2;break;
25 2 case 4:
26 2 P0=0xe4;break;
27 2 case 5:
28 2 P0=0xa1;break;
29 2 case 6:
30 2 P0=0x21;break;
31 2 case 7:
32 2 P0=0xea;break;
33 2 case 8:
34 2 P0=0x20;break;
35 2 case 9:
36 2 P0=0xa0;break;
37 2 default :
38 2 P0=0xff;break;
39 2 }
40 1 }
41
42
C51 COMPILER V7.06 SHOWNUM 02/04/2006 20:03:53 PAGE 6
43
44 void ShowNum(unsigned long int number)
45 {
46 1 DigDsp[4]=number/10000;
47 1 while(number>=10000){number=number-10000;}
48 1 DigDsp[3]=number/1000;
49 1 while(number>=1000){number=number-1000;}
50 1 DigDsp[2]=number/100;
51 1 while(number>=100){number=number-100;}
52 1 DigDsp[1]=number/10;
53 1 while(number>=10){number=number-10;}
54 1 DigDsp[0]=number;
55 1 enabled1=1;
56 1 enabled2=1;
57 1 enabled3=1;
58 1 enabled4=1;
59 1 enabled5=1;
60 1 if(DigDsp[4]>0)
61 1 {
62 2 enabled1=0;enabled2=1;enabled3=1;enabled4=1;enabled5=1;DISPLAY(DigDsp[4]);delay(200);
63 2 enabled1=1;enabled2=0;enabled3=1;enabled4=1;enabled5=1;DISPLAY(DigDsp[3]);delay(200);
64 2 enabled1=1;enabled2=1;enabled3=0;enabled4=1;enabled5=1;DISPLAY(DigDsp[2]);delay(200);
65 2 enabled1=1;enabled2=1;enabled3=1;enabled4=0;enabled5=1;DISPLAY(DigDsp[1]);delay(200);
66 2 enabled1=1;enabled2=1;enabled3=1;enabled4=1;enabled5=0;DISPLAY(DigDsp[0]);delay(200);
67 2 }
68 1 else //最高位为零
69 1 {
70 2 if(DigDsp[3]>0)
71 2 {
72 3 enabled1=1;enabled2=0;enabled3=1;enabled4=1;enabled5=1;DISPLAY(DigDsp[3]);delay(200);
73 3 enabled1=1;enabled2=1;enabled3=0;enabled4=1;enabled5=1;DISPLAY(DigDsp[2]);delay(200);
74 3 enabled1=1;enabled2=1;enabled3=1;enabled4=0;enabled5=1;DISPLAY(DigDsp[1]);delay(200);
75 3 enabled1=1;enabled2=1;enabled3=1;enabled4=1;enabled5=0;DISPLAY(DigDsp[0]);delay(200);
76 3 }
77 2 else //高二位为零
78 2 {
79 3 if(DigDsp[2]>0){enabled1=1;enabled2=1;enabled3=0;enabled4=1;enabled5=1;DISPLAY(DigDsp[2]);delay(200);
80 4 enabled1=1;enabled2=1;enabled3=1;enabled4=0;enabled5=1;DISPLAY(DigDsp[1]);delay(200);
81 4 enabled1=1;enabled2=1;enabled3=1;enabled4=1;enabled5=0;DISPLAY(DigDsp[0]);delay(200);}
82 3 else{ //高三位为零
83 4 if(DigDsp[1]>0){enabled1=1;enabled2=1;enabled3=1;enabled4=0;enabled5=1;DISPLAY(DigDsp[1]);delay(2
-00);
84 5 enabled1=1;enabled2=1;enabled3=1;enabled4=1;enabled5=0;DISPLAY(DigDsp[0]);dela
-y(200);}
85 4 else{enabled1=1;enabled2=1;enabled3=1;enabled4=1;enabled5=0;DISPLAY(DigDsp[0]);delay(200);} //高四位全
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -