资源简介
单片机简易计算器全套(源程序、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个文件信息
相关资源
- 单片机仿真软件proteus6.7免安装绿色版
- 基于SPCE061A单片机的图形液晶模块的驱
- 基于SPCE061A单片机汇编语实现的流水灯
- 基于SPCE061A单片机的图形液晶模块的驱
- STM32+TMC5160代码电路图.rar
- 物联网家居系统中基于单片机的多路
- 基于IAP15F2K61S2单片机的多路温度巡检
- 如何用单片机控制舵机及程序详细
- 单片机控制舵机电路图
- 基于MSP430单片机的实时多任务操作系
- 基于STM32F103C8单片机的晶联讯电子JL
- 广联达6.0写锁包,2020年11月最新
- 基于51单片机的交通信号灯程序
- 14284969_《STM32单片机应用与全案例实践
- GSM监控系统51单片机设计
- 精选单片机设计与制作30例
- 中颖单片机入门与实战
- 51单片机定时器/计数器的结构和原理
- MCS-51单片机定时器和计数器区别的理
- 基于32位单片机MC68HC376的高可靠性系统
- MC68HC08单片机程序设计速成
- PIC单片机人机接口模块4×4行列式
- PIC单片机人机接口模块4×4行列式
- AT89C51+ADC0808 PROTEUS仿真
- 基于51单片机的多通道数据采集范围控
- ADC0832ADC0809DAC0832三种芯片程序,c程序
- 数据采集系统——ADC0808的应用
- 基于51单片机的直流电机转速控制及显
- 单片机控制步进电机PMW的驱动与放大
- 单片机驱动4相步进电机proteus仿真
评论
共有 条评论