Страница 1 из 1

Лабораторная в институте

Добавлено: Вс фев 09, 2014 17:11:12
Fruit007
Добрый день, дал препод задание на экзамен, свою программисткую часть выполнил, теперь спрашивает теорию.
В общем есть стенд с микроконтроллером C167CR, на выход ШИМа подключен осциллограф. По заданию, на ассемблере я должен был написать программу чтобы ШИМ выдавал любой период и длину сигнала, что я успешно сделал. Но единственное я не смог разобраться как теоретически высчитать длину периода и длину сигнала?
На осциллографе следующая картинка: Изображение масштаб 50мкс.
На ассемблере получается длина сигнала указана числом 500h а длина периода 1000h. Собственно как высчитать теоретически (без осциллографа) период и длину сигнала?
Частота работы ШИМ 78.13 кГц.
Заранее спасибо за помощь.

Re: Лабораторная в институте

Добавлено: Вс фев 09, 2014 17:48:11
pyzhman
длина сигнала ... 500h а длина периода 1000h
Т.е. 1/2. А на осциллограмме 1.5/4

Re: Лабораторная в институте

Добавлено: Вс фев 09, 2014 18:49:23
Fruit007
Возможно, рисовал очень быстро. Скорее всего 1/2.
Так может кто-нибудь подсказать как всё таки считать теоретически длину периода?

Re: Лабораторная в институте

Добавлено: Вс фев 09, 2014 20:15:51
pyzhman
F = 78,13 кГц = 78130 Гц => T(период)= 1/78130 = 0,0000128 сек = 12,8 мксек
Отношение периода к длине импульса составляет 1000h/500h = 4096/1280= 3,2
Отсюда длина импульса t = 0,0000128/3,2 = 0,000004 сек = 4 мксек
Хотя я предполагаю, что 1000h это не период, а не_импульс. Тогда -
1500h/500h= 5376/1280= 4,2
t= 12,8/4,2= 3 мксек.

Re: Лабораторная в институте

Добавлено: Пн фев 10, 2014 21:21:40
Fruit007
Всё) экзамен сдал.
На самом деле я тупанул, частота микроконтроллера 20 МГц.
Короче нужно было узнать время одного такта это = 1/20000000 = 0,05 мкс.
Потом тупо умножить 0,05 на количество тактов в периоде, 0,05*4096 = 204,8 мкс. Отсюда и получается, что моя осциллограмма похожа на правду)
Но всё же спасибо pyzhman за наводку)

Re: Лабораторная в институте

Добавлено: Вт фев 11, 2014 13:16:40
Jack_A
Как для экзамена, то может, и сойдёт. А если делать реальную систему с точными интервалами, то надо изучить, за сколько тактов выполняется каждая команда , и что каждая за 1 - не факт. Например, команда ветвления - при выполнении и невыполнении условия - число тактов разное :(
Но где экзамен, а где - практика ...

Re: Лабораторная в институте

Добавлено: Вт фев 11, 2014 16:30:38
balmer
Jack_A писал(а):Но где экзамен, а где - практика ...
На практике никто ШИМ на асме не пишет. Заполнят нужные регистры таймера, а он сам уже точнехонько все выдает. И процессор свободен, и точность до такта кварца.

Re: Лабораторная в институте

Добавлено: Вт фев 11, 2014 19:39:21
Jack_A
Согласен, если использовать таймеры. А если люди циклами задержки отмеряют ? :)

Re: Лабораторная в институте

Добавлено: Чт фев 13, 2014 19:26:57
agentgoblin
Jack_A писал(а):А если люди циклами задержки отмеряют ? :)
Значит они либо делают ерунду, либо по-быстренькому сдают курсовую.