paul_DZ (1044800)
Текст из файла
;Программа для реализации на микроконтроллере AVR ATmega16
;разностного уравнения:
; x[n]=0.45*y[n-2]-0.35*y[n-1]+23.5*x[n-1]-1.45*x[n-2]
;*******************************************************************************************************
device ATmega16
.nolist ; отключение создания листинга при ассемблировании
.include "m16def.inc" ; вставляем в файл содержимое файла m16def.inc (файл
; определения регистров МК)
.list ; разрешаем создание листинга файла
.CSEG ;определяем начало сегмента кода
;*******************************************************************************************************
.def tmp = r16
.def a = r17 ;a=2 // 0.45*4=2
.def b = r18 ;b=1 // 0.35*4=1
.def c = r19 ;c=94 // 23,5*4=94
.def d = r20 ;d=6 // 1.45*4=6
.def XH = r21
.def XL = r22
.def X1 = r23
.def X2 = r24
.def Y1 = r25
.def Y2 = r28
ldi a, 2 ;инициализация коэффициентов
ldi b, 1
ldi c, 94
ldi d, 6
ldi XH, 0 ;инициализация переменных
ldi XL, 0
ldi X1, 0
ldi X2, 0
ldi Y1, 0
ldi Y2, 0
cbi DDRA, 0 ;PA0 - вход на ацп (установка бита в порту)
ser tmp ;установка регистра в FF
out DDRC, tmp ;Все 8 линий порта C работают на выход (ЦАП)
ldi tmp, 0
ldi tmp, (1<<ADEN)|(1<<ADFR)|(1<<ADPS0)|(1<<ADPS1)
; ADEN=1 включение ацп
; ADFR=1 непрерывное преобразование
; ADPS[2..0]=011 МК работает на 1МГц. делитель
; частоты = 8.1000кГц / 8 = 125кГц
out ADCSRA, tmp
ldi tmp, (1<<ADLAR)|(1<<REFS0) |(1<<REFS1)
; REFS[1..0]=11 От внутреннего ИОН 2,56В
; ADLAR = 1 выстраиваем по левому краю
; MUX[3..0] = 0000 входной канал ADC0
out ADMUX, tmp
;*******************************************************************************************************
Main:
in Y2, ADCH ;Записываем 8р значение АЦП
mul Y2, a
movw XH:XL, r1:r0 ;a*y[n-2]
mul Y1, b
sub XL, r0
sbc XH, r1 ;a*y[n-2]-b*y[n-1]
mul X1, c
add XL, r0
adc XH, r1 ;a*y[n-2]-b*y[n-1]+c*x[n-1]
mul X2, d
sub XL, r0
sbc XH, r1 ; a*y[n-2]-b*y[n-1]+c*x[n-1]-d*x[n-2]
movw X, XH:XL ;переносим в сдвоенный 16р регистр X (r27:r26)
lsr x
lsr x
lsr x
lsr x
lsr x
lsr x
lsr x
lsr x ;сдвиг на 10 разрядов вправо( на 2ва – деление на
lsr x ;8 для ЦАП)
lsr x
mov tmp, r26
mov X2, X1 ;x[n-2] = x[n-1]
mov X1, tmp ;x[n-1] = x[n]
mov Y2, Y1 ;y[n-2] = y[n-1]
out PORTC, tmp ;запись в порт C
rjmp Main ;повторяем Main
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.