📄 initial.c
字号:
//***********************Initialize RAM&special register********************
void IniSys()
{
for(_mp0=0x7f;_mp0>0xa7;_mp0--)
{
_iar0=0;
}
_pa=0x88;
_pac=0;
m_CountIni=c_CountIni;
m_SaveDx=0xff;
_intc0=0;
_intc1=0;
_tmrc=0;
_rcoccr=0;
_intc0=0x01; //ENABLE THE MASTER INTERRUPT
_intc1=0x01; //ENABLE THE external RC oscillation converter INTERRUPT
_rcoccr=0x20; //TIMER A CLOCK SOURCE:(SYSTEM CLOCK/4)
_rcocr=0x02; //Enable RC OSCILLATION CONVERTER MODE AND Timer A overflow
_tmrbl=0;
_tmrbh=0;
}
//**************************scan key initialize***************************************************************
void SbrScanKeyIni() //INITIALIZE & SAVE THE TMR1B COUNT VALUE TO [50H~67H]
{
m_mode=0;
m_cx=0;
_ascr=0;
m_Flag0=m_Flag0&0xfe; //clear F_ErcocIni _4f_0
_rcoccr=_rcoccr&0xef; //clear rcoccr.4
_tmrbl=0;
_tmrbh=0;
_tmral=(c_Tmra20ms%0x100);
_tmrah=(c_Tmra20ms/0x100);
_rcoccr=_rcoccr|0x10; //set rcoccr.4
while(!F_ErcocIni) //WAIT FOR SCANNING RC1~RC12 OVER
{
;
}
m_Flag0=m_Flag0&0xfd; //clear F_IsrTimer1 _4f_1
}
//**************************refresh data***************************
void SbrRefreshData()
{
m_CountIni=c_CountIni;
m_Flag0=0;
m_del0=_intc0;
_intc0=_intc0&0xfe;
for(m_ex=0;m_ex<12;m_ex++)
{
if(g_RfRef[m_ex]>g_RfSs[m_ex])
{
m_buf2=g_RfRef[m_ex]-g_RfSs[m_ex];
if(m_buf2>c_NsL)
{
m_Flag0=m_Flag0|0x20; //set F_NoRefresh _4f_5
break;
}
}
else
{
m_buf2=g_RfSs[m_ex]-g_RfRef[m_ex];
if(m_buf2>c_NsH)
{
m_Flag0=m_Flag0|0x20; //set F_NoRefresh _4f_5
break;
}
}
}
if(!F_NoRefresh)
{
for(m_ex=0;m_ex<12;m_ex++)
{
g_RfRef[m_ex]=g_RfSs[m_ex]; //refresh g_RfRef[12]
}
}
_intc0=m_del0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -