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

Про Pic16F84


dimas5552

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

Я создал папку в C:\Program Files (x86)\Microchip\MPASM Suite\Project но после работы в визарде она почемуто остаётся пустая... почему нельзя кидать проекты на диск D ?

MOVLW 0

TRIS 6

C этими строками я более менее разобрался. Для наглядности заменил их таким натасканным кодом:

MOVLW b'00000000'

bsf STATUS, 5

MOVWF TRISB

bcf STATUS, 5

Теперь меня интересует, какую функцию выполняет строка OPTION. Убрал её - в результате пауза мультивибратора стала в 10 раз больше...

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

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

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

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

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

Изображения в теме

Для создания проекта на D необходимо прописать путь от папки проекта ко всем файлам вне этой папки в том же визарде или меню проекта. иначе в проект не будет включен хедер. Тогда придетя весь хедер прописывать в самом исходнике...

戦う前に相手のベルトの色に注目

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

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

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

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

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

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

Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

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

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

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

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

Я создал папку в C:\Program Files (x86)\Microchip\MPASM Suite\Project но после работы в визарде она почемуто остаётся пустая...

А что Вы хотите в ней увидеть?

Напишите код откомпилируйте его один раз и все там будет. Файлы проекта и воркспейса в МПЛАБе видны только при открытии сохраненного проекта.

Просто поразительно... Ни одного полноценного шага к результату. Любой ничтожный повод и ныряет в сторону, в дебри...

Есть такие люди, что им не поручи - любое дело завалят. Даже простейшее...

戦う前に相手のベルトの色に注目

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

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

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

Кстати иногда бывает в висте/7, что система не дает софту, запущенному не "от имени администратора", доступа к каталогам в c:\windows, c:\program files, c:\program files (x86) и т.д., если после установки не настраивать права, отличные от дефолтных... Ну т.е. читать позволяет, а писать нет (даже в temp), в итоге ошибки...

> Правила форума <

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

...это не дым от канифоли, нет... это души умерших транзисторов....

Первый закон Ома: никому не рассказывать про Ома!

Ну вот, а ты говорил ноль...

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

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

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

Кстати иногда бывает в висте/7, что система не дает софту, запущенному не "от имени администратора", доступа к каталогам в c:\windows, c:\program files, c:\program files (x86) и т.д., если после установки не настраивать права, отличные от дефолтных... Ну т.е. читать позволяет, а писать нет (даже в temp), в итоге ошибки...

У меня как раз Windows 7... Для наглядности привожу скрин, где ясно видно, что асм файл открыт с адреса C:\Program Files (x86)\Microchip\MPASM Suite\Project, а сама папка в проводнике пустая :blink:

post-107048-025229300 1283407494_thumb.png

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

В окошке винды есть такая строка в инструментах: Файлы совместимости.

Стоит пожалуй включить все файлы как видимые и не морочить себе голову...

戦う前に相手のベルトの色に注目

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

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

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

list p=16F84A

#include <p16F84A.inc>

errorlevel -302

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

T0H equ 0x20

ORG 0x000

clrf PORTB

bsf STATUS, RP0

clrf TRISB

movlw b'10000111'

movwf OPTION_REG

bcf STATUS, RP0

movlw .10 ; число переполнений таймера до измения состояния порта

movwf T0H

btfss INTCON, T0IF

goto $-1

bcf INTCON, T0IF

decfsz T0H, f

goto $-4

movlw 0x01

xorwf PORTB, f

goto $-9

END

Сделал как надо, заработалло :rolleyes: и сразу пара вопросов:

1.

T0H equ 0x20
это регистр 20h ?

2.

ORG 0x000
разве шеснадцетиричные цифры пишутся не в формате 0x00 ?
Ссылка на комментарий
Поделиться на другие сайты

1. Да

2. Их пишут в необходимой разрядности: например 0х00 - 8 разрядов, 0х000 - 12 разрядов, 0х0000 - 16 разрядов и так далее. Метакоманда org означает привязку кода следующего за ней к абсолютному адресу в программной памяти. Значит разрядность счетчика команд (разрядность адресного пространства программной памяти) и определит количество цифр. Причем нули впереди можно и не писать. Т.е. в данном случае прокатит и 0х0.

戦う前に相手のベルトの色に注目

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

btfss INTCON, T0IF

Если бит T0IF в INTCON равен нулю (небыло переполнения счетчика), то PC инкрементируется на 1. Вопрос: а где этот счетчик мы запустили? Ведь в строке

movlw b'10000111'

movwf OPTION_REG

мы лиш указали на то, что будем работать со счетчиком. Разве тут не надо нажимать "кнопку" как на часах для начала отсчета?

Или если счетчик работает постоянно, то получается, что на момент обработки этой команды в счетчике уже будет некоторое значение и в зависимости от длины ранее идущего кода (в это время счетчик же работает...) переполнение счетчика может наступить или через 256 м.ц. или же сразу на следующем м.ц. Получается погрешность +- 255 м.ц. или 255 миллисекунд (четверть секунды)...

И куда направляет команда

goto $-1
??? ведь в коде нет метки с названием $-1... Изменено пользователем dimas5552
Ссылка на комментарий
Поделиться на другие сайты

:) Беру свои слова назад. Вы делаете явные успехи.

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

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

3. Временной интервал между переполнениями не зависит от обработки флага переполнения. Счетчик продолжит считать.

Поэтому переполнения будут возникать с частотой 1:256 от выходной частоты прескалера (предделителя) этого счетчика. А его мы в свою очередь установили тоже 1:256 в регистре OPTION_REG (смотрим даташит на контроллер). Таким образом ловим установку флагов и инкрементируем программную часть счетчика (Т0Н). Если время от установления флага переполнения до его программного сброса после обработчика флага не превысит интервал между переполнениями, то ни одного события переполнения пропущено не будет. Иначе нужно понижать частоту счета.

4. Вообще знак доллара ($) означает в асме счетчик команд. Поэтому $-1 означает перейти на одну команду вверх по коду. $+5 - соответственно на 5 команд вниз. Так называемая относительная метка. Вообще это дурной тон программирования, потому как при вставке кода может возникнуть ошибка перехода (при невнимательности). Однако при монолитных неразъемных фрагментах и их частой повторяемости метки плохочитаемы. Поэтому допустимо писать переходы через счетчик команд. Компилятор по любому заменит это обозначение на абсолютный адрес. Кроме того, должен отметить, что в 18-ых пиках одна команда занимает ровно 2 (или 4 для двухсловных) байта (16-ти разрядные команды), поэтому, в отличие от 10-х...16-х пиков, там смещение на одну команду зависит от ее длины (есть двухсловные) и минимально составляет 2 байта. Т.е. смещение на одну однословную команду вниз составит $+2. Это лишний аргумент, чтобы не злоупотреблять этим методом записи.

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

戦う前に相手のベルトの色に注目

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

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

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

Как расчитать, сколько времени будет задержка по этому коду:

btfss INTCON, T0IF

goto $-1

если частота кварца 4 мГц и предделитель установлен на 1:256 ?

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

Это не задержка. Это ожидание флага. Задержка определится интервалом переполнения и он составит 65536 микросекунд при 4 мгц кварце

戦う前に相手のベルトの色に注目

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

Машинный цикл равен 4 периодам кварца. т.е. 1 мкс. Прескалер и сам счетчик дадут 2 последовательных делителя на 256. Т.е. на 65536. Ровно столько машинных циклов потребуется таймеру от нуля до переполнения.

А вообще почитайте про этот таймер тут: http://www.microchip.ru/files/d-sheets-rus/pic16_11.pdf

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

戦う前に相手のベルトの色に注目

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

Откройте ссылку и посмотрите схему таймера. Впереди него стоит программируемый предделитель. Коэффициент его деления устанавливается как раз в регистре OPTION_REG младшими четырьмя битами.

На сегодня все. Я сейчас должен уехать. Завтра утром продолжим.

戦う前に相手のベルトの色に注目

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

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

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

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

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

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

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

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

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

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

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

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