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. Схема электрическая принципиальная

Перейти на страницу: 1 2 

Лучшие статьи по информатике

Проектирование передатчика с угловой модуляцией сухопутной подвижной службы
При расчете радиопередающего устройства необходимо отметить назначение передатчика. Назначение передатчика - преобразование энергии источника питания в э ...

Проектирование цифровой системы коммутации на базе оборудования Surpass hiE 9200
В настоящее время многие операторы связи обладают развитой инфраструктурой, построенной во время становления телекоммуникационной отрасли в России. Инфрастр ...

Проектирование и расчет трассы радиорелейной линии
Одним из основных видов средств связи являются радиорелейные линии прямой видимости, которые используются для передачи сигналов многоканальных телефонных со ...

Меню сайта