STC12C2052AD單片機做的手機電池充電器程序
if(voltage>4.2050voltage4.235)
{
timeL = 0x96; //PWM模式時他倆用來控制占空比
timeH = 0x96; //0xff-0xc0=0x3f 64/256=25% 占空比(溢出)
START=1;
LED=0;
}
****************************************************/
}
/**********
// 保護函數(shù)
void baohu()
{
if( voltage>4.231)
{
M=0;//過壓燈
N=1;
LED=1;
}
if(voltage3.501)
{
N=0;//欠壓燈
M=1;
LED=1;
}
if( voltage3.772(timeL!=0xcf))
{
timeL = 0xcf; //PWM模式時他倆用來控制占空比
timeH = 0xcf; //0xff-0xc0=0x3f 64/256=25% 占空比(溢出)
START=1;
}
if( voltage4.052voltage>3.772(timeL!=0x60))
{
timeL = 0x60; //PWM模式時他倆用來控制占空比
timeH = 0x60; //0xc0 64/256=25% 占空比(溢出) 高電平時間
START=1;
}
if( voltage>4.052voltage4.167(timeL!=0xb0))
{
timeL = 0xb0; //PWM模式時他倆用來控制占空比
timeH = 0xb0; //0xff-0xc0=0x3f 64/256=25% 占空比(溢出)
START=1;
}
if( voltage>4.167voltage4.218(timeL!=0xe0))
{
timeL = 0xe0; //PWM模式時他倆用來控制占空比
timeH = 0xe0; //0xff-0xc0=0x3f 64/256=25% 占空比(溢出)
START=1;
}
if(voltage>4.220(timeL!=0xf2))
{
timeL = 0xf2; //PWM模式時他倆用來控制占空比
timeH = 0xf2; //0xff-0xc0=0x3f 64/256=25% 占空比(溢出)
START=1;
LED=0;
}
}
***************************/
//延時函數(shù)
void delayms(uint k)
{
uint data i,j;
for(i=0;ik;i++)
{
for(j=0;j600;j++)
{;}
}
}
C語言運算符優(yōu)先級
1級優(yōu)先級 左結(jié)合
() 圓括號 [] 下標運算符 -> 指向結(jié)構體成員運算符 . 結(jié)構體成員運算符
2級優(yōu)先級 右結(jié)合
! 邏輯非運算符 ~ 按位取反運算符 ++ 自增運算符 -- 自減運算符 - 負號運算符 (類型) 類型轉(zhuǎn)換運算符 * 指針運算符 地址與運算符 sizeof 長度運算符
3級優(yōu)先級 左結(jié)合
* 乘法運算符 / 除法運算符 % 取余運算符
4級優(yōu)先級 左結(jié)合
+ 加法運算符 - 減法運算符
5級優(yōu)先級 左結(jié)合
左移運算符 >> 右移運算符
6級優(yōu)先級 左結(jié)合
、=、>、>= 關系運算符
7級優(yōu)先級 左結(jié)合 (注意"等于"運算符== )
== 等于運算符 != 不等于運算符
8級優(yōu)先級 左結(jié)合
按位與運算符
9級優(yōu)先級 左結(jié)合
^ 按位異或運算符
10級優(yōu)先級 左結(jié)合
| 按位或運算符
11級優(yōu)先級 左結(jié)合
邏輯與運算符
12級優(yōu)先級 左結(jié)合
|| 邏輯或運算符
13級優(yōu)先級 右結(jié)合
? : 條件運算符
14級優(yōu)先級 右結(jié)合 (賦值運算符)
=+ =- =* =/ =% = >= = = ^= |= 全為賦值運算符
15級優(yōu)先級 左結(jié)合
, 逗號運算符
三極管相關文章:三極管放大電路
pwm相關文章:pwm是什么
手機充電器相關文章:手機充電器原理
評論