📄 scan.c
字号:
#include <ht46r62.h>
#pragma rambank0
bit direction;
unsigned int keyflag;
unsigned int pressdown;
unsigned char *p;
unsigned char adcurrent;
const char numshow[10]=
{0x05f,0x050,0x03d,0x79,0x72,0x6b,0x6f,0x51,0x7f,0x7b};
#pragma vector isr_4 @ 0x4
#pragma vector isr_8 @ 0x8
#pragma vector isr_c @ 0xc
#pragma vector isr_14 @ 0x14
//ISR for safequard
//void isr_4(){} // external ISR
void isr_8(){} // timer/event 0
void isr_c(){} // timer/event 1
void isr_14(){_nop();
_nop();
_nop();}
void io_init()
{
_pac=0x08;
_pa=0x0;
_pbc=0xff;
_pb=0xff;
_pdc=0xff;
// _pd=0x0ff;
}
void int_init()
{ _emi=1;
_eei0=1;
}
void timer_base_interrupt()
{_rtcc=0x0a;
_emi=1;
_erti=1;
_acsr=0x00;
}
void isr_4()
{_emi=0;
_eif0=0;
if(keyflag==0)
{pressdown=1;
keyflag=1;}
else
{pressdown=0;
keyflag=0;
}
}
void disp_voltage_low (unsigned char data_val)
{unsigned char ast;
unsigned char low_data;
low_data=numshow[data_val];
_acc=low_data;
ast=(low_data&0x0f);
_acc=ast;
_bp=0x01;
_mp1=0x4b;
_iar1=ast;
_swap(&low_data);
ast=(low_data&0x0f);
_acc=ast;
_mp1=0x4c;
_iar1=ast;
}
void bat_flash()
{unsigned char i;
_bp=0x01;
_mp1=0x4c;
_iar1=0x08;
_delay(500000);
_iar1=0x00;
_delay(500000);
}
void bat_stay()
{
_bp=0x01;
_mp1=0x4c;
_iar1=0x08;
}
void clr_screen()
{unsigned int i;
_bp=0x01;
_mp1=0x49;
for(i=0;i<10;i++)
{
#asm
mov a,0h
mov [02],a
#endasm
//_iar1=0x00;
_mp1=_mp1+0x1;
}
}
void main() //show the input current
{
io_init();
int_init();
keyflag=0;
//timer_base_interrupt();
clr_screen();
while(1)
{
if(pressdown==1)
{bat_flash();}
else
{bat_stay();}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -