资源简介
本实验设计的计算器可完成加减乘除四则运算,压缩包中含有纤细资料,包括protuse仿真,PCB板图设计和源代码。程序简单易懂。
代码片段和文件信息
#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)
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 742 2011-07-01 20:17 计算器\4×4键盘矩阵控制条形LED显示.PWI
文件 98460 2009-03-03 11:30 计算器\Last Loaded 复件 4×4键盘矩阵控制条形LED显示.DBK
文件 1155 2009-03-10 21:28 计算器\Keil C\4×4键盘矩阵控制条形LED显示
文件 573 2009-03-10 21:28 计算器\Keil C\4×4键盘矩阵控制条形LED显示.hex
文件 3934 2011-07-01 12:20 计算器\code\key-led.c
文件 5429 2011-07-01 12:18 计算器\code\key-led.hex
文件 7543 2011-07-01 12:18 计算器\code\key-led.LST
文件 13864 2011-07-01 12:18 计算器\code\key-led.M51
文件 9917 2011-07-01 12:18 计算器\code\key-led
文件 0 2011-07-01 19:27 计算器\code\key-led.plg
....... 1658 2011-06-28 22:11 计算器\code\key-led_Uv2.Bak
文件 1658 2011-06-29 16:30 计算器\code\key-led.Uv2
....... 1205 2011-07-01 19:08 计算器\code\key-led_Opt.Bak
文件 1202 2011-07-01 19:28 计算器\code\key-led.Opt
文件 12089 2011-07-01 12:18 计算器\code\key-led.OBJ
文件 69 2011-07-01 12:18 计算器\code\key-led.lnp
文件 16129 2011-07-01 17:01 计算器\4×4键盘矩阵控制条形LED显示.EDF
文件 2194 2011-07-01 17:31 计算器\4×4键盘矩阵控制条形LED显示.SDF
文件 116434 2011-07-01 17:25 计算器\Last Loaded 4×4键盘矩阵控制条形LED显示.DBK
文件 116434 2011-07-01 17:44 计算器\4×4键盘矩阵控制条形LED显示.DSN
文件 22803 2011-07-01 17:31 计算器\Last Loaded 4×4键盘矩阵控制条形LED显示.LBK
文件 25182 2011-07-01 17:44 计算器\4×4键盘矩阵控制条形LED显示.LYT
目录 0 2011-06-28 11:42 计算器\Keil C
目录 0 2011-06-28 11:42 计算器\code
目录 0 2011-06-28 11:42 计算器
----------- --------- ---------- ----- ----
458674 25
相关资源
- 毕业设计 基于单片机的测速系统
- 光电编码器-单片机程序(ATmega16).
- proteus 双机通信仿真简单实用的单片机
- c51单片机的经典密码锁keil c
- QT4编写的简单计算器
- 基于单片机的流量控制系统设计
- 利用单片机定时器产生的占空比可调
- 51单片机超声测距汇编
- 基于51单片机12864画点画线画圆的程序
- 倒车雷达超声波测距系统
- 自己写的WINDOWS附件中的科学计算器,
- 基于8255a的计算器
- SPWM脉宽数计算器
- 波形发生器 Proteus
- STC15 万年历程序
- 基于两块430单片机及nrf24l01无线数据传
- 单片机和LCD1602实现的简易计算器
- 51单片机热敏电阻测温查表程序
- 单片机基础第三版课后答案
- 多项式相乘一元稀疏多项式简单计算
- 坦克大战—单片机+proteus仿真
- 基于单片机的温室大棚温湿度亮度自
- 电风扇模拟控制系统设计
- 基于AT89C51单片机的电子计时牌设计
- 用51单片机设计的GPS定位系统论文
- 基于51单片机的CC1100CC1101发送和接收的
- 基于C51单片机的简单控制灯光的程序
- 51单片机 经典4位数码管显示,带闪烁
- 三国杀武将张昌蒲技能计算器
- 基于单片机的智能交通灯控制系统设
评论
共有 条评论