资源简介
51单片机做简易计算器,实现+-*/功能,带protrus原理图,keil C语言源程序。

代码片段和文件信息
//*************************************************************************************************
//*************************************************************************************************
//**<程序名>:计算器处理主程序,根据计算器的输入状态分派不同的函数对按键进行处理。 **
//**<功能>:当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;
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<根据不同状态分派不同的键处理函数
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 108293 2007-07-28 21:11 用51做的简易计算器\DynamicLED.DSN
文件 768 2009-05-11 22:51 用51做的简易计算器\DynamicLED.PWI
文件 9143 2007-07-30 13:24 用51做的简易计算器\Keil\Calculator.lst
文件 3309 2007-07-30 13:24 用51做的简易计算器\Keil\Calculator.obj
文件 22480 2007-07-30 16:59 用51做的简易计算器\Keil\CalReady.lst
文件 10202 2007-07-30 16:59 用51做的简易计算器\Keil\CalReady.obj
文件 107 2007-07-30 16:59 用51做的简易计算器\Keil\CalReady.__i
文件 37685 2007-08-07 14:58 用51做的简易计算器\Keil\DynamicLED
文件 11081 2007-08-07 14:58 用51做的简易计算器\Keil\DynamicLED.hex
文件 172 2007-08-07 14:58 用51做的简易计算器\Keil\DynamicLED.lnp
文件 37870 2007-08-07 14:58 用51做的简易计算器\Keil\DynamicLED.M51
文件 2871 2007-08-11 09:14 用51做的简易计算器\Keil\DynamicLED.Opt
文件 159 2007-08-11 09:14 用51做的简易计算器\Keil\DynamicLED.plg
文件 4763 2007-07-30 13:28 用51做的简易计算器\Keil\DynamicLED.Uv2
文件 2872 2007-08-10 12:33 用51做的简易计算器\Keil\DynamicLED_Opt.Bak
文件 4653 2007-07-30 00:25 用51做的简易计算器\Keil\DynamicLED_Uv2.Bak
文件 5183 2002-10-08 22:23 用51做的简易计算器\Keil\include\AT89X51.H
文件 106 2007-07-28 17:57 用51做的简易计算器\Keil\include\Calculator.h
文件 200 2007-07-29 11:44 用51做的简易计算器\Keil\include\CalReady.h
文件 150 2007-07-28 14:45 用51做的简易计算器\Keil\include\includes.h
文件 111 2007-07-28 14:26 用51做的简易计算器\Keil\include\KeyProcess.h
文件 105 2007-07-28 12:29 用51做的简易计算器\Keil\include\KeyScan.h
文件 619 2007-07-29 23:28 用51做的简易计算器\Keil\include\LED6Show.h
文件 1689 2003-02-03 08:57 用51做的简易计算器\Keil\include\REG51.H
文件 148 2007-07-30 13:17 用51做的简易计算器\Keil\include\TimeProcess.h
文件 91 2007-07-30 00:47 用51做的简易计算器\Keil\include\Timer.h
文件 5104 2007-07-30 16:46 用51做的简易计算器\Keil\KeyPorcess.lst
文件 1682 2007-07-30 16:46 用51做的简易计算器\Keil\KeyPorcess.obj
文件 113 2007-07-30 16:46 用51做的简易计算器\Keil\KeyPorcess.__i
文件 6720 2007-07-30 13:24 用51做的简易计算器\Keil\KeyScan.lst
............此处省略33个文件信息
- 上一篇:哈弗曼树的建立 C++代码
- 下一篇:C语言C++魔兽全图源码
相关资源
- c++ 多功能计算器
- C语言课设计算器
- 基于51单片机的简易计算器
- 多功能计算器实现C++代码以及代码详
- C++简单计算器的实现
- C++版计算器带括号dos版本
- VC++课程设计 计算器
- VC仿Xp计算器
- VS2008 MFC简易计算器
- MFC登录注册系统C++
- 数据结构课程设计,C++计算器MFC
- MFC计算器编程,可视化,含详细实现
- MFC实现简单计算器支持加减乘除和括
- VC++ 对话框 滚轮 计算器
- C++课程设计计算器MFC
- 多功能计算器 vc++ mfc
- vc60写的四则混合运算计算器
- C++中,用mfc做的可视化的计算器程序
- mfc简单四则运算计算器
- VC++科学计算器源代码
- VC计算器 用VC++设计一个计算器,功能
- MFC表达式计算器
- 基于循环双向链表的大整数计算器c
- VC计算器,完整的案例,适合MFC和VC
- 个人所得税计算器c语言
- MFC基于逆波兰算法的四则运算计算器
- C++ MFC 简单计算器完善+注释
- C语言在vc下编写的Windows窗口小程序
- 教学工作量计算器
- VC++实现的计算器,用MFC实现界面操作
评论
共有 条评论