Например TDA7294

Форум РадиоКот • Просмотр темы - осциллограф,принцип
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 23:41:39

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 2 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: осциллограф,принцип
СообщениеДобавлено: Вт ноя 21, 2017 15:36:37 
Это не хвост, это антенна

Карма: 10
Рейтинг сообщений: 78
Зарегистрирован: Вт янв 05, 2016 10:14:25
Сообщений: 1396
Откуда: Мелеуз
Рейтинг сообщения: 0
Здравствуйте, Уважаемые КОТЫ!
Собираю свой простенький осциллограф , схема скопирована со знаменитого хамелеона D2 viewtopic.php?f=25&t=19878
Программа написана с ноля на баском авр
в принципе многое сделано но отображение сигнала только по уровню синхронизации(уровень синхронизации устанавливается пользователем как в хамелеоне)-делается 1024 замера,потом поиск точки синхронизации
Спойлеркуски программы чтоб было понятнее
osc(1024)-буфер,сюда складываем результаты замера
Usinc-точка синхронизации,по умолчанию= 120
***********************замер за 40 тактов,есть еще за 3,6,12,30,60,120,300,600,1200 и 3000 тактов****************
read40:
while PINC > Usinc
x = x + 1
if x > 1000 then goto label
wend
label:
$asm
push xl '- сохраняем стек
push xh
ldi xh, 1 '- ставим указатель на начало данных
ldi xl, 0
Loop13: 'если не равно 0 то прыгаем назад - 2 такта, иначе 1 такт
'40-7=33 такта
ldi r16,11 ;счетчик задержки 1
wait11:
dec r16 ;1
brne wait11 ; 2=назад 1=вниз
nop
IN R24, PINC 'считываем порт - 1 такт
ST X+, R24 ' пишем в озу и увеличиваем указатель на 1 - 2 такта
CPI XH, $05 ' проверяем если старший регистр больше конца массива то прыгаем на выход иначе - 1 такт
BRLO LOOP13 'перейти на начало цикла - 2 такта
pop R24
pop R25
pop XH
pop XL
$end Asm
****************поиск точки синхронизации****************
for x = 1 to 700
if osc(x) < Usinc and z = 0 then y = 1 -ищем точку ниже уровня синхронизации,как нашли
if osc(x) => Usinc and y = 1 then -ищем точку выше или равно уровню синхронизации
z = 1
sinhr = x - 2 -эта и есть точка=уровню синхронизации
goto label1
end if
next x
sinhr =1 -если не нашли точку синхр то просто выводим с 1 ячейки буфеа
label1:
***************************стираем старый график и рисуем новый***************
for x = 1 to 239
&#39;стираем крайние правые столбики
Lcd_set_pixel 319 , x , Black
Lcd_set_pixel 318 , x , Black
next x
for x = 1 to x_max &#39;ILI9341=319
w = x - 1 &#39; буфер начинается с 1 а установка позиции с 0,делаем смещение на 1
if osc_clear(x) < osc_clear(x + 1) then &#39;так стирает быстрее чем чей-то там алгоритм
for y = osc_clear(x) to osc_clear(x + 1)
Lcd_set_pixel w , y , Black
next y
else
for y = osc_clear(x + 1) to osc_clear(x )
Lcd_set_pixel w , y , Black
next y
end if
&#39;рисуем новый гафик
a = x + sinhr
if osc(a ) < osc(a + 1 ) then
for y = osc(a) to osc(a + 1)
Lcd_set_pixel w , y , red
next y
else
for y = osc(a + 1) to osc(a )
Lcd_set_pixel w , y , red
next y
end if
next x
for x = 1 to x_max &#39;заполняем буфер для того чтоб при след отрисовке экрана стирать график
a = x + sinhr
osc_clear(x) = osc(a)
next x
*********************далее накладываем сетку и т д****************

а каков принцип однократный запуск развертки по фронту или по спаду?
например запись сигнала с пульта?смотрел исходники хамелеона но там ничего не понял

Добавлено after 33 minutes 14 seconds:
пока вот что получилось
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: осциллограф,принцип
СообщениеДобавлено: Ср ноя 22, 2017 19:29:04 
Это не хвост, это антенна

Карма: 10
Рейтинг сообщений: 78
Зарегистрирован: Вт янв 05, 2016 10:14:25
Сообщений: 1396
Откуда: Мелеуз
Рейтинг сообщения: 0
тему можно закрыть,отказался от функции однократного запуска развертки-не понятен принцип...
всем спасибо за содействие :)
Изображение

ТЕМА ЗАКРЫТА


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 45


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y