📄 jishuan.c
字号:
#include <AT89X51.H>
#include<stdio.h>
#include<math.h>
#include<absacc.h>
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x00};
unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char a[8];
unsigned char i,j;
unsigned char temp,x,count;
unsigned char key,k;
unsigned long sun=0,chu=0,xian=0;
bit wei=0;
void main(void)
{
TMOD=0x01;
TH0=(65536-4000) / 256;
TL0=(65536-4000) % 256;
TR0=1;
ET0=1;
EA=1;
count=0;
for( k=4;;k++)
{
P3=dispbitcode[k];
temp=P3;
temp=temp & 0x0f;
if (temp!=0x0f)
{
for(i=50;i>0;i--)
for(j=200;j>0;j--);
temp=P3;
temp=temp & 0x0f;
if (temp!=0x0f)
{
temp=P3;
temp=temp & 0x0f;
switch(temp)
{
case 0x0e:
if (k==4)
key=7;
if (k==5)
key=4;
if (k==6)
key=1;
if (k==7)
key=15;
break;
case 0x0d:
if (k==4)
key=8;
if (k==5)
key=5;
if (k==6)
key=2;
if (k==7)
key=0;
break;
case 0x0b:
if (k==4)
key=9;
if (k==5)
key=6;
if (k==6)
key=3;
if (k==7)
key=14;
break;
case 0x07:
if (k==4)
key=10;
if (k==5)
key=11;
if (k==6)
key=12;
if (k==7)
key=13;
break;
}
while(temp!=0x0f)
{
temp=P3;
temp=temp & 0x0f;
}
}
}
else
key=16;
if (k==7)
k=3;
if ((key>=0) && (key<10))
{
sun=sun*10+key;
xian=sun;
}
if ((key>9) && (key<15))
{
switch(count)
{
case 0:
count=key;
chu=sun;
sun=0;
break;
case 10:
count=key;
xian=chu/sun;
chu=xian;
sun=0;
break;
case 11:
count=key;
xian=chu*sun;
chu=xian;
sun=0;
break;
case 12:
count=key;
xian=chu-sun;
chu=xian;
sun=0;
break;
case 13:
count=key;
xian=chu+sun;
chu=xian;
sun=0;
break;
case 14:
count=key;
break;
}
}
if (key==15)
{
count=0;
sun=0;
chu=0;
xian=0;
}
}
}
void t0(void) interrupt 1 using 0
{
TR0=0;
TH0=(65536-4000) / 256;
TL0=(65536-4000) % 256;
a[7]=xian/10000000;
a[6]=xian%10000000/1000000;
a[5]=xian%1000000/100000;
a[4]=xian%100000/10000;
a[3]=xian%10000/1000;
a[2]=xian%1000/100;
a[1]=xian%100/10;
a[0]=xian%10;
if (wei==0)
{
wei=1;
while(!(a[7-x]>0))
{
if (x>6)
break;
else
x++;
}
}
P1=0xff;
P2=dispcode[a[7-x]];
P1=dispbitcode[x];
x++;
if(x>7)
{
x=0;
wei=0;
}
TR0=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -