| Форум РадиоКот https://radiokot.ru/forum/ |
|
| ШИМ на PIC16F876A https://radiokot.ru/forum/viewtopic.php?f=58&t=153388 |
Страница 1 из 1 |
| Автор: | dexart12 [ Ср мар 14, 2018 08:35:16 ] | ||
| Заголовок сообщения: | ШИМ на PIC16F876A | ||
Всем, добрый день! Подскажите в чём проблема в коде, написанном на Си в MPLab. Компилятор XC8 1.34 (крякнутый). Может ли это быть связано с тем, что MPLab не куплена и что такая херь только в платной версии работать будет? Код: [color=#008000] [/color]
/* * File: pwm.c * Author: dexart12 * * Created on 14 march 2018 y., 9:08 */ #include <xc.h> #define _XTAL_FREQ 20000000 #define TMR1PRESCALE 8 #define OUT RC2 // CONFIG #pragma config FOSC = HS #pragma config WDTE = OFF #pragma config PWRTE = OFF #pragma config BOREN = ON #pragma config LVP = OFF #pragma config CPD = OFF #pragma config WRT = OFF #pragma config CP = OFF unsigned long CCPR = 0; const unsigned long total = 12500; unsigned long current = 0.5 * total; // прерывание void interrupt tmr1isr() { if (CCP1IF == 1) { if (OUT == 1) { OUT = 0; CCPR = total - current; } else { OUT = 1; CCPR = current; } // ставим значение ССРR в ССР модули регистров CCPR1H = CCPR >> 8; CCPR1L = CCPR; CCP1IF = 0; } } //главная функция void main() { TRISC = 0; //выходы порта С выходы PORTC = 0; // порты С низкий уровень T1CON = 0b00110000; // Выключен таймер 1 и установлен прскалер 8 TMR1H = 0; //очищаем регистры TMR1L = 0; // очищаем регистры CCP1CON = 0x0b; //установка ССР модуля сравнение CCPR = 0; // установка нуля CCP1IF = 0; // очистим флаг прерываний CCP1IE = 1; // разрешим прерывание ССР1 INTCON = 0xC0; // разрешение глобальных и переферийных прерваний T1CON = 0b00110001; // запуск таймера 1 while(1) { current = total * 0.5;// 50% цикл __delay_ms(5000); // задержка 5 сек current = total * 0.1; // 10% цикл __delay_ms(5000); // задержка 5 сек } }
|
|||
| Автор: | Vano79 [ Ср мар 14, 2018 09:12:22 ] |
| Заголовок сообщения: | Re: ШИМ на P I C 1 6 F 8 7 6 A |
MPLab бесплатный продукт. На вскидку привести все типы переменных в соответствие. |
|
| Автор: | pyzhman [ Ср мар 14, 2018 11:51:12 ] |
| Заголовок сообщения: | Re: ШИМ на PIC16F876A |
Дело не в молотке, дело в руках. |
|
| Автор: | Аlex [ Ср мар 14, 2018 14:20:49 ] |
| Заголовок сообщения: | Re: ШИМ на PIC16F876A |
дело в руках. В крякнутых ...
|
|
| Автор: | Vano79 [ Ср мар 14, 2018 15:00:33 ] |
| Заголовок сообщения: | Re: ШИМ на PIC16F876A |
XC8 1.38 и такое ..овно ест, хоть и предупреждениями. |
|
| Автор: | Аlex [ Ср мар 14, 2018 18:37:45 ] |
| Заголовок сообщения: | Re: ШИМ на PIC16F876A |
"Нечего на зеркало пенять, коли рожей не вышел" (c) А вот так : Цитата: Код: const unsigned long total = 12500; unsigned long current = 0.5 * total; Код: current = total * 0.5; current = total * 0.1;
|
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


