Например TDA7294

Форум РадиоКот • Просмотр темы - Синтезатор частоты 88-108МГц на ATMEGA16
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср сен 10, 2025 15:04:53

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


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



Начать новую тему Ответить на тему  [ Сообщений: 678 ]     ... , , , 15, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Чт авг 08, 2013 10:02:20 
Первый раз сказал Мяу!

Зарегистрирован: Пн июн 10, 2013 16:43:50
Сообщений: 20
Рейтинг сообщения: 0
LAZER.ПРИВЕТ рас ета обкатана прошивка . может сделаеш и на LM7001+ATMEGA8 . 88-108 МГц. прошивку на забугорные буквы . СПАСИБА


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Вс авг 11, 2013 09:55:05 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: 12
Зарегистрирован: Ср фев 29, 2012 19:10:31
Сообщений: 116
Откуда: Норильск
Рейтинг сообщения: 0
Уважаемый lazer!
Возможно ли ввести в прошивку второй диапазон УКВ (нашенский), по моему его забыли совершенно безосновательно.
пусть даже он будет в моно-режиме идти. По мне так уж лучше Радио России, чем радио-блатняк...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Вс авг 11, 2013 11:40:46 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: 18
Зарегистрирован: Вт мар 13, 2012 07:24:30
Сообщений: 300
Рейтинг сообщения: 0
Проблем нет - "раздвинуть" диапазон. Вам под LC72131 или LM7001? Вам под управлением ATMEGA-16, ATMEGA-8 или ATTINY13? Одним ГУНом будете перекрывать? Или у Вас будет 2 синтезатора - один на наш, другой на буржуйский диапазон?
И плюс, у меня шаги сделаны по 10; 12,5; 25 и 100 кГц, а для нашего, т. е. 30кГц не делал. Раздвинуть диапазон могу за 20 минут, а вот шаг сменить - повозиться придется. Но можно и 25 кГц использовать.
P.S. Я недавно стал счастливым обладателем "Урал-Авто-2" и вполне доволен. Наш диапазон незаслуженно забыт, согласен.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Пн авг 12, 2013 16:25:48 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: 12
Зарегистрирован: Ср фев 29, 2012 19:10:31
Сообщений: 116
Откуда: Норильск
Рейтинг сообщения: 0
Если честно, не ожидал такого подробного ответа! Ну раз пошла такая пьянка... 8)

В моем случае удобнее будет два отдельных синтезатора на "наш" и на "буржуйский" диапазоны, так как если делать один на оба то тогда нужно, чтобы синтезатор перестраивался с 65 до 74МГц, затем перескакивал на 87,5 и перестраивался до 108МГц, ну и обратно так же, т.е. нужна доработка программы. Если это не проблема, то тогда конечно под один ГУН
Исходя из всего сказанного нужно следующее:
1 - синтезатор на "наш" диапазон 65 - 74МГц, шаг перестройки 30кГц (использовать 25кГц не получится, так как частотная сетка кратна 30кГц и большая часть станций попросту вылетит, можно использовать 10кГц, но процесс настройки немного затянется :))) так что если сделать 30кГц геморно, используем 10кГц)
2 - синтезатор на "их" диапазон 87,5 - 108МГц, шаг перестройки 100кГц
МК во всех случаях Atmega8.
Синтезаторы есть в наличии оба, но предпочтительнее 7001. Если нетрудно, то можно и под оба. думаю людям пригодится...


И теперь вопрос личного характера - возможно ли сделать в прошивке функцию кольцевого прослушивания всех занесенных в память станций с регулируемой длительностью прослушивания? ответ можно в личку 8)

Заранее благодарен :beer: :beer: :beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Пн авг 12, 2013 18:00:26 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: 18
Зарегистрирован: Вт мар 13, 2012 07:24:30
Сообщений: 300
Рейтинг сообщения: 0
По удобству доработки программы на 1 месте стоит вариант с двумя синтезаторами, каждый на свой диапазон. При этом не потребуется широкополосный ГУН, создание которого - довольно трудная задача.
Частотную сетку переделать под 30кГц шаг можно, но нужно немножко повозиться. Зато будет корректный шаг в данном диапазоне.
Переключение же диапазонов повлечет за собой необходимость использования еще одной кнопки, а в варианте для приёмника (без передатчика) у меня используется такой вариант опроса валкодера и кнопок, что добавить еще одну кнопку не представляется возможным.
В варианте же для приёмо-передатчика - используется уже другой алгоритм, который позволяет добавлять кнопки, но на функцию занесения станций в память уже не хватает рабочих регистров процессора. Поэтому, либо - то, либо - другое.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Пн авг 12, 2013 18:45:45 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: 18
Зарегистрирован: Вт мар 13, 2012 07:24:30
Сообщений: 300
Рейтинг сообщения: 0
Для kt610: пока лето и к программе "не подходил". При наличии времени сделаю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Пн авг 12, 2013 19:13:24 
Мучитель микросхем

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн авг 12, 2013 19:07:47
Сообщений: 494
Откуда: башкирия мелеуз
Рейтинг сообщения: 0
Давно слежу за темой и не могу понять-упраление мега16+лс72131,какая схема?меня интересует 144-160 мгц..


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Вт авг 13, 2013 05:48:16 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: 18
Зарегистрирован: Вт мар 13, 2012 07:24:30
Сообщений: 300
Рейтинг сообщения: 0
Всё вроде бы понятно, если сначала читать....
Тут родилось уже несколько вариантов. Начиналось с ATMEGA-16, а теперь есть и на ATMEGA-8 и на ATTINY-13; есть и на LC72131 и на LM7001; есть и 88-108МГц, есть 144-160; есть только для приемника, а есть и для радиостанции. Схемы везде во вложениях присутствуют. А что конкретно интересует, давайте поясню.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Вт авг 13, 2013 08:18:49 
Мучитель микросхем

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн авг 12, 2013 19:07:47
Сообщений: 494
Откуда: башкирия мелеуз
Рейтинг сообщения: 0
значит так,мне нужен синтезатор частоты для приемника в диапазоне 144-160 мгц,шаг 12,5 кгц,но если это невозможно-то 25,возможность сканирования по частотам в заданном пределе,по каналам,стоп сканирования по сигналу с s-метра при превышении установленного значения,пауаза 3 сек и потом сканирование дальше,2 банка частот-один-нужные частоты,второй-ненужные частоты(на 150-151,9 одни помехи,прием велся на р-45 версия 2)
на панели 6 кнопок,можно и валкодел
кнопки- + - F CH S-метр ПАМЯТЬ
Или укажите пожалуйста кусок программы на asm,который отвечает за отсылку данных-в асм и си я ноль
сам пишу с недавнего времени на BASCOM AVR,но вот никак не могу правильно отсылать упр,импульсы на лс72131,в васкоме можно прицепить программу ASM,остальное управление с меня


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Вт авг 13, 2013 10:39:11 
Мучитель микросхем

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн авг 12, 2013 19:07:47
Сообщений: 494
Откуда: башкирия мелеуз
Рейтинг сообщения: 0
вроде начал вникать,управление так?
IN2- СE=0 DATA 00101001
CE=1 DATA 00000000
DATA 11000000
DATA 00000000
IN1- CE=0 DATA 000101000
CE=1 DATA МЛАДШИЙ ДЕЛИТЕЛЬ
DATA СТАРШИЙ ДЕЛИТЕЛЬ
DATA 01001011 шаг 25 кгц,fm
CE=0
все биты передаются с младшего,синхронизация по фронту CL
Правильно?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Вт авг 13, 2013 15:30:57 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: 18
Зарегистрирован: Вт мар 13, 2012 07:24:30
Сообщений: 300
Рейтинг сообщения: 0
pavel1979 писал(а):
кусок программы на asm,который отвечает за отсылку данных

Вот подпрограмма загрузки в LC72131


LoadLC72131:
ldi prm1, 0b00101001; загружаем в r19=prm1 адрес режима IN2
ldi temp,9; загружаем в r16=temp число бит в байте+1

cbi PORTC,CE;ставим CE=0, разрешаем LC72131 прием адреса IN2

; **********************ЗАГРУЗКА АДРЕСА IN2*******************
loop:
dec temp; при обнулении temp - загружаем младший байт данных IN2
cpi temp, 0
breq equal; при выполнении сдвига 8 раз - переход на equal

lsr prm1; сдвигаем содержимое младшего байта адреса IN2 на 1 разряд вправо
brcs greater;проверяем разряд C SREG и в зависимости от него выодим "0" или "1"
cbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (0)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop; переходим к сдвигу следующего бита байта адреса IN2

greater:
sbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (1)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop; переходим к сдвигу следующего бита байта адреса IN2

; *****************ЗАГРУЗКА МЛАДШЕГО БАЙТА ДАННЫХ IN2*******************
equal:
sbi PORTC,CE;ставим CE=1, разрешаем LC72131 прием данных IN2
ldi prm1,0b00000000; загружаем в prm1 младший байт данных IN2
ldi temp,9; загружаем в temp число бит в байте+1
loop1:
dec temp; при обнулении temp - загружаем средний байт данных IN2
cpi temp, 0
breq equal1; при выполнении сдвига 8 раз - переход на equal1

lsr prm1; сдвигаем содержимое младшего байта данных IN2 на 1 разряд вправо
brcs greater1; проверяем разряд C SREG и в зависимости от него выодим "0" или "1"
cbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (0)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop1; переходим к сдвигу следующего бита младшего байта данных IN2

greater1:
sbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (1)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop1; переходим к сдвигу следующего бита младшего байта данных IN2

; ******************ЗАГРУЗКА СРЕДНЕГО БАЙТА ДАННЫХ IN2*******************
equal1:
ldi prm1,0b11000001; загружаем в prm1 средний байт данных IN2
ldi temp,9; загружаем в temp число бит в байте+1
loop2:
dec temp; при обнулении temp - загружаем старший байт данных IN2
cpi temp, 0
breq equal2; при выполнении сдвига 8 раз - переход на equal2

lsr prm1; сдвигаем содержимое старшего байта данных IN2 на 1 разряд вправо
brcs greater2;проверяем разряд C SREG и в зависимости от него выодим "0" или "1"
cbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (0)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop2; переходим к сдвигу следующего бита среднего байта данных IN2

greater2:
sbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (1)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop2; переходим к сдвигу следующего бита среднего байта данных IN2

; ******************ЗАГРУЗКА СТАРШЕГО БАЙТА ДАННЫХ IN2*******************
equal2:
ldi prm1,0b00000000; загружаем в prm1 старший байт данных IN2
ldi temp,9; загружаем в temp число бит в байте+1
loop3:
dec temp; при обнулении temp - переходим к защелкиванию данных в LC72131
cpi temp, 0
breq equal3; при выполнении сдвига 8 раз - переход на equal3

lsr prm1; сдвигаем содержимое старшего байта данных IN2 на 1 разряд вправо
brcs greater3;проверяем разряд C SREG и в зависимости от него выодим "0" или "1"
cbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (0)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop3; переходим к сдвигу следующего бита старшего байта данных IN2

greater3:
sbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (1)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop3; переходим к сдвигу следующего бита старшего байта данных IN2

equal3:
cbi PORTC,CE; ставим CE=0, защелкиваем в LC72131 данные IN2
; и этим же разрешаем приём адреса IN1


;**********************************************************************
ldi prm1,0b00101000; загружаем в r19=prm1 адрес режима IN1
ldi temp,9; загружаем в r16=temp число бит в байте+1

; устанавливать CE=PA5=0 для разрешения LC72131 приема адреса IN1
;здесь не нужно, т.к. это сделано после окончания загрузки IN2

; **********************ЗАГРУЗКА АДРЕСА IN1*******************
loop4:
dec temp; при обнулении temp - загружаем младший байт данных IN1
cpi temp, 0
breq equal4; при выполнении сдвига 8 раз - переход на equal4

lsr prm1; сдвигаем содержимое адреса IN1 на 1 разряд вправо
brcs greater4;проверяем разряд C SREG и в зависимости от него выодим "0" или "1"
cbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (0)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop4; переходим к сдвигу следующего бита адреса IN1

greater4:
sbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (1)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop4; переходим к сдвигу следующего бита адреса IN1

; *****************ЗАГРУЗКА МЛАДШЕГО БАЙТА ДАННЫХ IN1*******************
equal4:
sbi PORTC,CE;ставим CE=1, разрешаем LC72131 прием данных IN1
ldi temp,9; загружаем в temp число бит в байте+1
loop5:
dec temp; при обнулении temp - загружаем средний байт данных IN1
cpi temp, 0
breq equal5; при выполнении сдвига 8 раз - переход на equal5

lsr YL; сдвигаем содержимое младшего байта данных IN1 на 1 разряд вправо
brcs greater5;проверяем разряд C SREG и в зависимости от него выодим "0" или "1"
cbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (0)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop5; переходим к сдвигу следующего бита младшего байта данных IN1

greater5:
sbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (1)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop5; переходим к сдвигу следующего бита младшего байта данных IN1

; ******************ЗАГРУЗКА СРЕДНЕГО БАЙТА ДАННЫХ IN1*******************
equal5:
ldi temp,9; загружаем в temp число бит в байте+1
loop6:
dec temp; при обнулении temp - загружаем старший байт данных IN1
cpi temp, 0
breq equal6; при выполнении сдвига 8 раз - переход на equal6

lsr YH; сдвигаем содержимое среднего байта данных IN1 на 1 разряд вправо
brcs greater6;проверяем разряд C SREG и в зависимости от него выодим "0" или "1"
cbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (0)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop6; переходим к сдвигу следующего бита среднего байта данных IN1

greater6:
sbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (1)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop6; переходим к сдвигу следующего бита среднего байта данных IN1

; ******************ЗАГРУЗКА СТАРШЕГО БАЙТА ДАННЫХ IN1*******************
equal6:
ldi prm1,0b01011011;загружаем старший байт данных IN1 0b01011011 для шага 12,5кГц
ldi temp,9; загружаем в temp число бит в байте+1
loop7:
dec temp; при обнулении temp - переходим к защелкиванию данных в LC72131
cpi temp, 0
breq equal7; при выполнении сдвига 8 раз - переход на equal7

lsr prm1; сдвигаем содержимое старшего байта данных IN1 на 1 разряд вправо
brcs greater7;проверяем разряд C SREG и в зависимости от него выодим "0" или "1"
cbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (0)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop7; переходим к сдвигу следующего бита старшего байта данных IN1

greater7:
sbi PORTC,D;ставим D=0, ВЫВОД ДАННЫХ (1)
sbi PORTC,CL;ставим CL=1, начало CL
cbi PORTC,CL;ставим CL=0, конец CL
rjmp loop7; переходим к сдвигу следующего бита старшего байта данных IN1

equal7:
cbi PORTC,CE; ставим CE=0, защелкиваем в LC72131 данные IN1
ret


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Вт авг 13, 2013 15:59:02 
Мучитель микросхем

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн авг 12, 2013 19:07:47
Сообщений: 494
Откуда: башкирия мелеуз
Рейтинг сообщения: 0
я так и понял,спасибо!в баском намного проще
SHIFTOUT Datapin , Clockpin , var , option


Datapin – порт микроконтроллера для вывода данных
Clockpin – порт микроконтроллера для вывода тактовых импульсов
Var – данные которые хотим отправить в регистр

Option – число от 0 до 3, этим параметром выбирается в каком порядке будут вводиться данные в регистр и активный уровень на линии Clock при котором происходит запись бита:
option=0 – старший бит идет первым, Clock активный уровень низкий
option=1 – старший бит идет первым, Clock активный уровень высокий
option=2 – младший бит идет первым, Clock активный уровень низкий
option=3 – младший бит идет первым, Clock активный уровень высокий
позже попробую,и еще один момент-делитель на 2 включен,значит в лс72131 загонять коэф деления=(часота-10,7)/шаг и делить на 2?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Вт авг 13, 2013 17:24:39 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: 18
Зарегистрирован: Вт мар 13, 2012 07:24:30
Сообщений: 300
Рейтинг сообщения: 0
Но в ассебмлере короче код и ассемблер удобнее для изучения всех происходящих в контроллере процессов. Зато программа диннее и, разумеется, сложнее в ней разбираться. Отсюда и подробные комментарии. Короче говоря, дело вкуса.... Главное, что работает.
Нет, делить ничего не надо на 2. Код для LC72131= (f-10,7) / шаг.
Просто выбор опорной частоты делается из условия: Fопорн.= (Fшага / 2); Т.е. для шага в 100кГц опорная частота выбирается равной 50кГц.
А что касается предыдущих пожеланий о введении в программу множества отсутствующих сейчас опций, таких как:
- возможность сканирования по частотам в заданном пределе
- стоп сканирования по сигналу с s-метра
- 2 банка частот
то считаю их, во-первых, отчасти излишними (и так запоминается 99 частот, куда ещё больше?), а во вторых - не так уж просто реализуемых (сканирование), когда дело дойдет до нормальной, без единого глюка, программы.
Плюс ко всему, задача, о которой Вы говорите, сугубо индивидуальна и не всем подойдёт, а для её реализации потребуется много времени. На мой взгляд, не нужно слишком усложнять программу, все должно быть без лишних наворотов. Однако, если у Вас есть желание сделать такое количество опций - пробуйте, и никто не запрещал пользоваться готовыми фрагментами, выложенными здесь и не только здесь. Тут все проходят своеобразное обучение, общаясь по интересующим тематикам.
Резюмируя, скажу, что прошивка для диапазона 144-460Мгц у меня есть. В ней - запоминание станций, валкодер, перебор по станциям и плавно по диапазону. А также есть вариант для приемо-передатчика, без запоминания станций, но с меняемым шагом 12,5кГц / 100кГц , сделанным для повышения скорости настройки. Сканирование не делал ни в одном из вариантов.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Вт авг 13, 2013 18:47:54 
Мучитель микросхем

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн авг 12, 2013 19:07:47
Сообщений: 494
Откуда: башкирия мелеуз
Рейтинг сообщения: 0
на счет короче код согласен-попался один дывайс,часы,на аттини2313 и дисплее нокиа1110,собрал работало,а в баском даже библиотека нокии1110 в тиньку не лезет
сам думаю асм изучить,только вот со временем туговато пока-лето,сад,огород...
паяю по Вашей схеме,прошивка Ваша,результат выложу,если интересно
забыл... у меня индикатор только wh0802,наверно не все будет индицироваться :)
а в алгоритм билдер как ставить фузы?читал:
CKOPT
SPIEN
Int RC Osc - определяет режим работы генератора: (внутренний генератор 1МГц; Start-up time: 6 CK + 64 ms; default value)
Фьюз JTAGEN нужно убрать (он установлен по умолчанию)
это ставить галки или снять?сейчас так
добавил 00.51
на индикаторе 144,000 мн и все,на нажатие кнопок и вращение валкодера не реагирует,накерно 0802 не подходит...


Вложения:
Безымянный.gif [28.08 KiB]
Скачиваний: 656
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Вт авг 13, 2013 23:25:08 
Мучитель микросхем

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн авг 12, 2013 19:07:47
Сообщений: 494
Откуда: башкирия мелеуз
Рейтинг сообщения: -1
вот в баском,только передача,CE=PORTC.2,DATA=PORTC.1,CL=PORTC.0
Sub Frequenc программа передачи 72131
'*****************проверка 144-160 ********************
If F < Fmin Then F = Fmax
If F > Fmax Then F = Fmin
K = F - Fp '
K = K / 25 'коэф деления,шаг 25 кгц
Kl = K And &B0000000011111111 'старший байт
K = K And &B1111111100000000
Shift K , Right , 8
Kh = K 'младший байт
Reset Portc.2
I2cstart
'*************in2*****************************
Reset Portc.2
Waitms 1
K = 41
Shiftout Portc.1 , Portc.0 , K , 3 , 8
Waitus 10
Set Portc.2
Waitus 10 'âêëþ÷åíèå óïðàâëåíèÿ ñèíòåçàòîðîì
K = 0
Shiftout Portc.1 , Portc.0 , K , 3 , 8
K = 192
Shiftout Portc.1 , Portc.0 , K , 3 , 8
K = 0
Shiftout Portc.1 , Portc.0 , K , 3 , 8
Reset Portc.2
'*************in1****************************
Waitus 10
K = 40
Shiftout Portc.1 , Portc.0 , K , 3 , 8
Waitus 10
Set Portc.2
Waitus 10
K = 75
Shiftout Portc.1 , Portc.0 , Kl , 3 , 8 'передаем мл.байт
Shiftout Portc.1 , Portc.0 , Kh , 3 , 8 старшиий байт
Shiftout Portc.1 , Portc.0 , K , 3 , 8 ' управление,25 кгц ,fm
Reset Portc.2
End Sub
ОГРОМНОЕ СПАСИБО lazer!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Ср авг 14, 2013 04:51:11 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: 18
Зарегистрирован: Вт мар 13, 2012 07:24:30
Сообщений: 300
Рейтинг сообщения: 0
pavel1979 писал(а):
CKOPT
SPIEN
Int RC Osc - определяет режим работы генератора: (внутренний генератор 1МГц; Start-up time: 6 CK + 64 ms; default value)
Фьюз JTAGEN нужно убрать (он установлен по умолчанию)
это ставить галки или снять?сейчас так
добавил 00.51
на индикаторе 144,000 мн и все,на нажатие кнопок и вращение валкодера не реагирует,накерно 0802 не подходит...

По фьюзам:
Int RC Osc (внутренний генератор 1МГц; Start-up time: 6 CK + 64 ms; default value), CKOPT и SPIEN - "галки" должны стоять, а JTAGEN - нет.
По индикатору: программа сделана для WH1602, поэтому нужно его и использовать, чтоб "влезли"все символы. Вы пишите, что на вашем 8-разрядном индикаторе светится: "144,000 мн", но такого быть не может, т.к. это - 9 символов, а индикатор вмещает 8 в одну строку.
Почему у Вас не работает валкодер и кнопки - не знаю, ищите ошибки в монтаже. Приоритетом в программе была и остается надежность сработки кнопок и обработки валкодера. Единственный ньюанс - это то, что если индикатор неисправен или он не подключен, то синтезатор в целом работать не будет, так устроена программа.
Теперь по валкодеру: используется PEC-16, который дает один импульс на щелчок. Бывают другие валкодеры, которые дают 1 импульс на 2 щелчка, они не будут работать корректно. Но и с PEC-16 есть тонкость (по подключению, которая описана ранее): если у Вас при вращении хоть вправо, хоть влево идет только увеличение или только уменьшение, необходимо поменять местами выводы линий валкодера, идущие к процессору.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Ср авг 14, 2013 06:13:39 
Мучитель микросхем

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн авг 12, 2013 19:07:47
Сообщений: 494
Откуда: башкирия мелеуз
Рейтинг сообщения: 0
C индикатором понятно,может и напутал
было 1 строка-144,000м
2 строка - н и мигает курсор
сейчас все ок


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Ср авг 14, 2013 07:39:27 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: 18
Зарегистрирован: Вт мар 13, 2012 07:24:30
Сообщений: 300
Рейтинг сообщения: 0
В чём причина была?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Ср авг 14, 2013 10:51:20 
Мучитель микросхем

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн авг 12, 2013 19:07:47
Сообщений: 494
Откуда: башкирия мелеуз
Рейтинг сообщения: 0
я не правильно подключал,сейчас пытаю,переделал на 27 мгц(изменил прошивку,переставил контур в мс3362),работает!!!
впереди организация меню и проверка,прикладываю файл исходника на баском


Вложения:
Документ1.txt [5.16 KiB]
Скачиваний: 496
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтезатор частоты 88-108МГц на ATMEGA16
СообщениеДобавлено: Ср авг 14, 2013 11:00:04 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: 18
Зарегистрирован: Вт мар 13, 2012 07:24:30
Сообщений: 300
Рейтинг сообщения: 0
Проблема кроме железа была ещё в "загоне" управляющего слова в синтезатор?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 678 ]     ... , , , 15, , , ...  

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


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

Сейчас этот форум просматривают: dina, kOt-90 и гости: 20


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

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


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