11
"РЛ" - НАЧИНАЮЩИМ
И
Роман Абраш
г. Новочеркасск
E-mail: [email protected] radioliga.com
,\< Ш 1
JJ04J U'jJCsJ l i )
Продолжение.
Г > ,
Начало в №1-3/2007
Глава 8.
Покопаемся в памяти
Как всегда, вначале разберем “до-
машнее задание”. Признаюсь, задача
имеет не единственное решение, по-
этому не стоит огорчаться, если ваша
программа отличается от той, которую
я предлагаю в качестве решения. Итак,
вот мой вариант:
org
0
main:
cpl
P0.0
mov
R2, #2
ш0 •
mov
Rl, #249
ml:
* nop
mov
R0, #250
m2:
nop
nop
djnz
R0, m2
djnz
Rl, ml
djnz
R2, mO
sjmp
main
end
Мне думается, что каких-либо ком-
ментариев не требуется - вы прекрас-
но сами сможете рассчитать факти-
ческую длительность моментов, ког-
да светодиод светится и не светится.
Данный вариант программы обеспе-
чивает при использовании кварцево-
го резонатора 12 МГц период мига-
ния в 1,000002 секунды при скважно-
сти 2, т.е. время свечения равно
0,500001 секунды - по-моему, весь-
ма высокая точность, можете прове-
рить в МСБЩбю.
А теперь займемся тем, чем и на-
меревались - покопаемся в памяти,
точнее, разберемся в деталях распре-
деления памяти нашего микроконтрол-
лера. В качестве иллюстрации приве-
ду широко известную таблицу (рис. 3).
На рис. 3 используются следую-
щие условные обозначения: в верхней
строке и левом столбце приведены
“координаты” ячеек памяти - чтобы
вычислить фактический адрес ячей-
ки, надо сложить “ординату” по вер-
тикали и по горизонтали (например,
по адресу 811т расположен регистр
БР). Жирным шрифтом выделены
наименования регистров
микроконт-
роллера. Жирной рамкой обведены
ячейки памяти, к любому биту кото-
рых можно обращаться независимо,
т.е. эти ячейки -
битоадресуемые.
Для
этих ячеек указаны адреса их битов,
например в ячейке по адресу 291т биты
(начиная с младшего) имеют адреса
с 481т по 4Р1т. Серым фоном выделе-
ны ячейки памяти, доступ к которым
возможен только при использовании
косвенной адресации,
а при
прямой
адресации
будет осуществляться до-
ступ к
области регистров специаль-
ных функций.
Теперь подробности распределе-
ния памяти.
В области адресов
0011.
..1П 1.
рас-
положены 4 банка регистров, причем
номер банка, отличного от нулевого,
показан в виде верхнего индекса, т.е.
Я22 - это регистр
И2
второго банка.
В ажное примечание. В своих про-
граммах вы не должны использовать
обозначения
с
индексами - это исклю-
чительно условные наименования.
В программе мы всегда использу-
ем только обозначения регистров
Я0.
..Я7, а вот реальный адрес в па-
мяти, соответствующий используемо-
му регистру, будет определяться те-
кущим
активным
банком регистров.
D
(И)
10
20
.10
40
50
60
70
80
90
АО
ВО
СО
ЕО
F0
RO
Rl
R2
R3
R4
R5
R6
R7
RO1
R l1
R 21
R31
R41
" rsT
R61
R71
RO2
~
h
P
R22
R.V
R42
R52
R62
R7J
RO3
Rp
R ?
R33
R4J
R5J
R63
R73
00-07
08-0F
10-17
18-1F 20-27 28-2F
30-37
38-3F
40-47
48-4F
50-57
58-5F
60-67 68-6F 70-77 78-7F
P0
80-87
SP
PP0L
DPOH DP1L
DP1H
SPDR
PCON
TCON
88t8F
TM OD
TL0
TL1
ТН0
TH l
PI
90-97
WMCON
SCON
98-9F
SBCF
*
P2
A0-A7
IE
A8-AF
SPSR
P3
B0-B7
-
IP
BS-BF
C0-C7
T2CON
C8-CF
Т2М О Д RCAP2L
RCAP2H
TL2
TH2
PSW
D0-D7
SPCR
D8-DF
ACC
E0-E7
E8-EF
В
F0-F7
F8-FF
*
54
Р и с.
3. Распределение памяти микроконтроллера АТ90Б8252
U
Радиолюбитель - 0 4 /2 0 0 7
предыдущая страница 54 Радиолюбитель 2007-04 читать онлайн следующая страница 56 Радиолюбитель 2007-04 читать онлайн Домой Выключить/включить текст