📄 scan.c
字号:
#include <ht46r62.h>
#pragma rambank0
bit direction;
unsigned int keyflag;
unsigned int ledflag;
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_14(){_nop();
_nop();
_nop();}
void isr_c() // timer/event 1
{
int i;
_tmrc=0x80;
// if(ledflag==0)
// { ledflag=1;
// _pa7=1;
// }
// else
// {ledflag=0;
// _pa7=0;
// }
if(keyflag==1)
{
for(i=0;i<125;i++)
{
_delay(15000);
_delay(15000);
_delay(15000);
_delay(15000);
_delay(15000);
_delay(15000);
_delay(15000);
_delay(15000);
}
_pa7=0;
keyflag=0;
}
_tmr=0;
_tmrc=0x90;
}
void led_check()
{
int i;
if(keyflag==1)
{
for(i=0;i<125;i++)
{
_delay(15000);
_delay(15000);
_delay(15000);
_delay(15000);
_delay(15000);
_delay(15000);
_delay(15000);
_delay(15000);
}
_pa7=0;
keyflag=0;
}
}
void timer_init()
{ _emi=1;
_et01=1;
_tmr=0;
_tmrc=0x90;
}
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;
_pa7=1;}
else
{pressdown=0;
keyflag=0;
_pa7=0;
}
_emi=1;
_eei0=1;
// timer_init();
}
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();
timer_init();
keyflag=0;
//timer_base_interrupt();
clr_screen();
while(1)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -