⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 winav.h

📁 车载电子影音系统dvd播放系统原程序代码
💻 H
📖 第 1 页 / 共 5 页
字号:
// ********************************************************
// If define it, F/W don't support tuner mode  -- LLY.277a
// Otherwise, F/W will support it by KEY_FUNCTION
#define NO_TUNER

// If define it, F/W will support Equalizer feature -- LLY.278
// Otherwise, F/W don't support it
//#define SUPPORT_EQUALIZER

// If define it, F/W will support Earphone input detection -- LLY.278a
// Otherwise, F/W don't support it
// #define SUPPORT_EARPHONE

// If define it, F/W will support audio output channel remapping feature -- LLY2.78b-2
// ex, 2->2.1 or 2->5.1 mode
// Otherwise, F/W don't support it
//#define SUPPORT_CHANNEL_REMAPPING

// If define it, F/W will save the volume value into serial-EPROM -- LLY2.79
// Otherwise, they will be initialized while 1st power on & AUX channel switch
//#define VOLUME_VALUE_SAVE_IN_SERIAL_EPROM

// If define it, F/W will do search scan mode from min to max frequency within TUNER mode -- LLY2.79
// Otherwise, it will start the search from current frequency to max value
// #define SEARCH_SCAN_FROM_MIN_FREQ

// If define it, it will stay at pre-stop mode while back to DVD mode -- LLY2.79
// Otherwise, it will auto play
// #define DONT_AUTO_PLAY_WHILE_ENTER_DVD_MODE

// If define it, our solution is a AV system model -- LLY.277a-1
// Otherwise, F/W don't support tuner/ AV/ external AMP
//#define SUPPORT_AV_SYSTEM

// Add the necessary thing while support AV system feature
#ifdef  SUPPORT_AV_SYSTEM
// Always support Tuner mode
#undef  NO_TUNER

// Enable or disable some setting for AV system model
#ifdef  SYSTEM_8051
// Within 8051 environment
// [1] always enable earphone detection -- LLY.278a
#define SUPPORT_EARPHONE

#else   // #ifdef SYSTEM_8051
// Within Emulator environment
// [1] always enable Equalizer & AMP control  -- LLY.278-1
#define SUPPORT_EQUALIZER
//Kevin2.81 review AVSys, add user defined EQ
//#define SUPPORT_USER_DEFINED_EQ
#define AUDIO_CHANNEL_END       AUDIO_CHANNEL_TREBLE

// [2] alwasy enable channel remapping control flow -- LLY2.78b-2
#define SUPPORT_CHANNEL_REMAPPING

#endif  // #ifdef SYSTEM_8051

#endif  // #ifdef SUPPORT_AV_SYSTEM


////////////////////////////////////////////////
// SERVO Relative Zone
////////////////////////////////////////////////

// TCC161, for checking DVD tray-out by outer forces
///#define SUPPORT_LOADER_OPEN_BY_EXTRA_FORCE

// TCC170, for let atapi enter sleep mode after power down
///#define  SERVO_SLEEP_AFTER_POWERDOWN

// define it, means CDROM driver can support how fast. Min. should be 2X.
 #define     SERVO_MAXSPEED     2
// #define     SERVO_MAXSPEED     4       // AVID

//DVD_046-1DVDIF
// can be used for CD-IF only
#ifdef  SUPPORT_CDIF
#define     SERVO_LEADING       5       // Philips Loader
//#define     SERVO_LEADING       10      // For the loader is NOT accuracy, need more testing
#endif
// ******************************
// DSA-IF only
// ******************************
#define DSP_I2S                 0x01
#define DSP_SONY                0x04

//#define DSP_FORMAT  DSP_I2S
#define DSP_FORMAT  DSP_SONY

// The value that can distinguish CD-DA or VCD
// For general normal (phillips and SONY) loader
#define     DATA_TRACK                      0x40

//DEFINE045Q
// must put after DECODER_SYSTEM is decided.
#ifdef  SYSTEM_8051
#include    <reg52.h>
#include    <intrins.h>
#include    "pio.h"
#endif
///////////////////////////////////////////////////////////
// ****** CPU speed's Zone ******
// !!!!!! Define the count for different CPU speed
///////////////////////////////////////////////////////////
// The tune of U-Processor speed
// Please look for W99132-IR setting in INPUT module
// ########################################################
// each timer coming is 50 milliseconds ( in 12 M Hz )
// (50000* 12/ 12) us= 50 m sec
// TH1=(65536-50000)= 15536/256= 60;
// TH0=(65536-50000)= 15536%256= 176;
// ########################################################
#ifdef  SYSTEM_8051
#if CPU_SPEED == CPU_12M

#define TIMER_TH                        60
#define TIMER_TL                        176

#define COUNT_10_SEC                    200L
#define COUNT_5_SEC                     100L
#define COUNT_3_SEC                     60L
#define COUNT_2_SEC                     40L
#define COUNT_1_SEC                     20L
#define COUNT_HALF_SEC                  10L
#define COUNT_500_MSEC                  10
#define COUNT_400_MSEC                  8
#define COUNT_300_MSEC                  6
#define COUNT_250_MSEC                  5
#define COUNT_200_MSEC                  4
#define COUNT_150_MSEC                  3
#define COUNT_100_MSEC                  2
#define COUNT_50_MSEC                   1

#define COUNT_PER_SEC                COUNT_1_SEC

#endif  // if CPU_SPEED

//LJY0.83, for Turbo uP, T0M=0(by 12 clock)
// ########################################################
// each timer coming is 20 milliseconds ( in 16.625 M Hz )
// (27708 * 12/ 16.625) us= 20 m sec
// TH=(65536-27708)= 15536/256= 148;
// TL=(65536-27708)= 15536%256= 196;
// ########################################################
#if CPU_SPEED == CPU_16M

#define TIMER_TH                        148
#define TIMER_TL                        196

#define COUNT_10_SEC                    500L
#define COUNT_5_SEC                     250L
#define COUNT_4_SEC                     200L
#define COUNT_3_SEC                     150L
#define COUNT_2_SEC                     100L
#define COUNT_1_SEC                     50L
#define COUNT_HALF_SEC                  25L
#define COUNT_500_MSEC                  25
#define COUNT_400_MSEC                  20
#define COUNT_300_MSEC                  15
#define COUNT_250_MSEC                  13
#define COUNT_200_MSEC                  10
#define COUNT_150_MSEC                  8
#define COUNT_100_MSEC                  5
#define COUNT_50_MSEC                   3

#define COUNT_PER_SEC                COUNT_1_SEC
#endif  // if CPU_SPEED

// Block Beginning... Added by KCHung 890825

// ########################################################
// each timer coming is 50 milliseconds ( in 24 M Hz )
// (50000* 12/ 24) us= 25 m sec
// TH1=(65536-50000)= 15536/256= 60;
// TH0=(65536-50000)= 15536%256= 176;
// ########################################################

#if CPU_SPEED == CPU_24M

#define TIMER_TH                        60
#define TIMER_TL                        176

#define COUNT_10_SEC                    400L
#define COUNT_5_SEC                     200L
#define COUNT_4_SEC                     160L
#define COUNT_3_SEC                     120L
#define COUNT_2_SEC                     80L
#define COUNT_1_SEC                     40L
#define COUNT_HALF_SEC                  20L
#define COUNT_500_MSEC                  20
#define COUNT_400_MSEC                  16
#define COUNT_300_MSEC                  12
#define COUNT_250_MSEC                  10
#define COUNT_200_MSEC                  8
#define COUNT_150_MSEC                  6
#define COUNT_100_MSEC                  4
#define COUNT_50_MSEC                   2

#define COUNT_PER_SEC                COUNT_1_SEC


#endif  // if CPU_SPEED

// Block Ending... Added by KCHung 890825

// Block Ending... Added by KCHung 891227

// ########################################################
// each timer coming is 50 milliseconds ( in 48 M Hz )
// (50000* 12/ 48) us= 12.5 m sec
// TH1=(65536-50000)= 15536/256= 60;
// TH0=(65536-50000)= 15536%256= 176;
// ########################################################

#if CPU_SPEED == CPU_48M

#define TIMER_TH                        60
#define TIMER_TL                        176

#define COUNT_10_SEC                    800L
#define COUNT_5_SEC                     400L
#define COUNT_4_SEC                     320L
#define COUNT_3_SEC                     240L
#define COUNT_2_SEC                     160L
#define COUNT_1_SEC                     80L
#define COUNT_HALF_SEC                  40L
#define COUNT_500_MSEC                  40
#define COUNT_400_MSEC                  32
#define COUNT_300_MSEC                  24
#define COUNT_250_MSEC                  20
#define COUNT_200_MSEC                  16
#define COUNT_150_MSEC                  12
#define COUNT_100_MSEC                  8
#define COUNT_50_MSEC                   4

#define COUNT_PER_SEC                COUNT_1_SEC


#endif  // if CPU_SPEED

// ########################################################
// each timer coming is 17 milliseconds ( in 33 M Hz )
// (46750* 12/ 33) us= 17 m sec
// TH1=(65536-46750)= 18786/256= 73;
// TH0=(65536-46750)= 18786%256= 98;
// ########################################################

#if (CPU_SPEED == CPU_33M) || (CPU_SPEED == CPU_34M)

#define TIMER_TH                        73      // ** SVCD-TCH; THX
#define TIMER_TL                        98      // ** SVCD-TCH; TLX

#define COUNT_10_SEC                    588L
#define COUNT_5_SEC                     294L
#define COUNT_4_SEC                     235L
#define COUNT_3_SEC                     176L
#define COUNT_2_SEC                     118L
#define COUNT_1_SEC                     59L
#define COUNT_HALF_SEC                  29L
#define COUNT_500_MSEC                  29
#define COUNT_400_MSEC                  24
#define COUNT_300_MSEC                  18
#define COUNT_250_MSEC                  15
#define COUNT_200_MSEC                  12
#define COUNT_150_MSEC                  9
#define COUNT_100_MSEC                  6
#define COUNT_50_MSEC                   3

#define COUNT_PER_SEC                   COUNT_1_SEC
// the count for scanning keypad
///#define COUNT_PER_SCAN                  COUNT_100_MSEC
#endif  // if CPU_SPEED

// ** TCH2.33; 
// ########################################################
// each timer coming is 18.6 milliseconds ( in 30 M Hz )
// (46750* 12/ 30) us= 18.6 m sec
// TH1=(65536-46750)= 18786/256= 73;
// TH0=(65536-46750)= 18786%256= 98;
// ########################################################
#if (CPU_SPEED == CPU_30M) 

#define TIMER_TH                        73      // ** SVCD-TCH; THX
#define TIMER_TL                        98      // ** SVCD-TCH; TLX

#define COUNT_10_SEC                    588L
#define COUNT_5_SEC                     294L
#define COUNT_4_SEC                     235L
#define COUNT_3_SEC                     176L
#define COUNT_2_SEC                     118L
#define COUNT_1_SEC                     59L
#define COUNT_HALF_SEC                  29L
#define COUNT_500_MSEC                  29
#define COUNT_400_MSEC                  24
#define COUNT_300_MSEC                  18
#define COUNT_250_MSEC                  15
#define COUNT_200_MSEC                  12
#define COUNT_150_MSEC                  9
#define COUNT_100_MSEC                  6
#define COUNT_50_MSEC                   3

#define COUNT_PER_SEC                   COUNT_1_SEC
// the count for scanning keypad
///#define COUNT_PER_SCAN                  COUNT_100_MSEC
#endif  // if CPU_SPEED


// ** TCH2.33; 
// ########################################################
// each timer coming is 18.5 milliseconds ( in 36.5 M Hz )
// (56575* 12/ 36.5) us= 18.6 m sec     // servo prefer 18.6 ms as PLL_360MHZ
// TH1=(65536-56575)= 8960/256= 35;
// TH0=(65536-56575)= 8960%256= 0;
// ########################################################
#if (CPU_SPEED == CPU_36M) 

#define TIMER_TH                           35          // ** TCH2.33; 
#define TIMER_TL                            0          // ** TCH2.33; 

#define COUNT_10_SEC                    540L
#define COUNT_5_SEC                     270L
#define COUNT_4_SEC                     216L
#define COUNT_3_SEC                     162L
#define COUNT_2_SEC                     108L
#define COUNT_1_SEC                     54L
#define COUNT_HALF_SEC                  27L
#define COUNT_500_MSEC                  27
#define COUNT_400_MSEC                  22
#define COUNT_300_MSEC                  17
#define COUNT_250_MSEC                  14
#define COUNT_200_MSEC                  11
#define COUNT_150_MSEC                  9
#define COUNT_100_MSEC                  6
#define COUNT_50_MSEC                   3

#define COUNT_PER_SEC                   COUNT_1_SEC
// the count for scanning keypad
///#define COUNT_PER_SCAN                  COUNT_100_MSEC
#endif  // if CPU_SPEED


//LJY0.85, for Turbo uP, T0M=0(by 12 clock)
// ########################################################
// each timer coming is 17 milliseconds ( in 39.9 M Hz )
// (56525 * 12/ 39.9) us= 17 m sec
// TH=(65536-56525)= 9011/256= 35;
// TL=(65536-27708)= 9011%256= 51;
// ########################################################

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -