簡(jiǎn)單的51單片機(jī)計(jì)算器程序

簡(jiǎn)單的51單片機(jī)計(jì)算器程序

ID:39563458

大小:50.50 KB

頁數(shù):6頁

時(shí)間:2019-07-06

簡(jiǎn)單的51單片機(jī)計(jì)算器程序_第1頁
簡(jiǎn)單的51單片機(jī)計(jì)算器程序_第2頁
簡(jiǎn)單的51單片機(jī)計(jì)算器程序_第3頁
簡(jiǎn)單的51單片機(jī)計(jì)算器程序_第4頁
簡(jiǎn)單的51單片機(jī)計(jì)算器程序_第5頁
資源描述:

《簡(jiǎn)單的51單片機(jī)計(jì)算器程序》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、請(qǐng)支持原創(chuàng),謝謝1、電路圖2、程序:/***********************************************************************************************************designbyDXfromGDOU**************************************************************************************/#include#include#defineuint8unsign

2、edcharsbitled1=P1^0;sbitled2=P1^1;sbitled3=P1^2;sbitled4=P1^3;longintcount1,count2;//存放上次的輸入和現(xiàn)在的輸入uint8symbol,p;//存放符號(hào)的數(shù)值p用于多數(shù)輸入清屏作用longintoutputcount;//存放結(jié)果uint8KeyCodeTable[]={0x28,0x14,0x24,0x44,0x12,0x22,0x42,0x11,0x21,0x41,0x18,0x88,0x84,0x82,0x81,0x48};//鍵盤按鍵特征表inttable[]={0XC0,

3、0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};//不懂uint8a[4];voidinit(){uint8j;a[0]=0xc0;for(j=1;j<4;j++){a[j]=0xff;}count1=0;count2=0;symbol=0;p=0;outputcount=0;}voiddelayms(intx)//延時(shí)程序{uint8i;while(x--)for(i=0;i<120;i++);}voiddisplay()//LED顯示{P0=a[0];led1=0;delayms(5);led1=1;P0=a[1];

4、led2=0;delayms(5);led2=1;P0=a[2];led3=0;delayms(5);led3=1;P0=a[3];led4=0;delayms(5);led4=1;}uint8keyscan()//鍵盤掃描{uint8sCode,kCode,i,k;P2=0xf0;if((P2&0xf0)!=0xf0){delayms(2);//軟件去抖if((P2&0xf0)!=0xf0){sCode=0xfe;for(k=0;k<4;k++){P2=sCode;delayms(12);if((P2&0xf0)!=0xf0){kCode=~P2;for(i=0

5、;i<16;i++)if(kCode==KeyCodeTable[i])return(i);}elsesCode=_crol_(sCode,1);}}}return(100);//沒按鍵輸入}voidoutput(longintx){inti;uint8j=0;uint8z[3]={0,0,0};if(x>=1000){i=x/1000;z[0]=i;a[j]=table[i];j++;}if(x>=100){i=(x-z[0]*1000)/100;z[1]=i;a[j]=table[i];j++;}if(x>=10){i=(x-z[0]*1000-z[1]*10

6、0)/10;z[2]=i;a[j]=table[i];j++;}i=x%10;a[j]=table[i];}voidCalculate(uint8key)//計(jì)算程序并顯示LED{uint8i,j;statick=0;if(key<10){if(p){p=0;for(j=0;j<4;j++){a[j]=0xff;}}a[k]=table[key];k=++k%4;count2*=10;count2+=key;outputcount=count2;//把當(dāng)前按下的值先賦給outputcount}elseif(key==10)//清零鍵{k=0;init();}els

7、eif(key<15){k=0;p=1;switch(symbol)//多則運(yùn)算時(shí)用于把之前的結(jié)果賦給COUNT1{case0:count1=count2;break;case11:count1+=count2;break;case12:count1-=count2;break;case13:count1*=count2;break;case14:count1/=count2;break;default:break;}count2=0;//有符號(hào)輸入時(shí)把之前的值賦給count1,并把符號(hào)標(biāo)號(hào)賦給symbol;symbol=key;}else{switch(symb

8、ol){c

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

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

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(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)系客服處理。