Кодер декодер на PIC16F84

Dr_No

Решил собрать “шифратор и дешифратор пропорционального управления” из журнала Радио за 2006г №8.
Вместо pic16f84 поставил PIC16F84A-04/P. Прошил PIC16F84A-04/P прогой для pic16f84. Собрал - шифратор не работает. может кто-то такое собирал?
Помогите пожалуйсто кто знает. Заранее спасибо

ubd

Чем прошивал? Биты конфигурации правильно выставил?
Проц не важно какой. Лишь бы 16F84.

Dr_No

прошивал программатором по ссылке: pic16f84.narod.ru/pechat6.htm конфигурация в в общем вышла 3FF9. pic без проблем прошился.

ubd

Только я не разу не видел такое нестандартное включение кварца. Может просто попробовать кварц подсоединить напрямую к процу и на минус по 33 пф. Можно вообще конденцаторы не ставить и без них работает.

Плюс питание на 14 ногу и на 4, минус 5-ю.

Иесли прошивка рабочаю и биты конфигурации выставленны правильно, то всё должно работать. Иначе, ищи ошибку в монтаже…

Dr_No

вот прошивка взятая с ФТП ftp://ftp.radio.ru/pub/2006/08/rcprog.zip
может что-то не так тошо я в программировании нешарю
кодер:

incl*ude<p16f84.inc>
__CONFIG B’11111111111001’;osc xt, wdog timer off, power-up timer off,
;constants
WOLUM_T equ D’63’;D’63’, H’3F’,max number in comand
NAMB_B equ 6 ;number bit in comand
TANGASH equ 0 ;chanel tangash
KREN equ 1 ;chanel kren
GAZ equ 2 ;chanel gaz
D_BIT equ 83 ;time sent bit
;variabls
TIME_T equ H’11’; time tangash
TIME_K equ H’12’; time kren
TIME_G equ H’13’; time gaz
DISCR equ H’14’;discret comand
COUNTER equ H’15’;counter for measurements or sent bit
COUNT equ H’16’;counter for macro
;macros delay
DLAY macro CIKL;(1-254)
local loop
movlw CIKL
movwf COUNT
loop decfsz COUNT,F
goto loop
endm ;_______delay=cikl*3T

;programa____________________
org H’0’
RESET goto START
org H’4’

START
bsf STATUS,RP0 ;portB0,B1,B2, port A0 output, resistor off
movlw B’11111000’
movwf TRISB
movlw B’11111110’ ;port A0 output
movwf TRISA
movlw B’11111110’ ;resistor off
movwf OPTION_REG
bcf STATUS,RP0
movlw B’00000111’ ;1 sent in port B0,B1,B2 and port A0
movwf PORTB
movlw B’00000001’ ;1 sent in port A0
movwf PORTA;____________________________10T
DLAY D’255’ ;charge capacity (2,3mc)____500T
DLAY D’255’
DLAY D’251’
movfw B’00000000’;0 sent in port A0
movwf PORTA
bsf STATUS,RP0 ;portB resiv
nop
movlw B’11111111’
movwf TRISB
bcf STATUS,RP0
movlw WOLUM_T ;install namber of the count
movwf COUNTER
clrf TIME_T
clrf TIME_K
clrf TIME_G;____________________________10T
LOOP_1 btfsc PORTB,0 ;measurement tangash
incf TIME_T,f
btfsc PORTB,1 ;measurement kren
incf TIME_K,f
btfsc PORTB,2 ;measurement gaz
incf TIME_G,f
DLAY D’5’
decfsz COUNTER,f;if counter=0 then exit
goto LOOP_1
DLAY D’238’
movlw B’00000001’;sent START bit in port A0
movwf PORTA;
nop
DLAY D’132’
movlw B’00000000’
movwf PORTA;
nop
DLAY D’131’
movlw 6
movwf COUNTER
loop_2 movf TIME_T,W;cikl sent tangach
movwf PORTA
nop
nop
nop
DLAY D_BIT
movf TIME_T,W
xorlw B’00000001’
movwf PORTA
DLAY D_BIT
rrf TIME_T,f
decfsz COUNTER,f
goto loop_2
movlw 6
movwf COUNTER
loop_3 movf TIME_K,W;cikl sent kren
movwf PORTA
nop
nop
nop
DLAY D_BIT
movf TIME_K,W
xorlw B’00000001’
movwf PORTA
DLAY D_BIT
rrf TIME_K,f
decfsz COUNTER,f
goto loop_3
movlw 6
movwf COUNTER
loop_4 movf TIME_G,W;cikl sent gaz
movwf PORTA
nop
nop
nop
DLAY D_BIT
movf TIME_G,W
xorlw B’00000001’
movwf PORTA
DLAY D_BIT
rrf TIME_G,f
decfsz COUNTER,f
goto loop_4
movf PORTB,W;sent dickretn comand
movwf DISCR
rrf DISCR
rrf DISCR
rrf DISCR
movlw 3
movwf COUNTER
loop_5 movf DISCR,W;cikl sent gaz
; andlw B’00000001’
movwf PORTA
nop
nop
nop
DLAY D_BIT
movf DISCR,W
xorlw B’00000001’
movwf PORTA
DLAY D_BIT
rrf DISCR,f
decfsz COUNTER,f
goto loop_5
goto START
end

ubd

Скачал сейчас программу, которая с этой схемой программатора идёт. Вроде нормальная программа. Ну попробуй перепрошей. Так кстати есть выбор двух видов процов 16F84 и 16F84A. Попробуй прошей тем и тем. Биты конфигурации выставляются правильно.

Я не знаю как там в этой проге. Моджет быть после прошивки памяти программ, нужно ещё отдельно прошить слово конфигурации.

Память данных прошивать не нужно, т.к. там всё ровно ничего нет.

WDTE - нет галочки;
PWRT - нет галочки;
Защита кода - можно не ставить галочку;
Тип генератора - XT.

Как прошьёш, попробуй прочитай слово конфигурации, оно должно совпадать. Значит прошилось.

Целый ли кварц? Проверь прибором все сопротивления.

Больше я не знаю что и думать…

Dr_No

пасибо большое! буду пробывать

7 days later
Dr_No

По идее я вопще не прошил проц в первый раз. Сёдня собрался прошить заново, вылезла такая фигня 😦

ubd

Ну вот ужже начинает проясняться что то.

Скорее всего проц не чистый. Попробуй его стереть, и считать потом. Там долно быть записаны во все ячейки FFFFFFFFFFFFF. Если ничего не получиться, значит программатор у тебя не работат.

Syberian

у 16f84А ноги программирования другие, чем без индекса А! и вочдог включен по умолчанию, надо отрубать.

Dr_No

капец не могу понять в чём проблема. программатор сделан вроде правильно. проц нормально читается и стирается, а прошится не может и всё.
вот фото собраного программатора кому интересно

INQURY
Dr_No:

капец не могу понять в чём проблема. программатор сделан вроде правильно. проц нормально читается и стирается, а прошится не может и всё.
вот фото собраного программатора кому интересно

Сталкивался с аналогичной проблемой с 16ф84 собирал схемку, это была моя первая схемка с пиком на ней тестировал программатор! Так вот схемка на 16 пике 20 мегагерц. Покупаю новый проц записываю работает, стираю чтобы собрать другую схему неработает! Попробуйте на новеньком пике должно заработать!

INQURY
INQURY:

Сталкивался с аналогичной проблемой с 16ф84 собирал схемку, это была моя первая схемка с пиком на ней тестировал программатор! Так вот схемка на 16 пике 20 мегагерц. Покупаю новый проц записываю работает, стираю чтобы собрать другую схему неработает! Попробуйте на новеньком пике должно заработать!

И программатор сомнительный попробуйте icprog почти на всех радиосайтах можно скачать! программаторов под него куча я пользуюсь вот таким!
З.Ы. работает не на всех ком портах Удачи

ubd

Не вздумай его делать время только зря потратишь. Дело в том что он питается от СОМ порта, это не совсем верно. Точнее верно, но тока программирования от СОМ порта может не хватить, и прошиваться не будет. На разных материнках, разный ток выхода СОМ порта, по этому, у когото может работать а у когото нет. И ты можешь попасть в такой список у кого не работает. Кстати таких большинство. Особенно этот программатор скорее всего не будет работать на новых компьютерах, большая вероятность что заработает на старых Пентиумах 300 Мгц и ниже.

Dr. No, собери лучше путёвый программатор ExtraPIC. В составе его схемы, есть микруха МАХ232, которая усиливает сигналлы с СОМ порта, поэтому он работает на любых компах с любыми СОМ портами. Я им уже года два пользуюсь, прошивает всё, кроме одноразовых пиков и почему то только в планарном корпусе - PIC12C509, 12C508. Вимимо им нужен ещё больший ток. А в остальном ExtraPIC пошивает всё.

Вот ссылка:
www.5v.ru/extrapic.htm

Там и программа IC Prog. И инструкция по настройки программы, что бы работала нормально.

УДАЧИ!

Dr_No

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

ubd

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

mega_john
ubd:

В составе его схемы, есть микруха МАХ232, которая усиливает сигналлы с СОМ порта, поэтому он работает на любых компах с любыми СОМ портами

ну и зачем писать такой бред? даташит почетать не судьба? прежде чем вводить людей в заблуждение😠

ubd

Ну не так выразился. Человек то понял что я имел в виду. Может не усиливает, а согласовывает уровни, так правильнее будет.