Перейти к содержанию

Система Радиоуправления На Pic


Ростик

Рекомендуемые сообщения

Ктото собирал вот это устройство? Немного смущает программа вот отрывок:

;define F84
#define C505
;define TXINV
;invert TX output so inactive is HIGH?

#ifdef F84
list	  p=16F84			; list directive to define processor
#include <p16F84.inc>		; processor specific variable definitions

__CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
;WDT=watchdog, PWRTE=power on timer, XT= crystal osc

freemem EQU 0x10
txbit	EQU 1
txport	EQU PORTA

kmask1	EQU 0x02
kport1	EQU PORTA
kmask2	EQU 0xf0
kport2	EQU PORTB
#define DIAGBUTTON PORTA, 1

#endif
#ifdef C505
list	p=16c505
#include <p16C505.inc>

__CONFIG   _CP_OFF & _WDT_OFF & _MCLRE_OFF & _IntRC_OSC_RB4EN

freemem EQU 0x08
txbit	EQU 8
txport	EQU PORTC

kmask1	EQU 0x3f
kport1	EQU PORTB
kmask2	EQU 0x37
kport2	EQU PORTC
#define DIAGBUTTON PORTC, 2

#endif

#ifndef TXINV
#define TXLOW 0
#define TXHIGH txbit
#else
#define TXLOW txbit
#define TXHIGH 0
#endif

;***** VARIABLE DEFINITIONS

count1		EQU	freemem
count2		EQU	freemem+1
ncnt		EQU	freemem+2; ndelay counter
bt		EQU	freemem+3
sum		EQU	freemem+4
buffer		EQU	freemem+5
bdevid		EQU	buffer ; 2 byte DEVID
bdata		EQU	buffer+2; 'real' data

delayconst	EQU	.202; ~625 usec @4MHz, half_frame delay

;**********************************************************************
#ifdef F84
	ORG	 0x000			; processor reset vector
	  goto	main			 ; go to beginning of program
	nop
	nop
	nop

;ORG	 0x004			; interrupt vector location
	retfie
#endif

#ifdef C505
	ORG	0x000
	movwf	OSCCAL
;C505 HARDWARE INIT
	clrf	PORTB; clear all I/O pins
	clrf	PORTC
	movlw	kmask1;keys are IN, TX out
	TRIS	kport1; I/O directions
	movlw	kmask2
	TRIS	kport2

	movlw	0
	OPTION
;-RBWU wakeup ENA
;-RBPU pullup ENA on GP0,1,3
;T0CS disable: enablings implicitly sets RC5 dir as input!

	goto	main
#endif

table		addwf PCL, F
devid		dt 0x9a, 0xe9, 0, 0x5a

; jump table for the C505
bit0		goto bit0_1
bit1		goto bit1_1
readbuf		goto readbuf_1
outbyte		goto outbyte_1
diag_code	goto diag_code_1

	FILL 0xfff, 0xec
; fill up to 0100

main		
#ifdef F84
;F84 HARDWARE INIT
	clrf PORTA
	clrf PORTB

	MOVLW kmask1
	TRIS kport1
	MOVLW kmask2
	TRIS kport2

	movlw 0x3
	OPTION; pres 1:16, B4-B7 PU ena
#endif

смущает как настроины порты на С505 все норм 11 на ввод другие а один на вывод, а для Ф84 получается так - это для порта Б 11110000, а для порта А 00010, тоесть всего 8 каналов на ввод. Подскажите плих в чем дело. Сказано что устройство на 11 команд!!1

Да будет сигнал!!!

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Кода не видать, но полагаю, что у 84-го сделана сканируемая матрица кнопок

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Продолжение кода:

; call readbuf
 ;
warm  ; divert to diag code if the diag button
 ; is pressed on startup

	movlw 0x1b; 27xbit1
	movwf count2
warmup		call bit1
	decfsz count2,F
	goto warmup

	btfss DIAGBUTTON
	goto diag_code

loop  ; output (min 11) header bits to 
 ; quit false rxbuf (resync)

	movlw 0x1b; 27xbit1
	movwf count2
w_head		call bit1
	decfsz count2,F
	goto w_head

 ; store key states into buffer data
	movlw kmask1
	andwf kport1, W
	movwf bdata

	movlw kmask2
	andwf kport2, W
	movwf bdata+1

 ; send out buffer
outbuf		movlw 0x10; 16xbit1, 1xbit0

header		movwf count2
head0		call bit1
	decfsz count2,F
	goto head0
	call bit0

	movlw buffer
	movwf FSR
	movlw 0x04
	movwf count1
	clrf sum
 ;
outbu0		movf INDF,W
	addwf sum,F
	movf INDF,W
	call outbyte
	incf FSR,F
	decfsz count1,F
	goto outbu0
	movf sum,W
	call outbyte
 ; buffer is sent

	goto loop
 ;
	dw 0xfff

outbyte_1	movwf bt
	movlw 8
	movwf count2
outby0		rlf bt,F
	btfsc STATUS,C
	goto outby1
	call bit0
	goto outby2
outby1		call bit1
outby2		decfsz count2,F
	goto outby0
 ;
	call bit1
 ; and bit0

bit0_1		movlw TXHIGH; HIGH
	movwf txport

ndelaya0	movlw delayconst
	movwf ncnt
ndelaya1	decfsz ncnt, F
	goto ndelaya1

	movlw TXLOW; to LOW transition
	movwf txport

ndelayb0	movlw delayconst
	movwf ncnt
ndelayb1	decfsz ncnt, F
	goto ndelayb1

	return

	dw 0xfff

bit1_1		movlw TXLOW; LOW
	movwf txport

ndelayc0	movlw delayconst
	movwf ncnt
ndelayc1	decfsz ncnt, F
	goto ndelayc1

	movlw TXHIGH; to HIGH transition
	movwf txport

ndelaye0	movlw delayconst
	movwf ncnt
ndelaye1	decfsz ncnt, F
	goto ndelaye1

	return
	dw 0xfff

readbuf_1;read data into buffer
	movlw buffer
	movwf FSR
	clrf count1
readbu0		movf count1, W
	call table
	movwf INDF
	incf FSR,F
	incf count1,F

	movlw 0x04
	subwf count1, W
	bnz readbu0

	return

diag_code_1; send out bit patterns
	call bit0
	call bit0
	btfss DIAGBUTTON
	call bit1
	goto diag_code

	end

Изменено пользователем Alex

Да будет сигнал!!!

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Короче дабил я эту схему практический работает, правда бывают ложные срабатывания, программу пришлось немного поменять, позже выложу описание устройства и печатные платы с прошивками.

Да будет сигнал!!!

Ссылка на комментарий
Поделиться на другие сайты

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

Да будет сигнал!!!

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...