Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Розрахунок вихідного підсилювача ⇐ ПредыдущаяСтр 2 из 2
Амплітуда вихідної напруги складає 14В. На виході ЦАП при вхідному коді 255 та опорній напрузі 14В буде напруга 14В. Тому вихідне підсилення не потрібне. Остаточна електрична принципова схема При складанні електричної принципової схеми враховуючи усі схемні рішення вибрані у попередніх пунктах одержуємо схему зображену у додатку 2. Розробка програмної частини Програмна частина складається з головної програми ініціалізації та підпрограми обробки переривання від таймера-лічильника Т0. Головна програма ініціалізації В цій частині в РЗП заносяться початкові значення, задається режим роботи таймера-лічильника та заносяться початкові значення періоду переривань, а також задається дозвіл на переривання тільки від таймера. Підпрограма обробки переривання При переповненні таймера виникає переривання, яке викликає п.п. обробки переривання. В цій п.п. в ЦАП заноситься черговий відлік сигналу, переключається індикаторний пристрій та опитується стан клавіатури. При реалізації підпрограми обробки нажаття першої клавіші застосовано алгоритм показаний на рис.3, для другої - рис.4.
Програма на мові асемблера Згідно вище приведеного опису написано програму на мові асемблера для мікроконтролера Intel 8051. Лістинг програми приведений у додатку 3. Після написання програми визначаємо, що в найгіршому випадку час виконання п.п. обробки переривання від таймера не перевищує 100 машинних циклів, тобто 100 мкс. Тому вибираємо цей час, як період дискретизації сигналу. Враховуючи, що таймер в МК Intel 51 рахує машинні цикли шляхом інкрементування вираховуємо число, необхідне за забезпечення затримки в 50 мкс. Прийнятий час дискретизації займе 100 машинних циклів, тому для того, щоб за цей час відбулось переповнення необхідно в таймер занести число: FFFF16 – 10010 = FFFF16 - 6416 = FF9716 Крім того необхідно врахувати час ініціалізації таймерів при кожному перериванні (4 цикли): FF9716 – 416 = FF9316 Результат такої дискретизації показаний на мал.1 Для часу дискретизації 2Т та 4Т це значення буде відповідно рівне:
FFFF16 – 20010 – 416 = FFFF16 – С816 - 416 = FF3316 FFFF16 – 40010 - 416 = FFFF16 - 19016 – 416 = FE6B16 Призначення використаних регістрів:
Для виведення інформації на індикатори числа необхідно перекодувати з двійкового коду в 7 – сегментний.
Висновки В результаті виконання роботи розроблено принципову електричну схему та програму на мові асемблера функціонального генератора інфранизької частоти на базі мікроконтролера Intel 8051. Через дискретність часових відліків похибка, котра зумовлює зміну періоду повторення сигналу становить не більше, як половину часу дискретизації. тобто 25 мкс, що відповідає 0.3 %. За рахунок шумів квантування виникає похибка у визначенні амплітуди, але оскільки вона значно менша за похибку зумовлену аналоговою частиною схеми, то нею ми можемо знехтувати. Таким чином можна стверджувати, що усі вимоги технічного завдання виконано. Додаток1 Додаток 3. Лістинг програми .SPACES ON .LIST ON .GLOBALS ON .LLCHAR _
.DATA .ORG 30H
T0_H DB 0FFh T0_L DB 97h Count DB 20
.CODE .ORG 00H AJMP Reset
; Пiдпрограма обробки переривань по таймеру T0: ; Частота кварцевого резонатора - 24 МГц ; Перiод тактовоi частоти - 0,5 мксек ; Переривання вiдбуваються з частотою – 0,05 мсек
.ORG 0BH IntT0: mov TH0, #<T0_H ;timer initialization mov TL0, #<T0_L ; mov A, #LOW(Signal) ;load data add A, R5 ; movp A, @A ; mov B, R6 ; div AB ;calculate Voltage mov P2, A ; inc R5 ; djnz R4, Ind ;decrement counter clr A ; mov R5, A ; mov R4, #<Count ; Ind: djnz R1, kbd ; dinamic indication mov R1, #80 ; Find = 500 Hz
mov A, R3 ; mov P0, #00 ; jz Ind_T ; mov R3, #00 ; mov A, R6 ; call Decode ;convert binary to mov P1, A ;7-segment mov P0, #02 ;Out jmp kbd ; Ind_T: mov R3, #01 ;show T mov A, R7 ; call Decode ;convert binary to 7-segment code mov P1, A ; Out mov P0, #01 ;turn on indicator kbd: mov A, P3 ;check keyboard anl A, #00000011b ;mask mov R1, A ; xrl A, R2 ; jz Exit2 ;no change jb ACC.0, check_T ;key1 chenged mov A, R2 ; jb ACC.1, Exit3; mov A, R6 ; jb ACC.0, A1 ; jb ACC.1, A2 ; mov R6, #01 ;set A=A0 jmp End_a ; A2: mov R6, #04 ;set A=A0/4 jmp End_a ; A1: mov R6,#02 ;set A=A0/2 End_a: mov R5, #00 ;reset counter mov R4, #<Count ; jmp Exit2 ; check_T:mov A, R2 ; jb ACC.0, End_t; mov A, R7 ; jb ACC.0, T1 ; jb ACC.1, T2 ; mov R7, #01 ;set T=1 mov <T0_H, #FFh ;set delay mov <T0_L, #97h ; jmp End_t ; T2: mov R7, #04 ;set T=4 mov <T0_H, #FFh ;set delay mov <T0_L, #33h ; jmp End_t ; T1: mov R7, #02 ;set T=2 mov <T0_H, #FEh ;set delay mov <T0_L, #6Bh ; End_t: mov R5, #00 ;reset counter mov R4, #20 ; Exit3: mov A, R1 ;save kbd status mov R2, A ; Exit2: reti ;
Decode: jb ACC.0, L1 jb ACC.1, L2 mov A, #01100110b ;"4" jmp End_d L2: mov A, #11011010b ;"2" jmp End_d L1: mov A, #01100000b :"1" End_d: ret
; MAIN PROGRAM Reset: mov IE, #00;interapts disable clr A mov R0, #7FH ;Clear memory S1: mov @R0, A ; djnz R0, S1 ; mov P0, A ;Indication control mov P1, A ;Indication information mov P2, A ;AЦП mov R1, #80 ;counter mov R2, #00000011b ;keyboard state mov R3, A ;Ind choice mov R4, #<Count ;counter mov R5, A ;counter mov R6, #01 ;A mov R7, #01 ;T mov TH0, #<T0_H ;timer initialization mov TL0, #<T0_L ; mov TMOD, #00010001b ;Timer mode mov IP, #00000010b;Interupt priority mov IE, #00000010b;Interupt enable mov TCON, #00010000B ;Timer control setb EA ;All interapts enable
Loop: jmp Loop
.END 1. DATA SHEET 80C51 8-bit microcontroller family. Philips Semiconductor, 1999 (http://www.semiconductors.philips.com/acrobat/datasheets/89C52_89C54_89C58_5.pdf)
2. Система команд микроконтроллера INTEL 8051: Методические указания к лабораторной работе №2 по курсу “Цифровые устройства и микропроцессоры”/ В.А.Добряк, В.К.Рагозин. Екатеринбург: Изд-во УГТУ, 1999.
3. Взаимодействие мікроконтролера INTEL 8051 с объектами управления: Методические указания к лабораторной работе №4 по курсу “Цифровые устройства и микропроцессоры”/ В.А.Добряк, В.К.Рагозин. Екатерин-бург: Изд-во УГТУ, 1999.
4. Функціональний генератор інфранизької частоти на базі МП-системи: Методичні вказівки дол курсової роботи з дисципліни “Цифрові пристрої і мікропроцесори” для студентів спеціальності 2301 “Радіотехніка” /Укл. Ю.І.Шаповалов, В.А.Новіков, В.Г.Протасевиич, Львів, ЛПІ, 1993р.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2020-03-02; просмотров: 84; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.204.204.14 (0.085 с.) |