-

Домашняя страничка Александра Зайцева

  

FAQ по среднему семейству микроконтроллеров PICmicro из русскоязычной документации "PICmicro Mid-Range MCU Family Reference Manual", представленной в разделе документация сайта www.microchip.ru
(В свое время я подготавливал этот документ для ООО "МикроЧип".
Представленное FAQ немного переработано, а вопросы в некоторых случаях объединены.)

Большая просьба к тем, кто будет копировать это FAQ для размещения на своих сайтах 
- делайте хотя бы ссылку на мою домашнюю страницу с указанием автора FAQ.

Список вопросов

  1. Подключился осциллографом к выводу OSC2, включил питание микроконтроллера. Тактовый сигнал не генерируется. >>>
     

  2. "Запустил" микроконтроллер PICmicro, но частота такового генератора намного больше чем частота кварцевого резонатора. >>>
     

  3. Микроконтроллер работает хорошо, но частота тактового генератора немного отличается от номинального значения резонатора. Как откорректировать частоту генератора? >>>
     

  4. Устройство работает хорошо, но иногда внезапно микроконтроллер приостанавливается. >>>
     

  5. В моем устройстве микроконтроллер работает в режиме внутреннего RC генератора. При стирании микроконтроллера стерлась калибровочная информация. >>>
     

  6. Мое устройство подвергнуто воздействию электростатических разрядов и сильным электромагнитным помехам из-за чего работает неустойчиво. >>>
     

  7. Отладил программу на микроконтроллере с УФ стиранием памяти, сброс и выполнение программы происходило должным образом. При использовании OTP микроконтроллера устройство работает неустойчиво. >>>
     

  8. Алгоритм программы работает неправильно. >>>
     

  9. Не могу изменить флаги регистра STATUS. >>>
     

  10. Выполнение программы прекращается, что может быть причиной? >>>
     

  11. Почему в ячейку EEPROM памяти не записываются мои данные? >>>
     

  12. Данные, записанные в EEPROM память разрушаются. >>>
     

  13. Программа микроконтроллера не переключает состояние портов ввода/вывода, тактовый генератор работает. >>>
     

  14. При чтении состояния порта я получаю значение отличное от записываемого. >>>
     

  15. Я использую внешнее прерывание на выводе RB0 в микроконтроллере PIC16CXXX. Прерывания не генерируются, хотя когда я изменяю свою программу и проверяю логические уровни на входе RB0, все работает. >>>
     

  16. При использовании команды BCF другие выводы порта принимают низкий логический уровень. >>>
     

  17. Перейдя с микроконтроллеров PIC16C74 на PIC16C74A заметил, что изменилась работа PSP. >>>
     

  18. В моей программе выполняется отсчет времени на основе TMR0, но часы работают не точно или вовсе теряют значение времени. >>>
     

  19. Используя TMR1 не удается получить точный отсчет времени. >>>
     

  20. Какой таймер я могу использовать для режима захвата и сравнения модуля CCP? >>>
     

  21. Какой таймер я могу использовать в ШИМ режиме модуля CCP?  >>>
     

  22. Можно использовать один модуль CCP для работы в режиме захвата (сравнения) и в ШИМ режиме в одно и тоже время? В этих режимах модуль CCP использует разные таймеры, как его правильно настроить? >>>
     

  23. Как влияет сброс микроконтроллера на работу модуля CCP? >>>
     

  24. Я установил в регистре CCP1CON режим сравнения с триггером специального события (1011), который сбрасывает TMR1. Когда произойдет сравнение данных, я получу прерывания от модуля CCP1 и TMR1 (флаги TMR1IF и CCP1IF установлены в '1')? >>>
     

  25. Как мне использовать TMR2 в качестве универсального таймера с генерацией прерываний при переполнении? >>>
     

  26. Я использую модуль CCP в ШИМ режиме. Длительность импульса ШИМ практически всегда равняется 100% даже, когда в регистр длительности импульса ШИМ записано значение 7Fh, хотя скважность должна равняться 50%. >>>
     

  27. Я хочу определить частоту входного сигнала используя режим захвата модуля CCP. Мой алгоритм работает следующим образом: по первому активному фронту сигнала сбрасываю TMR1, по второму фронту сигнала в регистры захвата данных переписывается значение TMR1, которое является периодом сигнала. Проблема состоит в том, что очистка таймера происходит после исполнения 12 команд микроконтроллера, получив первый фронт сигнала (переход на обработку прерываний и сохранение контекста), поэтому я не могу измерять большие частоты сигнала. >>>
     

  28. Не могу организовать обмен данными с другим устройством, работающим по интерфейсу SPI. >>>
     

  29. Не могу включить режим ведущего I2C. >>>
     

  30. В режиме ведомого I2C не могу передать данные, хотя запись в регистр SSPBUF выполняю. >>>
     

  31. В асинхронном режиме USART при передаче данных возникает много ошибок. >>>
     

  32. Напряжение VREF внутреннего источника опорного напряжения отличается от ожидаемого. >>>
     

  33. При подключения к выводу VREF внутреннего источника опорного напряжения нагрузки с малым сопротивлением напряжение VREF ниже ожидаемого. >>>
     

  34. Создается впечатление, что при использовании встроенных компараторов программа микроконтроллера "зависает". >>>
     

  35. Я использую микроконтроллер PIC16C7XX в своем устройстве. Заметил, что результат преобразования АЦП не всегда точен. >>>
     

  36. После старта преобразования АЦП могу я изменить входной канал для следующего измерения? >>>
     

  37. Я использую рекомендованную емкость конденсатора и режим работы источника тока PIC14C000, но диапазон входного напряжения не соответствует требуемому? >>>
     

  38. Я использую PIC14C000, который имеет в своем составе датчик температуры. Результаты измерения температуры несколько завышены. >>>
     

  39. На результат преобразования АЦП влияет переключение силовых компонентов на печатной плате. Что можно сделать, чтобы минимизировать влияние переключений. >>>
     

  40. Не получается использовать некоторые выводы модуля LCD как цифровые входы. >>>
     

  41. При использовании модуля LCD изображение на ЖКИ мерцает. >>>
     

  42. При использовании модуля LCD изображение на ЖКИ не контрастно. >>>
     

  43. Напряжение питания устройства снижается ниже допустимого уровня, а затем восстанавливается. При этом WDT не сбрасывает микроконтроллер и устройство работает неправильно. >>>
     

  44. Микроконтроллер сбрасывается даже при регулярном выполнении команды CLRWDT. >>>
     

  45. Микроконтроллер не выходит из состояния сброса. >>>
     

  46. Я использую JW микроконтроллер для отладки программы, но микроконтроллер больше не программируется (чтение дает все '0'). Может неисправен микроконтроллер? >>>
     

  47. При переходе с PIC16C74 на PIC16C74A моя программа больше не работает. >>>
     

  48. При стирании памяти - память программ стерта, а слово конфигурации еще нет. >>>
     

  49. Когда я выполняю программирование ICSP, программа смещена в памяти. >>>
     

  50. Я использую программатор PRO MATE II с самодельным разъемом для передачи сигналов программирования в мое устройство. Иногда память программ неправильно программируется. >>>
     

  51. Как можно непосредственно изменить значение регистра W? Требуется декрементировать значение в регистре W. >>>
     

  52. Существует ли какая-нибудь опасность использования команды TRIS для микроконтроллеров PIC16CXXX? В документации на микроконтроллер сказано, что не рекомендуется использовать эти команды. >>>
     

  53. Нужно переключать банк памяти данных (выбрать банк 1) при использовании команды TRIS? Требуется настроить направление каналов ввода/вывода PORTA. >>>
     

  54. В документации указано, что требуется осторожность при использовании команд "чтение - модификация - запись". Объясните пожалуйста почему. >>>

 

Rambler's Top100

Страничка только разрабатывается, поэтому, 
если что не так, то пишите alex-uc@narod.ru

Hosted by uCoz