#include "AT89x051.H"
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define nop _nop_()
#define SYSTEM_CLK 12000000
#define mT050MS 65536-(50*SYSTEM_CLK)/12000
#define mT12MS 65536-(2*SYSTEM_CLK)/12000
ulong mcp=0,mcs=0;
uint disp[]={0,0,0,0};
uchar lcset[]={2,4,8,16,32,64};
uint pdn=0,sdn=0;
//INT1中断 由P3.2引脚产生
void int_0() interrupt 0 using 0
{
mcp++;
}
//INT1中断 由P3.3引脚产生
void int_1() interrupt 2 using 1
{
mcs++;
}
void jsp(void)
{
int i=0;
pdn=mcp/lcset[i]*100;
}
void jss(void)
{
int n=0;
sdn=mcs/lcset[n]*100;
}
void initial(){
EA=1; // CPU所有中断开(IE最高位MSB)
EX0=1; // INT0中断开
IT0=0; // INT0低电平触发(为1则为下降沿触发)
EX1=1; // INT1中断开
IT1=0; // INT1低电平触发(为1则为下降沿触发)
return;
}
void main(void)
{
initial();
while(1){
jsp();
jss();
}
}