Полный перечень всех PICмикроконтроллеров и datasheetы на них. Пользователь. Поделиться публикацией. Похожие публикации. Средства программирования PICконтроллеров. RU поставки и техподдержка на русском языке. PicKit-2_lite/09.JPG' alt='Pic16f877a Даташит На Русском' title='Pic16f877a Даташит На Русском' />И так, цель задачи обозначили. Теперь перейдем к реализации наших планов. Часть 1. А именно Микроконтроллер PIC1. F8. 76. AРассыпуха к нему. Светодиод. Макетная плата. Светодиод можно взять любой по вкусу, какой Вам больше нравится. Так же, для программирования микроконтроллера я пользуюсь программатором отладчиком ICD2. Конспекты Уроков По Математике 1 Класс Пнш тут. Он подключается к компьютеру по USB и прекрасно работает как на системе Windows, так и на GNULinux. В нашем случае будем использовать родной MPLAB IDE в Windows. Скрин в процессе разработки Часть 2. Программная. За настройку модуля в микроконтроллере отвечает регистр CPP1. CON. Чтобы модуль у нас заработал, предварительно необходимо инициализировать таймер. Для режима ШИМ используется таймер TMR2. За его конфигурацию отвечает регистр T2. CON. Инициализация movlw . STATUS, 5movwf T2. CON Помещаем в регистр T2. CON 0bsf T2. CON, 0 Устанавливаем бит T2. CKPS0 Предделительbsf T2. CON, 2 Включаем таймер TMR2 битом TMR2. ONbsf T2. CON, 3 Устанавливаем бит TOUTPS0 Постделение. На этом инициализация таймера закончена. Теперь при включении контроллера от будет служить источником для нашего ШИМ модуля. Инициализация ШИМ модуля происходит следующим образом movlw 0. Подготавливаем конфигурациюmovwf CPPCON Конфигурируем ШИМbsf CPPCON, 2 Включаем модуль ШИМВсе, на этом инициализация закончена. Теперь мы можем помещать в регистр CPP1. L число от 0 до 2. Полный исходник программы для прошивки нашего микроконтроллера STATUS equ 0. TRISC equ 0. CPPCON equ 1. CPP1. L equ 1. T2. CON equ 1. STATUS, 5 movlw . TRISC bcf STATUS, 5movwf T2. CONbsf T2. CON, 0bsf T2. CON, 2bsf T2. CON, 3movlw 0. CPPCONbsf CPPCON, 2movlw . CPP1. Lmovlw . Sincf CPP1. L, 1goto 5movlw . Sdecf CPP1. L, 1goto 5goto 1. Smovlw . 5. 0movwf counterloopcall delay. Sdecfsz countergoto loopreturndelay. Smovlw . 1. 00 addlw 1btfss STATUS,2goto 2return end Краткая заметка по командам, использованных в программе. Присвоение имени на определенный адрес. Переход программы на метку, либо определенную строкуcall Вызов подпрограммыmovlw Поместить в регистр W, числоmovwf Переместить из регистра W числоbsf Установить бит в регистре, в состояние 1bcf Установить бит в регистре, в состояние 0addlw Прибавить в регистр W числоbtfss Проверить бит в регистре на 1incf Инкриминировать регистр прибавить 1decf Декриминировать регистр вычесть 1decfsz Вычесть 1 из регистра проверка на 0. Задержки в программе откалиброваны на частоту кварцевого резонатора в 8мгц. Принцип работы программы. В начале, происходит инициализация регистров, затем настройка внутренних модулей микроконтроллера. В переменной tmp мы можем задавать скважность, тем самым меняя максимальную яркость светодиода. Далее реализована часть программы, которая отвечает за само мигание светодиода, с учетом использования ШИМ. Сначала, инкриминируя CPP1. L до значения tmp мы заставляем светодиод медленно начать светиться, а затем делаем обратную операцию. Часть 3. Финальная. Перед тем как прошивать Ваш контроллер, Вам необходимо установит биты конфигурации микроконтроллера. Без них, ничего работать не будет. И так 1 WDT выключаем. Это сторожевой таймер. Предназначен для аппаратного сброса микроконтроллера в момент непредвиденного зависания. LWP выключаем. Это низковольтное программирование. Мы используем нормальный программатор, который подает на MCLR 1. В. 3 Осцилятор В данном случае мы имеем 8мгц. Значит ставим значение XT.