#include <reg51.h>
sbit E=P2^2;
sbit RS=P2^0;
sbit RW=P2^1;
#define GPIO_KEY P1
unsigned char KeyValue=17; //键盘按键值
void KeyDown(void); //键盘扫描
void delay1ms(unsigned int x);
void init(); //lcd1602初始化
void writecom(unsigned char j); //写命令
void writedata(unsigned char j); //写数据
void fbusy(); //忙检测
unsigned char LEDBuffer[5];
unsigned char i=0; //x作为第一个数据 注意char型的数据位数只有8位,最高计数到256
unsigned char flag=0;
unsigned int result=0,temp=0,x;
unsigned int numbuffer[10]; //用于缓存数据
unsigned int j=0;
unsigned char pflag=0,mflag=0,hflag=0,lflag=0; //用于定义乘除法的优先级
void main()
{
IT0=1; //定义外部中断用于清屏
EX0=1;
EA=1;
SP=0x50;
init();
writecom(0x80);
writedata('1');
writedata('5');
writedata('0');
writedata('0');
writedata('9');
writedata('0');
writedata('5');
writedata('1');
writedata('3');
writedata('0');
writedata(' ');
writedata(' ');
writedata('m');
writedata('c');
writedata('l');
delay1ms(500);
init();
writecom(0x80);
while(1)
{
// writecom(0x80);
KeyDown();
switch(KeyValue)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:{
writedata('0'+KeyValue);
temp=temp*10+KeyValue; //第一个数字
KeyValue=17;
}
break;
case 10:{
writedata('+');
numbuffer[j]=temp; //缓存区数据
temp=0;
j++;
if(pflag)
{
numbuffer[j-2]=numbuffe
sbit E=P2^2;
sbit RS=P2^0;
sbit RW=P2^1;
#define GPIO_KEY P1
unsigned char KeyValue=17; //键盘按键值
void KeyDown(void); //键盘扫描
void delay1ms(unsigned int x);
void init(); //lcd1602初始化
void writecom(unsigned char j); //写命令
void writedata(unsigned char j); //写数据
void fbusy(); //忙检测
unsigned char LEDBuffer[5];
unsigned char i=0; //x作为第一个数据 注意char型的数据位数只有8位,最高计数到256
unsigned char flag=0;
unsigned int result=0,temp=0,x;
unsigned int numbuffer[10]; //用于缓存数据
unsigned int j=0;
unsigned char pflag=0,mflag=0,hflag=0,lflag=0; //用于定义乘除法的优先级
void main()
{
IT0=1; //定义外部中断用于清屏
EX0=1;
EA=1;
SP=0x50;
init();
writecom(0x80);
writedata('1');
writedata('5');
writedata('0');
writedata('0');
writedata('9');
writedata('0');
writedata('5');
writedata('1');
writedata('3');
writedata('0');
writedata(' ');
writedata(' ');
writedata('m');
writedata('c');
writedata('l');
delay1ms(500);
init();
writecom(0x80);
while(1)
{
// writecom(0x80);
KeyDown();
switch(KeyValue)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:{
writedata('0'+KeyValue);
temp=temp*10+KeyValue; //第一个数字
KeyValue=17;
}
break;
case 10:{
writedata('+');
numbuffer[j]=temp; //缓存区数据
temp=0;
j++;
if(pflag)
{
numbuffer[j-2]=numbuffe