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

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

Ответ
 
Опции темы
Старый 01.10.2010, 10:12   #571   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Азат Посмотреть сообщение
petrd, Получается мне нужно поставить второе?
Да........
  Ответить с цитированием
Старый 02.10.2010, 10:08   #572   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
petrd, Что все равно не так при нажатие на кнопку несколько раз счетчик увеличивается и в какой то момент в шапке появляються ироглифы и зависает.Пробывал сразных пультов Philips,Samsung,LG более менее себя показал.
  Ответить с цитированием
Старый 02.10.2010, 19:06   #573   
Форумец
 
Сообщений: 5
Регистрация: 02.10.2010
Возраст: 50

Юрий20 вне форума Не в сети
petrd приветик! я ту-та новенький. можно вопросик?
  Ответить с цитированием
Старый 02.10.2010, 19:18   #574   
Форумец
 
Сообщений: 5
Регистрация: 02.10.2010
Возраст: 50

Юрий20 вне форума Не в сети
petrd, я возможно ухожу от темы ссори подскажешь может по пик 16ф628а я немного делетант. надо сделать так чтобы при нажатии на кнопочку на одном из портов появился высокий уровень и при нажатии на этуже кнопочку переходил в низкий уровень. вопррос глупый но может поможете.
  Ответить с цитированием
Старый 02.10.2010, 20:17   #575   
Форумец
 
Сообщений: 5
Регистрация: 02.10.2010
Возраст: 50

Юрий20 вне форума Не в сети
мужики ХЕЛП!!!! помогите с пиком плиз!!!
  Ответить с цитированием
Старый 02.10.2010, 22:31   #576   
Форумец
 
Сообщений: 4
Регистрация: 02.10.2010
Возраст: 57

Electrik84 вне форума Не в сети
Здравствуйте, Петр.
Вот и я на старости лет решил Си для ПИКов заняться. В asm'е потихоньку пишу, раньше для связи МК с ПК использовал RS-232, но в последнее время вижу что пора переходить на USB. Решил заняться MikroC, так что принимайте в состав учеников.
  Ответить с цитированием
Старый 02.10.2010, 22:40   #577   
Форумец
 
Сообщений: 4
Регистрация: 02.10.2010
Возраст: 57

Electrik84 вне форума Не в сети
Цитата:
Сообщение от Юрий20 Посмотреть сообщение
пик 16ф628а. надо сделать так чтобы при нажатии на кнопочку на одном из портов появился высокий уровень и при нажатии на этуже кнопочку переходил в низкий уровень.
Вы бы потрудились почитать первые две-три страницы, там это всё есть, расписано и разжевано, приложите хоть капельку своего труда.
  Ответить с цитированием
Старый 03.10.2010, 09:18   #578   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Азат Посмотреть сообщение
Что все равно не так при нажатие на кнопку несколько раз счетчик увеличивается и в какой то момент в шапке появляються ироглифы и зависает.Пробывал сразных пультов Philips,Samsung,LG более менее себя показал.
Не знаю, почему у Вас так, сейчас проверить не могу, железа под рукой нет. А у Вас ПДУ точно с RC5?

to Юрий20
Смотрите посты №42 и №45 в них есть то, что Вы хотите.

to Electrik84
Цитата:
Вот и я на старости лет решил Си для ПИКов заняться. В asm'е потихоньку пишу, раньше для связи МК с ПК использовал RS-232, но в последнее время вижу что пора переходить на USB. Решил заняться MikroC, так что принимайте в состав учеников.
Всегда рады. Относительно USB - в MikroC реализована библиотека только HID устройств, позиция разработчиков такова - HID не требует дополнительных драйверов, а сделать можно тоже, что и с CDC. К тому же под HID они сделали терминал.

P.S. Вышла новая версия MikroC PRO 4.10 http://www.mikroe.com/forum/viewtopi...ca624e2f3e9fbf
  Ответить с цитированием
Старый 03.10.2010, 13:37   #579   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
petrd, Все ПДУ RC5 при чем текст меняеться как в в первой строке так и во второй потом ироглифы всевозможные проценты и зависание.
  Ответить с цитированием
Старый 03.10.2010, 13:48   #580   
Форумец
 
Сообщений: 5
Регистрация: 02.10.2010
Возраст: 50

Юрий20 вне форума Не в сети
Electrik84, пасибо ссори не внемательный
  Ответить с цитированием
Старый 04.10.2010, 00:49   #581   
Форумец
 
Сообщений: 4
Регистрация: 02.10.2010
Возраст: 57

Electrik84 вне форума Не в сети
Цитата:
Сообщение от petrd Посмотреть сообщение
Вышла новая версия MikroC PRO 4.10
цена кусается
  Ответить с цитированием
Старый 04.10.2010, 06:44   #582   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Electrik84 Посмотреть сообщение
цена кусается
А зачем покупать, Вам 2К кода на первое время мало?
  Ответить с цитированием
Старый 04.10.2010, 15:25   #583   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Азат Посмотреть сообщение
petrd, Что все равно не так при нажатие на кнопку несколько раз счетчик увеличивается и в какой то момент в шапке появляються ироглифы и зависает.Пробывал сразных пультов Philips,Samsung,LG более менее себя показал.
В архиве hex файл, который у меня работает на PIC16F628A (код также проверял на PIC16F887). Прошейте этим файлом.
Вложения
Тип файла: rar RC5_Decoder.rar (2.4 Кб, 65 просмотров)
  Ответить с цитированием
Старый 04.10.2010, 22:25   #584   
Форумец
 
Сообщений: 4
Регистрация: 02.10.2010
Возраст: 57

Electrik84 вне форума Не в сети
Цитата:
Сообщение от petrd Посмотреть сообщение
А зачем покупать, Вам 2К кода на первое время мало?
на первое время вроде и не мало
  Ответить с цитированием
Старый 08.10.2010, 16:00   #585   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
MikroE выпустили интересную штуку Visual GLCD.
  Ответить с цитированием
Старый 09.10.2010, 19:00   #586   
КваДраНутыЙ
 
Аватар для VRTP
 
Сообщений: 1,435
Регистрация: 29.05.2010

VRTP вне форума Не в сети
Приветствую всех!
petrd
Вопрос к Вам,с кодировками Кейлог и Старлайн не приходилось сталкиваться в программных написаниях???
  Ответить с цитированием
Старый 10.10.2010, 20:05   #587   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от VRTP Посмотреть сообщение
Приветствую всех!
petrd
Вопрос к Вам,с кодировками Кейлог и Старлайн не приходилось сталкиваться в программных написаниях???
В апнотах от Microchip видел, а так нет за ненадобностью.
  Ответить с цитированием
Старый 11.10.2010, 18:01   #588   
КваДраНутыЙ
 
Аватар для VRTP
 
Сообщений: 1,435
Регистрация: 29.05.2010

VRTP вне форума Не в сети
Цитата:
Сообщение от petrd Посмотреть сообщение
В апнотах от Microchip видел, а так нет за ненадобностью.
Понял,спасибо за ответ.А,ка на счет АЦП,приходилось по прямому назначению,с развязкой по оптике?
  Ответить с цитированием
Старый 11.10.2010, 19:25   #589   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от VRTP Посмотреть сообщение
Понял,спасибо за ответ.А,ка на счет АЦП,приходилось по прямому назначению,с развязкой по оптике?
Не понял ничего из Вашего вопроса.
  Ответить с цитированием
Старый 11.10.2010, 20:05   #590   
КваДраНутыЙ
 
Аватар для VRTP
 
Сообщений: 1,435
Регистрация: 29.05.2010

VRTP вне форума Не в сети
Контроль выхода через оптику(развязка),завтра кусок схемы на обзор.
  Ответить с цитированием
Старый 11.10.2010, 20:17   #591   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от VRTP Посмотреть сообщение
Контроль выхода через оптику(развязка),завтра кусок схемы на обзор.
Завтра, значит, завтра.
  Ответить с цитированием
Старый 12.10.2010, 05:21   #592   
КваДраНутыЙ
 
Аватар для VRTP
 
Сообщений: 1,435
Регистрация: 29.05.2010

VRTP вне форума Не в сети
Собственно вот,мега 8.Хочеться понять как происходит контроль напряжения.
Миниатюры
Нажмите на изображение для увеличения
Название: 11-20100429-2.jpg
Просмотров: 100
Размер:	126.4 Кб
ID:	975262  
  Ответить с цитированием
Старый 12.10.2010, 12:29   #593   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от VRTP Посмотреть сообщение
Собственно вот,мега 8.Хочеться понять как происходит контроль напряжения.
Да вроде ничего особенного не видно.
ADC2 - измерение напряжения ОС через развязку, этот же сигнал идет на компаратор AIN1;
AIN0 - опорное напряжение для компаратора.
AIN1 - вход компаратора, видимо какая-то пороговая защита.
  Ответить с цитированием
Старый 12.10.2010, 18:09   #594   
КваДраНутыЙ
 
Аватар для VRTP
 
Сообщений: 1,435
Регистрация: 29.05.2010

VRTP вне форума Не в сети
Вот не могу понять как это работает.Можно как то приблизиться к этому на 18ой серии?
  Ответить с цитированием
Старый 12.10.2010, 18:42   #595   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от VRTP Посмотреть сообщение
Вот не могу понять как это работает.Можно как то приблизиться к этому на 18ой серии?
А почему нет? Только как это работает по одной схеме, тем более по ее куску, тяжело сказать. Оно же все увязано, вон и ШИМ-контроллер виден, а внутри меги видимо что-то типа ПИД алгоритма лежит.
  Ответить с цитированием
Старый 12.10.2010, 19:20   #596   
КваДраНутыЙ
 
Аватар для VRTP
 
Сообщений: 1,435
Регистрация: 29.05.2010

VRTP вне форума Не в сети
Куда скинуть всю схему?Просто оная в ДИП Трассе.Могу откоментить.
  Ответить с цитированием
Старый 19.10.2010, 22:05   #597   
Форумец
 
Аватар для Butik
 
Сообщений: 36
Регистрация: 19.10.2010
Возраст: 57

Butik вне форума Не в сети
Доброго времени суток Господа! Я тут новичок пока.. Но смотрю что тут собрались истинные любители и знатоки микроконтроллеров..
Я с микроконтроллерами знаком уже давненько- но в основном работал на ассемблере..
А тут вот возникла необходимость перевести на микроси некоторые программы...
И вот столкнулся с трудностями..
Есть некоторая схема в которой простой PIC12F629 работает в роли как бы датчика- при изменении уровня на одном из входов он должен на других формировать импульсы(или последовательность импульсов) но не сразу а с некоторой задержкой определяемой временем переполнения и прерывания от таймера TMR0- при чем это время может меняться.При этом изменение уровня на входе происходит через время меньшее чем врнемя переполнения таймера и предделителя(ну скажем это импульсный сигнал..). И вот столкнулся с проблемой- mikroC не хочет принимать обработку двух прерываний- короче.. вот фрагмент программы- может кто подскажет в чем тут криминал???
При этом при компиляции ошибки нет.. а вот в симуляторе и протеусе ничего не работает...


unsigned short reg1;
void interrupt()
{
if(INTCON.GPIF){
reg1 =150;
TMR0=reg1;
INTCON.GPIF = 0 ;
}

if(INTCON.T0IF){
GPIO.F4=1;
Delay_us(500);
GPIO.F4=0;
INTCON.T0IF = 0;
}
}

void init() {
CMCON = 0x07;
TRISIO = 0b00001001;
WPU =0x00;
INTCON.GPIE = 1;
INTCON.T0IE = 1;
INTCON.PEIE = 1;
IOCB =0x01;
OPTION_REG = 0b10000101;
INTCON.GIE = 1;
}

void main() {
do {
init();
} while(1);
}
  Ответить с цитированием
Старый 20.10.2010, 07:41   #598   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Butik Посмотреть сообщение
Я с микроконтроллерами знаком уже давненько- но в основном работал на ассемблере..
А тут вот возникла необходимость перевести на микроси некоторые программы...
И вот столкнулся с трудностями..
Есть некоторая схема в которой простой PIC12F629 работает в роли как бы датчика- при изменении уровня на одном из входов он должен на других формировать импульсы(или последовательность импульсов) но не сразу а с некоторой задержкой определяемой временем переполнения и прерывания от таймера TMR0- при чем это время может меняться.При этом изменение уровня на входе происходит через время меньшее чем врнемя переполнения таймера и предделителя(ну скажем это импульсный сигнал..). И вот столкнулся с проблемой- mikroC не хочет принимать обработку двух прерываний- короче.. вот фрагмент программы- может кто подскажет в чем тут криминал???
При этом при компиляции ошибки нет.. а вот в симуляторе и протеусе ничего не работает...
Давно? А ошибки детские.
1. Чтобы работало прерывание по изменению уровня на выводах надо в прерывании сначала прочитать порт, чтобы убрать несоответствие, а потом сбросить флаг GPIF, об этом в каждом DS написано. К тому же это прерывание Microchip не рекомендует использовать для всяких опросов, лучшее применение ему - выход из SLEEP.
2. В прерывании используете задержку 500 мкс, от этого теряется весь смысл прерываний, в контроллере для этого таймеры есть.
3. Зачем включать PEIE, если прерывание от периферийных модулей не используется? Это так для информации, в Вашем случае это просто лишнее.
4. Зачем в главном цикле постоянно производить инициализацию? Сделайте ее один раз перед циклом, а цикл пусть пустой крутится.
5. В битах конфигурации MCLR отключен?

Последний раз редактировалось petrd; 21.10.2010 в 15:52.
  Ответить с цитированием
Старый 20.10.2010, 21:58   #599   
Форумец
 
Аватар для Butik
 
Сообщений: 36
Регистрация: 19.10.2010
Возраст: 57

Butik вне форума Не в сети
Уважаемый коллега!На счет детских ошибок- всякое в жизни может быть.. и если Вы с контроллерами имеете дело скажем каждый день по 24 часа на протяжении там скажем 2-3 месяцев.. то у Вас могут быть свои ошибки.. А если кто либо имеет необходимость с конроллерами раз в месяц или в два на протяжении 10 лет то там могут быть свои ошибки..и не надо придираться к словам типа давненько и т.д. На то мы тут и собрались чтоб помогать друг другу исправлять ошибки... Ну да ладно дело не в этом...проехали...
Теперь конкретно по другим пунктам обвинения-

ПУНКТ 1.-Я как раз и спрашиваю.. как мне написать чтоб прерывание работало...
На счет рекомендации Microchip -Вот фрагмент программы на асемблере- работает без всяких sleep- при чем работает железобетонно!!!! проверено и в симуляторе и в железе вопреки всем рекомендациям!

list p=12f629 ; list directive to define processor
#include <p12f629.inc> ; processor specific variable definitions

errorlevel -302 ; suppress message 302 from list file

__CONFIG _CP_OFF & _CPD_OFF & _BODEN_ON & _MCLRE_OFF & _WDT_ON & _PWRTE_ON & _INTRC_OSC_NOCLKOUT

;***** VARIABLE DEFINITIONS
w_temp EQU 0x20 ; variable used for context saving
status_temp EQU 0x21 ; variable used for context saving
C1 EQU 0x22
C2 EQU 0x23
;************************************************* *********************
ORG 0x000 ; processor reset vector
goto main ; go to beginning of program

;************************************************* *********************
ORG 0x004 ; interrupt vector location
movwf w_temp ; save off current W register contents
movf STATUS,w ; move status register into W register
movwf status_temp ; save off contents of STATUS register
clrwdt
call IMP
bcf INTCON,GPIF
clrwdt
movf status_temp,w ; retrieve copy of STATUS register
movwf STATUS ; restore pre-isr STATUS register contents
swapf w_temp,f
swapf w_temp,w ; restore pre-isr W register contents
retfie ; return from interrupt
;************************************************* **********************
main
;начальная инициализация
movf GPIO,f
clrwdt
movlw 0x07
movwf CMCON ;выводы GPIO - цифровые
bsf STATUS,RP0 ;выбрать банк1
movlw b'00000001';настройка вывода GPIO на ввод,остальные - на вывод
movwf TRISIO
movlw b'10000110'
movwf OPTION_REG
clrf INTCON
clrf WPU
movlw b'00000001'
movwf IOCB ;Разрешение прерываний по изменению уровня на GPIO0
bcf STATUS,RP0 ;выбрать банк0
movlw b'00000000'
movwf GPIO
movlw b'00001000'
movwf INTCON
bsf INTCON,GIE ;глобальное разрешение прерываний
clrwdt
clrf TMR0
nop
L1 nop
clrwdt
nop
goto L1
;------------------------------------------------------------

IMP
movf GPIO,f
movlw b'00010000'
movwf GPIO
clrwdt
movlw 0x08 ;
movwf C1
cyc1 clrwdt
movlw 0x08 ;
movwf C2
cyc2 clrwdt
decfsz C2,f
goto cyc2
decfsz C1,f
goto cyc1
movf GPIO,f
movlw b'00000000'
movwf GPIO
return
;------------------------------------------------------------
END ; directive 'end of program'

Теперь в микроси - вот так РАБОТАЕТ!!!!!

void interrupt()
{
if(INTCON.GPIF){
GPIO.F4=1;
Delay_us(500);
GPIO.F4=0;
INTCON.GPIF = 0 ;
}
}

void init() {
CMCON = 0x07;
TRISIO = 0b00001001;
WPU =0x00;
INTCON.GPIE = 1;
INTCON.T0IE = 0;
IOCB =0x01;
OPTION_REG = 0b10000101;
INTCON.GIE = 1;
}

void main() {
do {
init() ;
} while(1);
}



а вот так- без init в основном цикле - НЕ РАБОТАЕТ!!!

void interrupt()
{
if(INTCON.GPIF){
GPIO.F4=1;
Delay_us(500);
GPIO.F4=0;
INTCON.GPIF = 0 ;
}
}

void init() {
CMCON = 0x07;
TRISIO = 0b00001001;
WPU =0x00;
INTCON.GPIE = 1;
INTCON.T0IE = 0;
IOCB =0x01;
OPTION_REG = 0b10000101;
INTCON.GIE = 1;
}

void main() {
do {

} while(1);
}


ПУНКТ 2 - мне нужна не задержка а импульс(иногда с задержкой- но пока обойдемся без нее!!!)

ПУНКТ 3 - полностью с Вами согласен

ПУНКТ 4 - смотри подробней ПУНКТ 1

ПУНКТ 5 - В битах конфигурации MCLR отключен


P.S. Я пока не подключаю тут прерывание от таймера!
  Ответить с цитированием
Старый 21.10.2010, 11:25   #600   
КваДраНутыЙ
 
Аватар для VRTP
 
Сообщений: 1,435
Регистрация: 29.05.2010

VRTP вне форума Не в сети
Вот одна ошибка,но если этот порт не пользовать,страшного нет.
movlw b'00000001';настройка вывода GPIO на ввод,остальные - на вывод

Порт 3 работает только на вход,а у тебя он настроен на выход.
  Ответить с цитированием
Поиск в теме: 



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

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


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