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

Вопросы от начинающих по МК


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

; простой термометр на 2 датчика и выходом на термостат
; контроллер - PIC16F84 (4.096 MГц), индикация - МТ10Т7, термодатчики - DS18B20
; управление: кнопка включения индикации

	__CONFIG   _CP_OFF & _WDT_ON & _PWRTE_ON & _XT_OSC
#include p16f84.inc
#define lcd_rs		PORTB,4		;ЖКИ команда/данные (LCD 1)
#define	lcd_e		PORTB,5		;ЖКИ синхро (LCD 3)
#define	THERMO  	PORTA,0		;подключение термометра
#define THERMO2		PORTA,1		;подключение термометра 2
#define SVETODIOD	PORTA,2		;светодиод
#define U_IND		PORTA,3		;
#define POWER		PORTA,4		;наличие питания

#define	CARRY		STATUS,C
#define	ZERO 		STATUS,Z

#define KEY_MODE	flags,6		;нажата кнопка MODE
#define DS_ERR		flags,5		;наличие термометра
#define DS_ERR2		flags,4		;наличие термометра2
#define ZNAK		flags,3		;знак температуры
#define ZNAK2		flags,2		;знак температуры2
#define NUM_TERM	flags,1		;номер термометра
#define ON_IND		flags,0		;включение индикатора

INIT_OPTION	EQU	b'00000100'	;Предделитель включен перед таймером, Кдел=32
INIT_INTCON	EQU	b'10100000'	;Разрешено прерывание при переполнении таймера

cblock 0x0c
	d0,d1,d2,d3,d4,d5,d6,d7,d8,d9 	;буфер дисплея
	w_temp				;временное хранение W
	status_temp			;---- STATUS
	count				;временные счетчики
	count2		
	seconds
	sec125
	hexdata		;HEX данные для преобразования
	decdata 	;DEC данные после преобразования
	dstemp		;прочитанное значение температуры
	dstemp2		;прочитанное значение температуры2
	sendbyte	;байт команды
	reseivebyte	;принятый байт
	newpress	;нажатая кнопка
	oldpress	;кнопка, нажатая в прошлом цикле
	flags		;байт флагов
	temp		;временный байт
	set_count	;счетчик автоповтора SET
	loop		;для организации циклов
	svetod
endc

; MACROS
ds_comm		macro		;порт датчика на вывод
	bcf PORTA,0
	bsf STATUS,RP0
	bcf TRISA^80h,0
	bcf STATUS,RP0
	endm

ds_comm2	macro		;порт датчика2 на вывод
	bcf PORTA,1
	bsf STATUS,RP0
	bcf TRISA^80h,1
	bcf STATUS,RP0
	endm

ds_data		macro		;порт датчика на ввод
	bsf STATUS,RP0
	bsf TRISA^80h,0
	bcf STATUS,RP0
	endm

ds_data2	macro		;порт датчика2 на ввод
	bsf STATUS,RP0
	bsf TRISA^80h,1
	bcf STATUS,RP0
	endm

	org 0x000
	goto begin

;прерывание от таймера (125 Гц).
timeint		org 0x004			
	movwf w_temp		;сохранить STATUS, W
	movf STATUS,0
	movwf status_temp

;опрос кнопок
	movf newpress,0
	movwf oldpress
	movf PORTB,0
	andlw b'01000000'
	movwf newpress
	subwf oldpress,0
	btfsc  ZERO
	goto no_press

press_mode	clrf set_count
	btfsc newpress,6
	goto no_press
	bsf KEY_MODE
	goto time_inc
no_press	bcf KEY_MODE

time_inc	incf sec125
	movf status_temp,0	;восстановить STATUS, W
	movwf STATUS	
	swapf w_temp,1
	swapf w_temp,0
	bcf INTCON,2
	clrwdt	

	retfie		;возврат из прерывания

seg7		;преобразование в код 7-сегментов
	addwf PCL
	dt 0EEh, 060h, 02Fh, 06Dh, 0E1h; 0,1,2,3,4
	dt 0CDh, 0CFh, 068h, 0EFh, 0EDh; 5,6,7,8,9


;подпрограммы управления ЖКИ
lcd_dw		;запись данных ЖКИ	
	movwf temp
	movf temp,0	
	andlw 0x0F
	movwf PORTB
	bsf lcd_rs	
	bsf lcd_e
	bcf lcd_e
	swapf temp,0	
	andlw 0x0F
	movwf PORTB
	bsf lcd_rs	
	bsf lcd_e	
	bcf lcd_e
	return

lcd_cw		;запись команды ЖКИ	
	movwf temp
	movf temp,0	
	andlw 0x0F
	movwf PORTB
	bcf lcd_rs
	bsf lcd_e
	bcf lcd_e
	swapf temp,0	
	andlw 0x0F
	movwf PORTB
	bcf lcd_rs
	bsf lcd_e	
	bcf lcd_e
	return

begin					;инициализация PIC
	bsf STATUS,RP0
	movlw b'00010000'
	movwf TRISA^80h
	movlw b'11000000'
	movwf TRISB^80h
	movlw INIT_OPTION
	movwf OPTION_REG^80h
	bcf STATUS,RP0
	movlw INIT_INTCON
	movwf INTCON
	clrf STATUS
				;инициализация ЖКИ
	movlw 0x0F
	call lcd_cw
	movlw 1
	call lcd_dw

				;если был сброс по WDT?
	btfss STATUS,4
	goto main_loop		;исходные параметры не устанавливать

	;исходные параметры
	clrf seconds
	clrf sec125
	clrf flags
	clrf newpress
	clrf oldpress
	bsf	ON_IND


;главный цикл
main_loop	
;ход часов	
	movf sec125,0
	sublw .125
	btfss ZERO
	goto end_time
	incf seconds
	clrf sec125
	btfss	ON_IND
	goto	mm1

	call thermometer	;каждую секунду - измерение температуры
	call thermometer2
mm1		movf seconds,0
	sublw .20
	btfss ZERO
	goto end_time
	clrf seconds
	bcf	ON_IND

end_time

;обработка кнопок в экран

keymode		btfss KEY_MODE
	goto off_key
	bsf 	ON_IND

off_key		bcf KEY_MODE


;рисование экрана
	btfsc	ON_IND
	goto	screen
	clrf	d0
	clrf	d1
	clrf	d2
	clrf	d3
	clrf	d4
	clrf	d5
	clrf	d6
	clrf	d7
	clrf	d8
	clrf	d9
	goto  end_screen

screen		movlw b'01100111'	;символ "d"
	movwf d0
	btfsc DS_ERR
	goto therm_ok2
	movlw b'00000001'
	movwf d1
	movwf d2
	goto next_scr2
therm_ok2	movf dstemp,0
	call convert
	movf decdata,0
	call seg7		;преобразовать в 7-сегментный код
	movwf d1
	movf hexdata,0
	call seg7		;преобразовать в 7-сегментный код
	movwf d2
next_scr2	movlw b'10101001'	;символ "градус"
	movwf d3
	movlw b'00000000'	;символ "пробел"
	movwf d4
	movlw b'01000110'	;символ "u"
	movwf d5
	btfsc DS_ERR2
	goto therm_ok3
	movlw b'00000001'
	movwf d6
	movwf d7
	movwf d8
	goto next_scr3
therm_ok3	clrf	d6
	btfss	ZNAK2
	goto	plus3
	movlw b'00000001'
	movwf d6		
plus3		movf dstemp2,0
	call convert
	movf decdata,0
	call seg7		;преобразовать в 7-сегментный код
	movwf d7
	movf hexdata,0
	call seg7		;преобразовать в 7-сегментный код
	movwf d8
next_scr3	movlw b'10101001'	;символ "градус"
	movwf d9

end_screen
;вывод на экран
	movlw 0
	call lcd_cw
	movf d0,0
	call lcd_dw
	movf d1,0
	call lcd_dw
	movf d2,0
	call lcd_dw
	movf d3,0
	call lcd_dw
	movf d4,0
	call lcd_dw
	movf d5,0
	call lcd_dw
	movf d6,0
	call lcd_dw
	movf d7,0
	call lcd_dw
	movf d8,0
	call lcd_dw
	movf d9,0
	call lcd_dw

	goto main_loop

thermometer	call init_therm
	btfsc DS_ERR
	goto ds_enable
	movlw 0xFF	
	movwf dstemp
	goto heat_ok

ds_enable	movlw 0xCC	;чтение температуры
	call send
	movlw 0xBE
	call send
	call reseive
	movwf dstemp
	call reseive
	movwf temp
	call init_therm ;инициализация термометра
	movlw 0xCC	;старт преобразования
	call send
	movlw 0x44
	call send
	bcf	ZNAK
	movlw	4
	movwf	loop
	bcf	CARRY
metka		rrf	temp
	rrf	dstemp
	decfsz	loop
	goto	metka
	btfss	temp,0
	goto	kon
	bsf	ZNAK
	decf	dstemp
	comf	dstemp
kon		bcf dstemp,7
heat_ok		return	

init_therm	;инициализация термометра
	bsf 	DS_ERR	;считаем, что датчики исправны
	movlw	.20	;время ожидания ответа
	movwf	count2
	ds_comm
	bcf	THERMO	;инициализация
  	movlw	.170	;задержка 500 мкс
	movwf	count
delinittherm	decfsz	count
	goto	delinittherm
	bsf	THERMO
	ds_data
init_ansv	btfss THERMO	;ожидание ответа
	goto end_ansv
	decfsz count2
	goto init_ansv
	bcf DS_ERR	;если нет ответа > датчик неиправен
	return
end_ansv	btfss THERMO	;ожидание освобождения шины
	goto end_ansv
	return

send		;передача команды
	movwf sendbyte	;данные для отправки
	movlw .8
	movwf count2
sendloop	ds_comm
	rrf sendbyte
	btfsc CARRY
	bsf THERMO
	call wait50
	ds_data
	decfsz count2
	goto sendloop
	return

reseive		;прием байта данных		
	movlw .8
	movwf count2
reseiveloop	ds_comm
	ds_data
	bcf CARRY
	btfsc THERMO
	bsf CARRY
	rrf reseivebyte 
	call wait50	
	decfsz count2
	goto reseiveloop
	movf reseivebyte,0
	return

thermometer2	call init_therm2
	btfsc DS_ERR2
	goto ds_enable2
	movlw 0xFF	
	movwf dstemp2
	goto kon2

ds_enable2	movlw 0xCC	;чтение температуры
	call send2
	movlw 0xBE
	call send2
	call reseive2
	movwf dstemp2
	call reseive2
	movwf temp
	call init_therm2 ;инициализация термометра
	movlw 0xCC	;старт преобразования
	call send2
	movlw 0x44
	call send2
	bcf	ZNAK2
	movlw	4
	movwf	loop
	bcf	CARRY
metka2		rrf	temp
	rrf	dstemp2
	decfsz	loop
	goto	metka2
	btfss	temp,0
	goto	kon2
	bsf	ZNAK2
	decf	dstemp2
	comf	dstemp2
kon2		bcf dstemp2,7
	return	

init_therm2	;инициализация термометра
	bsf 	DS_ERR2	;считаем, что датчики исправны
	movlw	.20	;время ожидания ответа
	movwf	count2
	ds_comm2
	bcf	THERMO2	;инициализация
  	movlw	.170	;задержка 500 мкс
	movwf	count
delinittherm2	decfsz	count
	goto	delinittherm2
	bsf	THERMO2
	ds_data2
init_ansv2	btfss THERMO2	;ожидание ответа
	goto end_ansv2
	decfsz count2
	goto init_ansv2
	bcf DS_ERR2	;если нет ответа > датчик неиправен
	return
end_ansv2	btfss THERMO2	;ожидание освобождения шины
	goto end_ansv2
	return

send2		;передача команды
	movwf sendbyte	;данные для отправки
	movlw .8
	movwf count2
sendloop2	ds_comm2
	rrf sendbyte
	btfsc CARRY
	bsf THERMO2
	call wait50
	ds_data2
	decfsz count2
	goto sendloop2
	return

reseive2	;прием байта данных		
	movlw .8
	movwf count2
reseiveloop2	ds_comm2
	ds_data2
	bcf CARRY
	btfsc THERMO2
	bsf CARRY
	rrf reseivebyte 
	call wait50	
	decfsz count2
	goto reseiveloop2
	movf reseivebyte,0
	return


wait50		movlw .12	;задержка 50мкс
	movwf count
loop50		nop
	decfsz count
	goto loop50
	return

convert		;преобразование в 2х байтовый ASCII вид	
	movwf hexdata
        movlw .8 
               movwf count 
               clrf decdata 
               goto start 

adjdec          movlw 0x33 
               addwf decdata 

               movlw 0x03 
               btfss decdata,3 
               subwf decdata 

               movlw 0x30 
               btfss decdata,7 
               subwf decdata 

start           rlf hexdata 
               rlf decdata 
               decfsz count 
               goto adjdec 

	movf decdata,0
	andlw 0x0f		
	movwf hexdata	;символ единиц

	swapf decdata,0
	andlw 0x0f
	movwf decdata	;символ десятков
	return


end

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

Не цитируите полностью предыдущее сообщение!!!

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

  • 1 месяц спустя...

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

  • Ответов
  • Создана
  • Последний ответ

Топ авторов темы

Зарядка на МК для свинца. Нужно по току регулировать и доводить до нужной кондиции. Но там же не будет реального тока, как на амперметре. Там будут импульсы высокой амплитуды, но узкие по времени. Не вредно ли это для аккума?

Или как делать?

Слава антисионистам Владимиру Путину и Владимиру Квачкову!

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

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

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

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

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

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

как делать что? Вопрос собственно так и не задан...

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

Учение - изучение правил. Опыт - изучение исключений.

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

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

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

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

Так зарядку! Для батареи из свинцовых элементов. Там же ШИМ будет регулировать ток, тот самый, что амперметр покажет. А реально импульсы могут прожечь банку. Так я думаю. Или нет?

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

Слава антисионистам Владимиру Путину и Владимиру Квачкову!

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

Нормально будет. Амперметры разных систем будут давать различные показания. Простой амперметр из микроамперметра постоянного тока покажет среднее значение при условии что ШИМ применена к постоянному напряжению.

Учение - изучение правил. Опыт - изучение исключений.

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

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

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

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

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

Слава антисионистам Владимиру Путину и Владимиру Квачкову!

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

А в другой теме наоборот пришли к выводу в результате экспериментов что заряд импульсным током продлевает жизнь свинцового аккумулятора. Но если тебе не нравится заряжать импульсами - погаси их... LC-цепочка прекрасно погасит твои ВЧ импульсы от работы ШИМ и выделит из этого сигнала постоянную составляющую. Нужно только индуктивность рассчитать под номинальный ток с запасом, чтобы сердечник не входил в насыщение. Впрочем, ведь получится обычный импульсный преобразователь напряжения, точь-в-точь как в драйвере для светодиода с ограничением тока. Да, кстати ... рассмотри вариант схемы с драйвером для светодиода... там только транзистор помощнее нужен, индуктивность на больший ток а принцип остается прежним.

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

Учение - изучение правил. Опыт - изучение исключений.

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

А в другой теме пришли к выводу...

Рассмотри вариант схемы с драйвером для светодиода.

А где эта тема? Уже хотел создавать свою. Раз есть готовая, будет неплохо почитать.

Рассмотрю, если выложите инфу или ссылку на такой драйвер.

Слава антисионистам Владимиру Путину и Владимиру Квачкову!

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

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

Учение - изучение правил. Опыт - изучение исключений.

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

  • 4 недели спустя...

Здравствуйте))))Я совсем новичок в области мк, но очень хочется научиться. Читаю литературу, изучаю форум.

Объясните, пожалуйста, что такое фьюзы???? И почему так важно, чтобы они были установленны правильно???

ЗЫ:Заренее благоларен.

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

Это биты конфигурации контроллера. Скачай даташит на контроллер который изучаешь, там все расписано за исключением некоторых подробностей.

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

И тут еще есть одна тонкость, очень часто активация соответствующей функции это прошивка "0" в соответствующий фьюз, в даташите об этом как-то вскользь написано и непонятно. а другие - даются в табличном виде их состояние. Поэтому часто возникает путаница, где ставить а где не ставить галочки в программаторе.

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

Учение - изучение правил. Опыт - изучение исключений.

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

Всем привет! Собрал программатор по вот этой схеме. Решил запрограмм. сначало PIC16F84 потом PIC16F628. поначалу вроде записалось это я определил по прочитке микрокон после записи. Но когда вставляю в устройство оно не оживает. Пробую опять прошить в итоге не шьется пишет ошибка по адресу 0h.

устройство. нетбук Асер переходник усб-сом. вольтметр при программир показывает уровни на выходе переходника. и на выходе программатора со всех 3 выходах есть требуемые +5 и +12В. для большей уверенности мной была произведена доработка программатора через транзистор установил светодиод что бы по свечению контролировать процесс программирования.

МК были куплены в разных магазинах. Да есть одно отклонение в схема работает от батареек у меня от стаб. БП 12В и ЕН5 5В я думаю это не существенно.

Прошу помочь разабраться в ошибке из-за которой я не могу их заставить работать!!!!

если нужны фото программ или еще что?

post-137585-0-81747300-1322122239_thumb.png

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

Ты когда прошивал, биты конфигурации трогал? Подай внешние тактовые импульсы для надежности - где-то 1Мгц. И еще - JDM программатор не работает через переходник USB-COM, специфика шины USB. Он заработает, только на очень маленькой скорости.

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

В 16F628 есть еще режим низковольтного программирования, который можно запретить одним из выводов.

Если этот вывод не подключен, или находится в активном положении - контроллер может ожидать сигналы низковольтного программатора, JDM просто не сработает.

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

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

Учение - изучение правил. Опыт - изучение исключений.

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

на счет битов конфигурации я осведомлен крутил вертел.

Подай внешние тактовые импульсы для надежности - где-то 1Мгц-- вот это не понятно?

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

очищать МК конечно.

16F628 есть еще режим низковольтного программирования да это тоже пробовал и без него и с ним.

на счет проверки программатора и переходника скачивал дос -программку называется что то COM нажимаеш на кнопки с монитора и на выходе логич уровень меняется.

биты защиты снимал

что может еще быть? уж больно хочу запрограммировать, что бы лампой моргнул ,а дальше я сам

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

Здравствуйте.

Подскажите, пожалуйста, какие именно кондеры используются при построении схем на основе мк.

В частности хотел уточнить. В программаторе?( по фотке видно что электролиты,так ли?)

http://forum.cxem.net/index.php?showtopic=47160&st=0

и вот здесь:

http://cxem.net/mc/mc61.php

Просто указано с1,4=100n, если не ошибаюсь то 100 нФ. ( вот только какого типа?)

и еще с2,3=22, аналогично нанофарады? ( и какого типа? т.е элетролиты или пленочные, или керамика?)

Заранее благодарен))))

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

вот что пишет программа при прочтении пик84а вверху красным кружком я обвел окошко которое горит зеленым цветом если отключить программатор то будет красным цветом

и еще светодиод тоже пометил красным кружком при прочтении загорается это значит MCLR подается +12В что значит как я понимаю разрешает прочитать или записать

post-137585-0-49446100-1322224077_thumb.jpg

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

DIman69RUS

n=нанофарад

р=пикофарад

мк=микрофарад

м=милифарад

тип керамика

а вот прочитаный 628а и скриншот его же

а вот что пишет программа при попытке записи что на 84 и 628 камень

теперь уровни на МК пик 84а

ножка 13 (DATA) 0.02В при записи 0.66В

ножка 12 (CLOK) -0.67В при записи 2В

ножка 14 питание +4.9В стабильн.

ножка 4 (MCLR) 0В при записи 11.81В

post-137585-0-46792900-1322225124_thumb.jpg

post-137585-0-33225000-1322225168_thumb.jpg

post-137585-0-08016500-1322226410_thumb.jpg

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

Спасиба конечно, но все приставки я знаю и знаю что они обозначают.

Я хотел просто уточнить в схеме со светодиодной матрицей написано, кондеры есть 100 нанофарад и есть просто 22, это значит по умолчанию что они тоже емкостью 22 нанофарада?

И вот еще хотел уточниить в схеме с программатором кондеры по схеме- керамика, а вот на фотке электролиты? так чему верить?)))

ЗЫ извините за настойчивость, просто я вожусь с усилителями нч, понятно что там тоже есть кондеры.Просто я считал что для мк электроники существуют другого типа кондеры.И вот у меня такая путаница возникла.

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

А как ты пробовал без LVP? Программатор что говорит на счет битов конфигурации, записываются успешно? Если у контроллера выбран внешнее тактирование - без кварца он не сможет войти в режим программирования а если внешний RC-генератор то подключенный кварц будет до лампочки. Поэтому надо на вход подать ему тактовую частоту. Куда именно, написано в даташите.

А так же интересно что выдает программатор насчет считывания сигнатуры? Если программатор не выдает верную сигнатуру то можно и не пытаться даже прошивать - только время терять будешь.

Учение - изучение правил. Опыт - изучение исключений.

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

ни разу не видел что бы на программатор подавали тактовую частоту при программировании! LVP отключена

на счет битов конфигурации записываю при проверке выдает 0000

считывания сигнатуры- это что такое типа считывание памяти программ?

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

Тактовую частоту надо на контроллер подавать. Нет, сигнатура - это код вшитый в контроллер который его идентифицирует для программатора. По крайней мере ЛЮБОЙ программатор должен перед прошивкой сверить сигнатуру выдаваемую контроллером и выбранный контроллер в программаторе - если они не совпадают программатор не должен пихать прошивку! Но ведь разработчики подобного софта настолько суровы что плевали они на эти все "мелочи" главное прошивку передать - а там хоть трава не расти. Все подробности МОЖНО прочитать в даташите на контроллер(сигнатура, подключение к программатору, биты конфигурации) и в документации на сайте микрочипа. На многие документы даже перевод есть - читай-нехочу.

Хотя на счет тактовой частоты ... может она не нужна, это для Атмеловских контроллеров тактовая частота обязательна для прошивки. Я как-то вскользь коснулся микрочиповских контроллеров - какие-то они совсем неудобные. Разве только серия PIC18 и старше достойна внимания.

Учение - изучение правил. Опыт - изучение исключений.

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

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

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

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

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

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

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

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

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

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

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

×
×
  • Создать...