资源简介
本实验设计的计算器可完成加减乘除四则运算,压缩包中含有纤细资料,包括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
相关资源
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 电脑卡西欧计算器 fx-991CN X Emulator19中
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 卡西欧工程计算器模拟器Casio FX
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- 浙江工业大学2005-2006学年单片机习题
- 单片机与PC机串口通讯仿真
评论
共有 条评论