StepUp.c
资源名称:SDK_M5661.rar [点击查看]
上传用户:hjhsjcl
上传日期:2020-09-25
资源大小:11378k
文件大小:9k
源码类别:
压缩解压
开发平台:
C++ Builder
- /*==========================================================================
- Copyright (c) 2004 ALi Corporation. All Rights Reserved
- File: StepUp.c
- content: step up converter
- History: Created by Hsin Hsien Wu 2004/2/9
- ==========================================================================*/
- #include "TypeDef.h"
- #include "Const.h"
- #include "Reg5661.h"
- #ifdef _LIB_MAKE_
- #undef USE_STEP_UP_CONVERTER
- #define USE_STEP_UP_CONVERTER 1
- #endif
- #if(USE_STEP_UP_CONVERTER)
- #if((LCD_TYPE==TFT_ORISE)) // Jeff070125#2
- #include "StepUp.h"
- #define DutCycle_defatult_H0 27//28 // modify by Rojam 2007-04-02 11:30
- #define DutCycle_defatult_H1 0
- #define DutCycle_defatult_L0 22//14 // modify by Rojam 2007-04-02 11:30
- #define DutCycle_defatult_L1 0
- #if(_PM_INIT_)
- void InitStepUpConverter (void) large
- {
- //WORD wAuxDelay;
- //BYTE bAuxtemp;
- obPWM_SET_1=DutCycle_defatult_H0;
- obPWM_SET_2=DutCycle_defatult_H1;
- obPWM_SET_3=DutCycle_defatult_L0;
- obPWM_SET_4=DutCycle_defatult_L1;
- obPWM_SET_5|=0x02;
- obMODSEL3|=0x10;
- //for(wAuxDelay=0;wAuxDelay<0x0FFF;wAuxDelay=wAuxDelay+1)
- // {bAuxtemp=AuxIncheck( );}
- //if(bAuxtemp>125)
- //{
- // PwmDisable();
- //}
- return;
- }
- #endif
- // WHH 070128 mark
- /*CBYTE cbPwmSet1[9] = {140,93,70,56,46,40,35,31,28};
- CBYTE cbPwmSet2[9] = {0,0,0,0,0,0,0,0,0};
- CBYTE cbPwmSet3[9] = {70,47,35,28,23,20,17,15,14};
- CBYTE cbPwmSet4[9] = {0,0,0,0,0,0,0,0,0};*/
- // WHH 070128
- //CBYTE cbPwmSet1[13] = {140,93,70,56,46,40,35,31,28,25,23,22,20}; // modify by Rojam 2007-04-02 11:34
- CBYTE cbPwmSet1[13] = {110,73,55,44,37,31,28,24,22,20,18,17,16};
- CBYTE cbPwmSet2[13] = {0}; // WHH070309#?
- //CBYTE cbPwmSet3[13] = {70,47,35,28,23,20,17,15,14,13,12,11,10};
- CBYTE cbPwmSet3[13] = {132,88,66,53,44,38,33,29,27,24,22,20,19};
- CBYTE cbPwmSet4[13] = {0}; // WHH070309#?
- void StepUpConverterDutyCycleSetting(void) large
- {
- BYTE btemp;
- btemp=obCLKMCUCTRL&0x70;
- switch(btemp)
- {
- case 0x40: // Use DCV_SYS_CLK
- {
- obPWM_SET_1=cbPwmSet1[obCLKMCUDIVF];
- obPWM_SET_2=cbPwmSet2[obCLKMCUDIVF];
- obPWM_SET_3=cbPwmSet3[obCLKMCUDIVF];
- obPWM_SET_4=cbPwmSet4[obCLKMCUDIVF];
- }
- break;
- case 0x30: // Use Audio clock
- {
- obPWM_SET_1=(cbPwmSet1[obCLKMCUDIVF]>>1); // WHH070309#?
- obPWM_SET_2=(cbPwmSet2[obCLKMCUDIVF]>>1);
- obPWM_SET_3=(cbPwmSet3[obCLKMCUDIVF]>>1);
- obPWM_SET_4=(cbPwmSet4[obCLKMCUDIVF]>>1);
- }
- break;
- case 0x50: // Use XTAL clock
- {
- obPWM_SET_1=18;
- obPWM_SET_2=0;
- obPWM_SET_3=22;//11; // modify by Rojam 2007-04-13 10:33
- obPWM_SET_4=0;
- }
- break;
- case 0x00: // Use 120/2MHz clock
- {
- obPWM_SET_1=90;//114; // modify by Rojam 2007-04-13 10:33
- obPWM_SET_2=0;
- obPWM_SET_3=108;//57; // modify by Rojam 2007-04-13 10:33
- obPWM_SET_4=0;
- }
- break;
- case 0x20: // Use 48MHz clock
- {
- obPWM_SET_1=72;//91; // modify by Rojam 2007-04-13 10:33
- obPWM_SET_2=0;
- obPWM_SET_3=86;//46; // modify by Rojam 2007-04-13 10:33
- obPWM_SET_4=0;
- }
- break;
- }
- return;
- }
- #if(!(_PM_PLAY_DATA_RTN_RESTORE_))
- void PwmEnable() large
- {
- obMODSEL3 |= 0x10;
- }
- #endif
- #if(!(_PM_MTP_INIT_|_PM_PLAY_DATA_RTN_RESTORE_))
- void PwmDisable() large
- {
- obGPIOBDIR|= 0x01;
- obGPIOBDAT&=(~0x01); //let GPIOB0 = low then disable pwm
- obMODSEL3 &= (~0x10);
- }
- #endif
- #elif((LCD_TYPE==TFT_TOPPOLY)) // Jeff070125#2
- #include "StepUp.h"
- #define DutCycle_defatult_H0 28
- #define DutCycle_defatult_H1 0
- #define DutCycle_defatult_L0 16
- #define DutCycle_defatult_L1 0
- #if(_PM_INIT_)
- void InitStepUpConverter (void) large
- {
- //WORD wAuxDelay;
- //BYTE bAuxtemp;
- obPWM_SET_1=DutCycle_defatult_H0;
- obPWM_SET_2=DutCycle_defatult_H1;
- obPWM_SET_3=DutCycle_defatult_L0;
- obPWM_SET_4=DutCycle_defatult_L1;
- obPWM_SET_5|=0x02;
- obMODSEL3|=0x10;
- //for(wAuxDelay=0;wAuxDelay<0x0FFF;wAuxDelay=wAuxDelay+1)
- // {bAuxtemp=AuxIncheck( );}
- //if(bAuxtemp>125)
- //{
- // PwmDisable();
- //}
- return;
- }
- #endif
- // WHH 070128 mark
- /*CBYTE cbPwmSet1[9] = {140,93,70,56,47,40,35,31,28};
- CBYTE cbPwmSet2[9] = {0,0,0,0,0,0,0,0,0};
- CBYTE cbPwmSet3[9] = {80,53,40,32,27,23,20,18,16};
- CBYTE cbPwmSet4[9] = {0,0,0,0,0,0,0,0,0};*/
- // WHH 070128
- CBYTE cbPwmSet1[13] = {140,93,70,56,47,40,35,31,28,25,23,22,20};
- CBYTE cbPwmSet2[13] = {0}; // WHH070309#?
- CBYTE cbPwmSet3[13] = {80,53,40,32,27,23,20,18,16,15,13,12,11};
- CBYTE cbPwmSet4[13] = {0}; // WHH070309#?
- void StepUpConverterDutyCycleSetting(void) large
- {
- BYTE btemp;
- btemp=obCLKMCUCTRL&0x70;
- switch(btemp)
- {
- case 0x40: // Use DCV_SYS_CLK
- {
- obPWM_SET_1=cbPwmSet1[obCLKMCUDIVF];
- obPWM_SET_2=cbPwmSet2[obCLKMCUDIVF];
- obPWM_SET_3=cbPwmSet3[obCLKMCUDIVF];
- obPWM_SET_4=cbPwmSet4[obCLKMCUDIVF];
- }
- break;
- case 0x30: // Use Audio clock
- {
- obPWM_SET_1=(cbPwmSet1[obCLKMCUDIVF]>>1); // WHH070309#?
- obPWM_SET_2=(cbPwmSet2[obCLKMCUDIVF]>>1);
- obPWM_SET_3=(cbPwmSet3[obCLKMCUDIVF]>>1);
- obPWM_SET_4=(cbPwmSet4[obCLKMCUDIVF]>>1);
- }
- break;
- case 0x50: // Use XTAL clock
- {
- obPWM_SET_1=23;
- obPWM_SET_2=0;
- obPWM_SET_3=13;
- obPWM_SET_4=0;
- }
- break;
- case 0x00: // Use 120/2MHz clock
- {
- obPWM_SET_1=114;
- obPWM_SET_2=0;
- obPWM_SET_3=65;
- obPWM_SET_4=0;
- }
- break;
- case 0x20: // Use 48MHz clock
- {
- obPWM_SET_1=91;
- obPWM_SET_2=0;
- obPWM_SET_3=52;
- obPWM_SET_4=0;
- }
- break;
- }
- return;
- }
- #if(!_PM_MTP_)
- void PwmEnable() large
- {
- obMODSEL3 |= 0x10;
- }
- #endif
- #if(!(_PM_MTP_INIT_))
- void PwmDisable() large
- {
- obGPIOBDIR|= 0x01;
- obGPIOBDAT&=(~0x01); //let GPIOB0 = low then disable pwm
- obMODSEL3 &= (~0x10);
- }
- #endif
- #elif((LCD_TYPE==TFT_SOLOMON)) // Jeff070125#2
- #include "StepUp.h"
- #define DutCycle_defatult_H0 36
- #define DutCycle_defatult_H1 0
- #define DutCycle_defatult_L0 27
- #define DutCycle_defatult_L1 0
- #if(_PM_INIT_)
- void InitStepUpConverter (void) large
- {
- //WORD wAuxDelay;
- //BYTE bAuxtemp;
- obPWM_SET_1=DutCycle_defatult_H0;
- obPWM_SET_2=DutCycle_defatult_H1;
- obPWM_SET_3=DutCycle_defatult_L0;
- obPWM_SET_4=DutCycle_defatult_L1;
- obPWM_SET_5|=0x02;
- obMODSEL3|=0x10;
- //for(wAuxDelay=0;wAuxDelay<0x0FFF;wAuxDelay=wAuxDelay+1)
- // {bAuxtemp=AuxIncheck( );}
- //if(bAuxtemp>125)
- //{
- // PwmDisable();
- //}
- return;
- }
- #endif
- // WHH 070128 mark
- /*CBYTE cbPwmSet1[9] = {180,120,90,72,60,51,45,40,36};
- CBYTE cbPwmSet2[9] = {0,0,0,0,0,0,0,0,0};
- CBYTE cbPwmSet3[9] = {135,90,68,54,45,39,34,30,27};
- CBYTE cbPwmSet4[9] = {0,0,0,0,0,0,0,0,0};*/
- // WHH 070128
- CBYTE cbPwmSet1[13] = {180,120,90,72,60,51,45,40,36,33,30,28,26};
- CBYTE cbPwmSet2[13] = {0}; // WHH070309#?
- CBYTE cbPwmSet3[13] = {135,90,68,54,45,39,34,30,27,25,23,21,19};
- CBYTE cbPwmSet4[13] = {0};
- void StepUpConverterDutyCycleSetting(void) large
- {
- BYTE btemp;
- btemp=obCLKMCUCTRL&0x70;
- switch(btemp)
- {
- case 0x40: // Use DCV_SYS_CLK
- {
- obPWM_SET_1=cbPwmSet1[obCLKMCUDIVF];
- obPWM_SET_2=cbPwmSet2[obCLKMCUDIVF];
- obPWM_SET_3=cbPwmSet3[obCLKMCUDIVF];
- obPWM_SET_4=cbPwmSet4[obCLKMCUDIVF];
- }
- break;
- case 0x30: // Use Audio clock
- {
- obPWM_SET_1=(cbPwmSet1[obCLKMCUDIVF]>>1); // WHH070309#?
- obPWM_SET_2=(cbPwmSet2[obCLKMCUDIVF]>>1);
- obPWM_SET_3=(cbPwmSet3[obCLKMCUDIVF]>>1);
- obPWM_SET_4=(cbPwmSet4[obCLKMCUDIVF]>>1);
- }
- break;
- case 0x50: // Use XTAL clock
- {
- obPWM_SET_1=30;
- obPWM_SET_2=0;
- obPWM_SET_3=23;
- obPWM_SET_4=0;
- }
- break;
- case 0x00: // Use 120/2MHz clock
- {
- obPWM_SET_1=147;
- obPWM_SET_2=0;
- obPWM_SET_3=110;
- obPWM_SET_4=0;
- }
- break;
- case 0x20: // Use 48MHz clock
- {
- obPWM_SET_1=118;
- obPWM_SET_2=0;
- obPWM_SET_3=88;
- obPWM_SET_4=0;
- }
- break;
- }
- return;
- }
- //#if(0)
- #if(!_PM_MTP_)
- void PwmEnable() large
- {
- obMODSEL3 |= 0x10;
- }
- #endif
- //#endif
- #if(!(_PM_MTP_INIT_))
- void PwmDisable() large
- {
- obGPIOBDIR|= 0x01;
- obGPIOBDAT&=(~0x01); //let GPIOB0 = low then disable pwm
- obMODSEL3 &= (~0x10);
- }
- #endif
- #endif
- #endif
English
