![PIC микроконтроллері бар PWM толқынын жасаңыз: 6 қадам PIC микроконтроллері бар PWM толқынын жасаңыз: 6 қадам](https://i.howwhatproduce.com/images/010/image-27971-j.webp)
Мазмұны:
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51
![PIC микроконтроллерінің көмегімен PWM толқынын жасаңыз PIC микроконтроллерінің көмегімен PWM толқынын жасаңыз](https://i.howwhatproduce.com/images/010/image-27971-2-j.webp)
![PIC микроконтроллерінің көмегімен PWM толқынын жасаңыз PIC микроконтроллерінің көмегімен PWM толқынын жасаңыз](https://i.howwhatproduce.com/images/010/image-27971-3-j.webp)
![PIC микроконтроллерінің көмегімен PWM толқынын жасаңыз PIC микроконтроллерінің көмегімен PWM толқынын жасаңыз](https://i.howwhatproduce.com/images/010/image-27971-4-j.webp)
PWM деген не?
PWM STANDS PULSE WIDTH MODULATION - бұл импульстің ені әр түрлі болатын әдіс.
Бұл ұғымды түсіну үшін сағат импульсін немесе кез келген квадрат толқынды сигналды қарастырайық, ол 50% жұмыс цикліне ие, бұл Тон мен Тофф кезеңі бірдей, сигналдың жалпы ұзақтығы мен сигналдың төмен болу ұзақтығы жиынтық деп аталады. уақыт периоды.
Жоғарыда көрсетілген кескін үшін бұл толқынның 50% жұмыс циклы бар
Кезекші цикл = (ON time / Total Time)*100
ON уақыты - сигнал жоғары болатын уақыт
Өшіру уақыты - белгісі төмен уақыт қарсыласы Жалпы уақыт - Импульстің жалпы уақыты (ҚОСУ және ӨШІРУ уақыты)
1 -қадам: Микроконтроллерді таңдау
![Микроконтроллерді таңдау Микроконтроллерді таңдау](https://i.howwhatproduce.com/images/010/image-27971-5-j.webp)
Жобаға сәйкес микроконтроллерді таңдау - бұл PWM сигналдарын PWM арналары бар микроконтроллерлерде (CCP регистрлері) жасауға болатын жобаның маңызды бөлігі. Бұл жоба үшін мен pic16f877 -ге сүйенуді жоспарлап отырмын. төменде берілгендер кестесінің сілтемесін жүктей аласыз
PIC16F877a мәліметтер парағы мына жерді басыңыз
CCP модулі PWM сигналын шығаруға жауап береді. CCP1 мен CCP2 PORTC көмегімен мультиплекстелген. PORTC-8 биттік ені екі бағытты порт. Сәйкес деректер бағыты регистрі TRISC болып табылады. TRISC битін (= 1) орнату сәйкес PORTC түйреуішін кіріс ретінде алуға мәжбүр етеді. TRISC битін тазарту (= 0) сәйкес PORTC түйреуішін шығысқа айналдырады.
TRISC = 0; // Бұл бит тазаланса, PORTC шығыс болады
2 -қадам: CCP модулін конфигурациялау
![CCP модулін конфигурациялау CCP модулін конфигурациялау](https://i.howwhatproduce.com/images/010/image-27971-6-j.webp)
![CCP модулін конфигурациялау CCP модулін конфигурациялау](https://i.howwhatproduce.com/images/010/image-27971-7-j.webp)
CCP - CAPTURE/COMPARE/PWM MODULES
Әрбір Capture/Compare/PWM (CCP) модулінде 16 биттік регистр бар, ол келесідей жұмыс істей алады:
• 16 биттік Capture регистрі
• 16 биттік салыстыру регистрі
• PWM Master/Slave Duty Cycle регистрі
CCP1CON регистрін PWM режиміне теңшеңіз
Тіркеу сипаттамасы
CCPxCON Бұл регистр CCP модулін Capture/Compare/PWM операциясына конфигурациялау үшін қолданылады.
CCPRxL Бұл регистр PWM 8-Msb битін сақтайды, төменгі 2-бит CCPxCON регистрінің бөлігі болады.
TMR2 PWM шығуын генерациялау үшін CCPR1L және PR2 -мен салыстырылатын бос жұмыс істейтін есептегіш.
Енді мен CCP1CON регистрін конфигурациялау үшін биттерді көрсету үшін екілік файлды қолданамын.
жоғарыдағы суретке сілтеме жасаңыз.
CCP1CON = 0b00001111;
Сіз сондай -ақ он алтылық форматты жасай аласыз
CCP1CON = 0x0F; // PWM режимі үшін CCP1CON регистрін конфигурациялау
3 -қадам: Timer2 модулін конфигурациялау (TMR2 регистрі)
![Timer2 модулін теңшеу (TMR2 регистрі) Timer2 модулін теңшеу (TMR2 регистрі)](https://i.howwhatproduce.com/images/010/image-27971-8-j.webp)
Timer2-бұл 8-разрядты таймер, алдын ала есептегіші мен кейінгі кальцері бар. Ол CCP модульдерінің PWM режимі үшін PWM уақыт базасы ретінде пайдаланылуы мүмкін. TMR2 регистрі оқылады және жазылады және Reset кез келген құрылғыда жойылады.
T2CON регистрі көрсетіледі
Алдын ала және кейінгі шкала PWM толқынының шығу жиілігін реттейді.
Жиілік = сағат жиілігі/(4*prescaler*(PR2-TMR2)*Postscaler*санау)
Мұндағы Tout = 1/жиілігі
T2CON = 0b00000100;
Бұл 2,5 КГц @ 1МГц немесе 100КГц @ 4МГц кристалды шығарады (іс жүзінде толығырақ ақпарат алу үшін осы PWM жиілігіне қатысты шектеулер бар)
он алтылық ұсыну
T2CON = 0x04; // Prescaler және шкаладан кейінгі конфигурациясыз T2CON қосыңыз
4 -қадам: PR2 конфигурациясы (Timer2 кезеңдік регистрі)
Timer2 модулінде 8 разрядты периодты регистр бар, PR2. Таймер2 002 -ден PR2 -ге сәйкес келгенге дейін артады, содан кейін келесі өсу циклінде 00с -қа қалпына келтіріледі. PR2 - оқылатын және жазылатын регистр. PR2 регистрі қалпына келтірілгенде FFh күйіне инициализацияланады.
PR2 үшін сәйкес диапазонды орнату PWM толқынының жұмыс циклін өзгертуге мүмкіндік береді
PR2 = 100; // Жұмыс циклін 0-100 аралығында өзгерту үшін Цикл уақытын 100-ге орнатыңыз
Қарапайымдылық үшін мен PR2 = 100 қолданамын CCPR1L = 80; 80% жұмыс цикліне қол жеткізуге болады.
5 -қадам: CCPR1l модулін конфигурациялау
PR2 = 100 CCPR1l қалаған жұмыс циклін алу үшін 0-100 арасында кез келген жерде конфигурациялануы мүмкін.
6 -қадам: Эскизді MPLAB X IDE -ге жазыңыз, код төменде берілген
![Эскизді MPLAB X IDE -ге жазыңыз, код төменде берілген Эскизді MPLAB X IDE -ге жазыңыз, код төменде берілген](https://i.howwhatproduce.com/images/010/image-27971-9-j.webp)
#қосу
void delay (int a) // кешіктіруді тудыратын функция {
үшін (int i = 0; i <a; i ++)
{
үшін (int j = 0; j <144; j ++);
}
}
void main ()
{TRISC = 0; // Бұл бит тазаланса, PORTC шығыс болады.
CCP1CON = 0x0F; // PWM режимі үшін CCP1CON регистрін конфигурациялау
T2CON = 0x04; // Prescaler және шкаладан кейінгі конфигурациясыз T2CON қосыңыз.
PR2 = 100; // Жұмыс циклін 0-100 аралығында өзгерту үшін Цикл уақытын 100-ге орнатыңыз
уақыт (1) {
CCPR1L = 75; // 75% жұмыс циклінің кешігуін тудырды (1);
}
}
Мен сондай -ақ кодқа сәл өзгеріс енгіздім, осылайша генерацияланған PWM толқынының жиілігі
Бұл код протеуста модельденген және PWM толқыны төменде көрсетілген. Оны суретті әзірлеу тақтасына жүктеу үшін сәйкес конфигурация биттері бар #include пайдаланыңыз.
Рақмет сізге
Ұсынылған:
Atmega328P-PU микроконтроллері бар ауа райы станциясы: 5 қадам
![Atmega328P-PU микроконтроллері бар ауа райы станциясы: 5 қадам Atmega328P-PU микроконтроллері бар ауа райы станциясы: 5 қадам](https://i.howwhatproduce.com/images/005/image-13374-j.webp)
Atmega328P-PU микроконтроллері бар ауа райы станциясы: Жақында мен edx-те онлайн-ақысыз курстан өттім (2012 жылы Гарвард университеті мен MIT негізін қалады, edX-бұл онлайн оқу орны және MOOC провайдері, ол әлемнің ең жақсы университеттері мен мекемелерінің жоғары сапалы курстарын ұсынады. оқушыларға кешке
Dot Matrix Led дисплейі бар Atmega16 микроконтроллері: 5 қадам
![Dot Matrix Led дисплейі бар Atmega16 микроконтроллері: 5 қадам Dot Matrix Led дисплейі бар Atmega16 микроконтроллері: 5 қадам](https://i.howwhatproduce.com/images/009/image-24533-j.webp)
Dot Matrix Led дисплейі бар Atmega16 микроконтроллерінің интерфейсі: Бұл жобада біз AVR (Atmega16) микроконтроллері бар бір нүктелік матрицалық жарықдиодты дисплеймен жұмыс жасаймыз. Мұнда біз протеуста модельдеуді көрсетеміз, сіз оны аппараттық құралға қолдана аласыз. Міне, біз алдымен бір таңбаны басып шығарамыз, онда «А» деп айтайық
ESP32 бар PWM - ESP 32 -де PWM бар күңгірт жарық диодты Arduino IDE көмегімен: 6 қадам
![ESP32 бар PWM - ESP 32 -де PWM бар күңгірт жарық диодты Arduino IDE көмегімен: 6 қадам ESP32 бар PWM - ESP 32 -де PWM бар күңгірт жарық диодты Arduino IDE көмегімен: 6 қадам](https://i.howwhatproduce.com/images/001/image-1144-103-j.webp)
ESP32 бар PWM | ESP 32 -де PWM бар жарық диодты жарықтандыру Arduino IDE көмегімен: Бұл нұсқаулықта біз Arduino IDE көмегімен ESP32 көмегімен PWM сигналдарын қалай жасау керектігін көреміз. PWM негізінен кез келген MCU -дан аналогтық шығыс алу үшін қолданылады және бұл аналогтық шығыс 0В -тан 3,3В -қа дейінгі (esp32 жағдайында) & бастап
CloudX микроконтроллері бар СКД бар пернетақта: 4 қадам
![CloudX микроконтроллері бар СКД бар пернетақта: 4 қадам CloudX микроконтроллері бар СКД бар пернетақта: 4 қадам](https://i.howwhatproduce.com/images/003/image-7007-7-j.webp)
CloudX микроконтроллері бар СКД бар пернетақта: Бұл жоба үшін біз матрицалық пернетақтадан мәліметтерді қабылдаймыз, содан кейін оны LCD модулінде көрсетеміз
PIC микроконтроллері мен жарық диодтары бар скейтборд: 8 қадам (суреттермен)
![PIC микроконтроллері мен жарық диодтары бар скейтборд: 8 қадам (суреттермен) PIC микроконтроллері мен жарық диодтары бар скейтборд: 8 қадам (суреттермен)](https://i.howwhatproduce.com/images/003/image-8132-46-j.webp)
PIC микроконтроллері мен светодиоды бар скейтборд: Электр инженері скейтбордты 13 жасар балаға Рождестволық сыйлыққа нөлден құрастырса не аласыз? Сізге PIC микроконтроллері арқылы басқарылатын сегіз ақ жарық диодты (фаралар), сегіз қызыл жарық диодтары (артқы жарығы) бар скейтборд аласыз! Ал мен көшіп