
Описание и расчет элементов схемы электрической принципиальной
Расположение выводов микроконтроллера PIC12F675
Таблица с назначениями выводов микроконтроллера PIC12F675
С учетом данных о расположении выводов микроконтроллера и назначением этих выводом, будет изображена электрическая схема, которая необходима для включения и выключения светодиода.
Рассчитаем элементы схемы R1 и VD2, необходимые для стабильной работы программы, выполняющей включение и выключение светодиода.
Возьмем светодиод со следующими характеристиками:
Тип: АЛ307 Е
Спектр излучения: желтый
Длина волны: 590 нм
Сила света: 1.5 мкд
Номинальный
ток:
Прямое
падение напряжения:
Напряжение
питания микроконтроллера
Найдем падение напряжения на резисторе R1.
Вычислим сопротивление резистора R1.
Из ряда сопротивлений Е24 возьмем резистор с ближайшими значениями сопротивления.
Итак, R1=240 Ом.
Программа на языке ассемблера
Программа на языке ассемблера.
;––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
#include p12f675.inc
__CONFIG _CPD_OFF &_CP_OFF & _BODEN_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
;––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
;Описание используемых в программе регистров общего назначения:
T1 equ 022h
T2 equ 023h
T3 equ 024h
;––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
;Начало
org 000h ;Вектор сброса
call INIT ;Вызов подпрограммы инициализации
goto K ;Переход к основной программе
;––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Init bsf status,rp0 ;Установка банка 1
call 3FFh ;Загрузить калибровочную константу
movwf OSCCAL ;Для работы внутреннего генератора
movlw b'11011111' ; ;5 бит порта GPIO как выход
;использоваться, остальные на вход
movwf TRISIO
bcf STATUS,RP0 ;Установка банка 0
clrf GPIO ;Очистка залипших битов порта GPIO
return ;Конец инициализации;––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
;Тело программ
K bcf STATUS,RP0 ;Установка банка 0
bsf GPIO, 5 ; Установка «1» в 5 бите GPIO
call DELAY ; Вызов подпрограммы задержки
bcf GPIO, 5 ; Установка «0» в 5 бите GPIO
call DELAY ; Вызов подпрограммы задержки
goto K ; Организация цикла
;––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
;Подпрограмма задержки
DELAY
movlw .15 ;Запись десятичного числа 15 в регистр T3
movwf T3 ;Пересылка информации в регистр T3
K3 movlw .20 ;Запись десятичного числа 20 в регистр T2
movwf T2 ;Пересылка информации в регистр T2
K2 movlw .5 ;Запись десятичного числа 5 в регистр T1
movwf T1 ;Пересылка информации в регистр T1
K1 decfsz T1,f ;Вычесть из содержимого регистра T1 единицу
goto K1 ;если содержимое T1 не равно нулю, перейти
;на метку K1
decfsz T2,f ;Вычесть из содержимого регистра T2 единицу
goto K2 ;если содержимое T2 не равно нулю, перейти
;на метку K2
decfsz T3,f ;Вычесть из содержимого регистра T3 единицу
goto K3 ;если содержимое T3 не равно нулю, перейти
;на метку K3
return ;Если содержимое T3 равно нулю, выйти из
;подпрограммы
;––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
end