- •1)Дизъю́нкция
- •2) Конъю́нкция
- •3) Инверсия
- •4) Переместительный закон
- •5)Сочетательный закон
- •6. Распределительный закон
- •7.Законы поглощения
- •8. Правило склеивания
- •9. Правило де Моргана
- •10.Стрелка Пирса
- •13. Транзисторные ключи
- •14. Электронная логическая схема операции не.
- •15. Электронная логическая схема операции или
- •18. 19Схема на логических элементах – мультивибратор.
- •20.Схема на логических элементах – одновибратор.
- •21. Схема на логических элементах – мультивибратор.
- •25. Схема на логических элементах – синхронный rs-триггер
- •26.Схема на логических элементах – d-триггер.
- •27.Схема на логических элементах – синхронный jk-триггер.
- •28.Схема на логических элементах – dv-триггер
- •29.Типовой узел цифровых устройств – регистр.
- •30.Типовой узел цифровых устройств – счетчик импульсов.
- •31.Типовой узел цифровых устройств – сумматор.
- •32.Регистр состояния status микроконтроллера pic16f877
- •33. Организация памяти микроконтроллера pic16f877.
- •35.Использование тактового генератора для микроконтроллера pic16f877.
- •44.Характеристика микроконтроллера pic16f877.
- •45.Отладочные средства микроконтроллера pic16f877
- •47. Флаги регистров специального назначения.
35.Использование тактового генератора для микроконтроллера pic16f877.
Тактовый сигнал необходим для выполнения команд контроллера и работы периферийных устройств. Режим работы тактового генератора определяется битами в слове конфигурации, расположенными в энергонезависимой памяти. Настроить/изменить биты конфигурации можно толькопри программировании контроллера.
Для контроллеров PIC16F876/876A/877/877A предусмотрено 4 режима тактового генератора: LP — низкочастотный кварцевый резонатор (пониженное энергопотребление); XT — стандартный кварцевый/керамический резонатор; HS — высокочастотный кварцевый резонатор; RC — внешний резистор/конденсатор.
В своей практике я использовал только 2 режима HS и RC, поэтому рассмотрим их поподробнее.
HS — высокочастотный кварцевый резонатор.
Для кварцевого резонатора (например hc49) значения конденсаторов будут следующие:
Для предотвращения возбуждения резонатора на низких частотах последовательно устанавливают резистор Rs. Обычно ставлю резистор 510-560 Ом.
RC — внешний резистор/конденсатор.
Там где не требуется стабильная частота и точные временные задержки в работе устройства можно использовать в качестве генератора RC-цепочку. В этом режиме частота генератора будет зависеть от напряжения питания, сопротивления Rext, емкости Cext, рабочей температуры и технологических разбросов компонентов и контроллера.
Рекомендуемое значение Rext от 3кОм до 100кОм, при других значениях генератор будет нестабильным. Для стабильной работы генератора рекомендуется подключать конденсатор Cext с емкостью более 20пФ. В режиме RC-генератора на выходе OSC2 генерируется тактовый сигнал Fosc/4.
Пример частоты RC-генератора.
Для примерного подбора значений Rext и Cext была собрана тестовая схемка — Rext переменный многооборотный резистор 20кОм, Cext = 30pF. В качестве результата использовался выход OSC2, с которого снималась частота работы контроллера (Fosc/4). Результаты опыта представлены в таблице.
Rext (kOm) |
OSC2 (kHz) |
2,07 |
1500 |
2,37 |
1400 |
2,66 |
1300 |
2,98 |
1200 |
3,32 |
1100 |
3,78 |
1000 |
4,34 |
900 |
5,04 |
800 |
5,9 |
700 |
7,01 |
600 |
8,65 |
500 |
11,05 |
400 |
15,13 |
300 |
20 |
230 |
Как видно из графика зависимость частоты от резистора Rext не совсем линейная.
36.
37.
38-39. Количество цифр (символов) применяемых в системе называют ее основанием. Минимальный объем информации, который можно записать на носителе информации называют бит. Восемь носителей информации объединили в одну ячейку памяти, и назвали байт.
Т а б л и ц а Б.1 - Запись чисел в различных системах счислений
Десятичная система |
Двоичная система |
Двоично-десятичная система |
Шестнадцатеричная система |
0 |
0000 |
0000 |
0 |
1 |
0001 |
0001 |
1 |
2 |
0010 |
0010 |
2 |
3 |
0011 |
0011 |
3 |
4 |
0100 |
0100 |
4 |
5 |
0101 |
0101 |
5 |
6 |
0110 |
0110 |
6 |
7 |
0111 |
0111 |
7 |
8 |
1000 |
1000 |
8 |
9 |
1001 |
1001 |
9 |
10 |
1010 |
0001 0000 |
A |
11 |
1011 |
0001 0001 |
B |
12 |
1100 |
0001 0010 |
C |
13 |
1101 |
0001 0011 |
D |
14 |
1110 |
0001 0100 |
E |
15 |
1111 |
0001 0101 |
F |
16 |
00010000 |
0001 0110 |
10 |
17 |
00010001 |
0001 0111 |
11 |
18 |
00010010 |
0001 1000 |
12 |
19 |
00010011 |
0001 1001 |
13 |
20 |
00010100 |
0010 0000 |
14 |
Примеры записи чисел в программе:
- D’07’ – десятичное число;
- B’0111’ – двоичное число;
- H’07’или 0х07 или 07h – шестнадцатеричное число.
Алгоритм перевода чисел из двоичной системы в шестнадцатеричную систему: сначала двоичное число разбиваем на четверки чисел справа налево, затем для каждой четверки записываем его эквивалент из приведенной таблицы А1. П р и м е р. 0101 1011 11012 = 5ВD16.
Обратный перевод чисел очевиден, необходимо только аккуратно писать именно четверки двоичных чисел, дописывая при необходимости нули слева: 116.= 00012, 216 = 00102. П р и м е р. 415С16==0100 0001 0101 11002.
В двоично-десятичной системе каждый десятичный знак отображается четырьмя двоичными числами.
40.
41,42,43
Таблица2. Команды микроконтроллера PIC16F877.
Мнемоника |
Операция |
Циклы |
Код команды |
Флажки |
Примечание |
команды |
|
|
|
|
|
БАЙТОВЫЕ КОМАНДЫ | |||||
ADDWF f, d |
Сложение (W + f->d) |
1 |
00 0111 dfffffff |
C.DC.Z |
1,2 |
ANDWF f, d |
Логическое "И" (Wandf— >d) |
1 |
00 0101 dfffffff |
Z |
1,2 |
CLRF f |
Обнулить f |
1 |
00 0001 1fffffff |
Z |
2 |
CLRW - |
Обнулить W |
1 |
00 0001 0xxx xxxx |
Z |
|
COMF f, d |
Дополнение f (Логическое "НЕ") |
1 |
00 1001 dfffffff |
Z |
1,2 |
DECF f, d |
Декремент f | |
1 |
00 0011dfffffff |
Z |
1,2 |
DECFSZ f, d |
Декремент f, пропуск если "0" |
1(2) |
00 1011 dfffffff |
|
1,2,3 |
INCF f, d |
Инкремент f |
1 |
00 1010 dfffffff |
Z |
1,2 |
INCFSZ f, d |
Инкремент f, пропуск если "0" |
1(2) |
00 1111 dfffffff |
|
1,2,3 |
IORWF f, d |
Логическое "ИЛИ" (Worf->d) |
1 |
00 0100 dfffffff |
Z |
1,2 |
MOVF f, d |
Пересылка (f — >W) |
1 |
00 1000 dfffffff |
Z |
1,2 |
MOVWF f |
Пересылка (W — >f) |
1 |
00 0000 1fffffff |
|
|
NOP |
Пустая операция |
1 |
00 0000 0xx0 0000 |
|
|
RLF f, d |
Сдвиг влево через перенос |
1 |
00 1101 dfffffff |
С |
1,2 |
RRF f, d |
Сдвигвправочерезперенос |
1 |
00 1100 dfffffff |
C |
1, 2 |
SUBWF f, d |
Вычитание (f- W->d) |
1 |
00 0010 dfffffff |
C,DC,Z |
1, 2 |
SWAPFf, d |
Обменять полубайты f |
1 |
00 1110 dfffffff |
|
1,2 |
XOFWFf, d |
Исключающее "ИЛИ" (Worf->d) |
1 |
00 0110 dfffffff |
Z |
1,2 |
БИТОВЫЕ КОМАНДЫ | |||||
BCF f. b |
Обнулить бит bв f |
1 |
01 00bb bfffffff |
|
1,2 |
BSF f, b |
Установить бит bв f |
1 |
01 0lbb bfffffff |
|
1,2 |
BTFSC f, b |
Тест бита bв f, пропуск если "0" |
1(2) |
01 l0bb bfffffff |
|
3 |
BTFSS f, b |
Тест бита bв fпропуск если "1" |
1(2) |
01 11bb bfffffff |
|
3 |
КОМАНДЫ С КОНСТАНТАМИ И КОМАНДЫ УПРАВЛЕНИЯ | |||||
ADDLW к |
Сложение (k + W — >W) |
1 |
11 111x kkkkkkkk |
C,DC,Z |
|
ANDLW к |
Логическое "И" (kandW->W) |
1 |
11 1001 kkkkkkkk |
Z |
|
CALL k |
Вызов подпрограммы k |
2 |
10 0kkk kkkkkkkk |
|
|
CLRWDT - |
Обнулить WDT |
1 |
00 0000 0110 0100 |
TO,PD |
|
GOTO k |
Переход к адресу k |
2 |
10 1kkkkkkkkkkk |
|
|
IORLW k |
Логическое "ИЛИ"(К orW ->W) |
1 |
11 1000 kkkkkkkk |
Z |
|
MOVLW k |
Пересылка (k — >W) |
1 |
11 00xx kkkkkkkk |
|
|
RETFIE - |
Возврат из прерывания |
2 |
00 0000 0000 1001 |
|
|
RETLW k |
Возврат с константой |
2 |
11 01xx kkkkkkkk |
|
|
RETURN - |
Возврат из подпрограммы |
2 |
00 0000 0000 1000 |
|
|
SLEEP - |
Останов |
1 |
00 0000 01100011 |
TO,PD |
|
SUBLW k |
Вычитание (k - W -> W) |
1 |
11 110х kkkkkkkk |
C,DC,Z |
|
XORLW k |
Исключающее "ИЛИ" (korW->W) |
1 |
11 1010 kkkkkkkk |
Z |
|