• 大小: 1.66MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2023-08-31
  • 语言: 其他
  • 标签: c51  单片机  proteus  keil  

资源简介

单片机简易计算器全套(源程序、hex文件、Proteus仿真、设计报告) 包含8套不同的简易计算器的代码。

资源截图

代码片段和文件信息

//*************************************************************************************************
//*************************************************************************************************
//**<程序名>:计算器处理主程序,根据计算器的输入状态分派不同的函数对按键进行处理。    **
//**<功能>:当b_WorkMode=0是,若有键按下则调用此函数对键码进行处理。     **
//*************************************************************************************************
//*************************************************************************************************


//*************************************************************************************************
//*   *
//*  ******************************头文件及宏定义**************************   *
//*   *
//*************************************************************************************************
#include “CalReady.h“


//*************************************************************************************************
//*   *
//*   ********************************全局变量******************************   *
//*   *
//*************************************************************************************************
extern unsigned long ul_Number;  //LCE显示数据LCD实时显示该数字。

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<工作模式(默认为计算器模式)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
extern bit b_WorkMode;  //0--计算器模式;
 //1--计时模式。
 //定义在KeyProcess.c中。
unsigned char uc_ModeChange=0;

extern bit b_LCDClean;

extern unsigned char uc_ReportSymbol;


unsigned long ul_NumberOne=0;  //第一个数
unsigned long ul_NumberTwo=0;  //第二个数
unsigned char uc_Operator=0;  //运算符
unsigned long ul_Result=0;  //运算结果
unsigned char uc_NumPointer=1;  //计算状态

//*************************************************************************************************
//*   *
//*   *******************************计算器处理主函数******************************   *
//*   *
//*************************************************************************************************




void vCalculator(unsigned char ucKeyCode)
{
if(ucKeyCode==41)   //判断按键是不是‘NO/C‘。
{
if(uc_NumPointer==1) //如果是‘NO/C’键则判断手机否是状态一。
{
if(uc_ModeChange==2) //如果是状态一则看uc_ModeChange是不是2。
{
uc_ModeChange=0; //如果是2则计时器模式。
b_WorkMode=1;

uc_ReportSymbol=3; //闪烁显示:-CHAG-1。表明正在切换状态。
b_LCDClean=1;
}
else
{
uc_ModeChange++; //如果uc_ModeChange不是2则加一。
ul_NumberOne=0; //清除所有数据,将所有数据恢复到状态一。
ul_NumberTwo=0;
ul_Number=0;
uc_NumPointer=1;
}
}
else
{
ul_NumberOne=0; //清除所有数据,将所有数据恢复到状态一。
ul_NumberTwo=0;
ul_Number=0;
uc_NumPointer=1;
}
}
else
{     //如果不是“NO/C”键,首先将uc_ModeChange清零。
uc_ModeChange=0;
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<根据不同状态分派不同的键处理函数

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-12-17 10:36  单片机简易计算器\
     目录           0  2013-12-17 10:23  单片机简易计算器\51做的简易计算器\
     目录           0  2013-12-17 10:25  单片机简易计算器\51做的简易计算器\用51做的简易计算器\
     文件      108293  2007-07-28 21:11  单片机简易计算器\51做的简易计算器\用51做的简易计算器\DynamicLED.DSN
     文件         873  2013-12-17 10:27  单片机简易计算器\51做的简易计算器\用51做的简易计算器\DynamicLED.pdsprj.stu22.Administrator.workspace
     文件         768  2009-05-11 22:51  单片机简易计算器\51做的简易计算器\用51做的简易计算器\DynamicLED.PWI
     目录           0  2009-05-11 23:01  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\
     文件        9143  2007-07-30 13:24  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\Calculator.lst
     文件        3309  2007-07-30 13:24  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\Calculator.obj
     文件       22480  2007-07-30 16:59  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\CalReady.lst
     文件       10202  2007-07-30 16:59  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\CalReady.obj
     文件         107  2007-07-30 16:59  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\CalReady.__i
     文件       37685  2007-08-07 14:58  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\DynamicLED
     文件       11081  2007-08-07 14:58  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\DynamicLED.hex
     文件         172  2007-08-07 14:58  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\DynamicLED.lnp
     文件       37870  2007-08-07 14:58  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\DynamicLED.M51
     文件        2871  2007-08-11 09:14  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\DynamicLED.Opt
     文件         159  2007-08-11 09:14  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\DynamicLED.plg
     文件        4763  2007-07-30 13:28  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\DynamicLED.Uv2
     文件        2872  2007-08-10 12:33  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\DynamicLED_Opt.Bak
     文件        4653  2007-07-30 00:25  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\DynamicLED_Uv2.Bak
     目录           0  2009-05-11 23:01  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\include\
     文件        5183  2002-10-08 22:23  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\include\AT89X51.H
     文件         106  2007-07-28 17:57  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\include\Calculator.h
     文件         200  2007-07-29 11:44  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\include\CalReady.h
     文件         150  2007-07-28 14:45  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\include\includes.h
     文件         111  2007-07-28 14:26  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\include\KeyProcess.h
     文件         105  2007-07-28 12:29  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\include\KeyScan.h
     文件         619  2007-07-29 23:28  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\include\LED6Show.h
     文件        1689  2003-02-03 08:57  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\include\REG51.H
     文件         148  2007-07-30 13:17  单片机简易计算器\51做的简易计算器\用51做的简易计算器\Keil\include\TimeProcess.h
............此处省略174个文件信息

评论

共有 条评论