• 大小: 63KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: 其他
  • 标签:

资源简介

文件名:简易计算器 功能:基本功能: 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


评论

共有 条评论

相关资源