КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Ввод-вывод в А51
Mov x4,c D) Сегмент Битов Mov a,PSW mov P1,P2; P2àP1
Bit – 128 бит, прямой адрес бита 0-7f h, память совмещена с ячейками 0x20-0x2f в Data, где i-ый бит находим в ячейке Data с адресом 0x20+i/8, номер бита i%8.
bseg at 0x10; сегмент битов с 0x10-го бита в поле бит Data x0: dbit 4; поле из четырех бит в сегменте В SFR i-ый бит адресуется в i&0xf8 - регистре с номером i%8. x4 bit ACC.5; битовая переменная, соответствующая 5-ому биту АСС mov c, 0; Data(20h.0)à С, 20h.0 – нулевой бит ячейки Data mov ACC.7, c; c à Acc.7, mov c, x0+2; x0- адрес первого бита поля бит (тестировать размер и размещение битовой памяти в Data) e) Stack - в mcs51 используются ячейки памяти Data, а в mcs52- все ячейки Idata с косвенным автоинкрементным доступом через регистр-указатель вершины SP (пре-автоинкремент (+SP) при записи и пост-автодекремент (SP-) при чтении) К стеку возможно как явное обращение, так и неявное – в прерываниях и переходах к подпрограммам Явное обращение к стеку: push ad; запись байта в стек Например, push Acc обозначает Ram[ Acc]àData[+SP], pop ad;чтение байта из стека Например, pop Acc обозначает Data[SP--] à Ram[Acc] При включении питания и сбросе в MCU устанавливается по умолчанию SP=07. Можно выбирать размещение стека в А51 в памяти Data mcs51 – количество ячеек четно, если стек используется и для хранения адресов возврата
Dseg at 0x10;сегмент стека Stack: ds 6
Cseg at 0x100;сегмент кода Start:;начало программы Mov sp,#Stack-1; начальное значение стека с учетом пре-инкремента ……………. (9. как выполнятся команды Push Sp, Pop Sp? (10 Ограничения при размещении стека в С51 и А51)
f) Сегмент программной памяти Code. Доступ к данным mov a,#d; Code[PC+] à a - непосредственная адресация movc a,@a+pc; Code[PC + a] à a; адресация относительно текущего РС, в АСС размещается индекс
cseg at 0; старт при сбросе и включении питания в mcs51 jmp start
cseg at 0x40; абсолютныйсегмент памяти Code с адреса 0x40 start: jmp first yy: db “abcde”; адреспервого байта строки в сегменте first: mov dptr,#yy; сохранение адреса movc a,@a+dptr; Code(dptr + a) à a, базовая адресация- база в DPTR, в АСС смещение
g) Сегмент Xdata xseg at 0x100;абсолютный сегмент mm: ds 50; адрес первого байта массива 50 байт
Определение в С51: char xdata mm
mov dptr,#mm;адреc movx a, @dptr;Xdata(dptr) à А movx @dptr,a Определение в С51: char pdata xx (страничная организация доступа) mov r0,#xx movx a, @r0; Xdata(P2.@r0 ) àА, в P2 адрес страницы, @r0 –смещение в странице
(11. выполнить минимальный обход-тестирование всех типов памяти по графу рис.2.4 Codeà……)
Быстрый параллельный ввод-вывод осуществляется прямым обращением портам MCU Порты содержат регистр данных, входные и выходные буферные схемы, подключаемые к внешним контактам MCU. При вводе (char x=P1) данные считываются с контактов порта и сохраняются в памяти, обычно интерпретируются в приложениях в положительном кодировании двоичными кодами (H~1, L~0). При выводе (P2=0x55) данные из памяти записываются в порт и передаются на внешние контакты соответствующими уровни
Рис. 3.4.. Структура порта.
Порт включает регистр и схему драйверов, связывающих регистр с контактами. Драйверы осуществляют вывод состояния регистра или альтернативные сигналы и ввод бита данных. Разряды портов P1,P2,P3 могут быть использованы для ввода-вывода, если через них не передаются альтернативные сигналы, формируемые для управления или контроля внешних схем по умолчанию (сигналы Rd, Wr, int0, int1,p…) На контакте порта Pin выход усилителя и сигнал с внешней цепи c общей нагрузкой Pull-up резистором, поддерживающим порт в нормальном состоянии H после сброса MCU.
Vcc Pull_up /x v /y /y v /x x
Рис.3.5..Схема драйвера квази-двунаправленного порта
Короткое замыкание возможно, если на входе H-активный уровень и Pi.j =0 – открытый L-вход/выход схемы с открытым коллектором. В таких схемах для ввода бит регистра устанавливается в единицу. Втекающий (synk) ток (при низком уровне выходного сигнала) – до 10ма на линию, при максимальном общем потреблении для портов P1-P3 до 100 ма.
Положительный уровень формируется на нагрузочном Pull-up резисторе, допускает малый ток нагрузки для вытекающего тока(sourse)– менее 1 ма. б) В квази-двунаправленных портах P1,P2,P3 режим работы порта определяет схема включения порта и тип данных согласуется с типом переменной в С. Но в А51 тип данных не определен: Команда (RMW) (Чтение(R) с порта) (модификация(M)) (запись(W) в порт anl P1,#0xAA
Дата добавления: 2014-12-27; Просмотров: 469; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |