программатор для 2764, 573рф4 из журнала радио

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Грызет канифоль
Сообщения: 257
Зарегистрирован: Пн окт 03, 2016 10:06:09

Сообщение Леонид_М »

Купил переходник, он сразу заработал, схема пока не заработала, что странно, т.к. на протеусе все нормально работало...
буду разбираться...
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

может фуз поправить - насколько помню в меге8 по умолчанию тактирование - внутренний RC, 1МГц
Реклама
Грызет канифоль
Сообщения: 257
Зарегистрирован: Пн окт 03, 2016 10:06:09

Сообщение Леонид_М »

фьюзы я ставил на 8мгц, но получаю не то, что отправляю...
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

тогда код выкладывайте
Реклама
Эиком - электронные компоненты и радиодетали
Грызет канифоль
Сообщения: 257
Зарегистрирован: Пн окт 03, 2016 10:06:09

Сообщение Леонид_М »

да, странно, отправляю 31 - получаю СС, 32 - 99, 33 - Е6, 34 - 9А,35 - СD.

забыл добавить: фьюзы во вложенном файле

вот код, он взят с примера, там вроде не чему глючить:

Код: Выделить всё

.equ fCK         =  8000000             ;частота в герцах
.equ BAUD        =  19200                ;скорость для UART в бодах
 .equ UBRR_value  =  (fCK/(BAUD*16))-1   ;расчитываем значение для регистра UBRR



start:
	rcall init_rec

;start1:
    rcall paus
	rcall uart_rcv

	



		mov r20,r17		;tst
	
		
	rcall init_USART ;tst
	rcall USART_send ;tst

	out PORTC,r17   ;tst
	rjmp start     ;tst


init_rec: ldi  R16,high(UBRR_value)   ;устанавливаем скорость
	  	  out   UBRRH,R16
  		  ldi   R16,low(UBRR_value)   
		  out   UBRRL,R16
		  ldi   R16,(1<<RXEN)          ;разрешаем работу периемника
		  out   UCSRB,R16
          ldi   R16,(1<< URSEL)|(1<< UCSZ0)|(1<< UCSZ1)
		  out   UCSRC,R16              ;устанавливаем режим 8 бит данных, без проверки четности, асинхронный режим

		  ret

init_USART:ldi  R16,high(UBRR_value)   ;устанавливаем скорость 
	  	  out   UBRRH,R16
  		  ldi   R16,low(UBRR_value)   
		  out   UBRRL,R16
  		  ldi   R16,(1<<TXEN)          ;разрешаем работу передатчика
		  out   UCSRB,R16
          ldi   R16,(1<< URSEL)|(1<< UCSZ0)|(1<< UCSZ1)
		  out   UCSRC,R16              ;устанавливаем режим 8 бит данных, без проверки четности, асинхронный режим
		  ret

USART_send:sbis  UCSRA,UDRE            ;ждем пока бит UDRE регистра UCSRA не будет пуст
	      rjmp  USART_send
		  out   UDR,R20				   ;посылаем байт по UART, кладем данные в регистр UDR
		  ret

;Ожидание байта
uart_rcv:	SBIS	UCSRA,RXC	; Ждем флага прихода байта
		RJMP	uart_rcv	; вращаясь в цикле
 
		IN	R17,UDR		; байт пришел - забираем.
		
		RET			; Выходим. Результат в R17


	paus: clr r22
			clr r23
	 pp1:	
			nop
			nop
			nop
			nop
			dec r22
			BRNE pp1
			dec r23
			BRNE pp1
			ret

Вложения
fuse.jpg
(82.73 КБ) 402 скачивания
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

ну по крайней мере вывод номер 3 mega8 TX PD1 на вывод не настроен (это выход USART), остальное завтра
Реклама
Грызет канифоль
Сообщения: 257
Зарегистрирован: Пн окт 03, 2016 10:06:09

Сообщение Леонид_М »

а разве в этой подпрограмме - init_USART - что-то не правильно?
в протеусе все пашет...

Добавлено after 56 minutes 12 seconds:
Все... это я тормоз... когда подключаю СОМ порт ему нужно в устройствах - скорость выставить, а него по умолчанию - 9600, а я 19200 давал, но что самое странное, передавал - правильно...
а вот прием - нет...
но еще осталась проблема - если передавать больше 4-х знаков, то передается первые 3 знака и последний...
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

[uquote="Леонид_М",url="/forum/viewtopic.php?p=3570370#p3570370"]в протеусе все пашет...[/uquote]
у меня в протеусе первоначальный вариант не заработал, поправил - заработало:
Спойлер

Код: Выделить всё

.INCLUDE "m8def.inc"  

.equ fCK         =  8000000             ;частота в герцах
.equ BAUD        =  19200                ;скорость для UART в бодах
.equ UBRR_value  =  (fCK/(BAUD*16))-1   ;расчитываем значение для регистра UBRR

    rcall init_USART
start:
	rcall paus
	rcall uart_rcv
	mov	r20,r17      ;tst
	rcall USART_send ;tst
	;out PORTC,r17   ;tst 
	rjmp start     ;tst

init_USART:
	sbi   DDRD, 1		
	ldi   R16,high(UBRR_value)   ;устанавливаем скорость 
	out   UBRRH,R16
	ldi   R16,low(UBRR_value)   
	out   UBRRL,R16
	ldi   R16,(1<<TXEN)+(1<<RXEN) ;разрешаем работу RX TX
	out   UCSRB,R16
	ldi   R16,(1<< URSEL)|(1<< UCSZ0)|(1<< UCSZ1)
	out   UCSRC,R16              ;устанавливаем режим 8 бит данных, без проверки четности, асинхронный режим
	ret

USART_send:
	sbis  UCSRA,UDRE            ;ждем пока бит UDRE регистра UCSRA не будет пуст
	rjmp  USART_send
	out   UDR,R20               ;посылаем байт по UART, кладем данные в регистр UDR
	ret

;Ожидание байта
uart_rcv:   
	SBIS   UCSRA,RXC   ; Ждем флага прихода байта
	RJMP   uart_rcv   ; вращаясь в цикле
	IN   R17,UDR      ; байт пришел - забираем.
	RET         ; Выходим. Результат в R17

paus: 
	clr r22
    clr r23
pp1:   
	nop
	nop
	nop
	nop
	dec r22
	BRNE pp1
	dec r23
	BRNE pp1
	ret
Грызет канифоль
Сообщения: 257
Зарегистрирован: Пн окт 03, 2016 10:06:09

Сообщение Леонид_М »

Всё, заработало!!! Ура! Как оказалось, еще почему-то глючил ATMEGA8, меня один был на тестировании самой схемы, а другой - для отладки, чтобы не переставлять туда-сюда...
наверное я один попортил, когда пытался подключить к ком-порту компа через переходник, который сделал по схеме из инета...

Большое спасибо всем, кто помогал! :beer:
Родился
Сообщения: 2
Зарегистрирован: Ср ноя 10, 2021 21:59:17

Сообщение Cippolino_Zabyl »

Поиском нашел - вроде это единственная тема про 573рф4 - сюда напишу вопрос.

Справочники и бумажные и переписанные с них интернетные "путаются в показаниях" одни говорят что питание при чтении только +5вольт на 28й вывод, а другие утверждают, что два одно +5вольт на 26й вывод другое +12вольт на 28й вывод.
Кроме того указывают разное напряжение программирования от 21.5 до 25вольт.
Кто нибудь со времен спектрумов помнит подскажите пожалуйста что на самом деле.
Друг Кота
Аватара пользователя
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

Сообщение musor »

читайте даташиты вместо форумоф там все есть и на 100% достоверно...
насчет самоделок тут в соседней теме обсуждали ТУРБО 6: под дос и LTP-годная схема и впорлне се работала когдато у меня....
рф4 и рф8 да 27с64 надо уточнить а вот для 2764 есть отличия!болшие
Последний раз редактировалось musor Вс мар 06, 2022 00:32:23, всего редактировалось 1 раз.
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 365
Зарегистрирован: Вс май 02, 2021 18:58:49
Откуда: 俄罗斯

Сообщение Dismas »

[uquote="Cippolino_Zabyl",url="/forum/viewtopic.php?p=4194204#p4194204"]...тема про 573рф4...
...питание при чтении только +5вольт на 28й вывод...[/uquote]
При чтении: для 573РФ4 - питание +5в на 28 ногу, 26 - не подкл.
(Смотрим точное обозначение на своём чипе, и сравниваем с описанием производителя).
Вложения
ks573rf4.7z
(95.49 КБ) 192 скачивания
Родился
Сообщения: 2
Зарегистрирован: Ср ноя 10, 2021 21:59:17

Сообщение Cippolino_Zabyl »

[uquote="Dismas",url="/forum/viewtopic.php?p=4194393#p4194393"]При чтении: для 573РФ4 - питание +5в на 28 ногу, 26 - не подкл.
(Смотрим точное обозначение на своём чипе, и сравниваем с описанием производителя).[/uquote]Премного благодарю Вас за ответ.
Это, надеюсь, по опыту знаете.
Просто как раз с "описанием производителя" и возникли разночтения.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 365
Зарегистрирован: Вс май 02, 2021 18:58:49
Откуда: 俄罗斯

Сообщение Dismas »

[uquote="Cippolino_Zabyl",url="/forum/viewtopic.php?p=4194645#p4194645"]...Просто как раз с "описанием производителя" и возникли разночтения.[/uquote]
Отечественные РФ_ки, при программировании требовали +21,5в
а импортные, как правило +12,6. При чтении (во время программирования)
можно было не отключать напряжение программирования.
Алгоритмы записи тоже немного отличались.
Ответить

Вернуться в «Разные вопросы по МК»