Большой Воронежский Форум

Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел.
Вернуться   Большой Воронежский Форум » Компьютеры и все, что с ними связано » »Радиолюбитель
Программирование микроконтролеров,ремонт аудио/видео/бытовой техники,полезные устройства для дома,телефония, обсуждение статей журнала Радио

Ответ
 
Опции темы
Старый 25.12.2009, 13:55   #421   
Форумец
 
Сообщений: 11
Регистрация: 08.08.2009
Возраст: 40

Denis124 вне форума Не в сети
Да кварц стоит модуляцыя идет но на выходе CCP1 ,CCP2 ничего нет
  Ответить с цитированием
Старый 25.12.2009, 14:27   #422   
Форумец
 
Сообщений: 11
Регистрация: 08.08.2009
Возраст: 40

Denis124 вне форума Не в сети
Цитата:
Сообщение от romchik77 Посмотреть сообщение
В какой школе Вы учились? я бы слово здравствуйте хотя бы написал. Не, ну я понимаю конечно это интернет - язык, но все равно. Читать противно.
Еще раз прошу прощения, обидеть не хотел.
А по теме можеш ответить ?
  Ответить с цитированием
Старый 25.12.2009, 15:27   #423   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Denis124 Посмотреть сообщение
Да кварц стоит модуляцыя идет но на выходе CCP1 ,CCP2 ничего нет
А почему у Вас в коде компараторы не отключены? У Вас так кнопки на половине PORTA работать не будут. И, кстати, как у Вас кнопки подключены?
Пример от mikroE работает, проверил в железе.
  Ответить с цитированием
Старый 26.12.2009, 22:36   #424   
Форумец
 
Аватар для Bard Simpson
 
Сообщений: 82
Регистрация: 05.02.2008

Bard Simpson вне форума Не в сети
PIC16F676

Вот такая проблема:
программа работает в MPLAB SIM, я это вижу по состоянию регистров и EEPROM.
В PROTEUS происходит следующее: как только я его "включаю" то сразу взводится EECON1:WRERR (ошибка записи в EEPROM), и по адресам куда в дальнейшем должно писаться появляется ерунда. При этом сама программа еще не запускалась.
В "железе" похоже происходит то же самое.
  Ответить с цитированием
Старый 27.12.2009, 15:11   #425   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Bard Simpson Посмотреть сообщение
Вот такая проблема:
программа работает в MPLAB SIM, я это вижу по состоянию регистров и EEPROM.
В PROTEUS происходит следующее: как только я его "включаю" то сразу взводится EECON1:WRERR (ошибка записи в EEPROM), и по адресам куда в дальнейшем должно писаться появляется ерунда. При этом сама программа еще не запускалась.
В "железе" похоже происходит то же самое.
Прочитайте, что Вы написали! В ответ на подобное обычно на форумах говорят - "телепаты в отпуске".
  Ответить с цитированием
Старый 08.01.2010, 14:49   #426   
Форумец
 
Сообщений: 11
Регистрация: 08.08.2009
Возраст: 40

Denis124 вне форума Не в сети
Проблема решена PWM работает в протеусе (мож кому пригодитса )

void main()
{
unsigned char pwm ;

TRISC = 0 ;
PORTC = 0 ;

PR2 = 0b01111100 ;
CCP1CON = 0b00001100 ;
CCP2CON = 0b00111100 ;

for(..)
{

for(pwm = 0 ; pwm < 128 ; pwm++)
{
CCPR1L = pwm ;
CCPR2L = 128 - pwm ;
T2CON = 0b00000101 ;
Delay_ms(10) ;
}
for(pwm = 127 ; pwm > 0 ; pwm--)
{
CCPR1L = pwm ;
CCPR2L = 128 - pwm ;
T2CON = 0b00000101 ;
Delay_ms(10) ;
}
}
}
  Ответить с цитированием
Старый 18.01.2010, 17:48   #427   
Форумец
 
Сообщений: 1
Регистрация: 18.01.2010

_new_ вне форума Не в сети
Здравствуйте!

Проблема в следующем: нужно принять по USART 30 байт, сохранить их в EEPROM и передать обратно (для сравнения). Камень - pic16f628a, среда microC. Схема такая же как в файле справке (прикрепить картинку?)

Код:
unsigned short i, j;
Usart_Init(2400);
i = 0;
while (1)
{
  if (Usart_Data_Ready())
  {
    j = Usart_Read();
    Eeprom_Write(i, j);
    Delay_ms(20);
    i++;
  }
  if (i > 29)
  {
    for (i = 0; i < 30; i++)
    {
      j = Eeprom_Read(i);
      Usart_Write(j);
    }
    i = 0;
  }
}
МК не успевает все принимать и сохранять - успевает только первые несколько и последние, середина теряется. Данные передаю файлом через встроенный в microC терминал. Может есть возможность как-то тормозить передачу на время записи в память? Вобщем жду советов.
  Ответить с цитированием
Старый 19.01.2010, 08:45   #428   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от _new_ Посмотреть сообщение
Проблема в следующем: нужно принять по USART 30 байт, сохранить их в EEPROM и передать обратно (для сравнения). Камень - pic16f628a, среда microC. Схема такая же как в файле справке (прикрепить картинку?)
МК не успевает все принимать и сохранять - успевает только первые несколько и последние, середина теряется. Данные передаю файлом через встроенный в microC терминал. Может есть возможность как-то тормозить передачу на время записи в память?
1. Конечно будут потери - процесс записи EEPROM достаточно медленный + по коду задержка 20 мс, а данные из файла идут непрерывно.
2. Вариантов несколько. Первый - принимаемые данные складывать в массив, а после приема всех 30 байт записать их в EEPROM. Второй - использовать аппаратное управление, в частности задействовать CTS/RTS.
P.S. mikroC mikroC mikroC mikroC mikroC
  Ответить с цитированием
Старый 06.03.2010, 15:02   #429   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
PICKit2 & AVR

Pickit2 научили шить AVR.
Первоисточник здесь - http://pickit2avrisp.wordpress.com/
И на microchip.su обсуждают. Сам не пробовал, но обязательно попробую.
  Ответить с цитированием
Старый 07.03.2010, 09:15   #430   
Форумец
 
Сообщений: 9
Регистрация: 13.11.2009
Возраст: 56

viktor110668 вне форума Не в сети
скажите где посмотреть процедуру написания проги на с для работы ацп и индикатора 16х2

Последний раз редактировалось viktor110668; 07.03.2010 в 14:18.
  Ответить с цитированием
Старый 07.03.2010, 20:21   #431   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от viktor110668 Посмотреть сообщение
скажите где посмотреть процедуру написания проги на с для работы ацп и индикатора 16х2
Например, в примерах MikroC, выглядит так:
Код:
/*
 * Project name:
     ADC_on_LCD (Displaying ADC result on LCD)
 * Copyright:
     (c) MikroElektronika, 2005-2008.
 * Description:
     This code demonstrates how to use library function ADC_read, and library
     procedures and functions for LCD display (4 bit interface).
 * Test configuration:
     MCU:             PIC16F887
     Dev.Board:       EasyPIC5
     Oscillator:      HS, 08.0000 MHz
     Ext. Modules:    LCD
     SW:              mikroC v8.0
 * NOTES:
     None.
*/

unsigned char ch;
unsigned int adc_rd;
char *text;
long tlong;

void main() {
  INTCON = 0;                              // disable all interrupts
  ANSEL  = 0x04;                           // Configure AN2 pin as analog input
  TRISA  = 0x04;
  ANSELH = 0;                              // Configure other AN pins as digital I/O
  Lcd_Config(&PORTB, 4, 5, 6, 3, 2, 1, 0); // Lcd_Init_EP5, see Autocomplete
  LCD_Cmd(LCD_CURSOR_OFF);                 // send command to LCD (cursor off)
  LCD_Cmd(LCD_CLEAR);                      // send command  to LCD (clear LCD)

  text = "mikroElektronika";               // assign text to string
  LCD_Out(1,1,text);                       // print string a on LCD, 1st row, 1st column
  text = "LCD example";                    // assign text to string
  LCD_Out(2,1,text);                       // print string a on LCD, 2nd row, 1st column

  ADCON1     = 0x82;                       // configure VDD as Vref, and analog channels
  TRISA      = 0xFF;                       // designate PORTA as input
  Delay_ms(2000);
  text  = "voltage:";                      // assign text to string
  while (1) {
    adc_rd  = ADC_read(2);                 // get ADC value from 2nd channel
    LCD_Out(2,1,text);                     // print string a on LCD, 2nd row, 1st column

    tlong = (long)adc_rd * 5000;           // covert adc reading to milivolts
    tlong = tlong / 1023;                  // 0..1023 -> 0-5000mV

    ch     = tlong / 1000;                 // extract volts digit
    LCD_Chr(2,9,48+ch);                    // write ASCII digit at 2nd row, 9th column
    LCD_Chr_CP('.');

    ch    = (tlong / 100) % 10;            // extract 0.1 volts digit
    LCD_Chr_CP(48+ch);                     // write ASCII digit at cursor point

    ch    = (tlong / 10) % 10;             // extract 0.01 volts digit
    LCD_Chr_CP(48+ch);                     // write ASCII digit at cursor point

    ch    = tlong % 10;                    // extract 0.001 volts digit
    LCD_Chr_CP(48+ch);                     // write ASCII digit at cursor point
    LCD_Chr_CP('V');

    Delay_ms(1);
  }
}//~!
  Ответить с цитированием
Старый 08.03.2010, 16:33   #432   
Форумец
 
Сообщений: 9
Регистрация: 13.11.2009
Возраст: 56

viktor110668 вне форума Не в сети
уууура у меня получилось, я забыл написать что для авр микроС
но я перенес куски кода в авр и поменял заглавные буквы и усе заработало , огромнейшее спасибо , для учебной практики в самый раз

Последний раз редактировалось viktor110668; 08.03.2010 в 17:14.
  Ответить с цитированием
Старый 09.03.2010, 05:20   #433   
Форумец
 
Сообщений: 9
Регистрация: 13.11.2009
Возраст: 56

viktor110668 вне форума Не в сети
подскажите пжлста код работы mikroC AVR ацп и графического дисплея 12864 уж сильно хочется вывести синусоиду и поучится выводить символы и разные заставки.

Последний раз редактировалось viktor110668; 09.03.2010 в 07:11.
  Ответить с цитированием
Старый 09.03.2010, 19:34   #434   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от viktor110668 Посмотреть сообщение
подскажите пжлста код работы mikroC AVR ацп и графического дисплея 12864 уж сильно хочется вывести синусоиду и поучится выводить символы и разные заставки.
Сначала надо освоить графический ЖКИ, а потом синусоиду выводить ибо синусоида - это обработка, математика и алгоритмы и тут все зависит от знаний и фантазии программиста. Чем выше уровень программиста, тем проще и лучше реализация. Для вывода символов на KS108/KS107 сначала надо осовить встроенную GLCD библиотеку, дальше можно поробовать вот это http://www.pocketmt.com/. А картинки готовить для вывода на KS108/KS107 легко при помощи встроенного GLCD Bitmap Generator'а. В примерах от mikroC коды должны быть.
  Ответить с цитированием
Старый 09.03.2010, 23:30   #435   
Форумец
 
Сообщений: 9
Регистрация: 13.11.2009
Возраст: 56

viktor110668 вне форума Не в сети
Цитата:
Сообщение от petrd Посмотреть сообщение
Сначала надо освоить графический ЖКИ, а потом синусоиду выводить ибо синусоида - это обработка, математика и алгоритмы и тут все зависит от знаний и фантазии программиста. Чем выше уровень программиста, тем проще и лучше реализация. Для вывода символов на KS108/KS107 сначала надо осовить встроенную GLCD библиотеку, дальше можно поробовать вот это http://www.pocketmt.com/. А картинки готовить для вывода на KS108/KS107 легко при помощи встроенного GLCD Bitmap Generator'а. В примерах от mikroC коды должны быть.
все легче осваивать на примерах наглядно, вот вы мне дали пример работы с
индикатором 16х2 я уже освоил математические методы вычисления значений, и сделал вольтметр омметр со звуковой индикацией и цифровым отображением на дисплее 16х2, я сам автоэлектрик и мне нужен такой приборчик. теперь я хочу своими руками и мозгами достичь других результатов, я тут увидел диагностический приборчик для машин и решил соорудить подобие его но на графическом дисплее
в котором будет осциллограф до 200 кгц(достаточно) волтметр омметр и диагностика систем отечественных авто, схема уже есть , отработана система протокола обмена с авто по кл адаптеру ну тут я размахнулся ( и зайца можно научить курить)
вот я и хочу на конкретных примерах сделать себе помощника(прибор)
кстати я диагностический приборчик сам сделал он на 16х2
и неудобен что читаемость плохая когда нужно посмотреть сразу три режима работы двигателя, еще я сам сделал 4 канальный осциллограф на атмега16 и компьютером через юсб теперь на моём буке есть осцилл. потихоньку развиваемся с вашей и божьей помощью. спасибо тем кто помогает.
  Ответить с цитированием
Старый 11.03.2010, 12:04   #436   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
AVR & RTOS OSA

Для тех кто работает с AVR - стараниями tester'a RTOS OSA портирована под 8-ми разрядные AVR (IAR и WinAVR) - http://wiki.pic24.ru/doku.php/osa/ref/download/intro
  Ответить с цитированием
Старый 13.03.2010, 20:32   #437   
Форумец
 
Сообщений: 9
Регистрация: 13.11.2009
Возраст: 56

viktor110668 вне форума Не в сети
посмотриче файлик , я тут написал програмку для графического лсд линию выводит на экран а не так как надо.
Вложения
Тип файла: rar 2.rar (53.4 Кб, 31 просмотров)
  Ответить с цитированием
Старый 15.03.2010, 09:58   #438   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от viktor110668 Посмотреть сообщение
посмотриче файлик , я тут написал програмку для графического лсд линию выводит на экран а не так как надо.
Ничего пока не понятно, словами опишите алгоритм.
  Ответить с цитированием
Старый 15.03.2010, 11:31   #439   
Форумец
 
Сообщений: 9
Регистрация: 13.11.2009
Возраст: 56

viktor110668 вне форума Не в сети
Цитата:
Сообщение от petrd Посмотреть сообщение
Ничего пока не понятно, словами опишите алгоритм.
я расписал строчки в .с файле
Вложения
Тип файла: rar 2.rar (61.1 Кб, 29 просмотров)
  Ответить с цитированием
Старый 15.03.2010, 12:08   #440   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от viktor110668 Посмотреть сообщение
я расписал строчки в .с файле
Так и тут ничего не понятно.
Код:
unsigned short i;
unsigned int buf[500];
void main() {
  Glcd_Init();            // ????????????? GLCD
  Glcd_Fill(0x00);                        // Clear GLCD

       for (;;){   //while(1) {
           buf[i] = ADC_Read(3);    //чтение с ацп и запись в буфер

           for(i=1;i<10;i++); // формирование графика
               Delay_100ms();//задержка
           for (i=1; i<buf[i]+1; i++)  //?????? ??????
              {
         Glcd_Line(i=1,buf[i],i+90,buf[i+1],1);  //?вывод графика на дисплей
                       };

       Glcd_Fill(0);   //сброс индикатора

          };
}
Что у Вас вот это должно делать?
Код:
 for(i=1;i<10;i++); // формирование графика
Оно же ничего не делает, кроме как увеличивает переменную i, которая в начале следующего цикла
Код:
  for (i=1; i<buf[i]+1; i++)
        Glcd_Line(i=1,buf[i],i+90,buf[i+1],1);
проинициализируется и станет равной 1, а что Вы вот этим i<buf[i]+1 и этим Glcd_Line(i=1... хотели сделать? Ну и еще т.п.
  Ответить с цитированием
Старый 15.03.2010, 13:11   #441   
Форумец
 
Сообщений: 9
Регистрация: 13.11.2009
Возраст: 56

viktor110668 вне форума Не в сети
i<buf[i]+1 это я из буфера данные выкладываю на график
Glcd_Line(i=1...здесь выводит на дисплей только я сейчас поставил i<1 ничего не изменилось
напишите как надо написать функцию прорисовки графика ато у меня никаких нарабоок нет вот сам шишки и набиваю
хотябы примерчик какой посмотреть

Последний раз редактировалось viktor110668; 15.03.2010 в 14:53.
  Ответить с цитированием
Старый 26.03.2010, 12:04   #442   
Ганзовец
 
Аватар для seysen
 
Сообщений: 767
Регистрация: 22.11.2006

seysen вне форума Не в сети
Здравствуйте!
Задумал я делать HID устройство для компьютера. Чую много времени пройдет пока я его реализую, но не в этом дело. Возник у меня вопрос а как подбирать микросхему для своих задач? Есть ли у кого-нибудь опыт работы с USB устройствами?
С уважением, seysen

Последний раз редактировалось seysen; 27.03.2010 в 15:19.
  Ответить с цитированием
Старый 27.03.2010, 15:03   #443   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от seysen Посмотреть сообщение
Здравствуйте!
Возник у меня вопрос а как подбирать микросхему для своих задач?
Ну это будет скорее всего микроконтроллер - PIC, AVR и т.д..
1. Если брать PIC, то это однозначно с модулем USB (PIC18, PIC24, PIC32) Low и Full.
2. Можно брать обычный AVR, но тогда будет Low Speed USB (12 МГц), а AVR с модулем USB будет и Low и Full.
Никто Вам точно не скажет как выбирать, можно высказать только свои личные предпочтения, а выбирать все равно Вам.
  Ответить с цитированием
Старый 30.03.2010, 20:11   #444   
Ганзовец
 
Аватар для seysen
 
Сообщений: 767
Регистрация: 22.11.2006

seysen вне форума Не в сети
Ни как не могу найти нечто подобное сводной таблицы по характеристикам микроконтроллеров. Неужели нужно документацию по каждому контроллеру в отдельности просматривать?
  Ответить с цитированием
Старый 30.03.2010, 20:40   #445   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от seysen Посмотреть сообщение
Ни как не могу найти нечто подобное сводной таблицы по характеристикам микроконтроллеров. Неужели нужно документацию по каждому контроллеру в отдельности просматривать?
По PIC все здесь и online и offline - http://www.microchip.com/stellent/id...cName=en544123
  Ответить с цитированием
Старый 30.03.2010, 20:57   #446   
Ганзовец
 
Аватар для seysen
 
Сообщений: 767
Регистрация: 22.11.2006

seysen вне форума Не в сети
Спасибо. Только нашел
http://catalog.gaw.ru/index.php?page=components_list если кому вдруг потребуется
  Ответить с цитированием
Старый 08.04.2010, 02:16   #447   
Форумец
 
Сообщений: 48
Регистрация: 08.10.2004
Возраст: 46

Horus вне форума Не в сети
Цитата:
Сообщение от seysen Посмотреть сообщение
Здравствуйте!
Задумал я делать HID устройство для компьютера. Чую много времени пройдет пока я его реализую, но не в этом дело. Возник у меня вопрос а как подбирать микросхему для своих задач? Есть ли у кого-нибудь опыт работы с USB устройствами?
С уважением, seysen
А HID - это принципиально или просто нужно девайс по USB подключить? Если просто подключить, то VCP (Virtual COM Port) тебе в помощь т.е. FT232RL + практически любой контроллер. Дешево и сердито
  Ответить с цитированием
Старый 08.04.2010, 05:56   #448   
Ганзовец
 
Аватар для seysen
 
Сообщений: 767
Регистрация: 22.11.2006

seysen вне форума Не в сети
Цитата:
Сообщение от Horus Посмотреть сообщение
А HID - это принципиально или просто нужно девайс по USB подключить? Если просто подключить, то VCP (Virtual COM Port) тебе в помощь т.е. FT232RL + практически любой контроллер. Дешево и сердито
Нужен именно HID. Не хватало мне еще свои дрова писать для контроллера)))
  Ответить с цитированием
Старый 08.04.2010, 07:14   #449   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от seysen Посмотреть сообщение
Нужен именно HID.
Так еще и не определились? Для PIC здесь можно для знакомства посмотреть http://pickit2.ru/doku.php/проекты:all
  Ответить с цитированием
Старый 08.04.2010, 17:51   #450   
Ганзовец
 
Аватар для seysen
 
Сообщений: 767
Регистрация: 22.11.2006

seysen вне форума Не в сети
Цитата:
Сообщение от petrd Посмотреть сообщение
Так еще и не определились?
Вроде определился. Выбор пал на PIC18F4458 либо PIC18F4553 но пока до конца не уверен.
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind