📄 cs17-2.lst
字号:
C51 COMPILER V7.06 CS17_2 02/23/2007 15:14:10 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE CS17_2
OBJECT MODULE PLACED IN CS17-2.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CS17-2.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <REG51.H>
2 #define uchar unsigned char
3 #define uint unsigned int
4 uchar code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
5 uchar code ACT[4]={0xfe,0xfd,0xfb,0xf7};
6 /***********************************************************/
7 sbit D0=P1^0;
8 sbit D1=P1^1;
9 sbit D2=P1^2;
10 sbit D3=P1^3;
11 sbit D4=P1^4;
12 sbit D5=P1^5;
13 sbit D6=P1^6;
14 sbit D7=P1^7;
15 #define ON 0
16 #define OFF 1
17 uchar a[2];
18 uchar cnt;
19 bit outflag;
20 /****************************************/
21 void delay(uint k)
22 {
23 1 uint data i,j;
24 1 for(i=0;i<k;i++)
25 1 {
26 2 for(j=0;j<121;j++){;}
27 2 }
28 1 }
29 /**************************************/
30 void init(void)
31 {
32 1 TMOD=0x20;
33 1 TH1=0xfd;
34 1 TL1=0xfd;
35 1 SCON=0x50;
36 1 TR1=1;
37 1 ES=1;
38 1 EA=1;
39 1 }
40 /****************************************/
41 void main(void)
42 {
43 1 init();
44 1 while(1)
45 1 {
46 2 P0=SEG7[a[0]];P2=ACT[2];delay(1);
47 2 P0=SEG7[a[1]];P2=ACT[0];delay(1);
48 2 if(outflag==1)
49 2 {
50 3 switch(a[0])
51 3 {
52 4 case 1:if(a[1]==1)D0=ON;else D0=OFF;break;
53 4 case 2:if(a[1]==1)D1=ON;else D1=OFF;break;
54 4 case 3:if(a[1]==1)D2=ON;else D2=OFF;break;
55 4 case 4:if(a[1]==1)D3=ON;else D3=OFF;break;
C51 COMPILER V7.06 CS17_2 02/23/2007 15:14:10 PAGE 2
56 4 case 5:if(a[1]==1)D4=ON;else D4=OFF;break;
57 4 case 6:if(a[1]==1)D5=ON;else D5=OFF;break;
58 4 case 7:if(a[1]==1)D6=ON;else D6=OFF;break;
59 4 case 8:if(a[1]==1)D7=ON;else D7=OFF;break;
60 4 default:break;
61 4 }
62 3 outflag=0;
63 3 }
64 2 }
65 1 }
66 /******************************************/
67 void serial_serve(void) interrupt 4
68 {
69 1 uchar temp;
70 1 RI=0;
71 1 EA=0;
72 1 temp=SBUF;
73 1 switch(cnt)
74 1 {
75 2 case 0:if(temp=='#')cnt=1;else outflag=0;break;
76 2 case 1:if((temp>0x30)&&(temp<0x39)){a[0]=temp-0x30;cnt=2;}else outflag=0;break;
77 2 case 2:if(temp=='(')cnt=3;else outflag=0;break;
78 2 case 3:if((temp>=0x30)&&(temp<=0x38)){a[1]=temp-0x30;cnt=4;}else outflag=0;break;
79 2 case 4:if(temp==')'){cnt=0;outflag=1;}else outflag=0;break;
80 2 default:break;
81 2 }
82 1 EA=1;
83 1 }
84
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 384 ----
CONSTANT SIZE = 14 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -