⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scan.c

📁 Holtek单片机的的中断程序
💻 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 + -