📄 wanneng.c
字号:
#include <reg51.h>
#include<keyscan.h>
#define uchar unsigned char
#define uint unsigned int
uchar key;
uchar code disp[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
uchar code disp_dot[11]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xc0};
unsigned long dat1=0,dat2=0,dat3=0;
//////////////////////
int0()interrupt 0 using 0
{ uchar temp;
EA=0; //关中断
switch(keyaction())
{
case 0: { dat1=dat1*10+0; dat3=dat1; } break;
case 1: {dat1=dat1*10+1; dat3=dat1; } break;
case 2: {dat1=dat1*10+2;dat3=dat1;} break;
case 3: {dat1=dat1*10+3;dat3=dat1;} break;
case 4: {dat1=dat1*10+4;dat3=dat1;} break;
case 5: {dat1=dat1*10+5;dat3=dat1;} break;
case 6: {dat1=dat1*10+6;dat3=dat1;} break;
case 7: {dat1=dat1*10+7;dat3=dat1;} break;
case 8: {dat1=dat1*10+8;dat3=dat1;} break;
case 9: { dat1=dat1*10+9;dat3=dat1;} break;
case 'c': {dat1=0;dat2=0;dat3=0;break;}
case '#': break;
case '+': {dat3=0;dat2=dat1;dat1=0;temp='+';dat3=dat2;} break;
case '-': {dat3=0;dat2=dat1;dat1=0;temp='-';dat3=dat2;} break;
case '*': {dat3=0;dat2=dat1;dat1=0;temp='*';dat3=dat2;} break;
case '/': {dat3=0;dat2=dat1;dat1=0;temp='/';dat3=dat2;} break;
case '=': { dat3=0;
switch(temp)
{case '+':dat3=dat2+dat1;break;
case '-':dat3=dat2-dat1;break;
case '*':dat3=dat2*dat1;break;
case '/':dat3=dat2/dat1;break;
}
} break;
}
EA=1; //开中断
}
display_8(long dat) ///定义八位数12345678
{ P0=0;
P0=disp[dat/10000000]; //8位
P2=7;
Delay1ms(1);
P0=0;
P0=disp[dat/1000000%10]; //7位
P2=6;
Delay1ms(1);
P0=0;
P0=disp[dat/100000%10]; //6位
P2=5;
Delay1ms(1);
P0=0;
P0=disp[dat/10000%10]; //5位
P2=4;
Delay1ms(1);
P0=0;
P0=disp[dat/1000%10]; //4位
P2=3;
Delay1ms(1);
P0=0;
P0=disp[dat/100%10]; //3位
P2=2;
Delay1ms(1);
P0=0;
P0=disp[dat/10%10]; //2位
P2=1;
Delay1ms(1);
P0=0;
P0=disp[dat%10]; //1位
P2=0;
Delay1ms(1);
}
main()
{
EA=1; /*开中断*/
IT0=1;
EX0=1;
/*允许外部中断1*/
P1=0xf0;
while(1)
{ P1=0xf0;
// display_4(key,0); ///第0块显示屏
// display_4(1234,1); /// 第一块显示屏
display_8(dat3);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -