замена pic12f629 на pic12f675

Поклонники продукции Microchip Technology Inc тусуются тут.
Krismi70
Сверлит текстолит когтями
Сообщения: 1166
Зарегистрирован: Пт ноя 22, 2024 14:08:43

Re: замена pic12f629 на pic12f675

Сообщение Krismi70 »

там не надо переделывать, она и так поддерживает 675
про константу в последних ячейках не забывай (сохрани файл чтения пика до прошивки)
xxxnet
Родился
Сообщения: 6
Зарегистрирован: Вс фев 27, 2022 12:11:19

Re: замена pic12f629 на pic12f675

Сообщение xxxnet »

Спасибо за участие но так в лоб прошивка мк результата не даёт. pic12f675 не реагирует даже на кнопки переключения в ждущий режим. Светодиод индикации горит постоянно. Схема полностью не работает. Данный вопрос поднимался на 1 странице, тогда там HEX менялся.
Вложения
PROV_629.C
(3.06 КБ) 93 скачивания
Krismi70
Сверлит текстолит когтями
Сообщения: 1166
Зарегистрирован: Пт ноя 22, 2024 14:08:43

Re: замена pic12f629 на pic12f675

Сообщение Krismi70 »

так и тут написано "выключаем модуль компаратора"......
-----------
дай чтение программатором зашитой микросхемы....самые нижние (последние две ячейки памяти)....мож., ты про них забыл (или не знал)
генератор внутренний, а константу ты "потерял" (если не сохранил файл чтения нового контроллера)
-----
теперь туда вручную можно вставить что-нибудь 34 F0 (34 0F)
--------
если есть другой нетронутый пик, то прочитай его и посмотри последние ячейки
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Re: замена pic12f629 на pic12f675

Сообщение RoboC »

Добавьте в init строчку :

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

ANSEL = 0;	
и все должно заработать. У 675го по умолчанию все пины аналоговые.
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Krismi70
Сверлит текстолит когтями
Сообщения: 1166
Зарегистрирован: Пт ноя 22, 2024 14:08:43

Re: замена pic12f629 на pic12f675

Сообщение Krismi70 »

RoboC писал(а):ANSEL = 0
Для 675 так написано
2: These bits are reserved and should always be maintained as ‘0’.
Аватара пользователя
Zikon
Встал на лапы
Сообщения: 92
Зарегистрирован: Вт фев 28, 2017 08:13:31
Откуда: Свердловская обл.

Re: замена pic12f629 на pic12f675

Сообщение Zikon »

[uquote="Krismi70",url="/forum/viewtopic.php?p=4772940#p4772940"]
RoboC писал(а):ANSEL = 0
Для 675 так написано
2: These bits are reserved and should always be maintained as ‘0’.[/uquote]


Издеваитесь! Или читать (считать) не умеете ?

Изображение
Krismi70
Сверлит текстолит когтями
Сообщения: 1166
Зарегистрирован: Пт ноя 22, 2024 14:08:43

Re: замена pic12f629 на pic12f675

Сообщение Krismi70 »

не издеваюсь....сноску не к той таблице посмотрел....)))
-----
всё равно проблема в потерянных 34 ХХ
xxxnet
Родился
Сообщения: 6
Зарегистрирован: Вс фев 27, 2022 12:11:19

Re: замена pic12f629 на pic12f675

Сообщение xxxnet »

Пытаюсь разобраться в написанном. Насчёт константы то PICkit3 её не стирает. Считал конфигурацию мк 341с, записал мк значение то же.
Аватара пользователя
Zikon
Встал на лапы
Сообщения: 92
Зарегистрирован: Вт фев 28, 2017 08:13:31
Откуда: Свердловская обл.

Re: замена pic12f629 на pic12f675

Сообщение Zikon »

[uquote="xxxnet",url="/forum/viewtopic.php?p=4773299#p4773299"]Пытаюсь разобраться в написанном. Насчёт константы то PICkit3 её не стирает. Считал конфигурацию мк 341с, записал мк значение то же.[/uquote]

341C

это так-то команда RETLW 0x1C

константа 0x1С для регистра OSCCAL

только вот непонятно - сама программа этот вызов сделает ?
можно явно при Init задать

OSCCAL = 0x1C;
xxxnet
Родился
Сообщения: 6
Зарегистрирован: Вс фев 27, 2022 12:11:19

Re: замена pic12f629 на pic12f675

Сообщение xxxnet »

Изображение
Krismi70
Сверлит текстолит когтями
Сообщения: 1166
Зарегистрирован: Пт ноя 22, 2024 14:08:43

Re: замена pic12f629 на pic12f675

Сообщение Krismi70 »

окно памяти программы надо было опустить вниз для скрина, чтобы там в конце было видно 34хх...
------
пиккиту, конечно, приходится верить.....но на всякий случай (я им не пользовался, не знаю, какие там настройки и возможности)
--------
есть где-то отзывы, что схема работала или ты первый повторятель ?
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Re: замена pic12f629 на pic12f675

Сообщение RoboC »

Что там разбираться,программа для 675го как то так(MPLAB 8.92):
Спойлер

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

/*Программа "Искателя проводки"*/
#include <pic.h>

#define led	  GPIO0	//Вывод светодиода
#define key  	  GPIO1	//Вывод кнопки
#define zumer_1	  GPIO4	//Первый вывод для подключения резонатора
#define zumer_2	  GPIO5	//Второй вывод для подключения резонатора

#define osc_max  8	//Максимальное значение
#define osc_min  2	//Минимальное значение
#define TRUE 1
#define FALSE 0



/***********************************************************/
 
__CONFIG(FOSC_INTRCIO & WDTE_OFF & MCLRE_OFF & PWRTE_ON & BOREN_OFF & CP_OFF & CPD_OFF);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

_READ_OSCCAL_DATA();


void init(void)		/*Подпрограмма инициализации микроконтроллера*/
{		
	CMCON=0xff;		//Выключаем модуль компаратора
	ANSEL = 0;		//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
	TRISIO=0b00001110;	//Задаем направление работы порта A
	GPIO=0b00000000;	//Устанавливаем необходимыелогические уровни
	OPTION_REG=0b00101000;	//Устанавливаем предделитель TMR0 1:1
	WPU=0b00000010;
	IOCB=0b00000010;
}	


void pause(unsigned int time)	/*Подпрограмма обеспечивающая паузы*/
{				//t=time X 11 Х 1мкс (Fosc=4МГц)	
	while(time-->0);	//Пауза
}



char scan(void)	/*Подпрограмма подсчета периодов поступающих с антены устройства*/
{
	char temp;		//Переменая для внутрених нужд
	
	TMR0=0;			//Очищаем таймер/счетчик
	pause(9090);		//Пауза 0.1сек
	temp=TMR0;		//Сохраняем значение таймера/счетчика
	if(temp>osc_min && temp<osc_max) //Проверяем лежит ли значение TMR0 в нужном диапазоне
	{
		return TRUE;	//если да то выходим и возвращаем значение TRUE
	}	
	
	return FALSE;	//если нет, то - FALSE
}



main()
{
	char temp;		//Переменые для внутрених нужд
	unsigned int i;		

line_1:				//Метка для старта работы устройства после режима "sleep"
	
	init();			//Инициализируем процессор

	led=1;			//Включаем светодиод	
	while(key==0);		//Ждем пока отпустят кнопку	
	pause(45450);		//Небольшая пауза (0.5сек)

	for(;;)			//Запускаем главный цикл программы
	{
		led=1;		//Зажигаем светодиод
		if(scan())	//Проверяем присутствует ли на входе антены электромагнитное поле с частотой 50Гц
		{				//если присутствует
			led=0;			//то гасим светодиод
			for(i=0; i<400; i++)	//и запускаем цикл для подачи звукового сигнала
			{
				if(zumer_1)		//Проверяем лог. значение на одном из выводов зумера		
				{
					zumer_1=0;	//и инвертируем состояние выводов
					zumer_2=1;
				}
				else
				{
					zumer_1=1;	//инвертируем состояние выводов
					zumer_2=0;
				}

				pause(45); 		//Пауза, которая равна полупериоду частоты 1000 Гц
			}
		}
		
		if(key==0)		//Проверяем не нажата ли кнопка			
		{			//если нажата
			led=0;		//то гасим светодиод
			zumer_1=0;	//устанавливаем на выводах зумера лог. "0"
			zumer_2=0;		
			while(key==0);	//Ждем пока отпустят кнопку
			pause(45450);	//Небольшая пауза (0.5сек)
			temp=GPIO;	//Сохраняем значение портов ввода/вывода
			GPIE=1;		//Розрешаем выход из режима "sleep" по изменению логического уровня на выводах микроконтроллера
			GPIF=0;		//Сбрасываем флаг прерываний от выводов
			SLEEP();	//Засыпаем.......

		/*Если было нажатие кнопки, то просыпаемся*/
			GPIE=0;		//Запрещаем прерывание от выводов
			goto line_1;	//и идем на метку line_1
		}
	}
}
Даже если не угадаете с константой, то светодиод от кнопки все равно будет зажигаться. :))
Вложения
probe.7z
прошивка и протеус
(13.98 КБ) 85 скачиваний
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
xxxnet
Родился
Сообщения: 6
Зарегистрирован: Вс фев 27, 2022 12:11:19

Re: замена pic12f629 на pic12f675

Сообщение xxxnet »

Спасибо за помощь. Проверил прошивку всё работает. Проблема была в том что я не пишу программы для МК. Скачал MPLAB и компилятор, учусь работать.

Добавлено after 48 minutes 21 second:
[uquote="Krismi70",url="/forum/viewtopic.php?p=4773379#p4773379"]окно памяти программы надо было опустить вниз для скрина, чтобы там в конце было видно 34хх...
------
пиккиту, конечно, приходится верить.....но на всякий случай (я им не пользовался, не знаю, какие там настройки и возможности)
--------
есть где-то отзывы, что схема работала или ты первый повторятель ?[/uquote]

На pic12f629 программа работает. Многие повторяли, схема из журнала радио, искатель скрытой сетевой проводки в стенах.
Krismi70
Сверлит текстолит когтями
Сообщения: 1166
Зарегистрирован: Пт ноя 22, 2024 14:08:43

Re: замена pic12f629 на pic12f675

Сообщение Krismi70 »

xxxnet писал(а):схема из журнала радио
чем два раза писать одно и тоже, то лучше бы номер написал
xxxnet
Родился
Сообщения: 6
Зарегистрирован: Вс фев 27, 2022 12:11:19

Re: замена pic12f629 на pic12f675

Сообщение xxxnet »

Журнал Радио №2 2006 год страница 44-45. Микроконтроллерный искатель проводки.
Ответить

Вернуться в «PIC»