Методическое пособие 140
.pdf4.Как реализованы передатчик и преемник УАПП?
5.Охарактеризуйте режимы работы УАПП.
6.Как используются при последовательной передаче данных старт-бит, стоп-бит и девятый программируемый бит?
7.Зачем для организации последовательной передачи данных Вы использовали таймер/счетчик?
8.Каким образом осуществлялся выбор одного из двух таймеров/счетчиков в разработанной Вами программе?
9.Как вы использовали буфер SBUF при отладке программы?
10.Каким образом Вы контролировали результаты выполнения разработанных программных модулей?
Домашнее задание
По результатам выполнения лабораторной работы составьте отчет, включающий функциональную схему и программные модули в соответствии с заданием.
21
ПРИЛОЖЕНИЕ 1
Корпус кристалла и структура КМ1816ВВ51
Рис. П1.1. Корпус кристалла
22
Рис. П1.2. Структурная схема кристалла
23
|
|
|
|
|
|
|
|
ПРИЛОЖЕНИЕ 2 |
|
|
|
|
|
|
|
|
Таблица П2.1 |
|
|
|
|
|
|
|
Альтернативные функции порта 3 |
|
|
|
|
|
|
|
|
|
|
Символ |
Позиция |
Имя и назначение |
||||||
|
|
|
|
|
|
|
P3.7 |
Чтение. Активный сигнал низкого уровня |
|
|
RD |
||||||
|
|
|
|
|
|
|
|
формируется аппаратно при обращении к |
|
|
|
|
|
|
|
|
ВПД |
|
|
|
|
|
|
P3.6 |
Запись. Активный сигнал низкого уровня |
|
WR |
||||||||
|
|
|
|
|
|
|
|
формируется аппаратно при обращении к |
|
|
|
|
|
|
|
|
ВПД |
T1 |
P3.5 |
Вход таймера/счетчика 1 или тест-вход |
||||||
T0 |
P3.4 |
Вход таймера/счетчика 0 или тест-вход |
||||||
|
|
|
|
|
|
|
P3.3 |
Вход запроса прерывания 1. Воспринима- |
|
|
INT1 |
||||||
|
|
|
|
|
|
|
|
ется сигнал низкого уровня или срез |
|
|
|
|
|
|
|
P3.2 |
Вход запроса прерывания 0. Воспринима- |
|
|
INT0 |
||||||
|
|
|
|
|
|
|
|
ется сигнал низкого уровня или срез |
TXD |
P3.1 |
Выход передатчика последовательного |
||||||
|
|
|
|
|
|
|
|
порта в режиме УАПП. Выход синхрони- |
|
|
|
|
|
|
|
|
зации в режиме сдвигающего регистра |
RXD |
P3.0 |
Выход приемника последовательного пор- |
||||||
|
|
|
|
|
|
|
|
та в режиме УАПП. Ввод/вывод данных в |
|
|
|
|
|
|
|
|
режиме сдвигающего регистра |
24
|
|
|
|
Таблица П2.2 |
|
|
|
|
Регистр режима работы таймера/счетчика |
||
|
|
|
|
|
|
|
Символ |
Позиция |
Имя и назначение |
||
|
GATE |
TMOD.7 |
Управление блокировкой. Если бит ус- |
|
|
|
|
|
для |
тановлен, то таймер/счетчик “x” раз- |
|
|
|
|
T/C1 и |
решён до тех пор, пока на входе |
|
|
|
|
TMOD.3 |
“INTx” высокий уровень и бит управ- |
|
|
|
|
для |
ления “TRx” установлен. Если бит |
|
|
|
|
T/C0 |
сброшен то Т/С разрешается, как |
|
|
|
|
|
только бит управления “TRx” устанав- |
|
|
|
|
|
ливается |
|
|
|
|
TMOD.6 |
Бит выбора режима таймера или счёт- |
|
|
C/T |
|
|||
|
|
|
для |
чика событий. Если бит сброшен, то |
|
|
|
|
T/C1 и |
работает таймер от внутреннего источ- |
|
|
|
|
TMOD.2 |
ника сигналов синхронизации. Если |
|
|
|
|
для |
бит установлен, то работает счётчик от |
|
|
|
|
T/C0 |
внешних сигналов на входе “Tx” |
|
|
M1 |
TMOD.5 |
Режим работы (см. примечание) |
|
|
|
|
|
для |
|
|
|
|
|
T/C1 и |
|
|
|
|
|
TMOD.1 |
|
|
|
|
|
для |
|
|
|
|
|
T/C0 |
|
|
|
M0 |
TMOD.4 |
|
|
|
|
|
|
для |
|
|
|
|
|
T/C1 и |
|
|
|
|
|
TMOD.0 |
|
|
|
|
|
для |
|
|
|
|
|
T/C0 |
|
|
25
|
|
|
|
|
Примечание к табл. П2.2 |
|
|
|
|
|
|
М1 |
|
|
М0 |
|
Режим работы |
0 |
|
0 |
Таймер МК48. “ТLx” работает как 5-битный |
||
|
|
|
|
предделитель |
|
0 |
|
1 |
16-битный таймер/счётчик. “THx” и “TLx” |
||
|
|
|
|
включены последовательно |
|
1 |
|
0 |
8-битный автоперезагружаемый тай- |
||
|
|
|
|
мер/счётчик. “THx” хранит значение, кото- |
|
|
|
|
|
рое должно быть перезагружено в “TLx” |
|
|
|
|
|
каждый раз по переполнению |
|
1 |
|
1 |
Таймер/счётчик 1 останавливается. Тай- |
||
|
|
|
|
мер/счётчик 0 : TL0 работает как 8-битный |
|
|
|
|
|
таймер/счётчик, и его режим определяется |
|
|
|
|
|
управляющими битами таймера 0. TH0 ра- |
|
|
|
|
|
ботает только как 8-битный таймер, и его |
|
|
|
|
|
режим определяется управляющими битами |
|
|
|
|
|
таймера 1 |
|
|
|
|
|
|
Таблица П2.3 |
|
|
|
Регистр управления/статуса таймера |
||
|
|
|
|
||
Символ |
|
Позиция |
Имя и назначение |
||
|
|
|
|
|
|
1 |
|
|
2 |
|
3 |
TF1 |
|
TCON.7 |
Флаг переполнения таймера 1. Уста- |
||
|
|
|
|
|
навливается аппаратурно при перепол- |
|
|
|
|
|
нении таймера/счётчика. Сбрасывается |
|
|
|
|
|
при обслуживании прерывания аппара- |
|
|
|
|
|
турно |
TR1 |
|
TCON.6 |
Бит управления таймера 1. Устанавли- |
||
|
|
|
|
|
вается/сбрасывается программой для |
|
|
|
|
|
пуска/останова |
26
|
|
Продолжение табл. П2.3 |
|
|
|
1 |
2 |
3 |
TF0 |
TCON.5 |
Флаг переполнения таймера 0. Устанав- |
|
|
ливается аппаратурно. Сбрасывается |
|
|
при обслуживании прерывания |
TR0 |
TCON.4 |
Бит управления таймера 0. Устанавлива- |
|
|
ется/сбрасывается программой для пус- |
|
|
ка/останова таймера/счётчика |
IE1 |
TCON.3 |
Флаг фронта прерывания 1. Устанавли- |
|
|
вается аппаратурно, когда детектируется |
|
|
срез внешнего сигнала ЗПР1 (INT1). |
|
|
Сбрасывается при обслуживании пре- |
|
|
рывания |
IT1 |
TCON.2 |
Бит управления типом прерывания 1. |
|
|
Устанавливается/сбрасывается про- |
|
|
граммно для спецификации запроса |
|
|
ЗПР1 (срез/низкий уровень) |
IE0 |
TCON.1 |
Флаг фронта прерывания 0. Устанавли- |
|
|
вается по срезу сигнала ЗПР0. Сбрасы- |
|
|
вается при обслуживании прерывания |
IT0 |
TCON.0 |
Бит управления типом прерывания 0. |
|
|
Устанавливается/сбрасывается про- |
|
|
граммно для спецификации запроса |
|
|
ЗПР0 (срез/низкий уровень) |
27
|
|
Таблица П2.4 |
|
Регистр управления/статуса УАПП |
|
|
|
|
Символ |
Позиция |
Имя и назначение |
SM0 |
SCON.7 |
Биты управления режимом работы |
|
|
УАПП |
SM1 |
SCON.6 |
Устанавливается/сбрасывается про- |
|
|
граммно (см. примечание) |
SM2 |
SCON.5 |
Бит управления режимом УАПП. Уста- |
|
|
навливается программно для запрета |
|
|
приема сообщения, в котором девятый |
|
|
бит имеет значение 0 |
REN |
SCON.4 |
Бит разрешения приёма. Устанавливает- |
|
|
ся/сбрасывается программно для разре- |
|
|
шения/запрета приема последователь- |
|
|
ных данных |
TB8 |
SCON.3 |
Передача бита 8. Устанавливает- |
|
|
ся/сбрасывается программно для зада- |
|
|
ния девятого передаваемого бита в ре- |
|
|
жиме УАПП-9 бит |
RB8 |
SCON.2 |
Прием бита 8. Устанавливает- |
|
|
ся/сбрасывается программно для фикса- |
|
|
ции девятого передаваемого бита в ре- |
|
|
жиме УАПП-9 бит |
TI |
SCON.1 |
Флаг прерывания передатчика. Устанав- |
|
|
ливается аппаратурно при окончании |
|
|
передачи байта. Сбрасывается про- |
|
|
граммно после обслуживания прерыва- |
|
|
ния |
RI |
SCON.0 |
Флаг прерывания приемника. Устанав- |
|
|
ливается аппаратурно при приёме байта. |
|
|
Сбрасывается программно после обслу- |
|
|
живания прерывания |
|
|
28 |
|
|
|
|
|
|
Примечание к табл. П2.4 |
|
|
|
|
|
||
SM0 |
SM1 |
|
Режим работы УАПП |
|||
0 |
|
0 |
|
Сдвигающий регистр расширения вво- |
||
|
|
да/вывода |
||||
0 |
|
1 |
|
УАПП-8 бит. Изменяемая скорость передачи |
||
1 |
|
0 |
|
УАПП-9 бит. Фиксированная скорость переда- |
||
|
|
чи |
|
|||
1 |
|
1 |
|
УАПП-9 бит. Изменяемая скорость передачи |
||
|
|
|
|
|
|
Таблица П2.5 |
|
|
|
|
Регистр управления мощностью РУМ |
||
|
|
|
|
|
||
Символ |
|
|
Позиция |
Наименование и функция |
||
SMOD |
|
|
PCON.7 |
Удвоенная скорость передачи. Если бит |
||
|
|
|
|
|
|
установлен в 1, то скорость передачи |
|
|
|
|
|
|
вдвое больше чем при SMOD = 0 |
— |
|
|
PCON.6 |
Не используется |
||
— |
|
|
PCON.5 |
|
||
— |
|
|
PCON.4 |
|
||
GF1 |
|
|
PCON.3 |
Флаги, специфицируемые пользовате- |
||
GF0 |
|
|
PCON.2 |
лем (флаги общего назначения) |
||
|
|
|
|
|
||
PD |
|
|
PCON.1 |
Бит пониженной мощности. При уста- |
||
|
|
|
|
|
|
новке бита в 1 МК переходит в режим |
|
|
|
|
|
|
пониженной потребляемой мощности |
IDL |
|
|
PCON.0 |
Бит холостого хода. Если бит установ- |
||
|
|
|
|
|
|
лен в 1, то МК переходит в режим холо- |
|
|
|
|
|
|
стого хода |
Примечание. При одновременной записи 1 в PD и IDL бит PD имеет преимущество. Сброс содержимого РУМ выполняется путем загрузки в него кода 0XXX0000
29
Таблица П2.6
Настройка таймера 1 для управления частотой работы УАПП
|
Час- |
|
|
Таймер/счётчик 1 |
||
|
|
|
|
|
|
|
Частота приё- |
тота |
|
|
|
|
|
|
|
|
|
Пере- |
||
ма/передачи |
резо- |
|
|
|
|
|
SMOD |
|
|
|
загру- |
||
(BAUD |
нато- |
|
с/т |
|
Режим |
жаемое |
RATE) |
ра, |
|
|
|||
|
|
(MODE) |
уст- |
|||
|
МГц |
|
|
|
|
ройст- |
|
|
|
|
|
|
|
|
|
|
|
|
|
во |
Режим 0, |
12 |
X |
X |
|
X |
X |
макс: 1 МГц |
|
|||||
|
|
|
|
|
|
|
Режим 2, |
12 |
1 |
X |
|
X |
X |
макс: 375 кГц |
|
|||||
|
|
|
|
|
|
|
Режимы 1,3: |
12 |
1 |
0 |
|
2 |
0FFH |
62,5 кГц |
|
|||||
|
|
|
|
|
|
|
19,2 кГц |
11,059 |
1 |
0 |
|
2 |
0FDH |
9,6 кГц |
11,059 |
0 |
0 |
|
2 |
0FDH |
4,8 кГц |
11,059 |
0 |
0 |
|
2 |
0FAH |
2,4 кГц |
11,059 |
0 |
0 |
|
2 |
0F4H |
1,2 кГц |
11,059 |
0 |
0 |
|
2 |
0E8H |
137,5 Гц |
11,059 |
0 |
0 |
|
2 |
1DH |
110 Гц |
6 |
0 |
0 |
|
2 |
72H |
110 Гц |
12 |
0 |
0 |
|
1 |
0FEEH |
30