Страница 3 из 4

Добавлено: Пн дек 21, 2009 15:23:19
Left Radio
Модель МК чисто схемная, то есть никакой симуляции.
Я протеус в основной использую для рисования схем и разводки плат, все недостающие элементы делаю сам...

Добавлено: Пн дек 21, 2009 19:34:55
Кинг
эту бы схему хорошо проверить на симуляторе а то малоли с прошивкой чета

Добавлено: Вт дек 22, 2009 00:19:27
Кинг
Давайте к самому сложному Программирование микрухи. для начала что можно почитать а то тут в нете одна вода ниче полезного

Добавлено: Вт дек 22, 2009 18:00:15
Left Radio
Ну первым делом надо скачать USBXpress и заодно Keil uVision for C51 8.12, устанавливаем все это дело, создаем проект в Keil, присоединяем к проекту USBX_F320_1.LIB предварительно скопировав этот файл в папку с проектом. Затем пишем:

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

//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------

#include "c8051f320.h"        
#include "USB_API.h"


xdata BYTE In_Packet[3]; //массив для принимаемых данных с компа


/*** [BEGIN] USB Descriptor Information [BEGIN] ***/
code const UINT USB_VID = 0x10C4;
code const UINT USB_PID = 0xEA61;
code const BYTE USB_MfrStr[] = {0x1A,0x03,'S',0,'i',0,'l',0,'i',0,'c',0,'o',0,'n',0,' ',0,'L',0,'a',0,'b',0,'s',0};                      // Manufacturer String
code const BYTE USB_ProductStr[] = {0x10,0x03,'U',0,'S',0,'B',0,' ',0,'A',0,'P',0,'I',0}; //  Product Desc. String
code const BYTE USB_SerialStr[] = {0x0A,0x03,'4',0,'3',0,'2',0,'1',0};
code const BYTE USB_MaxPower = 150;           // Max current = 300 mA (15 * 2)
code const BYTE USB_PwAttributes = 0x80;      // Bus-powered, remote wakeup not supported
code const UINT USB_bcdDevice = 0x0100;       // Device release number 1.00
/*** [ END ] USB Descriptor Information [ END ] ***/


void Port_Init(void)
{
   /* Initialize Crossbar and GPIO */
   /* Все порты настроены на выход */
    P0MDOUT   = 0xFF;
    P1MDOUT   = 0xFF;
    P2MDOUT   = 0xFF;
    P3MDOUT   = 0x01;
    XBR1      = 0x40;      
}


void Initialize(void)
{
   Port_Init();                           // Initialize crossbar and GPIO   
}


//-----------------------------------------------------------------------------
// Main Routine
//-----------------------------------------------------------------------------
void main(void) 
{
   PCA0MD &= ~0x40;                       // Disable Watchdog timer

   USB_Clock_Start();                     // Init USB clock *before* calling USB_Init
   USB_Init(USB_VID,USB_PID,USB_MfrStr,USB_ProductStr,USB_SerialStr,USB_MaxPower,USB_PwAttributes,USB_bcdDevice);
   Initialize();
   USB_Int_Enable();
         
   while (1);  //вечный цикл в ожидании прерывания USB  
}


//-----------------------------------------------------------------------------
// Interrupt Service Routines
//-----------------------------------------------------------------------------
void USB_API_TEST_ISR(void) interrupt 16       // ISR for USB_API
{
  bit temp_Chanel;
  BYTE INTVAL = Get_Interrupt_Source();

  if (INTVAL & TX_COMPLETE)
  {
      USB_TX_READY = 1;
  }

  if (INTVAL & RX_COMPLETE)
  {
       Block_Read(In_Packet, 3);
       P0 = In_Packet[0];
       P1 = In_Packet[1];
       P2 = In_Packet[2];    
  }
    
  if (INTVAL & DEVICE_OPEN)
  {
    USB_START = 1;
  }
}

Компилируем и прошиваем, затем устанавливаем дрова входящие в комплект USBXpress, подключаем устройство и устанавливаем новое устройство если винда потребует. На этом все, пора писать прогу для компа...

Добавлено: Вт дек 22, 2009 20:00:35
Кинг
:o неужели все 24 вывода уже задействованы?

Добавлено: Вт дек 22, 2009 20:27:13
Left Radio
Э... А что тут удивительного?
Все три порта назначены как пуш-пул выход, а в прерывании при получении трех байт от компа, соответсвенно выводим эти три байта на порты, что тут страшного? Ведь именно это и требовалось, переслали инфу с компа - реле вкл./выкл.
Если не надо задействовать все порты, то можно например ничего к ним не подсоединять :), или переназначить на I2C/SPI/UART, или на вход.
Короче нахрена оно мне надо? Не хотите читать, разбераться и т. д. Ваше дело. Я и так выложил Вам готовую программу.....

Добавлено: Ср дек 23, 2009 00:10:09
Кинг
ну чтож вы так обомне так плохо думаете. просто было удивительно что мне подагнали программу. я сам тут пытался чета накрапать ниче не получалось. Выж когдато тоже начинали где все подробно описанно про программирование мк?

Добавлено: Ср дек 23, 2009 11:22:15
Left Radio
Да, наверно погорячился, не принимайте на свой счет :beer:
Я тоже когда то начинал... с чтения даташитов(тем более есть на русском),апнотов, форумов и т.д.
По программированию данных МК написано в апнотах(с примерами кода) например - http://www.electrosnab.ru/silabs/sil_appl.htm.
Программу я выложил полную, компилируйте, прошивайте, потом видно будет....

Добавлено: Пт дек 25, 2009 12:08:05
Кинг
У МЕНЯ ПРОГРАММАТОР НАЗЫВАЕТСЯ AUTOPROG НО В ЕГО ПРОГРАММЕ КОТОРОЙ ПРИШИВАЮТ МК НЕТУ SILABS

Добавлено: Пт дек 25, 2009 14:35:55
Left Radio
И чем я могу помочь :roll: ? Ссылку на простой программатор я Вам давал.

Добавлено: Пт дек 25, 2009 15:49:18
Кинг
хотябы на то что можно взять программу которую дали и она сможет работать с моим программаторам а хотя of попробую что нить сделать

Добавлено: Сб дек 26, 2009 07:18:34
Easyrider
От себя дополню вашу тему. Использую камни фирмы микрочип, 18 ой серии с поддержкой USB. Скачиваем компилятор фирмы MikroE под любой удобный вам язык. Там есть замечательная тулза - HID генератор скрипта для работы с USB. А встроенные библиотеки позволяют одной командой принимать байт из USB и отсылать его. На компе запускаю VB6, там у меня уже готовый модуль для работы с USB, который легко перестраивается под любые нужды. Драйвера на ваше устройство не требуются т.к. определяется оно как HID.
Нужно будет подробнее, выложу в картинках.
Использую камень PIC18F2450. Стоит он не дорого и возможности его позволяют очень много.

Добавлено: Сб дек 26, 2009 09:14:38
Кинг
давайте любые предложения подходят мне на будущее

Добавлено: Сб дек 26, 2009 09:52:23
Кинг
C8051F321-GMR MLP28 что означают буквы GMR а то в магазине такого нет

Добавлено: Ср дек 30, 2009 09:45:16
Left Radio
На GMR можете не обращать внимания, это насколько я помню тип припоя.... Если есть возможность возьмите лучше 320 его удобней паять.
Easyrider писал(а):встроенные библиотеки позволяют одной командой принимать байт из USB и отсылать его
Аналогично....
Easyrider писал(а):Там есть замечательная тулза - HID генератор скрипта для работы с USB.
У Silabs тоже полно примеров для HID, но я с ним не работал, не было надобности...

На самом деле выбор камня не принципиален... Главное желание самому что то делать :).

Re: Управление силовыми приборами через USB ПК

Добавлено: Вт мар 16, 2010 19:22:51
BROM
Все дядьки.... Вы меня добили окончательно... Долго долго в сети ищу как сделать на ЮСБ вот это http://www.pcports.ru/articles/6.php, при чем нужна статья в томже стиле. А затем нужна статья в таком стиле http://www.pcports.ru/articles/8.php Но сколько не искал нигде не нашел. Неужели никто не написал статейку для полного чайника вроде меня? Может где валяется кто знает? Такой каши в голове у меня небыло с тех давних пор когда я в институте изучал волновую теорию. Да я конечно видел вот это http://www.pcports.ru/articles/usb3.php, но платить 1500р за то что при наличии LPT дается бесплатно религия не позволяет. Может я не туда смотрю, может в поиске не те слова использую? Может производители офисной USB ракетницы и т.п. магией моторы крутят? Короче задача: Переключать 8 светодиодов из собственной программы на MVС++ через USB. При чем не сломав при этом мозг. Так вот, вы не вкурсе решил ее ктонибудь? Буду премного благодарен тем кто не отошлет меня в поиск, ибо расценю это как отсыл на 3 буквы. Сижу в гугле 2 недели. Вся проблема в том что я не занимался подобными воросами и => даже правильно написать строку поиска это уже задача. Всем спасибо за прочтение моего крика души)).

Re: Управление силовыми приборами через USB ПК

Добавлено: Ср мар 17, 2010 00:01:30
NiTr0
Берете исходники USBtinyISP, и пытаетесь переписывать под свои реалии...

Re: Управление силовыми приборами через USB ПК

Добавлено: Ср мар 17, 2010 01:44:39
BROM
Берете исходники USBtinyISP, и пытаетесь переписывать под свои реалии...
......................
Я боюсь что вы не правильно меня поняли....... Где я их беру? Что это? Я набрал в гугле.... И.. Я переворотил весь форум, для того чтобы мне чтото здесь понять, надо читать еще 2 месяца..
Я как раз прошу дать мне ссылку на какойнибудь ресурс типа pcports.ru где языком понятным для ламера было бы все описано. Я уверен что я не одинок в своих желаниях, иначе небыло бы столько вопросов на форуме, каждая десятая тема содержит слова USB и LPT. Вот вам тема для сайта"сопряжения ПК с внешними устройствами по USB" посетители гарантированны. Я лично по 10 раз перейду по каждой рекламной ссылке на этом сайте)). Из перелопаченного материала я понял что мне надо двигаться в сторону FT232 + какойнибудь МК,который в дальнейшем я буду использовать для всего. Почемуто мне кажется, что я хочу начать с Меги 16. Или я вообще ничего не понял? Короче посоветуйте еще и первый МК для изучения). Да кстати у меня нет готовых устройств ни для ЛПТ ни для СОМ, поэтому мне абсолютно всеравно как поджигать диоды по ЮСБ. Мне надо превратить ПК в некое подобие МК, так сказать припаять к юсб ножки от МК)) и спомощью программы на ПК ими дрыгать)).

Re: Управление силовыми приборами через USB ПК

Добавлено: Ср мар 17, 2010 10:54:41
Сэр Мурр
Упс! Есть так называемый набор PicKit2 http://www.pickit2.ru/doku.php/о.проекте он как раз способствует началу работы. Цена на момент проведения акции была вполне гуманная- 600 руб. Даже сейчас это стартовый набор можно приобрести, если поискать. Достоинство набора- всё включено, работает на любом компе, даже на нетбуке; стартовый МК сам по себе уже современный; есть возможность использования самых разных средств программирования- в том числе и графических- в виде блок-схем; более того- даже программировать МК с собственной операционной системой (МК в представленном поддерживает эту возможность); не нужно делать программатор.

Re: Управление силовыми приборами через USB ПК

Добавлено: Ср мар 17, 2010 12:22:23
NiTr0
BROM писал(а):Где я их беру? Что это?
Программатор на USB, с открытым исходным кодом как самой прошивки, так и драйвера для компа. ИМХО куда проще с него начать, чем с нуля писать...
Ну или на аппноуты посмотреть, софт юсб вроде как и там есть...