Посчитать импульсы надо и показать сколько

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

Сообщение Novice user »

У вас есть передача?
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

пока нету. Но тут походу обсуждения она может появится. Раньше я не знал как это сделать. Теперь все стало понятно.
Реклама
Мудрый кот
Сообщения: 1713
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

Так это не будет проблемой,просто не отнимаете значение пч
У аттини13 5 свободных портов,3 для LM7001,две для кнопок (переключение канала и прием/передача)
по исходнику-я не очень понимаю си,вернее совсем ноль,но!
Вот исходник ваш переделал,попробуйте
Спойлерtypedef unsigned char byte ;
typedef unsigned int real ;
typedef unsigned long unreal ;

#include <tiny13a.h>
#include <bcd.h>
#include <delay.h>
//#include <sleep.h>

#define CE PORTB.2 //
#define CL PORTB.1 //
#define DA PORTB.0 //

byte
set, sw_key ;// номер запомненной позиции настройки
unreal
f_tun;

unreal set_frq [4]=
{145000, 145100, 145200, 145300};
byte chan0=0;

byte chan=0;
// Declare your global variables here


void lm7001SendByte(byte k)
{
byte i ;

for (i = 0; i < 8; i++) {
if (k&0x1) DA = 1;
else
DA = 0;
delay_us(3);
CL = 1;
delay_us(3);
CL = 0;
k = k >> 1;
delay_us(3);
DA = 0;
}
}

void write_lm7001(){
real frq;
//frq=(f_tun - 10700) / 25 ;
frq=(f_tun ) / 25 ;
CL = 0; // CL
CE = 1; // CE
delay_us(3);

lm7001SendByte(frq & 0x00FF);
lm7001SendByte((frq & 0xFF00)>>8);

lm7001SendByte(0b10100001+chan); // - 25k
delay_us(3);
CE = 0; // CE
}
/*
void MCU_Off()
{
#asm("sei");
sleep_enable();
powerdown();
#asm("sleep");
}
*/

void blink () // мигаем диодом
{

}


void main(void)
{

// Input/Output Ports initialization
// Port B initialization
// Function: Bit5=In Bit4=In Bit3=Out Bit2=Out Bit1=Out Bit0=Out
DDRB=0b001111;
// State: Bit5=T Bit4=P Bit3=0 Bit2=0 Bit1=0 Bit0=0
PORTB=01000;
sw_key = 0;


chan=chan0; // читаем из еепром номер канала
f_tun = set_frq [chan]; // устанавливаем частоту
write_lm7001 ();


while (1){
// Place your code here
if(PINB.4 == 0){
sw_key = 1;
delay_ms(10);
}
if (sw_key && (PINB.4 ==1)) {
sw_key = 0;
chan++; set=chan;
if (chan>3)
{chan=0;set=0;}
f_tun = set_frq [chan];
write_lm7001 ();
blink ();
}

}
}
Проверил в протеусе,с виду работает
И еще- я не понял что у вас байты отправляются младшим битом вперед,так что ваша запись
lm7001SendByte(0b10100000); // - 25k
правльная,мои извинения
Последний раз редактировалось Novice user Вс фев 20, 2022 00:21:04, всего редактировалось 2 раза.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 181
Зарегистрирован: Пт окт 22, 2021 13:50:39

Сообщение Diskovod »

Утверждал что проект рабочий.
Хотя в ampcontrol почти также

Код: Выделить всё

// Control byte
#define LM7001_CTRL_B0      (1<<0)
#define LM7001_CTRL_B1      (1<<1)
#define LM7001_CTRL_B2      (1<<2)
#define LM7001_CTRL_TB      (1<<3)
#define LM7001_CTRL_R0      (1<<4)
#define LM7001_CTRL_R1      (1<<5)
#define LM7001_CTRL_R2      (1<<6)
#define LM7001_CTRL_S       (1<<7)

// Set control byte to FM input with 50kHz Fref, (TB = 0, Bi = 0b000, Ri = 0b100, S = 1)
#define LM7001_CTRL_WORD    (LM7001_CTRL_S | LM7001_CTRL_R2
значит правильно.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Мудрый кот
Сообщения: 1713
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

Я ошибся,у автора данной темы идет отправка младшим битом вперед,то есть правильно
В исходике выше на 1 частоте будет лог 1 на выв 7,на второй частоте лог 1 будет на выв 8 LM7001,на третьей частоте буде лог 1 на выв 7 и 8 лм-ки,на четвертой частоте будет лог 1 на выв 9 лм-ки
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 181
Зарегистрирован: Пт окт 22, 2021 13:50:39

Сообщение Diskovod »

А сколько теперь здесь бит в посылке будет? lm7001SendByte(0b10100001+chan);
Здесь же только по 8 идёт
for (i = 0; i < 8; i++) {
if (k&0x1) DA = 1;
Контактная информация:
Реклама
Мудрый кот
Сообщения: 1713
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

8
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 181
Зарегистрирован: Пт окт 22, 2021 13:50:39

Сообщение Diskovod »

:facepalm: Во я протупил
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

Diskovod писал(а):Утверждал что проект рабочий.
не только проект , счас это все в железе уже работает, причем давно.
Отдельно на приемнике , отдельно на передатчике.
Счас вот появилась возможность , добавить функционал и совместить все в одном МК ат13

Добавлено after 10 minutes 35 seconds:
[uquote="roman.com",url="/forum/viewtopic.php?p=4184114#p4184114"]
olegue писал(а):В еепром частоты загонял , тоже был вариант, счас найти его не могу. Но это мало что дает без функционала записии этих частот в режиме работы, а не программирования.
не понял... а в чём проблема ? записать частоты в EEPROM ?
:tea:

Добавлено after 7 minutes 7 seconds:
подключить всё это к компу... будет прикольный web-SRD приёмник ))
web-SRD.jpg
[/uquote]


можно подробнее.
Друг Кота
Сообщения: 9400
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

для начала я бы все таки рекомендовал заменить шумодав на нормальный - спектральный.
1.jpg
(97.9 КБ) 78 скачиваний
и к нему уже подключать МК...

Добавлено after 5 minutes 17 seconds:
[uquote="olegue",url="/forum/viewtopic.php?p=4185060#p4185060"]можно подробнее.[/uquote]
что подробнее ? ))

можно заставить быстро перестраиваться приёмник по частоте... Получится простой панорамный индикатор...
Screenshot_1.jpg
(29.46 КБ) 78 скачиваний
Screenshot_2.jpg
(38.23 КБ) 78 скачиваний
...
и т.д.
:tea:

Добавлено after 4 minutes 19 seconds:
а ещё лучше подключить к приёмник к компу... или сразу к Интернету))
тогда можно будет удалённо управлять приёмником по интернету... с трансляцией звука... будет почти WEB-SDR приёмник))
http://websdr.ru/
:tea:

Добавлено after 1 hour 23 minutes 53 seconds:
схема.png
(118.53 КБ) 81 скачивание
смема_2.png
(92.23 КБ) 73 скачивания
ваще надо прикладывать полную схему...

LM7001... странный SPI ))
Screenshot_1.jpg
(43.58 КБ) 76 скачиваний
нормальный сделать... не судьба))

Добавлено after 1 minute 7 seconds:
исходник...
AT13LM7001.c
(2.57 КБ) 102 скачивания
:roll:

Добавлено after 2 minutes 48 seconds:
ATtiny13
1K Byte of In-System Programmable Program Memory Flash
64 Bytes In-System Programmable EEPROM
64 Bytes Internal SRAM
...
что-то совсем всего мало)) надо другой МК...
:roll:
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

roman.com, поясните технологию как подключить МК к компу. А именно к программе sdrSharp. Или дайте ссылку где это объясняется.
Друг Кота
Сообщения: 9400
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

подключить МК к ПУ не сложно)) https://www.wiznet.hk/en/ethernet-contr ... w5500.html
написать приложение на ПК не сложно))
передать звук по Интернету не сложно))
как именно подключить МК к программе sdrSharp... не знаю)) в коде программы sdrSharp ещё не разбирался...
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

[uquote="roman.com",url="/forum/viewtopic.php?p=4185293#p4185293"]ATtiny13
...
что-то совсем всего мало)) надо другой МК...
:roll:[/uquote]
пролистал 4 страницы и тоже офигевал от идеи взять обрезанный донельзя мк и пытаться цеплять на него всевозможны расширители... нахрена ? оО
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Ответить

Вернуться в «Цифровая техника»