📄 pragma.c.bak
字号:
#pragma SFR
#pragma NOP
#pragma DI
#pragma EI
#pragma access
#pragma vect RESET main NOBANK //DON'T USE CSTART
#pragma interrupt INTTM80 tm2ms //TIMER80 INT PROGRAM
#define uchar unsigned char
#define MOSF P13.0
#define MOSCM PM12.3
#define MOSC P12.3
uchar TimerCnt;
uchar ADC();
bit Timerflg;
void main()
{
#asm
;stack head 0XFEFF
MOVW AX,#0FEFFH
MOVW SP,AX
NOP
#endasm
LVIS=0X09; //2.3V
LVIM=0x80; //>2.3v work
TMHMD1=0b01010000; //1.88KHz SUBCLK
CMP01=200; //50ms 480KH
TMHE1=1; //TMH1
while(!TMIFH1);
TMIFH1=0; //TMH1 FLG
TMHE1=0;
PCC=0;
PPCC=0x02;//2MHZ fxp
CR80=62; //2ms
TCE80=1;
TimerCnt=0;
MOSF=0;
MOSCM=0;
MOSC=0;
if(LVIF)
{
MOSF=1;
}
TMMK80=0;
EI();
while(1)
{
if(Timerflg)
{
WDTE=0xAC;
Timerflg=0;
TimerCnt++;
if(LVIS==0X09) //2.35V
{
if(LVIF)
MOSF=1;
else
{
MOSF=0;
LVIS=0X03;
}
}
else if(LVIS==0X03)//3.7V
{
if(LVIF)
{
MOSC=0;
LVIS=0X09;
}
else
MOSC=1;
}
else LVIS=0X03;
}
}
}
void tm2ms()
{
Timerflg=1;
}
uchar ADC(uchar i)
{
register uchar j;
ADM=0X19; //ADCE=1,FR=011
ADS=i;
NOP();
NOP();
ADCS=1;
while(!ADIF)
{
;
}
ADIF=0;
j=ADCRH;
ADCS=0;
ADCE=0;
return j;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -