ðÏÄÓËÁÖÉÔÅ × ÞÅÍ Õ ÍÅÎÑ ÇÒÁÂÌÉ, Á ÔÏ ×ÔÏÒÏÊ ÄÅÎØ ÞÉÔÁÀ ÍÁÎÕÁÌ ÎÁ mega8515 Á ÒÅÚÕÌØÔÁÔÁ ÎÅÔ. úÁÄÁÞÁ: ÒÁÓËÏÞÅÇÁÒÔØ Counter1 × ÒÅÖÉÍ Fase and Frequency Correct PWM Mode. óÏÇÌÁÓÎÏ ÍÁÎÕÁÌÕ ÐÙÔÁÀÓØ ÉÓÐÏÌØÚÏ×ÁÔØ OCR1A ËÁË ×ÅÒÈÎÀÀ ÇÒÁÎÉÃÕ TOP ÄÌÑ Counter1 (ÜÔÉÍ ÒÅÇÉÓÔÒÏÍ Ñ ÂÕÄÕ ÉÇÒÁÔØ ÄÏÂÉ×ÁÑÓØ ÎÕÖÎÏÊ ÞÁÓÔÏÔÙ) ÎÁ ×ÙÈÏÄÅ OC1B Á ÒÅÇÉÓÔÒ OCR1B ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÄÌÉÔÅÌØÎÏÓÔÉ PWM. ÷ ÉÄÅÁÌÅ Ñ ÈÏÔÅÌ ÐÏÌÕÞÉÔØ ËÁÒÔÉÎÕ: Counter1 ÓÞÉÔÁÅÔ ××ÅÒÈ-×ÎÉÚ Á ÐÒÉ ÓÏ×ÐÁÄÅÎÉÉ TCNT1==OCR1B ÍÅÎÑÅÔÓÑ ÓÏÓÔÏÑÎÉÅ OC1B. ðÒÏÂÌÅÍÁ × ÔÏÍ, ÞÔÏ Counter1 ÕÐÏÒÎÏ ÓÞÉÔÁÅÔ ÄÏ 0xFF Á ÎÅ ÄÏ OCR1A? íÏÖÅÔ Ñ ÐÅÒÅ×ÅÌ ÎÅ ÐÒÁ×ÉÌØÎÏ, ÎÏ ÎÁ page 114 full Manual ÎÁÐÉÓÁÎÏ ÄÏÅÈÁÌ ÄÏ TOP=OCR1A É ÐÏÅÈÁÌ ÏÂÒÁÔÎÏ. Waveform Generation mode=9 É ÐÏÔÏÌÏË × ÜÔÏÍ ÒÅÖÉÍÅ ËÁË ÂÙ ÄÏÌÖÅÎ ÂÙÔØ OCR1A ÎÏ ËÏÇÄÁ Ñ ÐÏÛÁÇÏ×Ï ÚÁÐÕÓËÁÀ ÜÔÏ × AVR-ÓÔÕÄÉÉ Counter1 ÌÅÚÅÔ ÄÏ 0xFF ?? ÷ ÖÉ×ÏÍ ËÒÉÓÔÁÌÌÅ Ñ ÜÔÏ ÐÏËÁ ÎÅ ÐÒÏ×ÅÒÑÌ.
#include "iom8515.h" #define Bit(n) (1 << (n)) void main(void) { unsigned char i; TCCR1A= Bit(COM1A0)|Bit(COM1A1); // page 119 set OC1A/B __#####__ TCCR1A|=Bit(WGM10); // page 120 set Waveform Generation mode 9 TCCR1B=Bit(WGM13); // page 120 set Waveform Generation mode 9 OCR1AL=0x30; // page 121 set TOP for Counter1 TCCR1B|=Bit(CS10); // page 121 start Counter1 while (1) { for(i=0;i<5;i++){} // pause } }
ó Õ×ÁÖÅÎÉÅÍ, ïÌÅÇ.
... ÷ ÞÅÍ ÚÁËÌÀÞÁÅÔÓÑ ÍÕÌØÔÉÚÁÄÁÞÎÏÓØ WINDOWS? òÁÂÏÔÁÅÔ É ÇÌÀÞÉÔ ÏÄÎÏ×ÒÅÍÅÎÎÏ!