|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
求助 |
| 作者:慢半拍 欄目:單片機 |
我需要用AVR 8515產生約7us的方波,于是用8515 TIM0 產生中斷設計下 TCCR0=0x01; //定時器脈沖原=CK,即0分頻 TCNT0=0xFF; ----------------------------- TIM0中斷: TCNT0=0xFF; PORTA=!PORTA; //由PA口輸出方波 晶體8MHZ,那么每條指令約0.5us 按道理,定時器0 是和時鐘CK同步(沒有分頻), 我用8MHZ晶體,那么PA應該輸出8MHZ頻率,可我用示波器看到PA口輸出大約12us的方波,這和8MHZ時鐘的方波差很遠,我用的是CodeVisionAVR C 語言編寫的代碼的. 請那位好心人給指點迷津 |
| 2樓: | >>參與討論 |
| 作者: dadodo 于 2004/2/7 17:35:00 發(fā)布:
看看你生成的匯編代碼,中斷執(zhí)行了多少句,OK? |
|
| 3樓: | >>參與討論 |
| 作者: 慢半拍 于 2004/2/7 19:05:00 發(fā)布:
匯編代碼也沒幾行啊 *000002BF:timer0_ovf_isr +000002BF: D6BD RCALL +0x06BD ; Destination: 0x00097D +000002C0: EFEF LDI R30,0xFF ; 0xFF = 0b11111111 = 255 +000002C1: BFE2 OUT 0x32,R30 +000002C2: B3EB IN R30,0x1B +000002C3: D6D5 RCALL +0x06D5 ; Destination: 0x000999 +000002C4: BBEB OUT 0x1B,R30 +000002C5: D6C5 RCALL +0x06C5 ; Destination: 0x00098B +000002C6: 9518 RETI *000002C7:timer1_ovf_isr |
|
| 4樓: | >>參與討論 |
| 作者: dadodo 于 2004/2/7 19:14:00 發(fā)布:
一個RECALL就不止幾行 |
|
| 5樓: | >>參與討論 |
| 作者: 慢半拍 于 2004/2/7 20:10:00 發(fā)布:
明白了,謝謝, 看來要用最最討厭的"匯編"寫了 |
|
|
|
Copyright © 1998-2006 j71x6.cn 浙ICP證030469號 |