51單片機(jī)實(shí)現(xiàn)計(jì)算器_第1頁(yè)
51單片機(jī)實(shí)現(xiàn)計(jì)算器_第2頁(yè)
51單片機(jī)實(shí)現(xiàn)計(jì)算器_第3頁(yè)
51單片機(jī)實(shí)現(xiàn)計(jì)算器_第4頁(yè)
51單片機(jī)實(shí)現(xiàn)計(jì)算器_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、# iiiclude define uchai unsigned char define umt unsigned mt sbit dula=P2A6; sbit xvela=P2A7; sbitBl=P2A3; sbit kevl=P3z 5; uchai SHZ=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x70 x6f; umt a,b,c.d.eXg.uuniJemp,k.pduanjieguo4iumLnuni2aiuni3jium4.num5; void displav7Q; void djp(); void delay(ui

2、nt z); void keyscan(); void display IQ; void displav2Q; void displav3Q; void displav4Q; void displav5Q; void displav6Q; void jia(); void jianQ; void cheng(); void chu(); void dengQ; void qmgchu(); void main() wliile(l) P3=0 xff; 與獨(dú)立鍵盤連用的關(guān)鍵 djp(); P3=0 xff; 與獨(dú)立鍵盤連用的關(guān)鍵 kevscan(); display7(); void dela

3、y(uint z) uiiit x,y; fbr(x=z;x0;x) for(y=110;y0;y-); void djp() 獨(dú)立鍵盤 if(kevl=O) delay(5); if(kevl=O) num=O; /pduaii=5; a=b=c=d=e=f=g=O; wlule(!keyl); delay(5); wlule(!keyl); void displav7Q if(num=0) display 1(); if(num=l) if(a?=O) display 1(); if(num=2) / if(b!=O) display IQ; display2Q; / / 昨!=0) /

4、display 1(); if(num=3) / if(c!=O) / display 1(); display2(); display3(); 嚴(yán) 馳!=0)display IQ; displav2Q; if(a!=O) displaylQ;*/ if(num=4) display 1(); display2(); display3(); display4(); if(c!=O) display 1(); display2(); display3(); if(b!=O) display IQ; displav2Q; if(a!=O) displaylQ;*/ if(num=5) displa

5、y 1(); display2(); display3(); display4(); display5Q; if(d!=O) display 1(); display2(); display3();/ / if(d!=O) / if(e?=O) display4(); if(c!=O) display 1(); display2(); display3(); if(b!=O) display IQ; displav2Q; if(a?=O) displayl();*/ if(num=6) / if(f?=O) / display 1(); display2(); display3(); disp

6、lay4(); display5(); display6(); /* 敢 e!=0) display 1(); display2(); display3(); display4(); display5 (); if(d!=O) display 1(); display2(); display3(); display4(); if(c!=O) display 1(); display2(); display3(); 馳!=0) display IQ; displav2Q; if(a?=O) displaylQ;*/ / if(pduan=5) / display 1(); if(num=7) n

7、um=6; void jia() pduan=l; numl=f* 100000+e* 10000+d * 1000+c*l 00+b* 10+a; num=0: void jianQ pduan=2; nuni2=f* 100000+e* 10000+d * 1000+c*l 00+b* 10+a; num=0: a=b=c=d=e=f=g=O; void cheng() pduan=3; num3=f* 100000+e* 10000+d * 1000+c*l 00+b* 10+a; num=0: void chu() pduan=4; num4=f* 100000+e* 10000+d

8、* 1000+c*l 00+b* 10+a; num=0: a=b=c=d=e=f=g=O; void qmgchu() g=0; a=b; b=c; c=d; d=e; e=f; f=g; if(num=0) num=l; / pduan=5; num-; void dengQ num5=f* 100000+e* 10000+d * 1000+c*l 00+b* 10+a; num=0: if(pduan=l) j iegu o=nuni5+num 1; a=jieguo%10; b=jieguo%100/10; cjieguo% 1000/100; d=jieguo%10000/1000;

9、 e=jieguo%100000/10000; f=jieguo/l 00000; if(pduan=2) j ieguo=nuni2 -num5; a=jieguo%10; b=jieguo%100/10; cjieguo% 1000/100; d=jieguo%10000/1000; e=jieguo%100000/10000; f=jieguo/l 00000; if(pduan=3) j iegu o=num5 *num3: a=jieguo%10; b=jieguo%100/10; c=jieguo% 1000/100; d=jieguo%10000/1000; ieguo% 100

10、000/10000; f=jieguo/l 00000; if(pduan=4) j ieguo=num4/num5; ajieguo%10; b=jieguo%100/10; c=jieguo% 1000/100; d=jieguo% 10000/1000; e=j ieguo% 100000/10000; f4ieguo/l 00000; if(f=O) 確定位數(shù) if(e=O) if(d=O) if(c=O) if(b=O) if(a=0) num=0; else num=l; else num=2; else num=3; else num=4; else num=5; else nu

11、m=6; void keyscan() P3=0 xfe; 第一部分 temp=P3; temp=tenip & OxfO; wlule(temp !=OxfO) delay(5); P3=Oxfe; temp=P3; temp=temp&0 xfO; while(temp! =OxfO) temp=P3; switch(temp) case Oxee: g=l; f=e; e=d; d=c; c=b; b=a; a=g; num+; break; case Oxde: g=2; f=e; e=d; d=c; c=b; b=a; a=g; num+-r; break; case

12、 Oxbe: g=3; f=e; e=d; d=c; c=b; b=a; a=g; break: case Ox7e:jiaQ; break: B1=O; temp=temp & 0 xfD; wlule(temp! =OxfD) temp=P3; temp=temp&0 xfO: delay(5); P3=Oxff; Bl=l; P3=Oxfd; 第二部分 temp=P3; temp=tenip & OxfO; wlule(temp !=OxfO) delay(5); P3=Oxfd; temp=P3; temp=temp&0 xfO; vhile(temp!

13、 =OxfO) temp=P3; switch(temp) case Oxed: g=4; f=e; e=d; d=c; c=b; b=a; a=g; num+; break; case Oxdd: g=5; f=e; e=d; d=c; c=b; b=a; a=g; num+-r; break; case Oxbd: g=6; f=e; e=d; d=c; c=b; b=a; a=g; num+-r; break; case Ox7d:jianQ; break; B1=O; temp=temp & 0 xfD; wlule(temp !=OxfD) temp=P3; temp=tem

14、p&O xfO: delay(5); P3=Oxff; Bl=l; P3=Oxfb; 第三部分 temp=P3; temp=tenip & OxfO; wlule(temp !=OxfO) delay(5); P3=Oxfb; temp=P3; temp=temp&0 xfO; while(temp!=OxfO) temp=P3; switch(temp) case Oxeb: g=7; f=e; e=d; d=c; c=b; b=a; a=g; num+; break; case Oxdb: g=8; 仕; e=d; d=c; c=b; b=a; a=g; num+;

15、 break; case Oxbb: g=9; f=e; e=d; d=c; c=b; b=a; a=g; num+; break; case Ox7b:cheng(); break; B1=O; temp=temp & 0 xfD; while(temp !=OxfD) temp=P3; temp=temp&OxfO: delav(5); P3=0 xff; Bl=l; P3=0 xf7; 第四部分 temp=P3; temp=tenip & OxfO; while(temp!=OxfO) delay(5); P3=Oxf7; temp=P3; temp=temp&a

16、mp;0 xfO; while(temp! =OxfO) temp=P3; switch(temp) case 0 xe7:dengQ; break; case 0 xd7: g=0; f=e; e=d; d=c; c=b; b=a; a=g; num+-r; if(num=l) num=0; break: case 0 xb7:qmgchu(); break: case 0 x77:chu(); break: B1=O; temp=temp & Oxft): xvhile(temp! =OxfD) temp=P3; temp=temp&O xfO: delay(5); P3=

17、Oxff; Bl=l; void display IQ wela=l; 第1個(gè)數(shù)字 PO=Oxdf; wela=0; P=0 x00; dula=l; P0=SHZa; dula=O; delay(l); dula=l; P0=0 x00; dula=O; PO=Oxff; void displav2Q wela=l; 第2個(gè)數(shù)字 P0=0 xef; wela=0; P=0 x00; dula=l; P0=SHZb; dula=0; delay(l); dula=l; PO=OxOO; dula=O; PO=Oxff; void displav3Q wela=l; 第3個(gè)數(shù)字 P0=0 xf7; wela=0; P=0 x00; dula=l; P0=SHZc; dula=0; delay(l); dula=l; P0=0 x00; dula=0; PO=Oxff; void displav4Q wela=l; 第4個(gè)數(shù)字 PO=Oxfb; wela=0; P=0 x00; dula=l; P0=SHZd; dula=0; delay(l); dula=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論