46345 (665512), страница 2

Файл №665512 46345 (Измерение длительности импульса) 2 страница46345 (665512) страница 22016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Рисунок 2

3.1.1.1 Определение погрешности от источника синхронизации

Погрешность от кварцевого резонатора возникает в следствии нестабильности его частоты во время работы.

Нестабильность частоты кварцевого резонатора МА406 примерно равно 0.00001 от частоты синхронизации, исходя из этого погрешность возникающая в следствии нестабильности частоты можно определить по формуле

где К - нестабильность частоты кварцевого резонатора

К=0.00001*8000000=80 Гц

fBQ – частота кварцевого резонатора

3.2 Выбор интегральной микросхемы дешифратора

В дешифратора будет использоваться интегральная микросхема КР514ИД2

3.3 Выбор средств индикации

В качестве средств индикации будут использоваться светодиодные индикаторы – ААС3224А

3.4 Выбор внешних элементов гальванической развязки

В качестве элементов гальванической развязки используется цифровая микросхема 249ЛП5 - оптоэлектронный переключатель на основе диодных оптопар выполненных в металлостеклянном корпусе. основные характеристики цифровой микросхемы 249ЛП5 приведены в табл. 1.

Таблица 1

Основные характеристики цифровой микросхемы 249ЛП5

Электрические параметры

Входное напряжение при IВХ=15 мА

не более 1.7 В

Выходное напряжение в состоянии логического нуля

0.4 В

Выходное напряжение в состоянии логической единицы

2.4

Предельные эксплутационные данные

Входной постоянный ток

12 мА

Входной импульсный ток

15 мА

Напряжение питания
5(0.5) В

Диапазон рабочих температур

-60…+85 С

4 .Определение погрешности измерения длительности импульса

Погрешность измерения длительности импульса, как уже говорилось выше, непосредственно связана непосредственно связана со скоростью работы МП, в свою очередь скорость которого задается тактовой частотой кварцевого резонатора .

Величина временного кванта (d) в нашем случае, равна периоду следования импульсов кварцевого резонатора() т.е. d=. Измеренное значение одной мили секунды равно (в соответствии с ТЗ дискретность измерения длительности равна 1мСек):

T=*N

Где N – число импульсов, поступивших на таймер/счетчик1.

Следовательно измеренное значение отличается от истинного на величину погрешности квантования К=tК:

tК=T-Tx=N*-Tx

где Tx – истинное значение.

Погрешность квантования зависит от величены кванта и от моментов начала и окончания циклов измерения (см. рис.2) по отношения к импульсам кварцевого резонатора. Очевидно, что как начало и конец измерения длительности могут располагаться в любой точке между двумя соседними импульсами. В результате возникают две составляющих погрешности tК Первая из них (t1 см. рис.2) положительная, так как измеренный временной интервал больше истинного его значения, а вторая t2 отрицательная, так как из за нее измеренный временной интервал получается больше фактического. Следовательно истинное значение временного интервала будет:

Тх=N*-(t1-t2)= N*-t1+t2

Pзакон распределения ошибок t1 и t2 с учетом их разных знаков представляет собой распределение Симпсона, а средне квадратическая погрешность квантования следуя указаниям [2, стр. 20] будет равна

5 Листинг программы расчета длительности импульса на языке ассемблер

Отладка программы была произведена с помощью отладчика-симулятора AVRSTUDIO 3.0

Код программы:

.include "8515def.inc".def fbinL=r22 ;двоичное значение, младший байт байт.def fbinH =r23 ;двоичное значение, старший байт.def tBCD0 =r23 ;BCD значение, цифры 1 и

.def tBCD1 =r24 ;BCD значение, цифры 3 и2

.def tBCD2 =r25 ;BCD значение, цифры 4

; Назначение выводов порта А:

; bit 0 - поступает импульс

;длительность которого

;необходимо измерить

; bit 1 - подключается кнопка

; режима измерения

; 0 - измерение длительности

;отрицательного импульса

; 1 - измерение длительности

;положительного импульса

; bit 2 - индикация режима измерения

; 0 - (светодиод погашен)

;индикация режима измерения

;отрицательного импульса

; 1 - (светодиод светится)

;индикация режима измерения

;положительного импульса

; bit 3 - подключается кнопка

;режима измерения

;длительности импульса в мС

; bit 4 - подключается кнопка

;режима измерения

;длительности импульса в С

; bit 5 - подключается светодиод

;режима измерения длительности

;импульса в мС

; bit 6 - подключается светодиод

;режима измерения длительности

;импульса в С

.ORG 0

RJMP MET1

RJMP IMPULS

RJMP MET1

RJMP MET1

1:RJMP Prog

RJMP Prog

RJMP MET1

RJMP MET1

MET1:LDI R16,0x02

OUT SPH,R16;Инициализация

LDI R16,0X10;стека

OUT SPL,R16

LDI R16,0B11100100

OUT DDRA,r16; НАСТРАИВАЕМ ЛИНИ b 0,1,3,4

; ПОРТА А НА ВВОД, а линии 2,5,6,7 на вывод

LDI R16,0B11111111; НАСТРАИВАЕМ ВСЕ ЛИНИИ

OUT DDRC,R16; ПОРТА C НА ВЫВОД

LDI R16,0B11111111; НАСТРАИВАЕМ ВСЕ ЛИНИИ

OUT DDRD,R16; ПОРТ D НА ВЫВОД

LDI R16,0B01000000 ;Разрешение прерывания

OUT TIMSK,R16; по переполнению T/C1

LDI R16,0B00000000;ЗАПРЕТ прерывания

OUT GIMSK,R16; по INT0

LDI R16,0X1F ;Загружаем в

OUT OCR1AH,R16 ; компататор А - 8000

LDI R16,0X40

OUT OCR1AL,R16

LDI R16,0B00000000

OUT TCNT1L,R16

LDI R16,0B00001000 ;T/C1 будет обнуляться при каждом совпадении

OUT TCCR1B,R16 ;со значением компаратора А

LDI R16,0B10000000 ;Глобальное разрешение прерываний

OUT SREG,R16

LDI R16,0X9

LDI R19,0X9 ;R19 регистр переназначенный для сравнения

; с R16 если они равны, то тогда измерение

; длительности импульса не начиналось

CLR R17

clr r22

OPROS_KEY_OF_INVERT: ; Опрос состояния кнопки

SBIC PORTA,1 ; режима измерения длительности импульса

RCALL IMPULS_POLOGITELNAY ; режим из-ия длительности сигнала высокого уровня

RCALL IMPULS_OTRICHATELNAY ; режим из-ия длительности сигнала низкого уровня

M2:

IMPULS_POLOGITELNAY:

SBI PORTA,2 ;Включаем светодиод

SBIC PORTA,0 ;Идет сканирование линии PA0

RCALL IMPULS

SBIS PORTA,0 ; Происходит проверка на наличие 1

RCALL IMPILS_1_TO_0; на PA1, если ее нет, тогда переход

M5:CPI R17,0xFF

BRCS M2 ; если R17 переполнится, то

LDI R17,0XA; тогда занесем в R17 10

RJMP M2;

Prog:INC R17 ;

CPI R17,0XA ; Отчет длительности импульса начнется

BRCS M3 ; тогда когда в R17 будет 10(DEX)(пройдет 10 мС)

INC R16 ;инкремент R17(счетчик прошедших мСекунд срабатывает при R17>10)

BRBC 1,M3 ; если R16 переполнится

INC R18 ; тогда инкрементируем R18(Длительность импульса

; Прошло десять мС далее идет счет каждой мС

M3:RETI ; находится в R18(ст. разряд),R16(мл. разряд)

IMPULS:

LDI R20, 0B00001001 ; если приходит импульс то тогда запускается T/C1

OUT TCCR1B,R20

RET

IMPILS_1_TO_0:

LDI R20,0B00000000 ; если импульс закончился T/C1 останавливается

OUT TCCR1B,R20

CPSE R16,R19 ;проверка на начало цикла измерения если он начился

RCALL TEST_OF_STOP_TC1 ; то тогда переход на TEST_OF_STOP_TC1

SBIC PORTA,1 ; Опрос состояния кнопки режима измерения длительности импульса

RCALL IMPULS_POLOGITELNAY; режим из-ия высокого уровня длительности

RCALL IMPULS_OTRICHATELNAY ; режим из-ия низкого уровня длительности

RET

TEST_OF_STOP_TC1: ; подпрограмма проверки (действительно ли T/C1 остановился

IN R21,TCCR1B ;во время режима измерения длительности)

ANDI R21,0B000000000 ;если все в порядке, то тогда переходим на bin16BCD5

BRNE ENDTEST_OF

RCALL bin16BCD5

ENDTEST_OF:

RET

M2OTR:

IMPULS_OTRICHATELNAY:

CBI PORTA,2 ;Выключаем светодиод

SBIS PORTA,0 ; Происходит проверка на наличие 0

RCALL IMPULS_OTR

SBIC PORTA,0

RCALL IMPILS_0_TO_1; на PA1, если его нет, тогда переход

M5OTR:CPI R17,0xFF

BRCS M2OTR

LDI R17,0XA

RJMP M2OTR;

IMPULS_OTR:

;LDI R16,0X9

;LDI R17,0X0

LDI R20, 0B00001001 ; то тогда запускается T/C1

OUT TCCR1B,R20

RET

IMPILS_0_TO_1:

LDI R20,0B00000000 ;T/C1 остановлен

OUT TCCR1B,R20

CPSE R16,R19

RCALL TEST_OF_STOP_TC1_OTR

SBIC PORTA,1

RCALL IMPULS_POLOGITELNAY

RCALL IMPULS_OTRICHATELNAY

RET

TEST_OF_STOP_TC1_OTR:

IN R21,TCCR1B

ANDI R21,0B000000000

BRNE ENDTEST_OF_OTR

RCALL bin16BCD5

ENDTEST_OF_OTR:

RET

bin16BCD5: Подпрограмма перевода двоичного числа в двоично-десятичное

MOV R22,R16

MOV R23,R18

ldi tBCD2, -1

bin16BCD5_loop_1:

inc tBCD2; определение

subi fbinL, low(10000); количества

sbci fbinH, high(10000); десятков тысяч

brsh bin16BCD5_loop_1;в числе которое переводится

subi fbinL, low(-10000)

sbci fbinH, high(-10000)

ldi tBCD1, -0x11

bin16BCD5_loop_2:

subi tBCD1, -0x10;определение

subi fbinL, low(1000); количества

sbci fbinH, high(1000); тысяч

brsh bin16BCD5_loop_2;в числе которое переводится

subi fbinL, low(-1000)

sbci fbinH, high(-1000)

bin16BCD5_loop_3:

inc tBCD1;определение

subi fbinL, low(100); количества

sbci fbinH, high(100); десятков

brsh bin16BCD5_loop_3;в числе которое переводится

subi fbinL, -100

ldi tBCD0, -0x10

bin16BCD5_loop_4:

subi tBCD0, -0x10 ;определение

subi fbinL, 10; количества

brsh bin16BCD5_loop_4; единиц

subi fbinL, -10;в числе которое переводится

add tBCD0, fbinL

LDI R16,0X9

LDI R17,0X0

ldi r18,0x0

LDI R27,0X0

WAIT_PRESS_KEY: ; Подпрограмма проверки, в чем отображать

; индикацию в мСекундах или Секутдах

; Примечание:

; если ни одна из кнопок режима отображения

; не нажата или нажаты все, индикация отображаться не БУДЕТ

SBRC R27,0

RJMP EXIT

SBIC PORTA,3 ; Если нажата кнопка мСекунды

RCALL FLASH_mC ; то тогда переход на FLASH_mC

SBIC PORTA,4 ; если нажата кнопка Секунды

RCALL FLASH_C ; то тогда переход на FLASH_C

RJMP WAIT_PRESS_KEY ; если ни одна из кнопок не нажата

; то тогда ожидаем нажатия

SBIS PORTA,3 ; в противном случае выход из подпрограммы

RJMP EXIT

SBIC PORTA,4 ; если нажаты все две кнопки, то тогда

; ожидаем пока одну кнопку не отключат

RJMP WAIT_PRESS_KEY

OUT PORTD,R23; вывод на порт D двоично-десятичного числа

OUT PORTC,R24 ; вывод на порт C двоично-десятичного числа

OUT TCNT1H,R18 ;обнуление регистра NCNT1H (ст. регистр T/C1)

OUT TCNT1L,R18 ;обнуление регистра NCNT1L (мл. регистр T/C1)

EXIT:RET

FLASH_mC:

SBI PORTA,5 ; Включаем светодиод (режим мСекунды)

CBI PORTA,6 ; Выключаем светодиод (режим Секунды)

CBI PORTA,7 ; и выключаем разделительную точку

INC R27

RET

FLASH_C:

CBI PORTA,5 ; Включаем светодиод (режим Секунды)

SBI PORTA,6 ;Выключаем светодиод (режим мСекунды)

SBI PORTA,7 ; и включаем разделительную точку

INC R27

RET

Характеристики

Тип файла
Документ
Размер
1,28 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6644
Авторов
на СтудИзбе
294
Средний доход
с одного платного файла
Обучение Подробнее