- •1. Функциональная схема
- •2. Описание принципиальной схемы
- •2.1. Микроконтроллер Microchip pic16f747
- •2.1.1. Карта памяти
- •2.1.2. Реализация интерфейса i2c Концепция шины i2c
- •2.2. Блок ацп
- •2.3. Блок цап
- •2.4. Клавиатура и дисплей
- •4. Программная часть. Программа опроса клавиатуры
- •3. Разработка блока питания
- •Список использованных источников
3. Разработка блока питания
Питание системы осуществляется от стандартной сети переменного напряжения 220В. Для нормального функционирования устройство требует два напряжения питания: +5 В для питания цифровых микросхем, индикации и +10В для питания ЦАП.
Для получения нужных напряжений был взят трёхобмоточный трансформатор E19T1, на выходе которого снимается напряжение 5В и 12В. Данные напряжения подаются на интегральные стабилизаторы Aimtec AMEU75-5SZ и AMEU75-12SZ соответственно. Они способны выдавать на выходе ток до 12А.
Для устранения помех по питанию на выходах интегральных стабилизаторов ставятся танталовые конденсаторы 100мкФ в качестве низкочастотных фильтров и плёночные конденсаторы 0,1мкФ в качестве высокочастотных фильтров, а также стабилитроны SMBJ5.1 и SMBJ10 соответственно. Для сглаживания пульсаций тока применяются дроссели SDR0805 220мкГн.
Также для устранения пульсаций напряжения в непосредственной близости с корпусом каждой микросхемы устанавливается плёночный конденсатор 0,1мкФ параллельно линии питания.
Для выбора самовосстанавливающегося предохранителя необходимо предварительно определить потребляемые схемой токи.
![]()
Т.е. выбираем самовосстанавливающийся предохранитель на 400мА.
4. Программная часть. Программа опроса клавиатуры
4.1. Блок-схема алгоритма

4.2. Листинг программы ввода информации с АЦП
|
|
list p=16F747 |
; подключение заголовочного файла |
|
|
org 0 |
; адрес начала программы |
|
init |
bcf status,RP1 |
; подпрограмма инициализации |
|
|
bsf status,RP0 |
; выбор банка 1 |
|
|
bcf TRISB,1 |
|
|
|
bcf TRISB,2 |
|
|
|
bсf TRISB,3 |
; установка адресных линий на вывод |
|
|
mov TRISD,0FFh |
; установка порта D на ввод |
|
|
mov TRISA,0Fh |
; установка порта A на ввод |
|
|
bcf TRISA,5 |
; установка линии 5 порта A на вывод |
|
|
bcf TRISA,6 |
; установка линии 6 порта A на вывод |
|
ADC_read |
bcf status,RP1 |
|
|
|
bcf status,RP0 |
; выбор банка 0 |
|
|
bsf PORTB,3 |
; включение дешифратора |
|
|
bcf PORTB,1 |
|
|
|
bcf PORTB,2 |
; выставление адреса АЦП |
|
|
bcf PORTA,4 |
; запуск преобразования сигнала АЦП |
|
wait |
btfss PORTB,4 |
; проверка флага состояния АЦП |
|
|
goto wait |
; ожидание готовности АЦП |
|
|
bsf PORTA,4 |
; сброс сигнала начала преобразования |
|
|
bsf PORTA,5 |
; выдача данных из АЦП на шину |
|
read |
btfsc PORTA,0 |
; чтение данных с шины и запись регистры 20h и 21h |
|
|
bsf 021h,0 |
|
|
|
btfsc PORTA,1 |
|
|
|
bsf 021h,1 |
|
|
|
btfsc PORTA,2 |
|
|
|
bsf 021h,2 |
|
|
|
btfsc PORTA,3 |
|
|
|
bsf 021h,3 |
|
|
|
mov 020h,PORTD |
|
|
end |
|
; конец программы |
