RUЭВМ
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Апрель 2024
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930     

Календарь Календарь

Последние темы
» Вити больше нет!
автор bug19 Пн Фев 20 2023, 19:54

» Собираем оригинальный Орион 128
автор bug19 Пн Фев 20 2023, 19:47

» Проблема плющеного экрана ОРИОНА
автор kanzler Пн Ноя 28 2022, 12:05

» Орион 128 и его клоны возрождение 2019-2022 год
автор kanzler Пн Ноя 28 2022, 12:03

» Электроника КР-04. Информация, документы, фото.
автор kanzler Пн Ноя 28 2022, 12:02

» Новости форума
автор kanzler Пн Ноя 28 2022, 11:52

» Орион-128 НГМД запуск 2021 года
автор matrixplus Сб Сен 10 2022, 17:36

» ПЗУ F800 для РК86
автор ведущий_специалист Сб Сен 10 2022, 10:37

» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор Электротехник Вт Июл 26 2022, 19:33

» Орион-128 SD карта в Орионе
автор matrixplus Чт Июн 02 2022, 09:00

» 7 Мая. День Радио!
автор Viktor2312 Чт Май 12 2022, 10:58

» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Ср Май 11 2022, 12:17

» Полезные книги
автор Viktor2312 Пн Май 09 2022, 15:07

» Орион 128 Стандарты портов и системной шины Х2
автор matrixplus Вс Май 08 2022, 23:08

» Орион-128 и Орион ПРО еще раз про блоки питания
автор matrixplus Вс Май 08 2022, 19:09

» Орион-128 Программаторы
автор matrixplus Вс Май 08 2022, 19:02

» Орион ПРО история сборки 2021 до 2022
автор matrixplus Вс Май 08 2022, 18:47

» Анонсы монет (New coin).
автор Viktor2312 Сб Май 07 2022, 23:11

» Хочу свой усилок для квартиры собрать не спеша
автор Viktor2312 Сб Май 07 2022, 19:33

» Амфитон 25у-002С
автор Viktor2312 Сб Май 07 2022, 09:38

» Майнер: T-Rex
автор Viktor2312 Вс Май 01 2022, 09:12

» GoWin. Изучение документации. SUG100-2.6E_Gowin Software User Guide. Среда разработки EDA.
автор Viktor2312 Пн Апр 25 2022, 01:01

» GoWin. Изучение документации. UG286-1.9.1E Gowin Clock User Guide.
автор Viktor2312 Сб Апр 23 2022, 18:22

» GoWin. Documentation Database. Device. GW2A.
автор Viktor2312 Ср Апр 20 2022, 14:08

» GOWIN AEC IP
автор Viktor2312 Ср Апр 20 2022, 12:08

Самые активные пользователи за месяц
Нет пользователей

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


PIC16 - микроконтроллеры, изучение, и всё что с ними связано

Перейти вниз

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Empty PIC16 - микроконтроллеры, изучение, и всё что с ними связано

Сообщение  Viktor2312 Пт Фев 19 2016, 21:57

1
.
PIC16 - микроконтроллеры. Изучение, и всё что с ними связано.


Различные полезные ссылки и информация:

  • А тут архив, где можно скачать MPLAB различных версий под разные операционные системы и другое ПО:
    MPLAB X IDE Archives
  • Русскоязычный сайт: http://www.microchip.com.ru/
  • datasheet на PIC16F84


PIC16 - микроконтроллеры, изучение, и всё что с ними связано Pic16f14

***




Продолжение в следующем посте...
.


Последний раз редактировалось: Viktor2312 (Пн Сен 17 2018, 10:07), всего редактировалось 9 раз(а)

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Empty .

Сообщение  Viktor2312 Пт Фев 19 2016, 21:57

2
.
Организация памяти микроконтроллера PIC16F84A.


____В микроконтроллере PIC16F84 существует два блока памяти - память программ и память данных. Каждый блок имеет собственную шину, таким образом, доступ к блокам может происходить одновременно.
____Память данных, в свою очередь, разделена на специальные регистры и регистры общего применения (ОЗУ пользователя). Специальные регистры применяются для хранения битов состояния, определяющих работу портов ввода-вывода, таймеров и других периферийных модулей микроконтроллера.
____Кроме специальных регистров и ОЗУ, пространство памяти данных содержит ячейки EEPROM. Эта область памяти не может быть адресована непосредственно, и доступ к ней получают через специальный регистр косвенной адресации EEADR, в который записывают порядковый номер ячейки. 64 байта EEPROM имеют номера с 00h по 3Fh. Обычно EEPROM используют для хранения констант, значения которых не должны пропадать при отключении питания.
____Несмотря на то, что EEPROM гарантированно допускает 10,000,000 циклов стирания-записи, изготовитель не рекомендует использовать её ячейки для хранения часто изменяемых значений, поскольку при этом может быстро исчерпаться её ресурс. Для хранения программных переменных следует использовать ОЗУ (регистры общего применения).

Память программ.

____Микроконтроллер PIC16F84A имеет 13-битный программный счётчик, позволяющий адресовать до 8К х 14 памяти программ. В микроконтроллере PIC16F84A физически адресуются только первые 1024 (0000h - 03FFh) ячеек памяти. Обращение к старшим адресам, лежащими за пределами указанного диапазона физически равносильно обращению к соответствующим адресам внутри диапазона.

PIC16 - микроконтроллеры, изучение, и всё что с ними связано 0_cf268_29a41b7c_XL
Память программ.

____Старт по сбросу происходит с адреса 0000h, вектор прерывания один и расположен по адресу 0004h. Обычно по адресу 0004h располагают подпрограмму распознавания и обработки прерываний, а по адресу 0000h команду перехода на метку, расположенную сразу за подпрограммой обработки прерывания.

Память данных.

____В микроконтроллере PIC16F84A память данных разбита на две части  - специальные регистры и регистры общего применения (ОЗУ пользователя). Кроме того, память данных разделена на два банка. Что иллюстрирует рисунок ниже:

PIC16 - микроконтроллеры, изучение, и всё что с ними связано 0_cf269_adb29b7b_XL
Организация памяти данных.

____Переключение банков происходит при помощи изменения 5-го бита в регистре STATUS. Если бит установлен в 0, адресуется нулевой банк, если в 1, соответственно, первый. Некоторые специальные регистры адресуются независимо от включённого банка. Например, обращение по адресу 03h при включённом банке 0 или по адресу 83h при включённом банке 1 равнозначно даёт доступ к специальному регистру STATUS. Регистры общего применения представляют собой статическое ОЗУ и могут быть адресованы непосредственно или косвенно, с применением регистра косвенной адресации FSR (04h). Так, например, адреса 0Eh и 8Eh адресуют одну и ту же ячейку ОЗУ.

Специальные регистры.

____Специальные регистры представляют собой статическое ОЗУ, в котором некоторые биты устанавливаются по умолчанию при сбросе. Ниже представлена таблица с специальными регистрами:

PIC16 - микроконтроллеры, изучение, и всё что с ними связано 0_cf2a1_1f2a621c_XL
Специальные регистры и их назначение.


Регистр STATUS (адрес 03h, 83h).

____Регистр STATUS хранит арифметические флаги АЛУ, информацию о сбросе и бит выбора банка памяти данных. Как и любой другой регистр, регистр STATUS может являться регистром назначения для любой операции. Но если над регистром STATUS выполняют операцию, которая может изменить состояние битов Z, DC и C, то запись в эти три бита блокируется. Их состояние изменяется только аппаратно, в зависимости от состояния АЛУ. Более того, биты /TO и /PD также недоступны для записи. Следовательно, результат операции с регистром STATUS в качестве приёмника может оказаться совсем не таким, как ожидалось. Например, команда CLRF STATUS (очистит полностью регистр STATUS) на самом деле очистит только три старших бита и установит в 1 бит Z. Поэтому к регистру STATUS следует применять только команды BCF, BSF, SWAPF и MOVWF, потому что они не изменяют другие биты состояния.
____Рассмотрим подробно назначение битов регистра STATUS:

PIC16 - микроконтроллеры, изучение, и всё что с ними связано 0_cf2a2_2b1b35e5_XL
Биты регистра STATUS.

bit 7. IRP - бит выбора банка памяти, применяемый при косвенной адресации. Этот бит не применяется в PIC16F84A и должен всегда оставаться сброшенным. Чтобы обеспечить совместимость программы с более новыми микроконтроллерами, этот бит никогда нельзя использовать в программе при использовании микроконтроллера PIC16F84A.
0 = bank 0,1 (00h - FFh)
1 = bank 2,3 (100h - 1FFh)

bit 6 - 5. RP1, RP0 - биты выбора банка памяти, применяемый при прямой адресации.
00 = bank 0 (00h - 7Fh)
01 = bank 1 (80h - FFh)
10 = bank 2 (100h - 17Fh)
11 = bank 3 (180h - 1FFh)
Каждый банк содержит 128 байт. Поскольку в PIC16F84A используется только два банка, 0 и 1, то бит RP1 должен быть всегда сброшен, а для выбора банка используется бит RP0.

bit 4. /TO - флаг срабатывания сторожевого таймера. Устанавливается в 1 при включении питания и командами CLRWDT и SLEEP. Сбрасывается в 0 по завершении выдержки сторожевого таймера.

bit 3. /PD - режим хранения данных. Устанавливается в 1 при включении питания или выполнении команды CLRWDT. Сбрасывается в 0 командой SLEEP.

bit 2. Z - флаг нулевого результата. Устанавливается в 1, если результат арифметической или логической операции равен нулю. Сохраняет своё значение до следующей операции.

bit 1. DC - флаг десятичного переноса. Используется для команд ADDWF, ADDLW, SUBWF и SUBLW. Отслеживает перенос из четвёртого разряда результата.
1 = Произошёл перенос при сложении.
0 = Не произошёл перенос при сложении.
Вычитание в АЛУ выполняется сложением кода первого операнда с дополнительным кодом второго операнда. Значение бита контекстно зависит от того, какая операция выполнялась. Для операции вычитания значение бита инвертировано.

bit 0. C - флаг переноса. Используется для команд ADDWF, ADDLW, SUBWF и SUBLW. Отслеживает перенос из старшего разряда в бит переноса при сложении.
1 = Произошёл перенос при сложении.
0 = Не произошёл перенос при сложении.

____Вычитание в АЛУ выполняется сложением кода первого операнда с дополнительным кодом второго операнда. Значение бита контекстно зависит от того, какая операция выполнялась. Для операции вычитания значение бита инвертировано. Так, например, выполнив операцию вычитания 00h - 01h получаем FFh и бит С, установленный в 1. Следовательно результат операции отрицательный (бит С здесь выступает как знаковый разряд и число FFh с установленным знаковым разрядом по законам двоичной алгебры является минус единицей). При вычитании 01h - 00h получаем 01h и бит С = 0. Результат положительный. При сложении FFh + 02h получаем 01h и бит С = 1. Произошёл перенос, значит реальный результат 101h.
____При выполнении команд сдвига RRF и RLF в этот бит загружается соответственно младший или старший бит регистра-источника.
____Используя флаги /TO и /PD можно определить, чем был вызван сброс.

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Pic16f10

х - состояние битов не изменилось. Сброс по входу /MCLR в обычном режиме не меняет текущие значения битов /TO и /PD.


Регистр OPTION_REG (адрес 81h).

____Специальный регистр OPTION_REG представляет собой полностью доступный для записи и чтения регистр, в котором находятся биты, управляющие работой предварительного делителя, источниками внешних прерываний, встроенным таймером TMR0 и подтягивающими резисторами для порта B.

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Pic16f11
Биты регистра OPTION_REG.

____Назначение битов регистра OPTION_REG:

bit 7. /RBPU - включение встроенной нагрузки порта B.
1 = Нагрузка отключена.
0 = Нагрузка включена.

bit 6. INTEDG - выбор фронта прерывающего сигнала.
1 = Прерывание по нарастанию сигнала на выводе RB0/INT.
0 = Прерывание по спаду сигнала на выводе RB0/INT.

bit 5. T0CS - выбор источника тактирования для таймера TMR0.
1 = Импульсы с входа RA4/T0CKI.
0 = Внутренняя тактовая частота (CLKOUT).

bit 4. T0SE - выбор фронта сигнала для таймера TMR0, если в качестве источника выбран вход RA4/T0SKI (T0CS = 1).
1 = Инкремент по спаду на выводе RA4/T0SKI.
0 = Инкремент па нарастанию на выводе RA4/T0SKI.

bit 3. PSA - бит, управляющий подключением предварительного делителя.
1 = Предварительный делитель подключён к WDT.
0 = Предварительный делитель подключён к TMR0.

bit 2 - 0. PS2 - PS0 - управление коэффициентом деления предварительного делителя в зависимости от подключения.

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Pic16f12


Регистр INTCON (адрес 0Bh, 8Bh).

____Регистр INTCON - это полностью доступный для чтения и записи регистр, в котором хранятся биты, управляющие различными источниками прерываний.

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Pic16f13

____Назначение битов регистра INTCON:

bit 7. GIE - бит глобального запрета прерываний.
1 = Разрешены все немаскируемые прерывания.
0 = Запрещены все прерывания.

bit 6. EEIE - разрешение прерывания по окончанию записи в EEPROM.
1 = Прерывание по окончанию записи разрешено.
0 = Прерывание по окончанию записи запрещено.

bit 5. T0IE - разрешение прерывания по переполнению таймера TMR0.
1 = Прерывание разрешено.
0 = Прерывание запрещено.

bit 4. INTE - разрешение прерывания по входу RB0/INT.
1 = Прерывание разрешено.
0 = Прерывание запрещено.

bit 3. RBIE - разрешение прерывания по изменению состояния на входах порта B, линии RB7 - RB4.
1 = Прерывание разрешено.
0 = Прерывание запрещено.

bit 2. T0IF - флаг прерывания по переполнению таймера/счётчика TMR0.
1 = TMR0 был переполнен (следует сбросить программно!).
0 = TMR0 не был переполнен.

bit 1. INTF - флаг прерывания по входу RB0/INT.
1 = Произошло прерывание по входу RB0/INT (следует сбросить программно!).
0 = Не происходило прерывание по входу RB0/INT.
Флаг используется для определения источника прерывания.

bit 0. RBIF - флаг прерывания по изменению состояния на входах RB7 - RB4.
1 = На одном из входов RB7 - RB4 произошло изменение уровня (следует сбросить программно!).
0 = Не происходило прерывание по изменению уровня.
Флаг используется для определения источника прерывания.


***





Продолжение в следующем посте...
.


Последний раз редактировалось: Viktor2312 (Пн Сен 17 2018, 10:42), всего редактировалось 34 раз(а)

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Empty .

Сообщение  Viktor2312 Пт Фев 19 2016, 21:58

3
.
Программный счётчик.

____Программный счётчик микроконтроллера (РС) содержит 13 разрядов. Младший байт счётчика является полностью доступным для чтения и записи регистром PCL (адрес 02h, 82h). Старший байт PCH, в нём используются только пять младших бит. Старшие пять битов счётчика непосредственно не доступны для чтения и записи. Обращение к ним происходит через регистр PCLATH (адрес 0Ah, 8Ah), являющийся буфером-защёлкой для старших битов счётчика. Содержимое PCLATH переносится в старшие биты РС, когда происходит запись нового значения в программный счётчик РС. Это случается, когда выполняются команды CALL, GOTO или регистр PCL является регистром назначения для результата арифметической операции.
____Если команды отрабатываются последовательно, без "прыжков", и произошло переполнение PCL, состояние 255 сменилось на состояние 0, то содержимое PCH инкрементируется, увеличивается на 1.

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Pic16f15

____Возможность выполнять арифметические операции непосредственно над программным счётчиком позволяет очень просто и эффективно, всего двумя командами, выполнять табличную перекодировку значений. Следует только контролировать исходное значение, чтобы программный счётчик не вышел за пределы таблицы, если в ней применено менее 256 записей.
____Вычисляемый переход может быть выполнен командой приращения к регистру PCL (например, ADDWF PCL). При выполнении вычисляемого перехода следует заботиться о том, чтобы значение PCL не пересекло границу блока памяти (каждый блок 256 байт).

Примечание. При записи значения в регистр PCL, автоматически происходит перезапись 5 младших бит из регистра PCLATH <4:0> в регистр PCH.

____Микроконтроллер PIC16F84 имеет 1 К слов программной памяти. Команды CALL и GOTO используют 11 бит для указания адреса, что позволяет использовать 2 К слов адресного пространства. Для предстоящего расширения программной памяти потребуется ещё два бита, определяющих её страницы. В качестве этих битов будут использоваться разряды 4 и 3 регистра PCLATH. При использовании в программе команд CALL и GOTO надо быть уверенным, что биты 4 и 3 в PCLATH запрограммированы правильно и произойдёт переход на нужную страницу памяти. Сейчас биты 4 и 3 не используются, однако для обеспечения совместимости "снизу вверх" использовать их в своих программах в качестве битов общего назначения (например для хранения флагов) не рекомендуется.
____


Последний раз редактировалось: Viktor2312 (Пн Сен 17 2018, 15:57), всего редактировалось 11 раз(а)

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Empty Re: PIC16 - микроконтроллеры, изучение, и всё что с ними связано

Сообщение  Viktor2312 Пт Фев 19 2016, 21:59

4
резерв.


Последний раз редактировалось: Viktor2312 (Ср Сен 12 2018, 13:35), всего редактировалось 2 раз(а)

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Empty Re: PIC16 - микроконтроллеры, изучение, и всё что с ними связано

Сообщение  Viktor2312 Пт Фев 19 2016, 22:03

5
резерв.


Последний раз редактировалось: Viktor2312 (Ср Сен 12 2018, 13:14), всего редактировалось 1 раз(а)

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Empty Re: PIC16 - микроконтроллеры, изучение, и всё что с ними связано

Сообщение  Viktor2312 Пт Апр 22 2016, 15:37

6
резерв.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Empty Re: PIC16 - микроконтроллеры, изучение, и всё что с ними связано

Сообщение  Viktor2312 Ср Сен 12 2018, 13:24

7
резерв.


Последний раз редактировалось: Viktor2312 (Чт Сен 13 2018, 09:34), всего редактировалось 4 раз(а)

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Empty Re: PIC16 - микроконтроллеры, изучение, и всё что с ними связано

Сообщение  Viktor2312 Ср Сен 12 2018, 13:26

8
резерв.


Последний раз редактировалось: Viktor2312 (Пн Сен 17 2018, 10:20), всего редактировалось 2 раз(а)

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Empty Re: PIC16 - микроконтроллеры, изучение, и всё что с ними связано

Сообщение  Viktor2312 Ср Сен 12 2018, 13:34

9
резерв.


Последний раз редактировалось: Viktor2312 (Чт Сен 13 2018, 13:41), всего редактировалось 2 раз(а)

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Empty Re: PIC16 - микроконтроллеры, изучение, и всё что с ними связано

Сообщение  Viktor2312 Чт Сен 13 2018, 09:35

10
На хранении:

PIC16 - микроконтроллеры, изучение, и всё что с ними связано 0_ccd5c_6a7db58c_L
MPLAB IDE v8.92

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Empty Re: PIC16 - микроконтроллеры, изучение, и всё что с ними связано

Сообщение  Viktor2312 Чт Сен 13 2018, 09:36

11
резерв.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

PIC16 - микроконтроллеры, изучение, и всё что с ними связано Empty Re: PIC16 - микроконтроллеры, изучение, и всё что с ними связано

Сообщение  Viktor2312 Пн Сен 17 2018, 10:20

12
резерв.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения