📄 shui.lst
字号:
C51 COMPILER V6.23a SHUI 05/30/2003 07:27:29 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE SHUI
OBJECT MODULE PLACED IN shui.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE shui.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg51.h>
2
3 #define uchar unsigned char //次类语句后不要加 ; 分号
4 #define uint unsigned int
5
6 sbit pc= P1^3 ; //时钟
7 sbit pd= P1^2 ; //数据
8 sbit jdq=P1^4; //继电器的控制端口
9
10 bit flag,shanshuo;
11
12 uchar code led7[11]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0x00} ;
13 //次语句后要加 分号
14
15 unsigned long int count;
16 uchar kaiguan;//定义计时间长短
17 uchar count2;
18 //--------------------------延时---------------------------------------
19 void delay400ms(void)
20 { uchar cycA = 5 ;
21 1 uint cycB ;
22 1 while(cycA--)
23 1 { cycB = 7296 ;
24 2 while(cycB--) ;
25 2 }
26 1 }
27 //--------------------------发送数据------------------------------------------
28
29 void sentdata(uchar c)
30 { bit temp ;
31 1 uchar i ;
32 1
33 1 for(i=0;i<8;i++)
34 1 {
35 2 if(c&1) temp = 1; //直接与01H相与,即可
36 2 else temp = 0 ;
37 2 c >>= 1;
38 2 pc = 0; //P2.0口,产生一个上升沿
39 2 pd = temp; //分离出来的数,给P2.1口
40 2 pc = 1;
41 2 }
42 1 }
43 //------------------------分离数据------------------------------------------
44
45 void display(uint shu)
46 { uchar g,s ;
47 1 g = shu % 10 ; //个位
48 1 s = (shu/10)%10; //十位
49 1
50 1
51 1 sentdata( led7[g]);
52 1 sentdata( led7[s]);
53 1 }
54 //------------------------------------------------------------------
55
C51 COMPILER V6.23a SHUI 05/30/2003 07:27:29 PAGE 2
56 main()
57 {
58 1
59 1 jdq=1; //关闭继电器
60 1 flag=0;
61 1 kaiguan=5; //开6分钟
62 1 count=0;
63 1 count2=0;
64 1 shanshuo=0;
65 1
66 1 display(0) ;
67 1 delay400ms() ; //记住不要忘了,调用函数要加括号
68 1
69 1
70 1 display(kaiguan);
71 1 jdq=0; //开继电器
72 1
73 1 while(1)
74 1 {
75 2 count++;
76 2
77 2 if(count==20140)
78 2 {
79 3 count=0;
80 3
81 3 shanshuo=!shanshuo;
82 3
83 3
84 3 count2++;
85 3 if(count2==60)
86 3 {
87 4
88 4 count2=0;
89 4 if(kaiguan!=0){kaiguan--;}
90 4
91 4 if(kaiguan==0)
92 4 {
93 5 flag=!flag;
94 5 if(flag==0) {kaiguan=5;jdq=0;} //6
95 5 else {kaiguan=30;jdq=1;} //30
96 5 }
97 4
98 4
99 4 }
100 3
101 3
102 3 if(flag==0)
103 3 {
104 4 if(shanshuo==1){ display(kaiguan);}
105 4 else { sentdata( led7[10]);sentdata( led7[10]);}
106 4
107 4 }
108 3 else {display(kaiguan);}
109 3
110 3
111 3
112 3
113 3 }
114 2
115 2
116 2
117 2
C51 COMPILER V6.23a SHUI 05/30/2003 07:27:29 PAGE 3
118 2 }
119 1
120 1
121 1 }
122
123
124
125
126
127
128
129
130
131
132
133
134
135
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 261 ----
CONSTANT SIZE = 11 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 1
IDATA SIZE = ---- ----
BIT SIZE = 2 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -