AVR單片機(jī)制作計算器_第1頁
AVR單片機(jī)制作計算器_第2頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、avr單片機(jī)制作計算器 包括proteus模擬電路圖c語言程序 proteus中的模擬電路: c語言程序: #includemega32.h #includedelay.h unsigned int put = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; unsigned int key; unsigned int led_1,led_2,led_3,led_4,fuhao,num,num_1; interrupt ext_int0void ext_int0_isr() /按鍵中斷 低電平觸發(fā) portd.4=0; porta = 0x

2、01; if(pina.4) key = 16; / 清零 if(pina.5) key = 3; if(pina.6) key = 2; if(pina.7) key = 1; porta = 0x02; if(pina.4) key = 15; / 等于 包括proteus模擬電路圖c語言程序 if(pina.5) key = 6; if(pina.6) key = 5; if(pina.7) key = 4; porta = 0x04; if(pina.4) key = 0; if(pina.5) key = 9; if(pina.6) key = 8; if(pina.7) key =

3、 7; porta = 0x08; if(pina.4) key = 14; /除法 if(pina.5) key = 13; /乘法 if(pina.6) key = 12; /減法 if(pina.7) key = 11; /加法 delay_ms(20); porta = 0x0f; void xianshi() /數(shù)碼管顯示 函數(shù) while(pind.1) portb = 0x0e; portc = putled_1; delay_ms(1); portb = 0x0f; portb = 0x0d; portc = putled_2; delay_ms(1); portb = 0x0

4、f; portb = 0x0b; portc = putled_3; delay_ms(1); portb = 0x0f; portb = 0x07; portc = putled_4; delay_ms(1); 包括proteus模擬電路圖c語言程序 void jisuan() /加減乘除計算函數(shù) switch(fuhao) case 11 : num=num_1+num; break; case 12 : num=num_1-num; break; case 13 : num=num_1*num; break; case 14 : num=num_1/num; break; void ma

5、in(void) /主函數(shù) ddrb=0x0f; ddrc=0xff; ddrd=0xf0; ddra=0x0f; gicr|=0x40; mcucr = 0x02; mcucsr = 0x00; gifr = 0x40; #asm(sei) while(1) porta = 0x0f; if(key 10) num=num*10+key; led_4 = led_3; led_3 = led_2; led_2 = led_1; led_1 = key; xianshi(); portd.4=1; if(key 10) led_1=0; led_2=0; 包括proteus模擬電路圖c語言程序

6、 led_3=0; led_4=0; if(key!=15) num_1=num; num=0; if(key=11) fuhao=11; xianshi(); portd.4=1; if(key=12) fuhao=12; xianshi(); portd.4=1; if(key=13) fuhao=13; xianshi(); portd.4=1; if(key=14) fuhao=14; xianshi(); portd.4=1; if(key=16) num_1=0; num=0; xianshi(); portd.4=1; if(key=15) jisuan(); led_1 = num%10; 包括proteus模擬電路圖c語言程序 num = num/10; led_2 = num%10; num = num/10; led_3 = num%

溫馨提示

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

最新文檔

評論

0/150

提交評論