Свежие обсуждения
Микроконтроллеры

Ликбез по С для микроконтроллеров PIC

1 31 64

Flop: ьзуюсь ССS-PICC, а точнее только начал осваивать. Некоторые моменты описываемые в книге Шпака логически не понятны, так сказать- додумывайте сами.

http://kazus.ru/forum/topic_7108-0-asc-370.html
Пиши , реально поможем...

 

Можно ли где нибудь посмотреть реализацию простейшего частотомера на CCS для PIC-а? На 30-50мгц, с использованием внутреннего прескалера контролера?
Накидал схему в протеусе, подал на ногу A4 генератор 10мгц забил след. код:
И чего то не работает. Не вываливается в прерывание:

#include <16F876.h>
#fuses HS, NOWDT, NOPROTECT, PUT, NOBROWNOUT, NOLVP
#use delay(clock=20000000)
#include "lcd.c"
#define led pin_b0
#use standard_io(b
#INT_TIMER0
void timer_irq()
{
output_high(led);
delay_ms(2);
output_low(led);
}
void main()
{
setup_timer_0(RTCC_EXT_H_TO_L | RTCC_DIV_256);
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);
for (;;) {
}
}

 

setup_timer_0(RTCC_EXT_H_TO_L | RTCC_DIV_256); - генератор счета внешний? Попробуйте, для начала, внутрений поставить, для общей проверки работоспособности.
Может и в протеусе что-то не совсем так нарисованно. С виду - должно работать. И попробуйте частоту пониже поставить, например 1кГц.

 

Сергей К, фигня какая то... поставил внешний ген. 1Мгц - все работает, меняю на 10мгц - не возникает прерывания. Должно ведь работать до 30Мгц, с учетом того что я включаю делитель 256.

 

Всем добрый...
Учу в месте с вами С, но компилятор использую радной микрочиповский.
Может кто подскажет глюк?
Процесор 18F452, использую 6 каналов АЦП. На каждый канал АЦП два вызода цифры, чтоб зажигать двух цветный диод.
Прога мериет, сравневает в допуске значение или нет, и подсвечивает соответствующий диод (красный или зеленый).
Еще сделан програмный счетчик, которы раз в пол секунду изменяет значение 4 выводов (подобие бекущего огня), это нужно для внешнего управления устройствами.
Проблема заключается в том, что процессор сбрасывается через ~4...5 сек.
ПОЧЕМУ????
Программа написана в лоб вся там Watchdog и т.д. отключены при компиляции.

 

Исходник выложите, народ посмотрит Для сброса процессора могут быть сотни причин.

 

Вот сылка http://get.freesoft.ru/?id=23783

 

Вы уверены, что Ваша строка должна писаться именно так:

OpenADC(ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_5ANA_0REF,ADC_CH0 & ADC_INT_OFF );

Такое ощущение, что Вы хотели написать:

OpenADC(ADC_FOSC_32 | ADC_RIGHT_JUST | ADC_5ANA_0REF,ADC_CH0 | ADC_INT_OFF );

 

ivasi: поставил внешний ген. 1Мгц - все работает, меняю на 10мгц - не возникает прерывания
а виртуальная модель МК способна такую частоту оспринимать? Если на более низкой работает - значит с программой все в порядке. Пробуйте на реальном МК.

 

Доброго времени суток! Кто знает дайте ссылку на библиотеки для CCS-PIC: аналогоцифровой преобразователь, протокол инфракрасного пульта RC5 и подключение ЖК дисплея 16символов 2 строки