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

crazz

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

Кто сталквался с шиной I2C?.....

Покажи хоть код.

На чём пишешь? Как реализуешь, аппаратно или программно?

У меня была проблема с I2C. Оказалось, что из-за прерываний, хотя реализовывал шину программно и они никаким боком ее не касались. Исправил всё полным отключением прерываний на время передачи.

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

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

Я может не вовремя :) Помогите реализовать задержку с точностью до нескольких мкс на СИ, для pic16f84. встроеной задержки, как я знаю там нет, может кто подкинет готовую функцию

Удовольствие критиковать мешает наслаждаться прекрасным. (це) Ж. Ла6рюйер

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

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

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

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

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

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

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

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

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

Компилятор HI-TECH PICC, как-то так. Ещё есть такой CCS C Compiler но я ещё его не испытывал.

Кстати есть хороший сайт для новичков в освоении МК http://www.pcports.ru/ как мне кажется!

Изменено пользователем DJ Димон

Удовольствие критиковать мешает наслаждаться прекрасным. (це) Ж. Ла6рюйер

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

Этот компилятор на меня сругался 'Error: The selected compiler: "PCM" is not installed on this PC' почему-то.

я в HI-TECH нашёл файл с функцией DelayUs(x); х - время в мкс.

//-----------------------------------Задержка в мкс------------------------------------------

#ifndef XTAL_FREQ

#define XTAL_FREQ 20MHZ // Частота кварца в MHz

#endif

#define MHZ *1000L // Количество kHz в MHz

#define KHZ *1 // количество kHz в kHz

#if XTAL_FREQ >= 12MHZ

#define DelayUs(x) { unsigned char _dcnt; \

_dcnt = (x) * ((XTAL_FREQ)/(12MHZ)); \

while(--_dcnt != 0) \

continue; }

#else

#define DelayUs(x) { unsigned char _dcnt; \

_dcnt = (x) / ((12MHZ)/(XTAL_FREQ)) | 1; \

while(--_dcnt != 0) \

continue; }

#endif

//--------------------------------------------------------------------------------------------

Удовольствие критиковать мешает наслаждаться прекрасным. (це) Ж. Ла6рюйер

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

Этот компилятор на меня сругался 'Error: The selected compiler: "PCM" is not installed on this PC' почему-то.

Странно... Это он говорит, что у него что-то не установлено для 14-разрядных пиков.

А так, в нем есть встроенные функции задержек (циклы, мкс, мс).

Просто указываешь в h-файле частоту тактового генератора в герцах:

#use delay (clock=5000000)

или

#use delay (clock=5000000, RESTART_WDT)

А в коде программы, где нужно, вставляешь, например, delay_us(X) или delay_ms(X).

И всё...

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

Подскажте, можно ли в MPLAB IDE (асемблер), в командах указывать назваеие регистров, бтов (н-р BCF STATUS,RP1)? В примерах пишется, а у меня не получается, может клацнуть гдето надо? :wacko:

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

Можно, если в начале пишешь

include '16f84.h' - например. Указываешь свой контроллер только.

В этих файлах указаны регистры и биты, затем можно использовать, как у тебя в примерах.

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

Можно, если в начале пишешь

include '16f84.h' - например. Указываешь свой контроллер только.

В этих файлах указаны регистры и биты, затем можно использовать, как у тебя в примерах.

***СПАСИБО***

:D

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

В контроллерах с буквой "А" увеличено количество аналоговых портов (т.е. коммутируемых на АЦП), а также изменен способ программирования. А в остальном они ничем не отличаются от тех, что без буквы "А".

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

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

Всем привет!

Возникла проблема с PIC12F629 (начинаю осваивать).

Суть вот в чем: Нужно написать простенькую программу - зажеч светодиоды, порты GPI1,GPI2(Ген-ХТ, кварц 4МГЦ)

__CONFIG_XT_OSC_WDT_OFF_PWRTE_ON

Программу написал в MPLABe (компиляция прошла успешно).

Пробовал запустить в PROTEUSe(6.9sp5). Заливаю HEX-файл нажимаю на PLAY - ничего не происходит!

Все выводы в PIC12F629 не активны!

Пробовал сделать тоже на PIC16F84A - все получилось прекрасно. но этот ПИК дорогой, да и задача не

для него.

Подскажите что не так!

Спасибо.

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

Выложите схему и прошиву будет смотреть

Изучайте СИ.

да и берите за основу хотябы PIC16F628A.

Их валом везде.

Пишу на Си CCS PICC для PIC, CVAVR для AVR, и иногда IAR для NEC. Особенно привык к SIM300dz.

ICQ: 288449055

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

Выложите схему и прошиву будет смотреть

Изучайте СИ.

да и берите за основу хотябы PIC16F628A.

Их валом везде.

По поводу изучения СИ - это ближайшая задача.

Сейчас изучаю PIC16F628A, а PIC12F629 нужен для конкретной небольшой задачи.

Схема и прошивка остались на работе, завтра утром все выложу. Спасибо.

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

По поводу изучения СИ - это ближайшая задача.

Сейчас изучаю PIC16F628A, а PIC12F629 нужен для конкретной небольшой задачи.

Схема и прошивка остались на работе, завтра утром все выложу. Спасибо.

Изучайте Си не в перспективе а сейчас, много гемора с себя снимете.

Пишу на Си CCS PICC для PIC, CVAVR для AVR, и иногда IAR для NEC. Особенно привык к SIM300dz.

ICQ: 288449055

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

В контроллерах с буквой "А" увеличено количество аналоговых портов (т.е. коммутируемых на АЦП), а также изменен способ программирования. А в остальном они ничем не отличаются от тех, что без буквы "А".

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

Привет!!! Спасибо большое. Где можно найти документацию которая указалаб на эти отличя (особенно режм программирования)

Где можно найти документацию которая указалаб на эти отличя (особенно режм программирования) на микросхему PIC16F876A-I/SP???

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

Если Вы про физическую схему подколючения - то разницы нет. Остальное делает программатор сам. А если про регистры банки памяти то сомторите в datasheet. Там все есть.

По воросу выше на 1 пост читаем http://www.microchip.by/files/87x_to_87xa.pdf.

Пишу на Си CCS PICC для PIC, CVAVR для AVR, и иногда IAR для NEC. Особенно привык к SIM300dz.

ICQ: 288449055

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

По поводу пика 12F629.

Cхемка простая сделана для выяснения "тормоза" ,поэтому описать ее быстрей, чем нарисовать:

К выводу GP1 присоединен резистор 330 ом за ним светодиод и на "землю".

К выводу GP2 присоединен резистор 330 ом за ним светодиод и на "землю". Вся схема.

Вот программа на АСМе:

; PIC12F629 Кварц 4 МГц.

LIST p=12F629

#include<p12f629.inc>

__CONFIG_XT_OSC_WDT_OFF_PWRTE_ON

;------------------------------------------------------------------------------------------------

; Определение положения регистров специального назначения.

;------------------------------------------------------------------------------------------------

GPIO equ 05h

Status equ 03h

TRISIO equ 85h

;------------------------------------------------------------------------------------------------

; Определение названия и положения регистров общего назначения.

;================================================================================================

RP0 equ 5 ;Присваивание 5 биту имени RPO регистра Status.

;------------------------------------------------------------------------------------------------

; Определение места размещения результатов операций.

;------------------------------------------------------------------------------------------------

w equ 0

F equ 1

;------------------------------------------------------------------------------------------------

; Текст рабочей части программы.

;------------------------------------------------------------------------------------------------

; Установка направления работы портов.( Переписано из ДШ по пикам).

;------------------------------------------------------------------------------------------------

Start bcf Status,RP0 ;Переходим в 0-й банк.

clrf GPIO ;Инициализация защелок GPIO.

movlw 0x07

movwf CMCON ;Каналы GPIO-цифровые входы-выходы.

bsf Status,RP0 ;Переходим в 1-й банк.

movlw .8 ;Значения для инициализации

;направления каналов GPIO (00001000).

movwf TRISIO ;Канал 3 настроен на вход-остальные на выход.

bcf Status,RP0 ;Переходим в 0-й банк.

;------------------------------------------------------------------------------------------------

d movlw .6 ;(00000110) на выводах GP1,GP2 установить "1"

movwf GPIO ;Зажеч светодиоды и больше ничего не делать.

goto d

end

В PROTEUSe на выводах ПИКА никакого движения (ни "0" ни "1" нет) симулятор ошибки не выдает.

ПО поводу изучения СИ-согласен .В основном все рекомендую книгу Ю.Шпака -Программирование PIC иAVR.

Что то еще есть по ПИКам на СИ?

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

В мои руки сначала попал компилятор, который описан в этой книге, а потом и сама книга. Теперь вот привык к нему ;). Но это как кому. Книга Кэригана в передоде. Там чистый Си++.

Пишу на Си CCS PICC для PIC, CVAVR для AVR, и иногда IAR для NEC. Особенно привык к SIM300dz.

ICQ: 288449055

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

Открыл сегодня microC - 6.0(Он установлен был раньше), начал просматривать примеры и нашел

похожий на мою задачу. В журнале Радиоаматор за 2006 год есть краткое описание работы в microC с примерами. :rolleyes:

Модифицировал пример под свою схему, ПИК взял 16F628A (компиляция прошла успешно),

потом залил HEX-файл в ПИК в PROTEUSe и схема заработала!!!!!! :lol:

Книга Кэригана у меня есть - теперь буду плотно ее изучать.

Теперь туже схему попробую сделать на 12F629 в microC. Спасибо. ;)

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

Пробовал запустить PIC12F629, PIC12F675 в PROTEUSe (6.9sp5).

Ничего не выходит.

Брал готовые примеры из microC -компилировал-заливал в PIC12F629, PIC12F675 в PROTEUSe (6.9sp5)-тишина!!

Видно не хочет мой PROTEUS их обрабатывать :(

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

В железе пока не пробовал, остановлюсь на PIC 16F628A. переустановлю PROTEUS новую версию, попробую еще раз, а потом буду пробовать в железе PIC 12F629.

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

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

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

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

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

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

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

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

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

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

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

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