Страница 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
Кинг

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

, или переназначить на I2C/SPI/UART, или на вход.
Короче нахрена оно мне надо? Не хотите читать, разбераться и т. д. Ваше дело. Я и так выложил Вам готовую программу.....
Добавлено: Ср дек 23, 2009 00:10:09
Кинг
ну чтож вы так обомне так плохо думаете. просто было удивительно что мне подагнали программу. я сам тут пытался чета накрапать ниче не получалось. Выж когдато тоже начинали где все подробно описанно про программирование мк?
Добавлено: Ср дек 23, 2009 11:22:15
Left Radio
Да, наверно погорячился, не принимайте на свой счет
Я тоже когда то начинал... с чтения даташитов(тем более есть на русском),апнотов, форумов и т.д.
По программированию данных МК написано в апнотах(с примерами кода) например -
http://www.electrosnab.ru/silabs/sil_appl.htm.
Программу я выложил полную, компилируйте, прошивайте, потом видно будет....
Добавлено: Пт дек 25, 2009 12:08:05
Кинг
У МЕНЯ ПРОГРАММАТОР НАЗЫВАЕТСЯ AUTOPROG НО В ЕГО ПРОГРАММЕ КОТОРОЙ ПРИШИВАЮТ МК НЕТУ SILABS
Добавлено: Пт дек 25, 2009 14:35:55
Left Radio
И чем я могу помочь

? Ссылку на простой программатор я Вам давал.
Добавлено: Пт дек 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, с открытым исходным кодом как самой прошивки, так и драйвера для компа. ИМХО куда проще с него начать, чем с нуля писать...
Ну или на аппноуты посмотреть, софт юсб вроде как и там есть...