
- •Перечень сокращений и условных обозначений.
- •Содержание
- •Введение
- •1 Физические основы метода применения в медицине
- •2 Разработка структурной схемы устройства
- •3 Разработка принципиальной схемы устройства
- •3.1 Расчет усилителя
- •3.2 Расчет фильтра
- •3.3 Усилитель переменного напряжения
- •3.3 Звуковая сигнализация
- •3.4 Индикация давления
- •3.5 Микроконтроллер
- •4 Разработка схемы блока питания
- •5 Алгоритм работы программы
- •6 Алгоритм подпрограммы
- •7 Код программы
- •Заключение
- •Список используемых источников
4 Разработка схемы блока питания
Общий потребляемый ток блока измерения температуры определяется простым суммированием токов потребления основных узлов. Основной составляющей суммарного тока потребления является генератор, потребляющий 45мА. Остальные узлы потребляют меньший ток. Зададимся условием, пусть блок питания обеспечивает выходной ток в 100мА.
Согласно техническому заданию блок измерения должен питаться непосредственно от сети переменного тока, поэтому в схему питания обязательно должны входить понижающий трансформатор, двухполупериодный диодный выпрямитель и стабилизаторы, формирующие постоянные уровни выходного напряжения +/-5 В. Выберем трансформатор ТПГ-2– 2х6В. С выхода трансформатора напряжение поступает на диодный мост, представляющий собой сборку W04M (1.5A, 400В). Данное схемотехническое решение эффективно, т.к. в каждом полупериоде входного сигнала используется обе половины вторичной обмотки трансформатора. Выбираем емкость накопительного электролитического конденсатора таким, чтобы его сопротивление на передаваемой частоте было мало. Данному требованию удовлетворяет емкость номиналом 100 мкФ (конденсаторы С1 и С2), в качестве которой выберем К50-35-16В-100 мкФ.
В качестве преобразователей выберем ИМС фирмы Fairchild LM7805 для получения напряжения в +5 В и LM7905 для получения напряжения в −5В. Оба преобразователя имеют диапазон входных напряжений до +/-35В, могут обеспечить выходной ток до 100 мА, что с запасом отвечает нашим требованиям. Внешние навесные элементы выбраны с учетом рекомендаций самого производителя микросхем. Поэтому выберем С3 К10-17б-0,33 мкФ, С4 К10-17-0,33 мкФ, С5 К10-17б-0,1 мкФ, С6 К10-17б -0,1 мкФ.
5 Алгоритм работы программы
6 Алгоритм подпрограммы
7 Код программы
.include"m8def.inc"
.def Temp=R16
.def Temp2=R17
.def SPressTemp=R20
.def DPressTemp=R21
.def MesEnd=R22
.cseg
.org 0
rjmp RESET ; Reset Handler
rjmp EXT_INT0 ; IRQ0 Handler
rjmp EXT_INT1 ; IRQ1 Handler
rjmp TIM2_COMP ; Timer2 Compare Handler
rjmp TIM2_OVF ; Timer2 Overflow Handler
rjmp TIM1_CAPT ; Timer1 Capture Handler
rjmp TIM1_COMPA ; Timer1 CompareA Handler
rjmp TIM1_COMPB ; Timer1 CompareB Handler
rjmp TIM1_OVF ; Timer1 Overflow Handler
rjmp TIM0_OVF ; Timer0 Overflow Handler
rjmp SPI_STC ; SPI Transfer Complete Handler
rjmp USART_RXC ; USART RX Complete Handler
rjmp USART_TXC ; USART TX Complete Handler
rjmp ADC1 ; ADC Conversion Complete Handler
rjmp EE_RDY ; EEPROM Ready Handler
rjmp ANA_COMP ; Analog Comparator Handler
rjmp TWSI ; Two-wire Serial Interface Handler
rjmp SPM_RDY ; Store Program Memory Ready Handler
;RESET:
EXT_INT0: ; IRQ0 Handler
EXT_INT1: ; IRQ1 Handler
TIM2_COMP: ; Timer2 Compare Handler
TIM2_OVF: ; Timer2 Overflow Handler
TIM1_CAPT: ; Timer1 Capture Handler
TIM1_COMPA: ; Timer1 CompareA Handler
TIM1_COMPB: ; Timer1 CompareB Handler
TIM1_OVF: ; Timer1 Overflow Handler
;TIM0_OVF: ; Timer0 Overflow Handler
SPI_STC: ; SPI Transfer Complete Handler
USART_RXC: ; USART RX Complete Handler
USART_TXC: ; USART TX Complete Handler
ADC1: ; ADC Conversion Complete Handler
EE_RDY: ; EEPROM Ready Handler
;ANA_COMP: ; Analog Comparator Handler
TWSI: ; Two-wire Serial Interface Handler
SPM_RDY:
reti
RESET:
sei
ldi TEMP, high(RAMEND);
out SPH, TEMP ; Set stack pointer to top of RAM
ldi TEMP, low(RAMEND)
out SPL, TEMP
ldiTemp, 0b00000001
out TIMSK, Temp ;разрешить прерывание по переполнению первого таймера
ldi Temp, 0b10000100 ; разрешение работы АЦП
out ADCSRA, Temp
ldi Temp, 0b00100000
out ADMUX, Temp
ldi Stemp, 40
ldi Temp, 0b00001011 ;настройка портов
out DDRС, Temp
Begin:
ldi Time1, 0
m1:
ldi Time, 8
mov Time1L, Time2L
mov Time1H, Time2H
mov Time2L, Time3L
mov Time2H, Time3H
a1:
sbi ADCSRA, 6
rcall WaitM
in Temp, ADCH
add Temp3L, Temp
sbic SREG, 0
inc Temp3H
dec Time
breq b1
rjmp a1
b1:
cpi Temp3H, 0
breq m1
cp Temp2H, Temp1H
brlom1 ; если меньше
cpTemp2L,Temp1L
brlo m1
cp Temp2H, Temp3H
brlo m1
cpTemp2L,Temp3L
brlom1
cpi Time1, 0 ; если больше 0 то переход
brsh Comp
mov Temp2H0, Temp2H
mov Temp2L0, Temp2L
inc Time1
rjmp m1
Comp:
cpi Time1, 1
brsh End
inc Time1
cp Temp2H, Temp2H0
brlo End1
cp Temp2L, Temp2L0
brlo End1
rjmp End2
End1:
ldi TTemp, 0b01010101
rjmp m1
End2:
ldi TTemp, 0b10101010
rjmp m1
End:
ROL TTemp
Sbrc TTemp, 0 ; пропустить если бит нет
rjmp outsign
rjmp m1
outsign:
sbi PortC, 4
ldi Temp, 0
out TCNT0, Temp
ldi Temp, 0b00000111
out TCCR0, Temp
rjmp Begin
TIM0_OVF: ; обработка прерывания переполнения таймера0
cbi PortC, 4 ; выключить звуковой сигнал
ldi Temp, 0 ; выключить Таймер0
out TCCR0, Temp
reti ; выход из прерывания