📄 2.c
字号:
#include<reg52.h>
#include<absacc.h>
#define Uchar unsigned char
#define Uint unsigned int
#define Display P1
#define Adadd 0xfef8
Uchar bdata a=0,b=0,d=0;
sbit ledgnd=P3^4;
/**********************/
sbit s1=b^2;
sbit s2=a^1;
sbit s3=a^6;
sbit s4=a^4;
sbit s5=b^5;
sbit s6=a^5;
sbit s7=a^3;
sbit s8=a^2;
sbit s9=b^1;
sbit s10=a^0;
sbit s11=b^6;
sbit s12=a^7;
sbit s13=b^4;
sbit s14=b^0;
sbit s15=b^3;
/***********************/
sbit sign=d^1;
sbit xz=P3^0;
sbit bz=P3^1;
unsigned char led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char s[]={0,11,2,7,5,14,6,4,3,10,1,15,8,13,9,12 };
Uchar value ;
Uchar c=0;
Uint e=0;
char keyvalue=0;
void delay(Uchar x)
{
Uchar i,j,k;
for(i=0;i<x;i++)
{
for(j=0;j<10;j++)
{
for(k=0;k<250;k++);
}
}
}
void int0() interrupt 0 using 1
{
value=XBYTE[Adadd];
sign=1;
if (c==0)
{
++c;
xz=1;
}
else
{
c=0;
xz=0;
}
if (sign==1)
{
if (value>80&value<88) //s2 ,s4
{
if (c==1)
{
if (e==15)
{
s4=1;
Display=led[s[4]];
}
else
;
}
else
{if (e==1)
{
s2=1;
Display=led[s[2]];
}
else
;
}
}
else if(value>58&value<66)//s1,s3
{ if(c==1)
{
if(e==63)
{
s3=1;
Display=led[s[3]];
}
else
;
}
else
{if(e==258 )
{
s1=1;
Display=led[s[1]];
}
else
;
}
}
else if (value>30&value<50)//s11 s6,s13
{ if (c==1)
{
if(e==270)
{
s13=1;
Display=led[s[13]];
}
else
;
}
else
{if(e==31)
{
s6=1;
Display=led[s[6]];
}
else
;
}}
else if (value>103&value<121)//s7 s3 s7,s8
{
if (c==1)
{ if(e==3)
{
s8=1;
Display=led[s[8]];
}
else
;
}
else
{
if(e==7)
{
s7=1;
Display=led[s[7]];
}
else
;
}
}
else if(value>119&value<127) //s4 s10 //s10,s9
{
if (c==1)
{ if(e==0)
{
s10=1;
Display=led[s[10]];
}
else
;
}
else
{ if(e==256)
{
s9=1;
Display=led[s[9]];
}
else
;
}
}
else if (value>142&value<150) //s9 s12
{ //s5,s11
if (c==1)
{ if(e==286)
{
s5=1;
Display=led[s[5]];
}
else
;
}
else
{
if(e==318)
{
s11=1;
Display=led[s[11]];
}
else
;
}
}
else if (value>160&value<168)//s5 s6
{
if (c==1) //s14,s12
{ if(e==255)
{
s14=1;
Display=led[s[14]];
}
else
;
}
else
{ if(e==127)
{
s12=1;
Display=led[s[12]];
}
else
;
}
}
else if(value>179&value<183)//s15
{ if(c==1)
{
if(e==262)
{s15=1;
Display=led[s[15]];}
else
;
}}
sign=0;
e=a+b;
}
XBYTE[Adadd]=c;
}
void main()
{
xz=0;
delay(5);
ledgnd=0;
Display=led[0] ;
IT0=1;
EX0=1;
EA=1;
XBYTE[Adadd]=c;
while (1)
{
;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -