Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Національний Університет “Львівська політехніка”
Кафедра “Телекомунікації”
Лабораторна робота №4
“Формування сигналів довільної форми з допомогою ЦАП.”
Мета : Ознайомлення з принципом дії ЦАП.
Короткі теоретичні відомості.
Якщо на вхід ЦАП подавати деякі відліки, то на виході буде з'являтися відповідна напруга. Потрібні відліки доцільно зберігати в пам'яті програм у вигляді масива, вибирати потрібний елемент масива за допомогою команди MOVC A,@A+PC.
Завдання
Для синусоїдальної напруги значення елементів масива вираховуються так:
Де: і - номер елемента масива.
іmax - розмір масива.
Код програми:
;########################################################
bank0 EQU 00000000B
bank1 EQU 00001000B
bank2 EQU 00010000B
bank3 EQU 00011000B
cnt equ r4
;#######################################################
;## Сегмент даних ##
;#######################################################
DSEG
ORG 20H
ORG 30h
ORG 60H
Stack: DS 20H
;##########################################################
;## Сегмент команд ##
;##########################################################
CSEG
ORG 0000H
jmp start
ORG 0003H
reti
ORG 000BH
reti
ORG 0013H
reti
ORG 001BH
reti
ORG 0023H
reti
; ----------------- Ініціалізація -------------------
ORG 0030H
Start:
mov sp, #(stack-1)
mov P0, #11111111B
mov P1, #11111111B
mov P2, #11111111B
mov P3, #11111111B
;##################################################
;## Основний цикл програми ##
;##################################################
MAIN:
mь: mov A,cnt ; записую в А значення cnt
call sin ; викликаю підпрограму sin
mov DPTR,#0F000h ; записую в регістер число
movx @DPTR,A ; записую значення А в регістер DPTR
inc cnt ; збільшую cnt
cjne cnt ,#254,mitka ; перевіряю умову cnt =254
mov cnt,#0
jmp main
;-------------------------------------------------------
sin :
inc A
movc A, @A+PC
ret
table:
db 0.127d
db 0.130d
db 0.133d
db 0.137d
db 0.140d
db 0.143d
db 0.146d
db 0.149d
db 0.152d
db 0.155d
db 0.158d
db 0.161d
db 0.165d
db 0.168d
db 0.171d
db 0.174d
db 0.176d
db 0.179d
db 0.182d
db 0.185d
db 0.188d
db 0.191d
db 0.193d
.
.
.
db 0.82d
db 0.85d
db 0.88d
db 0.92d
db 0.95d
db 0.98d
db 0.101d
db 0.104d
db 0.107d
db 0.110d
db 0.113d
db 0.116d
db 0.120d
db 0.123d
db 0.126d
;-------------- Кінець програми ---------------
end
Висновок: На даній лабораторній роботі я ознайомилася з принципом дії ЦАП. Навчилася формувати синусоїдальну напругу. Написала програму яка формує на виході ЦАП синусоїдальну напругу додатніх півперіодів.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!