|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
急需Atmega48定時器源代碼,急用,謝謝~! |
| 作者:sunny0291 欄目:單片機 |
我想利用AVR內(nèi)部的定時器產(chǎn)生脈沖,然后送到I/O口輸出,我以前沒接觸過此類編程,如果哪位高手在這方面有經(jīng)驗,請給我指點一下,告訴我一些參考信息!謝謝了! |
| 2樓: | >>參與討論 |
| 作者: badboy7903 于 2006/3/15 8:25:00 發(fā)布:
此貼建議鎖貼 樓主連中文的DATASHEET都不想看 |
|
| 3樓: | >>參與討論 |
| 作者: sunny0291 于 2006/3/15 9:42:00 發(fā)布:
急需ATMEGA48定時器源代碼,急用,謝謝~! 謝謝指點!!! 因要急用.而我初步接觸此類編程,也看了DATASHEET,有些看不大明白,特來請教各位大蝦! 我要用定時器輸出一個25%占空比的方波! |
|
| 4樓: | >>參與討論 |
| 作者: sunny0291 于 2006/3/15 9:52:00 發(fā)布:
回復(fù)主題:急需ATMEGA48定時器源代碼,急用,謝謝~! 因小妹初涉江湖,又不想招別人恥笑,還望各位大哥大姐不吝賜教,幫我一把,小妹將永生感激! |
|
| 5樓: | >>參與討論 |
| 作者: faiwong 于 2006/3/16 13:08:00 發(fā)布:
你用C還是匯編? |
|
| 6樓: | >>參與討論 |
| 作者: sunny0291 于 2006/3/16 13:24:00 發(fā)布:
我用的是C語言 |
|
| 7樓: | >>參與討論 |
| 作者: worldman 于 2006/3/18 14:26:00 發(fā)布:
給你一個 if (secd_off!=1) { TCNT1=0xffff-t0; //置占時間 PORTB&=~(1<<PB0);//PB3輸出低電平 secd_off=1; } else { TCNT1=0xffff-t1;//置空時間 PORTB|=(1<<PB0);//PB3輸出高電平 secd_off=0; } |
|
| 8樓: | >>參與討論 |
| 作者: sunny0291 于 2006/3/20 10:46:00 發(fā)布:
謝謝了 呵呵,在你們的幫助下,最進我長進不少!:) |
|
| 9樓: | >>參與討論 |
| 作者: sunny0291 于 2006/3/22 14:13:00 發(fā)布:
48的中斷聲明,我這樣對嗎? #pragma interrupt_hander_timer0_ovf_isf:17 void timer0_ovf_isr(void) { ....... } 是這樣嗎?我仿真調(diào)試的時候說 #pragma 沒有定義! |
|
| 10樓: | >>參與討論 |
| 作者: sunny0291 于 2006/3/22 14:16:00 發(fā)布:
編譯提示說不對 #pragma interrupt_handler_timer0_ovf_isf:17 void timer0_ovf_isr(void) { ....... } main() { ...... while(1); } 我看Atmeg16和48的定義是不同的 16是這樣的 interrupt [TIM2_OVF] void timer2_ovf_isr(void) {......} |
|
| 11樓: | >>參與討論 |
| 作者: shenshi 于 2006/3/22 16:06:00 發(fā)布:
用PWM多好 用PWM多好.用定時來做脈沖輸出太費事了。給你我用128做的例子,自己參考下 void InitT1( void ) { //快速PWM, non-inverted,方式7,TOP值固定為0x03FF,通道A輸出 TCCR1A = BIT(COM1A1) | BIT(WGM11) | BIT(WGM10); TCCR1B = BIT(WGM12) | BIT(CS10);//時鐘不分頻 // TCCR1B = BIT(WGM12) | BIT(CS11);//時鐘8分頻 TCNT1 = BOTTOM; //初值載入 } 調(diào)節(jié)占空比用這個函數(shù) void WritePWMReg( unsigned int nData ) { OCR1A = nData; return; } |
|
| 12樓: | >>參與討論 |
| 作者: sunny0291 于 2006/3/22 16:50:00 發(fā)布:
我用的就是pwm格式,但總是要調(diào)用時鐘的 #pragma vector=TIMER0_OVF_vect __interrupt void time000() { PORTB^0X01; } void main(void) { //__disable_interrupt(); SREG=0; PORTB = 0x00; DDRB = 0xFF; TCCR0B = 0x00; //stop TCNT0 = 0x00; //set count TCCR0A = 0x00; TCCR0B = 0x0F; //start timer OCR0A=0X3F; //占空比 TIMSK0 =0x01; SREG=0X80; //啟動中斷 // __enable_interrupt(); do{; }while(1); } |
|
| 13樓: | >>參與討論 |
| 作者: sunny0291 于 2006/3/22 16:59:00 發(fā)布:
先謝謝shenshi提供的程序:) 我用的是PWM相位修正模式,如果時鐘T0與OCR0A匹配成功則輸出中斷請求,令PA0取反,則在PA0端可輸出1/4占空比的方波,我現(xiàn)在不知道上述我所定義的中斷形式是否正確,這種應(yīng)該是溢出中斷還是匹配A中斷?我用的是Atmeg48 |
|
| 14樓: | >>參與討論 |
| 作者: AIRWILL 于 2006/3/22 19:22:00 發(fā)布:
這么多人熱情提供哪,感到 不過,不是太贊成"飯來張口"的方式 |
|
| 15樓: | >>參與討論 |
| 作者: sunny0291 于 2006/3/24 9:27:00 發(fā)布:
呵呵,其實不是飯來張口了 這叫借鑒大家的經(jīng)驗,相互幫助而已!這樣才體現(xiàn)了我們論壇的意義呀! |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |