资源简介
文件名:简易计算器
功能:基本功能:
1、实现加、减、乘、除
2、小数的加减乘除
扩展功能:
1、能显示负数
2、能做复合运算
作者:
创建时间:
修改时间:
特别说明:
代码片段和文件信息
/*****************************************************************************************************************************
文件名:简易计算器
功能:基本功能:
1、实现加、减、乘、除
2、小数的加减乘除
扩展功能:
1、能显示负数
2、能做复合运算
作者:
创建时间:
修改时间:
特别说明:
*****************************************************************************************************************************/
#include
#define uchar unsigned char
#define uint unsigned int
#define weixuan P1
#define duanxuan P0
uchar code tab[11] = /*数码管编码*/
{0x3f0x060x5b0x4f
0x660x6d0x7d0x07
0x7f0x6f0x00};
uchar code scan[8] = /*数码管位选编码*/
{0x7f0xbf0xdf0xef
0xf70xfb0xfd0xfe};
uchar cache[8] = {0};
uchar result0 result1;
uchar a[8] = {110100100010000100000100000010000000};
uint res[3] = {0};
uint dip[8] = {0};
uint num1 num2 RESU;
uchar X Y Z p op jw;
uchar set t i j k index;
bit flag flag0 flag1 flag2 f; /*定义标志位,flag=0时没有数据输入,flag=1的时候有数据输入*/
void LED_IN();
void scan_key();
void operation();
void deal_keynumber();
void convert();
/****************************************************************************************************************************
延时函数
****************************************************************************************************************************/
void delay(uchar t)
{
for(i = t;i>0;i--)
for(j = 0;j<200;j++);
}
/****************************************************************************************************************************
初始化子程序
****************************************************************************************************************************/
void init()
{
TMOD = 0x01;
TH0 = -10;
TR0 = 1;
ET0 =1;
EA = 1;
}
/****************************************************************************************************************************
主函数
****************************************************************************************************************************/
void main()
{
init();
while(1)
{
scan_key();
if(flag0 == 1&&flag == 1)
{
LED_IN();
flag0 = 0;
}
}
}
/****************************************************************************************************************************
定时器中断服务子程序,定时(5ms)扫描数码管一次
****************************************************************************************************************************/
void TIMER_0() interrupt 1
{
flag0 = 1;
TH0 = -10;
}
/****************************************************************************************************************************
矩阵键盘的扫描,给变量p赋相应的“符号标志”,为数据的输入以及加减乘除的识别做准备
****************************************************************************************************************************/
void scan_key()
{
uchar m;
P3=0xff;
P3=0x0f;
if(P3!=0x0f) //判断是否有按键按下
{
delay(40); //延时去抖
if(P3!=0x0f)//确认真的有键按下
{
set++; /*记录按键的次数*/
fl
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 92409 2009-07-25 18:14 第二次\简易计算器(不能实现先小数的加减乘除)\Last Loaded 按键.DBK
文件 92409 2009-07-26 15:59 第二次\简易计算器(不能实现先小数的加减乘除)\按键.DSN
文件 768 2009-07-26 12:56 第二次\简易计算器(不能实现先小数的加减乘除)\按键.PWI
文件 6376 2005-03-22 15:22 第二次\简易计算器(不能实现先小数的加减乘除)0\STARTUP.A51
文件 14049 2009-07-23 14:24 第二次\简易计算器(不能实现先小数的加减乘除)0\STARTUP.LST
文件 749 2009-07-23 14:24 第二次\简易计算器(不能实现先小数的加减乘除)0\STARTUP.OBJ
文件 9885 2009-07-26 15:59 第二次\简易计算器(不能实现先小数的加减乘除)0\Text1.c
文件 24284 2009-07-26 15:58 第二次\简易计算器(不能实现先小数的加减乘除)0\Text1.LST
文件 15363 2009-07-26 15:58 第二次\简易计算器(不能实现先小数的加减乘除)0\Text1.OBJ
文件 12721 2009-07-26 15:58 第二次\简易计算器(不能实现先小数的加减乘除)0\吴彬
文件 5087 2009-07-26 15:58 第二次\简易计算器(不能实现先小数的加减乘除)0\吴彬.hex
文件 41 2009-07-26 15:58 第二次\简易计算器(不能实现先小数的加减乘除)0\吴彬.lnp
文件 18227 2009-07-26 15:58 第二次\简易计算器(不能实现先小数的加减乘除)0\吴彬.M51
文件 1195 2009-07-27 19:33 第二次\简易计算器(不能实现先小数的加减乘除)0\吴彬.Opt
文件 210 2009-07-27 19:33 第二次\简易计算器(不能实现先小数的加减乘除)0\吴彬.plg
文件 2146 2009-07-24 02:03 第二次\简易计算器(不能实现先小数的加减乘除)0\吴彬.Uv2
....... 1195 2009-07-25 21:46 第二次\简易计算器(不能实现先小数的加减乘除)0\吴彬_Opt.Bak
文件 2190 2009-07-23 14:25 第二次\简易计算器(不能实现先小数的加减乘除)0\吴彬_Uv2.Bak
目录 0 2009-07-26 16:06 第二次\简易计算器(不能实现先小数的加减乘除)
目录 0 2009-07-27 19:33 第二次\简易计算器(不能实现先小数的加减乘除)0
目录 0 2009-07-26 16:07 第二次
----------- --------- ---------- ----- ----
299304 21
- 上一篇:数据结构课程设计—利用栈求表达式的值
- 下一篇:一键拷贝小工具
评论
共有 条评论