📄 hongwai.lst
字号:
C51 COMPILER V8.01 HONGWAI 09/06/2006 10:37:05 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE HONGWAI
OBJECT MODULE PLACED IN hongwai.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE hongwai.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "89c2051.h"
2 #define NOKEY 1
3 #define KEY_BACK 2
4 #define KEY_FORWARD 3
5 bit autostate = 0;
6 unsigned char switchl = 0;
7 unsigned char workstate = 0;
8 unsigned char timerdelay = 0;
9 unsigned int timertime = 0;
10 unsigned int timertime1 = 0;
11 void delay(unsigned int temp)
12 {
13 1 unsigned char i;
14 1 unsigned int j;
15 1 for(j=0;j<temp;j++)
16 1 {
17 2 for(i=0;i<255;i++);
18 2 }
19 1 }
20 void chip_init(void)
21 {
22 1 P3M1 = 0x80;
23 1 TMOD = 0x01;
24 1 AUXR = 0x00;
25 1 TH0 = 0xff;
26 1 TL0 = 0xf5;/////9c
27 1 IE = 0x82;
28 1 TR0 = 1;
29 1 SH00T = 0;
30 1 SWITCH = 1;
31 1 BACK = 1;
32 1 RECEIVE = 1;
33 1 FORWARD = 1;
34 1 P_UNLOAD = 0;
35 1 P_LOAD = 0;
36 1 }
37 unsigned char key(void)
38 {
39 1 if(SWITCH!=switchl)
40 1 {
41 2 delay(10);
42 2 if(SWITCH!=switchl)
43 2 {
44 3 switchl = SWITCH;
45 3 if(SWITCH==0)
46 3 {
47 4 workstate = 0;
48 4 }
49 3 else
50 3 {
51 4 workstate = 1;
52 4 }
53 3 }
54 2 }
55 1 if(!FORWARD)
C51 COMPILER V8.01 HONGWAI 09/06/2006 10:37:05 PAGE 2
56 1 {
57 2 delay(10);
58 2 if(!FORWARD)
59 2 {
60 3 return(KEY_FORWARD);
61 3 }
62 2 else
63 2 {
64 3 return(NOKEY);
65 3 }
66 2 }
67 1 if(!BACK)
68 1 {
69 2 delay(10);
70 2 if(!BACK)
71 2 {
72 3 return(KEY_BACK);
73 3 }
74 2 else
75 2 {
76 3 return(NOKEY);
77 3 }
78 2 }
79 1 }
80 void timer0_inter(void) interrupt TF0_VECTOR
81 {
82 1 TH0 = 0xff;
83 1 TL0 = 0xf5;////9c
84 1 SH00T = ~SH00T;
85 1 if(timerdelay<200)
86 1 {
87 2 timerdelay++;
88 2 }
89 1 }
90 void timer_delay(void)
91 {
92 1 if(timerdelay>=180)
93 1 {
94 2 timertime++;
95 2 timertime1++;
96 2 timerdelay = 0;
97 2
98 2 }
99 1 }
100 void main(void)
101 {
102 1 unsigned char keytemp;
103 1 chip_init();
104 1 while(1)
105 1 {
106 2 timer_delay();
107 2 keytemp = key();
108 2 if(workstate)
109 2 {
110 3 LED_A = 0;
111 3 LED_H = 1;
112 3 if(RECEIVE)
113 3 {
114 4 if(timertime1>600)
115 4 {
116 5 P_UNLOAD = 0;
117 5 P_LOAD = 1;
C51 COMPILER V8.01 HONGWAI 09/06/2006 10:37:05 PAGE 3
118 5 autostate =1;
119 5 }
120 4 timertime = 0;
121 4 }
122 3 else
123 3 {
124 4 if(autostate)
125 4 {
126 5 if(timertime>=200)
127 5 {
128 6 P_UNLOAD = 0;
129 6 P_LOAD = 0;
130 6 autostate = 0;
131 6 }
132 5 }
133 4 else
134 4 {
135 5 P_UNLOAD = 0;
136 5 P_LOAD = 0;
137 5 }
138 4 timertime1 = 0;
139 4 }
140 3 }
141 2 else
142 2 {
143 3 LED_A = 1;
144 3 LED_H = 0;
145 3 if(keytemp == KEY_BACK)
146 3 {
147 4 P_UNLOAD = 1;
148 4 P_LOAD = 0;
149 4 }
150 3 else if(keytemp == KEY_FORWARD)
151 3 {
152 4 P_UNLOAD = 0;
153 4 P_LOAD = 1;
154 4 }
155 3 else
156 3 {
157 4 P_UNLOAD = 0;
158 4 P_LOAD = 0;
159 4 }
160 3 }
161 2 }
162 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 287 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 7 ----
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 + -