Informatics Point
Информатика и проектирование
cbr flag, 1<<minus ; взять модуль
ldi r18, 1 ; и сформировать признак минуса
com r16r17r16, r18
adc r17, zero
;: ldi r18, low(503)
ldi r19, high(503)mulwr16, r19 r17, r14
lsl r18 ; округление после умножения
adc r16, zeror17, zero
ret
;*********************************
visio: ldi r18, low(1000) ; проверка выхода за
ldi r19, high(1000) ; границы диапазона
cp r16, r18
cpc r17, r19
brsh vis2
ldi xl, buf+3 ; преобразование в цифры
vis1: rcall div10 ; семисегментного кода и
rcall code7 ; сохранение в buf
st -x, r0
cpi xl, bufvis1vis3
vis2: ldi r16, $ab ; выход за диапазон
sts buf, r16 ; заполнение буфера
sts buf+1, r16 ; символами "ппп"
sts buf+2, r16
;: in r16, portBr16, (1<<min)|(1<<ledV)|(1<<ledmV)flag, minusr16, 1<<min ; включение минуса
;muxvis4r16, 1<<ledmV ; включение светодиода "mV"mux, 1vis5r17, buf+1 ; включение запятой
cbr r17, 1<<7 ; во второй позиции
sts buf+1, r17
rjmp vis5
;
vis4: cbr r16, 1<<ledV ; включение светодиода "V"
lds r17, buf ; включение запятой
cbr r17, 1<<7 ; в первой позиции
sts buf, r17: out portB, r16
;*********************************:sbi ADCSR, ADSC ; старт АЦПADCSR, ADSCpc-1
; ldi r16, $9b
; out ADCL, r16
; ldi r16, 0
; out ADCH, r16
;*********************************
; Преобразование в семисегментный код
; In: r18, Out: r0
code7: ldi zl, low(Tab7<<1)zh, high(Tab7<<1)zl, r18zh, zero
; 0, 1, 2, 3, 4, 5, 6, 7, 8, 9:.db $c0,$f9,$a4,$b0,$99,$92,$82,$f8,$80,$90
;****************************
; Обработка прерывания
tim0: in r24, sreg
push r24
dec tcou
brne endtim
; вход в точку каждые 5 ms
ldi tcou, -(136-13) ; 13 - коррекция задержки
out TCNT0, tcou ; на вхождение в прерывание
;
dec cou01
brne pc+4
; вход в точку каждые 100 ms
sbr flag, 1<<tftcou, 20cou01, tcou
;tcou, portB ; выключить все аноды
ori tcou, $e0portB, tcour24, y+
out portC, r24 ; включить катодыtcou, anod portB, tcou ; включить нужный анод
;
sec ; подготовить следующий анод
ror anod
cpi yl, buf+3 ; все индикаторы ?
brne pc+4
ldi tcou, $7f ; перегрузить анод и
mov anod, tcou ; видео указатель
ldi yl, buf
;
ldi tcou, 19+1 ; перегрузить счетчик
; переполнения таймера
endtim:pop r24sreg, r24
reti
;****************************: clr zeror17, $ff
; инициализация портовr16, $f8portA, r16ddrA, zeroportB, r17r16, 0b11110011ddrB, r16portC, r17ddrC, r17portD, r17ddrD, zero
; инит. АЦП, 125 кГц тактирования
ldi r16, 0b10000011
out ADCSR, r16
;tcou, 1cou01, tcouflag
; диапазон 10V mux
out ADMUX, mux
; начальные значения анодов и видео указателя
ldi yl, low(buf)yh, high(buf)r16, $7fanod, r16
;
clr xh
; разрешить прерывание по таймеру Т0
ldi r16, 1<<TOV0TIMSK, r16
; запустить таймер Т0
ldi r16, 1
out TCCR0, r16
;*****************************
; r19:r18*r17:r16=r15:r14:r19:r18
; Usage: r21 - count: clr r14r15r21, 16r19r18pc+3r14, r16
adc r15, r17r15r14r19r18
dec r21
brne pc-8
;***************************
; div10 r17:r16/10=r17:r16(r18): ldi r18, 11: subi r17, $28dd1r17, -$28pc+2
dd1: secr16r17r18dd0r18, r17
lsr r18r18r18
andi r17, 7
ret
Приложение 2. Схема электрическая принципиальная
Проектирование систем электроснабжения промышленных предприятий на примере маслохозяйственного отделения ПП Ефремовская ТЭЦ
Основными потребителями электроэнергии являются различные отрасли
промышленности: транспорт, сельское хозяйство, коммунальное хозяйство городов и
поселков. ...
Проектирование устройств электронной техники
Курсовой
проект является одним из этапов изучения дисциплины «Электрические цепи и
микросхемотехника» и имеет своей целью приобретение навыков проектировани ...
Расчет спутниковой передающей антенны
Требуется спроектировать и рассчитать антенну,
в соответствии с приведёнными ниже техническими данными.
Назначение:
Бортовая спутниковая передающая ант ...
Меню сайта
2024 © www.informaticspoint.ru