📄 set time.lst
字号:
C51 COMPILER V7.06 SET_TIME 12/04/2007 01:27:32 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE SET_TIME
OBJECT MODULE PLACED IN set time.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE set time.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //文件名:set time.c
2 //入口参数:
3 //功能:调节时间初值
4 #include<reg51.h>
5 #define uchar unsigned char
6
7 extern bit reset_mode;
8 extern uchar Time[5];
9 extern bit Time_set_mode;
10 uchar Counter=0;//调时位选择
11 extern void delay();
12 sbit key_set=P1^5;//定义键盘
13 sbit key_add=P1^6;
14 sbit key_esc=P1^7;
15 sbit key_cycleless=P3^3;
16
17 uchar Time_store[5]={0,0,3,0,1};
18 bit Glint_enable_flag;//进入调时模式,允许闪烁
19 //bit run_mode;//运行模式信号量
20
21 void set_choice()///////////////////////////////////////////
22 {
23 1 Counter++;
24 1
25 1 if(key_cycleless==0)//如果是无限循环状态,则选择位只有三位
26 1 {
27 2 if(Counter>3)
28 2 Counter=0;
29 2 }
30 1 else
31 1 {
32 2 if(Counter>5)//调时位溢出
33 2 Counter=0;
34 2 }
35 1 }
36
37
38 void set_add()/////////////////////////////////////////////
39 {
40 1 switch(Counter)//Counter进入时从1开始
41 1 {
42 2 case 1: Time[0]++;break;
43 2 case 2: Time[1]++;break;
44 2 case 3: Time[2]++;break;
45 2 case 4: Time[3]++;break;
46 2 case 5: Time[4]++;break;
47 2 }
48 1 if(Time[(Counter-1)]>9)//调时溢出
49 1 Time[Counter-1]=0;
50 1 if(key_cycleless==0)//如果是无限循环模式,则显示"--"
51 1 {
52 2 Time[3]=10;
53 2 Time[4]=10;
54 2 }
55 1 }
C51 COMPILER V7.06 SET_TIME 12/04/2007 01:27:32 PAGE 2
56
57
58 void time_set()/////////////////////////////////////////////
59 {
60 1 uchar i;
61 1
62 1 reset_mode=0;
63 1 TR0=0;
64 1 Time_set_mode=1;
65 1
66 1 while(Time_set_mode==1)
67 1 {
68 2 Glint_enable_flag=1;//调时开始,执行闪烁
69 2 if(key_set==0)
70 2 {
71 3 delay();
72 3 if(key_set==0)
73 3 {
74 4 while(key_set==0)
75 4 key_set=1;
76 4 set_choice();//选择位
77 4 }
78 3 }
79 2 if(key_add==0)
80 2 {
81 3 delay();
82 3 if(key_add==0)
83 3 {
84 4 while(key_add==0)
85 4 key_add=1;
86 4
87 4 set_add();//加1
88 4 }
89 3 }
90 2 if(key_esc==0)//退出调时
91 2 {
92 3 delay();
93 3 if(key_esc==0)
94 3 {
95 4 while(key_esc==0)
96 4 key_esc=1;
97 4 Time_set_mode=0;//结束调时模式
98 4 Glint_enable_flag=0;//不再闪烁
99 4 Counter=0;
100 4
101 4 for(i=0;i<5;i++)
102 4 Time_store[i]=Time[i];
103 4
104 4 }
105 3 }
106 2
107 2 }
108 1 }
109
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 185 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 1
C51 COMPILER V7.06 SET_TIME 12/04/2007 01:27:32 PAGE 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 + -