資源簡介
單片機簡易計算器全套(源程序、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個文件信息
評論
共有 條評論