Jump to content

Контроллер VFD PT6302. Как бы подключить к МК


Recommended Posts

Есть вакуумный люминесцентный индикатор (1x16) с алиэкспресса, в котором стоит микросхема PT6302. И есть даташит на нее. Хочется подключить к микроконтроллеру (8051, asm), и зажечь этот индикатор,  вывести какие-то символы, но к сожалению, что с ней делать - не понимаю. Какая должна быть последовательность действий с этим индикатором, какие команды/данные на нее передавать, и в каком порядке. Объясните пожалуйста, если возможно.

Link to comment
Share on other sites

48 минут назад, Иван Долинин сказал:

Какая должна быть последовательность действий с этим индикатором, какие команды/данные на нее передавать, и в каком порядке

Это всё подробно описано в даташите. Изучайте, не знаете английского - не беда, Гугл переводчик адекватно переводит даже с китайского. 

Link to comment
Share on other sites

LED-драйверы MEAN WELL – выбор больше, стоимость ниже

Компэл расширил и существенно пополнил склад LED-драйверами компании MEAN WELL, одновременно снизив цену на них. В настоящий момент на складе представлена широкая линейка продукции для наружного (семейства HLG, ELG, XLG, LPC, LPV), и для внутреннего (APC, LCM, SLD, APV) освещения.

Имеется большой выбор моделей с различными режимами стабилизации выходных параметров. Кроме того, есть в наличии и линейка DC/DC-драйверов, как понижающих (семейство LDD), так и повышающих (семейство LDH).

Подробнее>>

Литиевые батарейки FANSO в беспроводных датчиках

Литиевые батарейки различного химического состава и разных типоразмеров широко используются в беспроводных датчиках систем сбора данных, промышленной автоматики и систем умного дома. Широкий спектр таких батареек производит не прекратившая поставки в Россию китайская компания Fanso, входящая во всемирно известный концерн по производству электрохимических элементов питания EVE.

Читать подробнее >>

Широкий выбор продукции MEAN WELL для промавтоматики на складе КОМПЭЛ

Компания КОМПЭЛ наращивает объем поставок источников питания MEAN WELL для промышленной автоматизации. Компания MEAN WELL не планирует уходить с рынка РФ, а ее продукция широко применяется в сфере промавтоматики (монтаж на DIN-рейку) и рекомендована в качестве замены других брендов и для применения в новых разработках.

Представляем ассортимент продукции MEAN WELL на складе КОМПЭЛ для надежного и бесперебойного электропитания устройств промавтоматики.

Подробнее>>

3 минуты назад, Иван Долинин сказал:

Я Си не знаю

Всего то..
Эт не беда. Главное есть пример (рабочий я так понимаю) инициализации и работы с контроллером. А Си мы поборемся))

Link to comment
Share on other sites

Мощный универсальный неизолированный стабилизатор MORNSUN

Компания MORNSUN разработала универсальный понижающе-повышающий неизолированный стабилизатор (DC/DC-преобразователь) с выходным током до 10 А — KUB4836EB-10A. Этот стабилизатор можно использовать при входном напряжении в диапазоне 9…60 В (питающие шины с номинальным значением напряжения 12/24/48 В), а выходное напряжение можно подстраивать в диапазоне от 0 до 60 В. Преобразователь выполнен в корпусе 1/8 Brick с возможностью установки на печатную плату, имеется разновидность для монтажа на шасси — KUB4836EBF-10A.

Читать подробнее >>

В примере тоже программный. Так что с него и начнем.

void pt6302_init(void)
{
unsigned char i;
// init pins
PT6302_DDR_CLK |= _BV(PT6302_CLK_PIN); //clock output
PT6302_DDR_STB |= _BV(PT6302_STB_PIN); //stb output
PT6302_DDR_DIN |= _BV(PT6302_DIN_PIN); //data output


	STB_HI;
	_delay_ms(200); //power_up delay

	// set GPO pins to low
	STB_LO;
	pt6302_ser_out(0b01000000);
	delay_tcsh;
	STB_HI;

	// Configure VFD display (grids)
	STB_LO;
	pt6302_ser_out(0b01100110); //14 grids
	delay_tcsh;
	STB_HI;

	// set DIMM/PWM to value
	STB_LO;
	pt6302_ser_out(0b01010000 | 7); //0 min - 7 max
	delay_tcsh;
	STB_HI;
	
	// switch off extra "ADRAM"
	STB_LO;
	pt6302_ser_out(0b00110000); 
	for(i=0;i<16;i++) {	pt6302_ser_out(0); }
	delay_tcsh;
	STB_HI;
	
	
	// test mode: light all
	STB_LO;
	pt6302_ser_out(0b01110011); //on
	delay_tcsh;
	STB_HI;
	_delay_ms(500);

	// normal mode
	STB_LO;
	pt6302_ser_out(0b01110000); //test off-normal mode on
	delay_tcsh;
	STB_HI;
}

Инициализация начинается с настройки портов.
Затем идет дрыгание ногами STB_HI, STB_LO.
А самое главное это реализовать функцию отсылки байта данных pt6302_ser_out(0b01100110).
Вот в такой последовательности и начнем..

Вы пинам назначили имена?

Link to comment
Share on other sites

data_shout:	push	ACC				; save current A, PSW to stack
			push	PSW
			mov	A, temp				; data to p
			mov	R7, #008h			; loop counter
shloop:		anl	P0, #11111101B 		; clk (P0.1) low
			rrc	A					; 1 pos shift A right
			mov	sdi_pin, C			; Carry flag to data out
			orl	P0, #00000010B		; clk (P0.1) high
			djnz	R7, shloop		; Decrement counter and jump back
			pop	PSW
			pop	ACC					; Pop previous A, PSW back
			ret						;exit subroutine

уже написано, откомментил

Так пойдет?

Link to comment
Share on other sites

У этого контроллера выводы порта - двунаправленные, вход и выход одновременно, состояние определяется функцией ИЛИ-НЕ между данными регистра-защелки порта и входным сигналом.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Сообщения

    • Нужно сначала сравнить текущее значение с предыдущим. Если новое значение больше, чем предыдущее, то просто вычитаем. Если новое значение меньше, то к нему сначала добавляем 32, а потом вычитаем. encCount = __HAL_TIM_GET_COUNTER(&htim1); if(encCount > oldCount)     result = encCount - oldCount; else     result = encCount + 32 - oldCount; oldCount = encCount; Но всё равно, надо как-то увеличить максимальное значение тиков с 32 до 256, хотя бы.
    • 90% генератор. Что бы в стартер ушёл ток, надо замкнуть пятаки в втягивающем реле, а так контакт +АКБ в втягивающем висит в воздухе! Снимай генератор и смотри внимательно, там много чего интересного может быть. Перед этой проблемой в генератор случаем никто не лазил? Попробуй с открытым капотом на холостых проверить, правда токовые клещи нужны, если долго ждать не надо. А ещё можно подключить параллельно АКБ осциллограф и проверить, должны присутствовать 3 фазы полуволн пульсаций, если получиться всё в кривом виде то возможно мост диодный трындит, в общем ковыряться надо, тут особо советовать смысла нет.
    • ИМХО вместо того, чтоб заново изобретать Долби ПроЛоджик проще и дешевле на Авите найти старый музцентр с подобной системой преобразования и использовать оттуда плату целиком.
    • У вас все тухнет и глохнет машина?
    • Причина - плохо приварена проволочка к кристаллу или к выводу, из-за чего возникает переменный контакт. 
    • Не надо банить, все верно.
    • Что тоньше - то и греет, а КЗ может быть где угодно, если это КЗ конечно, а не сгнившая клемма акб. А замок тем боком, что туда плюс постоянный приходит от АКБ без предохранителей, там рядом куча железа (рулевой вал к примеру) обо что провод может перетереться.
×
×
  • Create New...