-
大小: 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
- 上一篇:數據結構課程設計—利用棧求表達式的值
- 下一篇:一鍵拷貝小工具
評論
共有 條評論