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 

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

Разработка системы управления электроприводом нажимного устройства реверсивного четырехвалкового стана 5000 горячей прокатки
Целью проекта является разработка системы управления электроприводом нажимного устройства реверсивного четырехвалкового стана «5000» горячей прокатки. По ...

Построение и анализ математической модели объекта управления
Построим математическую модель объекта управления в пространстве состояния Рисунок 2 Структурная схема ОУ В схеме четыре элемента, запасающих э ...

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

Меню сайта