

TEMPO
Участник-
Content Count
45 -
Joined
-
Last visited
Community Reputation
0 ОбычныйAbout TEMPO
-
Rank
Участник
Recent Profile Visitors
-
TEMPO started following Замена ADA4096, Обучить программированию STM32, USART ATmega16 с одного МК на другой МК and and 1 other
-
Обучить программированию STM32
TEMPO posted a topic in Предлагаю работу
Всем доброго времени суток! Ищу программиста микроконтроллеров STM32, кто может взять меня в ученики и в он-лайн режиме помочь с освоением программирования. Основы языка С знаю, т.е. не придётся объяснять переменный, циклы, условные операторы и другое. Счёт dec/bin/hex тоже знаю. Уже установлены Keil, STM32CubeIDE. Есть разные отладки (F407, F469, L496) и другое своё железо (F103). Хочется поработать с интерфейсами SPI, IIC, UART (RS-485), подключить дисплей (строчный), записать данные на SD-карту и ещё немного разного. Жду предложений по формату обучения и стоимости. Спасибо. -
AtTiny2313 + MBI5168 + 7sLED
TEMPO replied to TEMPO's topic in MCS51, AVR, PIC, STM8, 8bit
ae_, спасибо, обязательно попробую, только сегодня железку забыл на работе((( -
AtTiny2313 + MBI5168 + 7sLED
TEMPO replied to TEMPO's topic in MCS51, AVR, PIC, STM8, 8bit
adnega, ae_, спасибо за помощь. Вот так получается надо: Write_Bit_8(0xFF); // первый Write_Bit_8(0xFF); // второй Write_Bit_8(0xFF); // третий PORTD |= (1 << LE); // LE High _delay_ms(10); PORTD &= ~(1 << LE); // LE Low А ведь нужна небольшая задержка между LE High и LE Low? -
AtTiny2313 + MBI5168 + 7sLED
TEMPO replied to TEMPO's topic in MCS51, AVR, PIC, STM8, 8bit
adnega, так и знал, что про это спросите))) да, всё есть, поэтому и написал, что схема отражает, что относится к логике работы с индикаторами))) -
AtTiny2313 + MBI5168 + 7sLED
TEMPO replied to TEMPO's topic in MCS51, AVR, PIC, STM8, 8bit
adnega, а вот и схема (начертил, только относящееся к индикаторам) -
AtTiny2313 + MBI5168 + 7sLED
TEMPO replied to TEMPO's topic in MCS51, AVR, PIC, STM8, 8bit
Да, питание везде 5В. Резистор 1К Вот при такой комбинации, методом тыка, удалось включить два сегмента: PORTD |= (1 << LE); // LE High Write_Bit_8(0x10); // первый Write_Bit_8(0x10); // второй Write_Bit_8(0x10); // третий PORTD &= ~(1 << LE); // LE Low _delay_ms(100); PORTD |= (1 << LE); // LE High Write_Bit_8(0x1); // первый Write_Bit_8(0x1); // второй Write_Bit_8(0x1); // третий PORTD &= ~(1 << LE); // LE Low -
AtTiny2313 + MBI5168 + 7sLED
TEMPO replied to TEMPO's topic in MCS51, AVR, PIC, STM8, 8bit
Хорошо, завтра тогда срисую схему с платы, но там всё банально. -
AtTiny2313 + MBI5168 + 7sLED
TEMPO replied to TEMPO's topic in MCS51, AVR, PIC, STM8, 8bit
Нет, только точки горят. -
AtTiny2313 + MBI5168 + 7sLED
TEMPO replied to TEMPO's topic in MCS51, AVR, PIC, STM8, 8bit
adnega, сделал OE в 0, теперь точки просто горят -
AtTiny2313 + MBI5168 + 7sLED
TEMPO replied to TEMPO's topic in MCS51, AVR, PIC, STM8, 8bit
adnega, тоже самое, только точки мигают ((( -
AtTiny2313 + MBI5168 + 7sLED
TEMPO posted a topic in MCS51, AVR, PIC, STM8, 8bit
Всем доброго вечера! Подскажите, пожалуйста, как включить все сегменты по очереди на 3-х 7-сегментных индикаторах? Тестовая плата на ATTiny2313 + MBI5168 (3шт) + 7sLED (3шт). MBI5168 включены последовательно. Набросал тестовый код, но только точки иногда мигают Как правильно сформировать данные (число), которые нужно посылать в MBI5168? N Segment PIN OUT BIN HEX 1 D #8 3 1000 8 2 C #7 2 0100 4 3 B #6 1 0010 2 4 A #5 0 0001 1 5 E #9 4 6 F #10 5 7 G #11 6 8 DP #12 7 #include <avr/io.h> #include <util/delay.h> #define DIN PD3 #define CLK PD4 #define LE PD5 #define OE PD6 #define GREEN PB3 #define RED PB4 void Write_Bit_8(int); int main(void) { DDRD |= (1 << DIN); // Port D, P3 = SDI DDRD |= (1 << CLK); // Port D, P4 = CLK DDRD |= (1 << LE); // Port D, P4 = LE DDRD |= (1 << OE); // Port D, P4 = OE DDRB |= (1 << GREEN); // Port B, P4 = Green DDRB |= (1 << RED); // Port B, P3 = Red PORTB |= (1 << RED); // Green while(1) { _delay_ms(250); PORTD &= ~(1 << OE); // OE Low _delay_ms(10); // --------------------------------- PORTD |= (1 << LE); // LE High _delay_ms(10); // Send Data Write_Bit_8(0xFF); // _delay_ms(10); PORTD &= ~(1 << LE); // LE Low _delay_ms(10); PORTD |= (1 << LE); // LE High _delay_ms(10); // Send Data Write_Bit_8(0xFF); // _delay_ms(10); PORTD &= ~(1 << LE); // LE Low _delay_ms(10); PORTD |= (1 << LE); // LE High _delay_ms(10); // Send Data Write_Bit_8(0xFF); // _delay_ms(10); PORTD &= ~(1 << LE); // LE Low _delay_ms(10); // ---------------------------------- PORTD |= (1 << OE); // OE High _delay_ms(100); } } void Write_Bit_8(int data) { for (int i = 7; i >= 0; i--) { PORTD &= ~(1 << CLK); if (((data >> i) & 1) == 1) { PORTD |= (1 << DIN); } else { PORTD &= ~(1 << DIN); } PORTD |=(1 << CLK); } PORTD &= ~(1 << CLK); PORTD |= (1 << DIN); } -
Замена ADA4096
TEMPO replied to TEMPO's topic in Компоненты
GenaSPB, не понял про допустимое напряжение и rail. Можете немного перефразировать? -
Замена ADA4096
TEMPO posted a topic in Компоненты
Добрый день! Подскажите, пожалуйста, каким другим можно заменить этот операционник ADA4096-2? Включен просто: инвертирующий напрямую на выход. Питание однополярное +3V. Нужен только один канал. Я так понимаю, что основная особенность этого операционника - прецизионность и Rail-to-rail? ADA4096-2_4.pdf -
Взрывозащитные цепи
TEMPO posted a topic in Предлагаю работу
Всем доброго времени суток! Необходимо составить схему защиты цепи питания 15В/15Вт и цепи RS-485. Я так понимаю на супрессорах (TVS-диоды) или симисторах. Рассчитать параметры цепи Uo, Io, Po, Co, Lo. За подробностями пишите в ЛС, там обсудим цену и срок. Спасибо. -
Искрозащита RS485
TEMPO replied to TEMPO's topic in Интерфейсы
Так предельные значения брать в расчёт или номинальные (5В)?