資源簡(jiǎn)介
本實(shí)驗(yàn)設(shè)計(jì)的計(jì)算器可完成加減乘除四則運(yùn)算,壓縮包中含有纖細(xì)資料,包括protuse仿真,PCB板圖設(shè)計(jì)和源代碼。程序簡(jiǎn)單易懂。

代碼片段和文件信息
#include?
#include?
#define?uchar?unsigned?char
#define?uint?unsigned?int
sbit?beep=P3^0;
uchar?aaflag=0opflag1flag2;
long?diyidierjieguo;
uchar?code?KeyCodeTable[]=
{
?? 0x280x140x240x440x120x220x420x110x210x410x880x840x820x810x480x18
};
uchar?code?dula[]={0xdf0xef0xf70xfb0xfd0xfe};
uchar?code?table[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x00};
uchar??buffer[6]={01010101010};
void?delay(uint?z)
{
uint?xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
uchar?Keys_Scan()
{
? uchar?sCodekCodeiktmp;
P1?=?0xf0;
if((P1&0xf0)!=0xf0)
{???delay(1);
if((P1&0xf0)!=0xf0)
{??sCode?=?0xfe;
for(k=0;k<4;k++)
{???P1?=?sCode;
if((P1&0xf0)!=0xf0)
{??kCode?=?~P1;
for(i=0;i<16;i++)
{???if(kCode?==?KeyCodeTable[i])
????????????????????{???P1=0xf0;
?????????????????????????while(1)
?????????????????????????{?tmp=P1;
??????????????????????????if(tmp==0xf0)?{break;}
?????????????????????????}
??????????????????????????flag2++;
??????????????????????????return?i;
???????????????????????
????????????????????}
}
}
sCode?=?_crol_(sCode1);
}
}
}
return?16;
}
void?doo(uchar?key)
{??uchar??inka[6]b[6]c[6];
???long?m;
???if((key>=0)&&(key<=9))
????{??if(flag==1)
??????{??flag=0;
?????????for(i=0;i<6;i++)
?????????buffer[i]=10;
??????}
???????if(flag2==1)?buffer[0]=10;
???????for(i=0;i<5;i++)
????????buffer[5-i]=buffer[4-i];
????????buffer[0]=key;
????}
???if((key>=10)&&(key<=13))
????{?op=key;
???????for(i=0;i<6;i++)
???????{?a[i]=buffer[i];
?????????if(a[i]==10)
??????????a[i]=0;
???????}?
??????diyi=a[5]*100000+a[4]*10000+a[3]*1000+a[2]*100+a[1]*10+a[0];
??????flag=1;
????}?
????if(key==14)
???{?for(i=0;i<6;i++)
???????{?b[i]=buffer[i];
?????????if(b[i]==10)
??????????b[i]=0;
???????}?
???????dier=b[5]*100000+b[4]*10000+b[3]*1000+b[2]*100+b[1]*10+b[0];
????????switch(op)
?????????{?case?10:???jieguo=diyi+dier;?break;
???????????case?11:???jieguo=diyi-dier;?break;
???????????case?12:???jieguo=diyi*dier;?break;
???????????case?13:???m=diyi/dier;?n=diyi%dier*10/dier;k=diyi%dier*10%dier*10/dier;?break;
???????????default:???break;
?????????}
????????if(op==13)
??????????{?flag1=1;
????????????buffer[0]=k;
????????????buffer[1]=n;
????????????for(i=2;i<6;i++)
????????????{?c[i]=m%10;
??????????????m=m/10;
????????????}
?????????????i=5;
????????????while((c[i]==0)&&(i>2))
????????????{?c[i]=10;
??????????????i--;
????????????}
?????????for(i=2;i<6;i++)
???????????buffer[i]=c[i];
?????????
??????????}??
??else?{??for(i=0;i<6;i++)
??????????{?c[i]=jieguo%10;
????????????jieguo=jieguo/10;
??????????}
???????????i=5;
??????????while(c[i]==0)
????????????{?c[i]=10;
??????????????i--;
?????????????if(i==255)?break;
????????????}
?????????for(i=0;i<6;i++)
???????????buffer[i]=c[i];
????????}
?????}
?????if(key==15)
????????{??
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????742??2011-07-01?20:17??計(jì)算器\4×4鍵盤(pán)矩陣控制條形LED顯示.PWI
?????文件??????98460??2009-03-03?11:30??計(jì)算器\Last?Loaded?復(fù)件?4×4鍵盤(pán)矩陣控制條形LED顯示.DBK
?????文件???????1155??2009-03-10?21:28??計(jì)算器\Keil?C\4×4鍵盤(pán)矩陣控制條形LED顯示
?????文件????????573??2009-03-10?21:28??計(jì)算器\Keil?C\4×4鍵盤(pán)矩陣控制條形LED顯示.hex
?????文件???????3934??2011-07-01?12:20??計(jì)算器\code\key-led.c
?????文件???????5429??2011-07-01?12:18??計(jì)算器\code\key-led.hex
?????文件???????7543??2011-07-01?12:18??計(jì)算器\code\key-led.LST
?????文件??????13864??2011-07-01?12:18??計(jì)算器\code\key-led.M51
?????文件???????9917??2011-07-01?12:18??計(jì)算器\code\key-led
?????文件??????????0??2011-07-01?19:27??計(jì)算器\code\key-led.plg
????.......??????1658??2011-06-28?22:11??計(jì)算器\code\key-led_Uv2.Bak
?????文件???????1658??2011-06-29?16:30??計(jì)算器\code\key-led.Uv2
????.......??????1205??2011-07-01?19:08??計(jì)算器\code\key-led_Opt.Bak
?????文件???????1202??2011-07-01?19:28??計(jì)算器\code\key-led.Opt
?????文件??????12089??2011-07-01?12:18??計(jì)算器\code\key-led.OBJ
?????文件?????????69??2011-07-01?12:18??計(jì)算器\code\key-led.lnp
?????文件??????16129??2011-07-01?17:01??計(jì)算器\4×4鍵盤(pán)矩陣控制條形LED顯示.EDF
?????文件???????2194??2011-07-01?17:31??計(jì)算器\4×4鍵盤(pán)矩陣控制條形LED顯示.SDF
?????文件?????116434??2011-07-01?17:25??計(jì)算器\Last?Loaded?4×4鍵盤(pán)矩陣控制條形LED顯示.DBK
?????文件?????116434??2011-07-01?17:44??計(jì)算器\4×4鍵盤(pán)矩陣控制條形LED顯示.DSN
?????文件??????22803??2011-07-01?17:31??計(jì)算器\Last?Loaded?4×4鍵盤(pán)矩陣控制條形LED顯示.LBK
?????文件??????25182??2011-07-01?17:44??計(jì)算器\4×4鍵盤(pán)矩陣控制條形LED顯示.LYT
?????目錄??????????0??2011-06-28?11:42??計(jì)算器\Keil?C
?????目錄??????????0??2011-06-28?11:42??計(jì)算器\code
?????目錄??????????0??2011-06-28?11:42??計(jì)算器
-----------?---------??----------?-----??----
???????????????458674????????????????????25
評(píng)論
共有 條評(píng)論