Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
PIC контроллеры. Программаторы и первый проект на PIC |
Программирование микроконтролеров,ремонт аудио/видео/бытовой техники,полезные устройства для дома,телефония, обсуждение статей журнала Радио |
|
Опции темы |
25.12.2009, 14:27 | #422 |
Форумец
Сообщений: 11
Регистрация: 08.08.2009
Возраст: 40
Не в сети |
|
25.12.2009, 15:27 | #423 |
Форумец
|
|
26.12.2009, 22:36 | #424 |
Форумец
Сообщений: 82
Регистрация: 05.02.2008
Не в сети |
PIC16F676
Вот такая проблема:
программа работает в MPLAB SIM, я это вижу по состоянию регистров и EEPROM. В PROTEUS происходит следующее: как только я его "включаю" то сразу взводится EECON1:WRERR (ошибка записи в EEPROM), и по адресам куда в дальнейшем должно писаться появляется ерунда. При этом сама программа еще не запускалась. В "железе" похоже происходит то же самое. |
27.12.2009, 15:11 | #425 | |
Форумец
|
Цитата:
|
|
08.01.2010, 14:49 | #426 |
Форумец
Сообщений: 11
Регистрация: 08.08.2009
Возраст: 40
Не в сети |
Проблема решена 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
Не в сети |
Здравствуйте!
Проблема в следующем: нужно принять по 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; } } |
19.01.2010, 08:45 | #428 | |
Форумец
|
Цитата:
2. Вариантов несколько. Первый - принимаемые данные складывать в массив, а после приема всех 30 байт записать их в EEPROM. Второй - использовать аппаратное управление, в частности задействовать CTS/RTS. P.S. mikroC mikroC mikroC mikroC mikroC |
|
06.03.2010, 15:02 | #429 |
Форумец
|
PICKit2 & AVR
Pickit2 научили шить AVR.
Первоисточник здесь - http://pickit2avrisp.wordpress.com/ И на microchip.su обсуждают. Сам не пробовал, но обязательно попробую. |
07.03.2010, 09:15 | #430 |
Форумец
Сообщений: 9
Регистрация: 13.11.2009
Возраст: 56
Не в сети |
скажите где посмотреть процедуру написания проги на с для работы ацп и индикатора 16х2
Последний раз редактировалось viktor110668; 07.03.2010 в 14:18. |
07.03.2010, 20:21 | #431 | |
Форумец
|
Цитата:
Код:
/* * 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; 08.03.2010 в 17:14. |
09.03.2010, 05:20 | #433 |
Форумец
Сообщений: 9
Регистрация: 13.11.2009
Возраст: 56
Не в сети |
подскажите пжлста код работы mikroC AVR ацп и графического дисплея 12864 уж сильно хочется вывести синусоиду и поучится выводить символы и разные заставки.
Последний раз редактировалось viktor110668; 09.03.2010 в 07:11. |
09.03.2010, 19:34 | #434 | |
Форумец
|
Цитата:
|
|
09.03.2010, 23:30 | #435 | |
Форумец
Сообщений: 9
Регистрация: 13.11.2009
Возраст: 56
Не в сети |
Цитата:
индикатором 16х2 я уже освоил математические методы вычисления значений, и сделал вольтметр омметр со звуковой индикацией и цифровым отображением на дисплее 16х2, я сам автоэлектрик и мне нужен такой приборчик. теперь я хочу своими руками и мозгами достичь других результатов, я тут увидел диагностический приборчик для машин и решил соорудить подобие его но на графическом дисплее в котором будет осциллограф до 200 кгц(достаточно) волтметр омметр и диагностика систем отечественных авто, схема уже есть , отработана система протокола обмена с авто по кл адаптеру ну тут я размахнулся ( и зайца можно научить курить) вот я и хочу на конкретных примерах сделать себе помощника(прибор) кстати я диагностический приборчик сам сделал он на 16х2 и неудобен что читаемость плохая когда нужно посмотреть сразу три режима работы двигателя, еще я сам сделал 4 канальный осциллограф на атмега16 и компьютером через юсб теперь на моём буке есть осцилл. потихоньку развиваемся с вашей и божьей помощью. спасибо тем кто помогает. |
|
11.03.2010, 12:04 | #436 |
Форумец
|
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
Не в сети |
посмотриче файлик , я тут написал програмку для графического лсд линию выводит на экран а не так как надо.
|
15.03.2010, 09:58 | #438 |
Форумец
|
|
15.03.2010, 11:31 | #439 |
Форумец
Сообщений: 9
Регистрация: 13.11.2009
Возраст: 56
Не в сети |
я расписал строчки в .с файле
|
15.03.2010, 12:08 | #440 |
Форумец
|
Так и тут ничего не понятно.
Код:
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++); // формирование графика Код:
for (i=1; i<buf[i]+1; i++) Glcd_Line(i=1,buf[i],i+90,buf[i+1],1); |
15.03.2010, 13:11 | #441 |
Форумец
Сообщений: 9
Регистрация: 13.11.2009
Возраст: 56
Не в сети |
i<buf[i]+1 это я из буфера данные выкладываю на график
Glcd_Line(i=1...здесь выводит на дисплей только я сейчас поставил i<1 ничего не изменилось напишите как надо написать функцию прорисовки графика ато у меня никаких нарабоок нет вот сам шишки и набиваю хотябы примерчик какой посмотреть Последний раз редактировалось viktor110668; 15.03.2010 в 14:53. |
26.03.2010, 12:04 | #442 |
Ганзовец
Сообщений: 767
Регистрация: 22.11.2006
Не в сети |
Здравствуйте!
Задумал я делать HID устройство для компьютера. Чую много времени пройдет пока я его реализую, но не в этом дело. Возник у меня вопрос а как подбирать микросхему для своих задач? Есть ли у кого-нибудь опыт работы с USB устройствами? С уважением, seysen Последний раз редактировалось seysen; 27.03.2010 в 15:19. |
27.03.2010, 15:03 | #443 | |
Форумец
|
Цитата:
1. Если брать PIC, то это однозначно с модулем USB (PIC18, PIC24, PIC32) Low и Full. 2. Можно брать обычный AVR, но тогда будет Low Speed USB (12 МГц), а AVR с модулем USB будет и Low и Full. Никто Вам точно не скажет как выбирать, можно высказать только свои личные предпочтения, а выбирать все равно Вам. |
|
30.03.2010, 20:40 | #445 | |
Форумец
|
Цитата:
|
|
30.03.2010, 20:57 | #446 |
Ганзовец
Сообщений: 767
Регистрация: 22.11.2006
Не в сети |
Спасибо. Только нашел
http://catalog.gaw.ru/index.php?page=components_list если кому вдруг потребуется |
08.04.2010, 02:16 | #447 |
Форумец
Сообщений: 48
Регистрация: 08.10.2004
Возраст: 46
Не в сети |
А HID - это принципиально или просто нужно девайс по USB подключить? Если просто подключить, то VCP (Virtual COM Port) тебе в помощь т.е. FT232RL + практически любой контроллер. Дешево и сердито
|
08.04.2010, 05:56 | #448 |
Ганзовец
Сообщений: 767
Регистрация: 22.11.2006
Не в сети |
|
08.04.2010, 07:14 | #449 |
Форумец
|
Так еще и не определились? Для PIC здесь можно для знакомства посмотреть http://pickit2.ru/doku.php/проекты:all
|