📄 main.lst
字号:
C51 COMPILER V7.01 MAIN 08/17/2003 17:24:37 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\main.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\main.c LARGE MODDP2 DEBUG OBJECTEXTEND
stmt level source
1 #include <w77e58.h>
2 #include <stdio.h>
3 #include <struct.h"
4
5
6 #define DEBUG 1
7 #define display_con0 0x00f0
8 #define display_con1 0x00f1
9 #define display_con2 0x00f2
10 #define display_con3 0x00f3
11 #define display_con4 0x00f4
12 #define display_con5 0x00f5
13 #define display_con6 0x00f6
14 #define display_con7 0x00f7
15 #define display_con8 0x00f8
16
17 bit power_k;
18 extern ch_table code china_ch;
19 extern void start();
20 extern bit key4();//开关机
21 extern bit key2();//-
22 extern bit key3();//+
23 extern void key_menu();
24
25 extern void tuning_start();//调谐器初始化
26 extern void tuning_freq(tv ch);//调到频道
27 extern void tda9886_set(av sou);
28
29 extern void osd_start0();
30 extern void osd_start1();
31 extern void osd_starta();
32 extern void delay1(unsigned int i);
33 extern bit pal_ntsc();
34 extern void char_w_b(unsigned int address,unsigned int char_p);//单字节工作模式设置
35 //extern void char_w_a(unsigned int char_p[]);//多字节工作模式设置
36 //extern unsigned int code start3[9];
37 sbit power_sw=P1^4;//电源开关
38 sbit signal= P1^2;//信号检测
39 void tongxin_rxd();//接收下传命令
40 extern bit p_n;//P/N标志
41 extern void write_b(unsigned char slave,unsigned char address,
42 unsigned char fb);
43 extern void tuning_cun(unsigned char i);//调谐到预定频道
44
45
46 extern unsigned char pos;//当前节目
47 extern unsigned char sound;//当前节目声音中频
48 extern unsigned char tv_av;//tv/av
49 extern unsigned char slep;//静音
50 extern unsigned char band;////波段
51
52 extern unsigned char chanle;
53 extern unsigned char chan_le;
54
55 main()
C51 COMPILER V7.01 MAIN 08/17/2003 17:24:37 PAGE 2
56 {
57 1 unsigned int kf;
58 1 power_sw=1;
59 1 power_k=0;
60 1 chanle=0;
61 1 char_w_b(display_con8, 0x0080);//擦除显示ram 关闭显示
62 1 delay1(30000);//20ms
63 1 // char_w_a(start3);//打开放大字符模式 显示
64 1 start();
65 1 while(1)
66 1 {
67 2 while(power_k)
68 2 {
69 3 if(key4()&power_k)
70 3 {
71 4 power_k=0;
72 4 power_sw=1;
73 4
74 4 #if(DEBUG)
75 4 printf("power off\n");
76 4 #endif
77 4 }
78 3 key_menu();
79 3
80 3 if(key2())
81 3 {
82 4 chanle++;
83 4 if(chanle>chan_le)
84 4 chanle=0;
85 4 tuning_cun(chanle);
86 4 #if(DEBUG)
87 4 kf=chanle;
88 4 printf("频道 =%u\n",kf);
89 4 #endif
90 4 }
91 3 if(key3())
92 3 {
93 4 chanle--;
94 4 if(chanle>chan_le)
95 4 chanle=chan_le;
96 4 tuning_cun(chanle);
97 4 #if(DEBUG)
98 4 kf=chanle;
99 4 printf("频道 =%u\n",kf);
100 4 #endif
101 4 }
102 3 }
103 2 if(key4()&!power_k)
104 2 {
105 3 power_k=1;
106 3 power_sw=0;
107 3 delay1(8000);
108 3 if(signal)
109 3 {
110 4 pal_ntsc();
111 4 if(p_n)
112 4 osd_start1();
113 4 else osd_starta();
114 4 }
115 3 else osd_start0();
116 3 tuning_start();//调谐器初始化
117 3 delay1(50000);
C51 COMPILER V7.01 MAIN 08/17/2003 17:24:37 PAGE 3
118 3 #if(DEBUG)
119 3 printf("power on\n");
120 3 #endif
121 3 }
122 2
123 2 }
124 1 }
125
126
127
128 void tongxin_rxd()//接收下传命令
129 {
130 1 bit rt;//接收正确标志
131 1 unsigned char as;
132 1 unsigned char ac;
133 1 unsigned char sup;
134 1 unsigned long h;
135 1 hoop: REN=1;
136 1 RI=0;
137 1 h=0;
138 1 rt=0;
139 1 while(!rt)
140 1 {
141 2 while(!RI);
142 2
143 2 sup=SBUF;
144 2 RI=0;
145 2
146 2 if(sup=='A')
147 2 rt=1;
148 2 }
149 1
150 1 while(!RI)
151 1 {
152 2 h++;
153 2 if(h>100000)//超时处理
154 2 {
155 3 REN=0;
156 3 printf("loog daley--please serial input\n");
157 3 printf("\n");
158 3 printf("\n");
159 3 printf("\n");
160 3 goto hoop;
161 3 }
162 2 }
163 1 as=SBUF;//命令
164 1 RI=0;
165 1 h=0;
166 1 while(!RI)
167 1 {
168 2 h++;
169 2 if(h>100000)//超时处理
170 2 {
171 3 REN=0;
172 3 printf("loog daley--please serial input\n");
173 3 printf("\n");
174 3 printf("\n");
175 3 printf("\n");
176 3 goto hoop;
177 3 }
178 2 }
179 1 ac=SBUF;//命令
C51 COMPILER V7.01 MAIN 08/17/2003 17:24:37 PAGE 4
180 1 RI=0;
181 1 h=0;
182 1 write_b(0x86,as,ac);
183 1 REN=0;
184 1 printf("\n");
185 1 printf("input end\n");
186 1
187 1 }
188
189
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 518 ----
CONSTANT SIZE = 77 ----
XDATA SIZE = ---- 7
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = 1 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -