C8051F530

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 10
Зарегистрирован: Вт авг 02, 2011 13:49:30

Сообщение Midnight »

Всем доброго времени суток. Столкнулся с маленькой проблемой, надо на C8051F530 оживить жки TIC 33(на базе ML1001).Полазил по топикам нашел описание инициализации тика под авр, к сожалению(или я читать не умею, или просто не нахожу то что надо) даташит на 1001 не дает толковой информации об инициализации. Если кто сталкивался или кто может нашаманить или просто скинуть толковый даташит на 1001 буду весьма признателен.
Реклама
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

На чём писать-то собираешься? На АСМе или на СИ..

P.S. Вот это читал? http://mu-tron.com.hk/PDF/ML1001.pdf
И вот тут в самом конце ещё есть: http://electronix.ru/forum/lofiversion/ ... 53778.html
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Реклама
Родился
Сообщения: 10
Зарегистрирован: Вт авг 02, 2011 13:49:30

Сообщение Midnight »

писать буду на С. точнее блок с инициализацией SPI уже есть, вроде даже работает( по крайней мере с MISO и SCK что то генерит). А вот инициалка самого 1001 и по какому приниципу знаки делаются, тут без понятия. по второй ссылке лазал, но там опять же таки на авр( кстати тут где на форуме эта тема намного лучше освещена) а насчёт второй ссылки очень часто натыкался, даже русский вариант есть, но опять же таки: просто какие то общие выкладки, меня интересует обьявление через #define, составление знака и загрузка его в память 1001, т.е. начальный блок инициализации жки, что бы потом отпавравляя по SPI какие либо знаки он понимал что я к нему обращаюсь.
З.Ы. Первый раз просто в эту тему сунулся, поэтому пока ещё ни в зуб ногой(
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Мя не стал вчитываться в описание на индикатор, но если там сдвиговые регистры, а как понял, по сбросу у индикатора все сегменты выключены..
Попробуй заслать туда 00000001, потом 00000010 и так далее.. Посмотришь, какие сегменты включатся.. Надо описание читать..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 10
Зарегистрирован: Вт авг 02, 2011 13:49:30

Сообщение Midnight »

тишина...не откликается. вот весь код, передача даных взята с примеров си лаба.
#include <C8051F520.h> // SFR declarations
#include <STDDEF.H>
#include <STDIO.H>
#include <compiler_defs.h>

//-----------------------------------------------------------------------------
// Global Constants
//-----------------------------------------------------------------------------

#define SYSCLK 24500000 // Internal oscillator frequency in Hz

#define SPI_CLOCK 500000 // Maximum SPI clock
// The SPI clock is a maximum of 500 kHz
// when this example is used with
// the SPI0_Slave code example.
#define SPI_WRITE 0x04 // Send a byte from the Master to the
// Slave



unsigned char SPI_Data;
unsigned char Command = 0x00;





//Function Prototypes

void SPI_Init (void);
void Port_IO_Init (void);
void SPI_Byte_Write (void);
void Delay (void);
void Init_Device(void);

void main (void)
{
unsigned char test_value = 0x05;

Init_Device ();


while (1)
{
EA=1;
SPI_Data = test_value;
// Write a value
SPI_Byte_Write ();

while (!NSSMD0); // Wait until the Write transfer has
// finished
}


}

void Init_Device (void)
{
Port_IO_Init ();
SPI_Init ();
}

void Port_IO_Init (void)
{ // P0.0 - SCK (SPI0), Push-Pull, Digital
// P0.1 - MISO (SPI0), Open-Drain, Digital
// P0.2 - MOSI (SPI0), Push-Pull, Digital
// P0.3 - NSS (SPI0), Push-Pull, Digital
// P0.4 - Unassigned, Open-Drain, Digital
// P0.5 - Unassigned, Open-Drain, Digital
// P0.6 - Unassigned, Open-Drain, Digital
// P0.7 - Unassigned, Open-Drain, Digital

// P1.0 - Unassigned, Open-Drain, Digital
// P1.1 - Unassigned, Open-Drain, Digital
// P1.2 - Unassigned, Push-Pull, Digital
// P1.3 - Unassigned, Open-Drain, Digital
// P1.4 - Unassigned, Open-Drain, Digital
// P1.5 - Unassigned, Open-Drain, Digital
// P1.6 - Unassigned, Push-Pull, Digital
// P1.7 - Unassigned, Open-Drain, Digital

P0MDOUT = 0x0D;
P1MDOUT = 0x44;
XBR0 = 0x02;
XBR1 = 0x40;
//P1MASK = 0x42;
}
void SPI_Init (void)
{
SPI0CFG = 0x40;
SPI0CN = 0x05;
}
void SPI_Byte_Write (void)
{
while (!NSSMD0); // Wait until the SPI is free, in case
// it's already busy

NSSMD0 = 0;

Command = SPI_WRITE;

SPI0DAT = Command;
}
Реклама
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Мя в СИ совсем не силён, вот тут парнишка тоже 340-ю с индикатором в СИ пробует подружить: http://radiokot.ru/forum/viewtopic.php?f=20&t=51599
Может LeftRadio зайдёт, что нить посоветует..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»