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

crazz

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

Собрал я програматор :rolleyes: по схеме Радио №2 2004 на 51 стр ... JMD

IC Prog выдеёт ошибку чтения 000h :(

А PonyProg 2000 отлично прочитал и записал Pic16F84 :rolleyes:

Прстите что повторюсь , но пожалуста покажите текст програмы и схему подключения для мигающего светодиода для

для PIC16F84 и PIC12F675 :rolleyes:

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

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

"Джентельменский набор"

http://depositfiles.com/files/2126806 Proteus_v7.2_SP0_Setup.part1 + инструкция по установке

http://depositfiles.com/files/2108771 Proteus_v7.2_SP0_Setup.part2

http://depositfiles.com/files/2108273 Proteus_v7.2_SP2_Update

http://depositfiles.com/files/2106637 Crack

http://depositfiles.com/files/2106498 WinPcap_4_0_1

CCS_C 4.57_compiler + Keygen

http://depositfiles.com/files/2111166 4.57_compiler&Keygen.part1

http://depositfiles.com/files/2115596 4.57_compiler&Keygen.part2

http://ww1.microchip.com/downloads/en/DeviceDoc/mp760a.zip MPLAB IDE v7.60a Full Release Zipped Installation

можно поподробнее длячего кажадая програма нужна :rolleyes:

Ну что такое кеюген я в курсе писать не нужнжно :lol:

Уважаемый Нецке, я предупреждал....

Бан 5 дней... модератор Lexi

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

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

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

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

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

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

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

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

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

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

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

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

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

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

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

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

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

Меня очень интересует тема микроконтроллеров, и я желал бы присоединиться, и тем более у меня есть некоторый вопрос- так как я хочу создать устройство, которое будет воспринимать выход с com-порта компьютера и управлять другими устройствами в плане вкл\выкл, подойдут ли эти микроконтроллеры для моей цели, и как их запрограммировать?

P.S. если кто сможет- помогите пожалуйста :unsure:

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

Любые подойдут, и мелкочипы в том числе.

UART который можно состыковать с RS-232 есть практически во всех современных МК.

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

Как советовать, так все чатлане ...

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

Ну почему же грузанул ... если это единственная вещ которая у него есть то можно и помучится, для того чтобы программа наччалась с нужного адреса достаточно в коде перед программой написать ORG и адрес начала свободного участка. Обычно атк делали с УФ-стираемыми контроллерами, главное биты защиты кода не ставить :)))

Вполне таким образом с контроллера можно сделать мало потребляющий электронный выключатель с одной кнопкой.

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

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

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

Всем привет, еще один начинающий с нуля.

Есть задача: 4-ре входа с сотоянием "1" или "0" при условии(см. ниже) на выходе(-ах) нужно сгененрировать "1" в течении 12 секунд.

Приблизительный код програмки в месте сравнения и генерации импульса на Си(только начал изучать)

void main()
while (1) // бесконечный цикл
{
  if ( in1 <> 1 ) if ( in2 <> 1 ) if ( in3 == 1 ) if ( in4 == 1)
																		   { 
																			out1=1;				// включение ножки
																			delay_ms(12000); // задержка включеного состояния
																			out1=0;				// выключение ножки
																			}

Как правильно организовать порты?

Ножки портов вроде расписуются так?

# bit in1=PORTA.1  //Входные ножки
# bit in2=PORTA.2
# bit in3=PORTA.3
# bit in4=PORTA.4

# bit out1=PORTB.1 // Выходная ножка

post-57910-1215181460_thumb.jpg

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

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

На асме это бы выглядело примерно так:

MOVLW	b'00001100'
XORWF	PORTA,W; сравниваем состояние с образцовым
ANDLW	b'00001111' ; убираем незначащие биты

далее анализируем состояние бита Z регистра статуса и принимаем решение

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

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

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

Идея!

А можно-же по-битно занести состояние ножек в регистр и потом сделать сравнение с "образцовым" числом, например "0011" ?

Счя нуно подумать как это организовать!

--------------------------------------------------------

Епрст, прогнал - "Alexeyslav" уже это написал...

... говорю-же - новичек!

Только не нашел описания как сделать анализ регистра статуса Z! ... :( ...предположение - если PORTA и W равны Z=1 иначе Z=0 !? И вопрос, зачем строка?

ANDLW	b'00001111'; убираем незначащие биты

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

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

Чть не забыл, статус Z это бит регистра статуса, для контроллера PIC16F628 это 3-й бит... для других контроллеров он может находится где угодно, но это обычно прописывают в специальном файле конкретном для контроллера и называется он обычно просто Z... Впрочем, если это писать на C то это будет просто проверка на равенство нулю.

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

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

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

Почитал немного книг, коечего понял...

LABEL:
MOV	  R1,b'00001100'		; образцовое значение
MOV	  W,PORTA		; 0011
ANDLW	 b'00001111'		; убираем незначащие биты 
XOR	 W,R1			; сравнение
JNZ LABEL			; если не равные переход на LABEL

... так лутше?

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

Читаю книгу дальше и нашел еще более прикольный вариант:

LABEL1:
MOV R1,b'00000011';образцовое значение
MOV W,PORTA; 0011
ANDLW b'00001111';убираем незначащие биты 
CMP W,R1;сравнение
JNE LABEL1;если не равные переход на LABEL1
JE LABEL2;если равные переход на LABEL2
LABEL2:

... так работать будет?

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

Последние две строки наверное лишние:

JE LABEL2;если равные переход на LABEL2
LABEL2:

LABEL1:
MOV R1,b'00000011';образцовое значение
MOV W,PORTA; 0011
ANDLW b'00001111';убираем незначащие биты 
CMP W,R1;сравнение
JNE LABEL1;если не равные переход на LABEL1

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

Работать то будет, не во всех камнях имеется команда CMP, к тому же она портит некоторые флаги регистра статуса т.к. по сути это команда вычитания, а прелесть команды XOR в том что она портит только флаг Z и не трогает флаг переноса. Поэтому её использование предпочтительней где необходимо только сравнение на совпадение а не больше-меньше.

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

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

Понял - пасиб. Просмотрел даташит на 16F628 и не нашел тама поддержки команды "CMP". Сегодня буду продвигать дальше. Какую схему программатора лутше использовать для даного камня?

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

Наверное самый глупый вопрос!

Как использовать регистры общего назначения?

... давать любое имя и присваивать адрес?

Тоесть нужно-ли какоето обявление об использовании регистра...!?

...

нужно из акамулятора W перенести даные в регистр, а потом обратно... :(

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

Это то что смог придумать сегодня...

CLRF 	STATUS; банк 0
CLRF 	PORTA; инициализация порта А
CLRF 	PORTB; инициализация порта В
MOVLW	0xFF
MOVWF	TRISA; порт А - вход
MOVLW	0x00
MOVWF	TRISB; порт В - выход

LABEL:

MOVLW	PORTA
ANDLW	b`00001111`; убираем незначащие биты
XORWF	W,b`00000011`; сравниваем состояние с образцовым
JNZ	  LABEL; если не равные переход на LABEL

MOV	  PORTB,0xFF; заносим 1 в порт В
DELAY_MS(13000); задержка 13с
MOV	  PORTB,0x00; заносим 0 в порт В
GOTO 	LABEL; зацикливаем

... оооо, оказывается этот камень просто MOV не понимает... :(

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

Насчет использования регистров - да, объявлять константы и пользоваться этими именами, если в проекте сверху написать include "p16f628.inc" то описания таких констант будут доступны автоматически - за вас это уже сделали.

.. оооо, оказывается этот камень просто MOV не понимает...

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

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

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

.. оооо, оказывается этот камень просто MOV не понимает...

А че такая ирония ? Вот лежит передо мной датчик Visonic, собран на 16С622. Он "понимает" еще меньше, однако это не мешает продавать датчики по 65$ за штуку.

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

.. оооо, оказывается этот камень просто MOV не понимает...

А че такая ирония ? Вот лежит передо мной датчик Visonic, собран на 16С622. Он "понимает" еще меньше, однако это не мешает продавать датчики по 65$ за штуку.

Это не ирония, просто код длине будет...

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

Открыл PIC Sim IDE, начал вводить код и получил слеюющее:

---------------------------------------------
PIC ASSEMBLER LISTING
Line	Address Opcode  Instruction
---------------------------------------------
0001	0000			BSF	STATUS, PR0
0001 Error: Unrecognized instruction.
0002	0000			CLRF	 PORTA; инициализация порта А
0002 Error: Unrecognized instruction.
0003	0000			MOVLW	0xFF
0003 Error: Unrecognized instruction.
0004	0000	0065	MOVWF	TRISA; порт А - вход
0005	0001			CLRF	 PORTB; инициализация порта В
0005 Error: Duplicate label.
0006	0001			MOVLW	0x00
0006 Error: Duplicate label.
0007	0001			MOVWF	TRISB; порт В - выход
0007 Error: Duplicate label.
---------------------------------------------
Number of errors = 6

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

Для начала нужно выбрать твой тип контроллера в настройках компилятора и симулятора, выбрать так же слово конфигурации контроллера (это только для симуляции).

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

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

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

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

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

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

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

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

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

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

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

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

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