📄 main.lst
字号:
C51 COMPILER V7.20 MAIN 06/30/2005 14:02:55 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil51\C51\BIN\c51.exe main.c DB OE SMALL ROM(LARGE)
line level source
1 /*==================================================================
2 AV解码功率放大器
3
4 主控MCU: MX10FMAXDPC
5 显示芯片: PT16312
6 音量控制芯片: M62429
7 数字音频接收芯片: CS8415
8 AUDIO DAC: CS4360
9 AUDIO ADC: CS5340
10 音频解码器: CS493263(不带PROLOGIC II)
11 功放芯片: FL,FR采用TDA7265,CENTER采用TDA2050,SUB WOOFER采用TDA7296
12
13 ===================================================================
14 作者: David.Dong
15 编写日期: 2004-11-16
16 修改日期: 2004-12-17
17 ==================================================================*/
18 #define Variable_GLOBE
19 #include "reg52.h"
20 #include "intrins.h"
21 #include "..\..\inc\globedef.h"
22 #include "..\..\inc\keydef.h"
23 #include "..\..\inc\keyproc.h"
24 #include "..\..\inc\vfddef.h"
25 #include "..\..\inc\intctrl.h"
26 #include "..\..\inc\delay.h"
27 #include "..\..\inc\m61538.h"
28 #include "..\..\inc\tuner.h"
29 #include "..\..\inc\i2c.h"
30
31
32 void MCU_Init(void);
33 void State_Init(void);
34
35 /*==================================================================
36 描述: 完成任务的循环,主要是处理按键输入,根据按键输入调整工作状态
37 ==================================================================*/
38 void main(void)
39 {
40 1
41 1 MCU_Init(); //mcu初始化, 包括定时器,外部中断,I/O等
42 1 DelayX1ms(200); //延时50ms
43 1 State_Init(); //初始一些状态
44 1 DelayX1ms(50);
45 1
46 1 VFD_Init();
47 1 TR1 = 1; //VFD芯片初始化
48 1 TR2 = 1; //定时器1开始计数
49 1 do
50 1 {
51 2 if(ReadKey_Timer == 20)
52 2 {
53 3
54 3 VFD_SearchKey(); //查询面板按键,飞梭按键在Timer1中断中,
55 3 ReadKey_Timer = 0;
C51 COMPILER V7.20 MAIN 06/30/2005 14:02:55 PAGE 2
56 3 }
57 2
58 2 KEY_Proc(); //按键处理
59 2 if(1 == POWER_Status) //如果在工作状态
60 2 {
61 3 Tuner_Proc(); //tuner部分处理
62 3 //I2C_PutByte(A24C02, 0, 1);
63 3 VFD_Task_Proc(); //VFD刷新显示
64 3 }
65 2 }while(1);
66 1 }
67 void MCU_Init(void)
68 {
69 1 //IE寄存器
70 1 EA = 0; //关闭所有中断
71 1
72 1 ES = 0; //禁止串口中断
73 1 ET1 = 1; //允许Timer1中断
74 1 EX1 = 1; //允许EX1中断
75 1 ET0 = 1; //允许Timer0中断
76 1 EX0 = 0; //允许EX0中断
77 1
78 1 Timer2_CntL = 0x18;
79 1 Timer2_CntH = 0xFC;
80 1 RCAP2L = Timer2_CntL;
81 1 RCAP2H = Timer2_CntH;
82 1
83 1 ET2 = 1;
84 1 TF2 = 0;
85 1 EXF2 = 0;
86 1 RCLK = 0;
87 1 TCLK = 0;
88 1 EXEN2 = 0;
89 1 C_T2 = 0;
90 1 CP_RL2 = 0;
91 1 TR2 = 1;
92 1 P0 = 0xFF; //各个端口都初始化为输入状态
93 1 P1 = 0xFF; //
94 1 P2 = 0xFF; //
95 1 P3 = 0xFF; //
96 1
97 1 TMOD=0x11; //置计数/定时器1为16位定时器
98 1
99 1 //TCON=0x45; //外部中断
100 1 TR0 = 0; //定时器0停止计数
101 1 TR1 = 1; //定时器1开始计数
102 1 TR2 = 1; //定时器1开始计数
103 1 IT1 = 1; //设置外部中断1为下降沿中断
104 1 IT0 = 1; //设置外部中断0为下降沿中断
105 1
106 1 #ifdef USE_STC_MCU
107 1 AUXR |= 0x1;
108 1 #endif
109 1
110 1 EA=1; //开中断
111 1 }
112 /*================================================
113 描述: 工作状态, 音量等的状态初始化
114 参数: 无
115 返回: 无
116 ================================================*/
117 void State_Init(void)
C51 COMPILER V7.20 MAIN 06/30/2005 14:02:55 PAGE 3
118 {
119 1
120 1 AV_STANDBY = 1;
121 1 Current_State = STANDBY; //设置初始状态为STANDBY
122 1 Current_Key = NO_KEY; //当前无按键输入
123 1 Mute_Switch = 1; //在静音状态
124 1 Current_Volume = 30; //所有的总音量
125 1 Center_Volume = 30; //中置音量
126 1 BASS_Volume = 30; //重低音音量
127 1 SL_Volume = 30; //SL音量
128 1 SR_Volume = 30; //SR音量
129 1 FL_Volume = 30; //FL音量
130 1 FR_Volume = 30; //FR音量
131 1 CD4053_SELECT = 1; //选择是5.1输入还是2ch输入
132 1 ReadKey_Timer = 0;
133 1 POWER_Status = 0;
134 1 Remote_value = NO_KEY;
135 1 IR_KeyAct = 0;
136 1 Jog_Key = NO_KEY;
137 1 Volume_Key_Dealed = 0;
138 1 Current_Remote_In = 0;
139 1 Key_Timer = 0;
140 1 FMAM_PRESSED = 0;
141 1 TO_MAIN_DISPLAY = 0;
142 1 Auto_Scan_Enable = 0;
143 1 Jog_B_Buffer = 0;
144 1 FLASH_TEMP = 0;
145 1
146 1 TRI_TUNER_DATA;
147 1 CLEAR_M61538_CLK;
148 1 CLEAR_M61538_DATA;
149 1
150 1
151 1
152 1
153 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 194 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 76 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -