#include#defineuintunsignedint#defineucharunsignedcharsbitdula=P2^6;sbitwela=P2^7;ucharcodetabl">
計(jì)算器程序完美版單片機(jī)

計(jì)算器程序完美版單片機(jī)

ID:22866171

大小:52.51 KB

頁(yè)數(shù):11頁(yè)

時(shí)間:2018-11-01

計(jì)算器程序完美版單片機(jī)_第1頁(yè)
計(jì)算器程序完美版單片機(jī)_第2頁(yè)
計(jì)算器程序完美版單片機(jī)_第3頁(yè)
計(jì)算器程序完美版單片機(jī)_第4頁(yè)
計(jì)算器程序完美版單片機(jī)_第5頁(yè)
資源描述:

《計(jì)算器程序完美版單片機(jī)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。

1、#include#include#defineuintunsignedint#defineucharunsignedcharsbitdula=P2^6;sbitwela=P2^7;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0};ucharsign=0;charifnum=0,ifcount=0,dian=0,dian1=0;longlen=10;floatresult=0,b=0,key;void

2、delay(uintz);ucharkeyscan();voiddisplay(longaa);voidyunsuan();chartable1[8]={0x00,0x00,0x00,0x00,0x00,0x3f};voidmain(){inti;dula=1;P0=0;dula=0;wela=1;P0=0xff;wela=0;//display(0);//delay(3000);while(1){charh=0xfe,k,j=0;for(k=6;k>0;k--){dula=1;P0=table1[j++];dula=0;P0=0xff;wela=1;P0=h;h=(h<<1);h

3、=h+1;delay(3);}key=keyscan();if(key>=1&&key<=16)while(1){if(key>=1&&key<=10)//在0到9之間,證明按下的是數(shù)值{if(result<1000000){if(ifnum==0&&dian1==0)result=(key-1);elseif(ifnum!=0&&dian1==0)result=result*10+(key-1);elseif(ifnum!=0&&dian1!=0){result=result+(key-1)/len;len=len*10;}}result=result*100;//取result

4、的整數(shù)部分和小數(shù)點(diǎn)后兩位display(result);ifcount=0;ifnum=1;//當(dāng)前按鍵為數(shù)字}elseif(key>=11&&key<=14)//在11到1之間,證明按下的是符號(hào){if(ifcount==1)sign=key;//標(biāo)記為1,已顯示結(jié)果,只改變運(yùn)算符elseif(sign==0&&ifnum==0);//之前無按鍵elseif(sign==0&&ifnum==1)//之前只按過數(shù)字鍵{sign=key;b=result;result=0;}elseif(sign!=0&&ifnum==0)//之前按過數(shù)字鍵和符號(hào)鍵sign=key;else//之前按

5、過數(shù)字鍵和符號(hào)鍵及數(shù)字鍵{yunsuan();sign=key;b=result;result=b;}ifnum=0;dian1=0;len=10;}elseif(key==15&&dian1==0)//按下小數(shù)點(diǎn)鍵{dian=1;dian1=1;len=10;}elseif(key==16)//按下等于鍵{if(ifcount==0)if(sign!=0&&ifnum==1){yunsuan();b=result;result=b;sign=0;}ifnum=0;dian1=0;len=10;}for(i=0;i<2000;i++);result=result*100;displ

6、ay(result);key=keyscan();}}}voidyunsuan(){switch(sign){case11:result=b+result;result=result*100;display(result);break;case12:result=b-result;result=result*100;display(result);break;case13:result=b*result;result=result*100;display(result);break;case14:result=b/result;result=result*100;display(r

7、esult);break;default:break;}ifcount=1;}ucharkeyscan(){ucharnum=0,temp;P3=0x01;temp=P3;temp=temp

8、0x0f;while(temp!=0x0f)//判斷是否有鍵按下{delay(3);temp=P3;temp=temp

9、0x0f;while(temp!=0x0f)//確認(rèn)是否有鍵按下{temp=P3;switch(temp){case0x11:num=1;break;case0

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。