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

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

1 28 64

Где взять файл pic.h?
Захотел вот перекомпилировать программу от микроконтроллерного искателя проводки из журнала Радио 2006 год #2. Из-за желания поставить пищалку со встроеным генератором.
Сам исходник автор выложил на FTP журнала радио, а вот где взять этот самый pic.h?

Выложите здесь пожалуйста

Заодно подскажите (или выложите здесь) СИ компилятор. Мне нужно для PIC12F629/ А то у меня есть только обрезаная версия CCS-PICC

 

ОК. Немного разобрался с компилятором. Достал HI-TECH PICC Compiler 9.6PL1 free. В связке с MP lab заработало. Но.....
Я не очень пока сильно разбираюсь в программировании. Только начал изучать, да еще и AVR. Но больно схема микропроцессорного искателя проводки пришлась по душе (Радио 2006г №2).
Может кто помочь довести ее до ума? Дело касается как самой программы, вернее мне необходимо понять каким образом она отсчитывает частоту 50Гц на входе, так и со схемотехникой. Дело в том, что на входе стоят 2 транзистора КТ3102А, включенных по схеме составного транзистора. Попытка замены мною их На КТ3102Е с большим h21 привела к прекращению работы искателя.
Считаю что схема заслуживает внимания, ибо сам переделал множество искателей и не всеми был доволен. А тут интересна сама идея реализации.
Жду ваших советов

 

serg_svd: КТ3102Е с большим h21 привела к прекращению работы искателя,
Ну а посмотреть осциллографом (или хотя бы вольтметром) что творится на коллекторах?
Если 0- значит транзисторы постоянно открыты, +Uпит- постоянно закрыты, что-то среднее- значит что-то ловит.
serg_svd: каким образом она отсчитывает частоту 50Гц на входе
Там же написано- подсчёт за 0.1 сек количества импульсов таймером TMR0.

 

gan: Ну а посмотреть осциллографом (или хотя бы вольтметром) что творится на коллекторах?
Могу только вольтметром. Осциллографа нет . Просто автор пишет о 50 Гц, ну а я заметил, что при приближении к энергосберегайкам почему-то ловит дальше, чем просто провод.

gan: Там же написано- подсчёт за 0.1 сек количества импульсов таймером TMR0.
Это вроде да, но почему выдержке времени соответствует паза в 9090 циклов? pause(9090);

 

Каким образом надо записать в свой хидер глобальную переменную чтоб ее использовать с нескольких сорсов? допустим есть мэйн и есть тайм, в тайм есть переменные которые нужно обнулить из мэйн как это сделать?

 

1. В одном из модулей:
int x;
2. В заголовочном файле:
extern int x;

 

chav1961 спасибо, получилось, а как глобальные биты задавать? статичиские я разорался : static bit x;
а как глобальные? их так же нада будет прописывать в хидере?

 

В любом случае, если некая переменная (неважно какого типа, хоть битового) используется в нескольких модулях - схема везде одна и та же: объявление переменной в модуле-хозяине, и это же объявление со словом extern в заголовочном файле.

 

понятно, спасибо за помощь

 

Подскажите!!! Как можно, если вообще можно подключить подтягивающие резисторы
для 16F676 порт А, на С. Пробую команду port_a_pullups(TRUE); но результата ни на одной ноге не наблюдается.