Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 12.02.2015, 14:36  
egorkalight
Частый гость
 
Регистрация: 11.02.2015
Сообщений: 11
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
egorkalight на пути к лучшему
По умолчанию Проблема с программой для 16f873A. Первый раз в первый класс:)

Уважаемые гуру! Пробую силы в освоении PIC. Решил убить сразу двух зайцев - немного попробовать себя в программировании, а чтобы не абстрактное устройство создать, решил сваять модуль сопряжения кнопок на руле с ГУ Pioneer. Идея простая - кнопки просто замыкают резисторы на землю, т.е. подаем поделенное напряжение на вход АЦП, считаем время сколько была кнопка замкнута, затем в соответствии с табличкой подаем на выход ШИМ нужное напряжение (ГУ в штатном включении управляется замыканием резисторов в родном пульте на землю, т.е. изменением напряжения на входе wired remote). Разделение на короткое и длинное нажатия нужно потому, что на руле кнопок 6, а ГУ "понимает" 10 команд.
Собрал в Proteus 7.7 sp2, но не работает (наверное, что-то не так все же делаю), собрал в "железе" - также не работает(причем картина отличается от виртуальной модели по поведению). Программу ваял в MPLAB X IDE 2.15 на MPLAB XC8 Compiler. Если есть у кого время и желание, потыкайте меня носом, где накосячил
Миниатюры:
Нажмите на изображение для увеличения
Название: btn_2_pioneer.jpg
Просмотров: 231
Размер:	217.0 Кб
ID:	75708  
Вложения:
Тип файла: txt NoteBtns_c.txt (7.2 Кб, 82 просмотров)
Реклама:
egorkalight вне форума  
Сказали "Спасибо" egorkalight
warel (29.06.2019)
Непрочитано 12.02.2015, 21:40  
vavan1983
Почётный гражданин KAZUS.RU
 
Аватар для vavan1983
 
Регистрация: 26.12.2007
Сообщений: 1,198
Сказал спасибо: 70
Сказали Спасибо 80 раз(а) в 69 сообщении(ях)
vavan1983 на пути к лучшему
По умолчанию Re: Проблема с программой для 16f873A. Первый раз в первый класс:)

Это у вас будет модуль управления магнитолой Пионер с джостика на руле?
vavan1983 вне форума  
Сказали "Спасибо" vavan1983
warel (29.06.2019)
Непрочитано 12.02.2015, 22:31  
egorkalight
Частый гость
 
Регистрация: 11.02.2015
Сообщений: 11
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
egorkalight на пути к лучшему
По умолчанию Re: Проблема с программой для 16f873A. Первый раз в первый класс:)

не с джойстика, со штатных кнопок на руле, но подключается это в порт wired remote, куда именно джойстик подключается.

Последний раз редактировалось egorkalight; 12.02.2015 в 22:33. Причина: дополнение
egorkalight вне форума  
Сказали "Спасибо" egorkalight
warel (29.06.2019)
Непрочитано 13.02.2015, 06:06  
shindbad
Прохожий
 
Регистрация: 27.01.2015
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
shindbad на пути к лучшему
По умолчанию Re: Проблема с программой для 16f873A. Первый раз в первый класс:)

А что именно не работает? Напряжение не выставляется, или с АЦП проблемы? Разберитесь сначала с чем-то одним. Я-бы начал с генерации выходного напряжения. Значения можно рассчитать. Когда магнитола начнёт отрабатывать все команды, у Вас уже будет таблица настройки ШИМ. А обработка кнопок - задача тривиальная. Ещё, как вариант не использовать ШИМ, а собрать на выходе PIC аналогичный мост из резисторов и управлять им ( имитировать нажатие реальной клавиатуры ).
shindbad вне форума  
Сказали "Спасибо" shindbad
warel (29.06.2019)
Непрочитано 13.02.2015, 09:48  
niko56K
Частый гость
 
Регистрация: 03.11.2010
Сообщений: 18
Сказал спасибо: 5
Сказали Спасибо 23 раз(а) в 6 сообщении(ях)
niko56K на пути к лучшему
Радость Re: Проблема с программой для 16f873A. Первый раз в первый класс:)

Пока +5v через резистор (1-3к) на MCLR (1 нога) не подашь, ничего и не будет.
niko56K вне форума  
Сказали "Спасибо" niko56K
warel (29.06.2019)
Непрочитано 13.02.2015, 11:06  
egorkalight
Частый гость
 
Регистрация: 11.02.2015
Сообщений: 11
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
egorkalight на пути к лучшему
По умолчанию Re: Проблема с программой для 16f873A. Первый раз в первый класс:)

shindbad В протеусе никак не реагирует на нажатия кнопок, т.е. на выходе ШИМ устанавливается около 5В и все. В железе если нажмешь кнопку, то выход ШИМ падает до 0в и пока не снимешь питание, выход больше не поднимается. Табличка значений ШИМ рассчитана и в программе уже есть. А каким образом управлять мостом из резисторов? Задействовать для каждой кнопки отдельный порт? Извините за глупые вопросы.
niko56KСейчас попробую
egorkalight вне форума  
Сказали "Спасибо" egorkalight
warel (29.06.2019)
Непрочитано 13.02.2015, 11:39  
asia540
Прохожий
 
Регистрация: 27.11.2010
Сообщений: 1
Сказал спасибо: 53
Сказали Спасибо 1 раз в 1 сообщении
asia540 на пути к лучшему
По умолчанию Re: Проблема с программой для 16f873A. Первый раз в первый класс:)

http://www.wheelremote.ru/
asia540 вне форума  
Сказали "Спасибо" asia540
warel (29.06.2019)
Непрочитано 13.02.2015, 11:51  
egorkalight
Частый гость
 
Регистрация: 11.02.2015
Сообщений: 11
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
egorkalight на пути к лучшему
По умолчанию Re: Проблема с программой для 16f873A. Первый раз в первый класс:)

asia540 Да, идея была взята именно оттуда. За что автору огромное спасибо! Расчет значений для АЦП был взят оттуда. Только там автор использует ИК-канал управления и для программы - ассемблер. Я же пытаюсь использовать проводной канал (что, как мне казалось, проще) и Си.
niko56K Теперь поведение железа и виртуальной модели стали похожи
Ошибка в логике программы, которую я и не вижу
egorkalight вне форума  
Сказали "Спасибо" egorkalight
warel (29.06.2019)
Непрочитано 19.02.2015, 19:25  
shindax
Прописка
 
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
shindax на пути к лучшему
По умолчанию Re: Проблема с программой для 16f873A. Первый раз в первый класс:)

Сообщение от egorkalight Посмотреть сообщение
asia540...Расчет значений для АЦП был взят оттуда....
Расчёт каких значений? Вас арифметике в школе не обучали? Я просто ох..ю от нынешних "схемотехников"...Вы хотя-бы издалека представляете, что хотите получить?

Последний раз редактировалось shindax; 19.02.2015 в 19:27.
shindax вне форума  
Сказали "Спасибо" shindax
warel (29.06.2019)
Непрочитано 19.02.2015, 19:35  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Проблема с программой для 16f873A. Первый раз в первый класс:)

Сообщение от shindax Посмотреть сообщение
Расчёт каких значений? Вас арифметике в школе не обучали? Я просто ох..ю от нынешних "схемотехников"...Вы хотя-бы издалека представляете, что хотите получить?
Оттуда ...
Код:
;*************************************************  ******************************
; Опрос кнопок пульта.

BtnCheck

; Преобразование.

		bsf	ADCON0,GO	; Начинаем преобразование.
ADCLoop		btfsc	ADCON0,GO	; Ожидаем, пока преобразование
		goto	ADCLoop		; не будет завершено.
		movf	ADRESH,W	; Берем верхний байт результата
		movwf	ADCRes		; преобразования и запомнинаем как
					; результат ("загрубляем" до 8bit).

; Определение нажатой кнопки по результату преобразования.

		clrf	Btn		; Очищаем результат опроса кнопок.

		movf	ADCRes,W	; Берем результат АЦП.
		bsf	STATUS,C	; Устанавливаем флаг заема.
		sublw	Btn0		; Вычитаем из порога результат АЦП.
		btfss	STATUS,C	; Если флаг не изменился - пропускаем,
		incf	Btn,F		; иначе увеличиваем значение результата.

		movf	ADCRes,W
		bsf	STATUS,C
		sublw	Btn1
		btfss	STATUS,C
		incf	Btn,F

		movf	ADCRes,W
		bsf	STATUS,C
		sublw	Btn2
		btfss	STATUS,C
		incf	Btn,F

		movf	ADCRes,W
		bsf	STATUS,C
		sublw	Btn3
		btfss	STATUS,C
		incf	Btn,F

		movf	ADCRes,W
		bsf	STATUS,C
		sublw	Btn4
		btfss	STATUS,C
		incf	Btn,F

		return

;*************************************************  ******************************
; Табличное соответствие кнопки и ИК-команды.

Btn2IR		addwf	PCL,F		; Делаем вычисляемый переход.
		retlw	IRCmd0		; Команда для кнопки Btn0.
		retlw	IRCmd1		; Команда для кнопки Btn1.
		retlw	IRCmd2		; Команда для кнопки Btn2.
		retlw	IRCmd3		; Команда для кнопки Btn3.
		retlw	IRCmd4		; Команда для кнопки Btn4.

;*************************************************  ******************************
; Посылка новой команды

SendNewCmd	movf	Btn,W		; Берем значение нажатой кнопки,
		movwf	BtnPrev		; запоминаем как предыдущее значение,
		call	Btn2IR		; находим по таблице нужную команду ИК,
		movwf	IrCmd		; готовим ее к посылке
		call	SendCmd		; и посылаем.
__________________
Осторожно , злой кот
dosikus вне форума  
Сказали "Спасибо" dosikus
warel (29.06.2019)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Апгрейд и комплектующие для ноутбуков mikesmith Барахолка электронных компонентов 28 17.05.2023 23:25
Вы родом из 70-80х если: baskervil Отвлекитесь, эмбеддеры! 163 23.10.2008 22:26
из DVD в DVD-player реально? Altalimir Микроконтроллеры, АЦП, память и т.д 14 17.09.2007 21:21
[Решено] Сборник перлов любителей кабельщины mikesmith Отвлекитесь, эмбеддеры! 135 14.08.2007 15:49


Часовой пояс GMT +4, время: 04:50.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot