Проект учебного пособия по лабораторному стенду Teacher 51, страница 5

Следует, также, пояснить  алгоритм  работы  приведённой  выше процедуры ConvHexToPos. В ней циклически девять байт из  переменной HEXIND, представляющие собой неупакованные HEX-числа, перекодируются в байты переменной POSIND в  abcdefgh-формате,  являющиеся представлениями шестнадцатиричных цифр 0-F. Если же необходимо вывести на индикатор какой-либо один  символ,  проще  записать его представление прямо в нужный байт переменной POSIND.  Следует отметить, что описанные выше методы вывода информации на индикатор будут работать только в том случае, если  пользовательская  программа работает при включённом  прерывании  от  TC0,  использующем встроенный в монитор обработчик,  и  неизменённом  режиме  работы TC0. Для перекодировки шестнадцатиричных  чисел  в  abcdefgh-коды процедура ConvHexToPos использует шестнадцати байтную таблицу, записанную в  ПЗУ программ.  Таблица PosTable расположена по адресу 04D7h,  для перекодировки используется  следующая  последовательность команд:

.............

mov   a,#BYTE            ; Байт, который нужно перекодировать.

anl   a,#0Fh               ; Маскирование старшей тетрады.

mov   dptr,#PosTable   ; Инициализация указателя.

movc  a,@a+dptr         ; Перекодировка байта.

.............

Режимы работы стенда для ввода программного кода.

Как уже упоминалось выше системный монитор обеспечивает работу стенда в двух режимах:

- интерактивном режиме редактирования содержимого ОЗУ пользователем, этот  режим  устанавливается  автоматически по включении питания;

- режиме загрузки кода программы из ПЭВМ. Режим активизируется в момент начала передачи ПЭВМ данных в контроллер  по  прерыванию от UART. По окончании обмена с ПЭВМ контроллер возвращается в диалоговый режим.  Запуск программы должен произвести пользователь, используя командную клавишу монитора START.

В диалоговом  режиме индикатор контроллера имеет вид,  представленный на рис. 6. В разрядах 5-8 (считая с младшего) отображается адрес текущей ячейки ОЗУ (по включении питания или при перезапуске монитора текущей становится ячейка с адресом 8000h - первая ячейка ОЗУ),  в двух младших разрядах - байт,  находящийся по этому адресу, в разрядах 3 и 4 отображён байт, находящийся по адресу меньшему на единицу.

Вид индикатора в режиме диалога.

+-------------------------------------------+

¦    ¦ 8  ¦ 0  ¦ 0  ¦ 0  ¦ F  ¦ F  ¦ 0  ¦  2 ¦

+-------------------------------------------+

Клавиши INC ADR  и DEC ADR  позволяют увеличивать и уменьшать адрес на единицу, и изменять, таким образом значения на 4-х младших разрядах индикатора.

При нажатии любой клавиши с шестнадцатиричной цифрой  индикатор принимает вид представленный на рис.7; четыре младших разряда сдвигаются на одну позицию влево:  четвёртый разряд теряется, а в первый записывается введённая цифра. При повторном нажатии цифровой  клавиши  процедура  повторяется;  нажатие клавиши STORE BYTE позволяет записать содержимое двух младших разрядов индикатора  в ОЗУ  по текущему адресу,  а клавишей SET ADR зафиксировать четыре младших разряда,  как текущий адрес.  При записи  байта  клавишей STORE BYTE производится автоинкремент адреса.

После нажатия любой из двух клавиш SET ADR или STORE BYTE индикатор снова принимает вид, представленный на рис. 6.

Вид индикатора в режиме ввода данных.

+-----------------------------------+

¦   ¦ 8 ¦ 0 ¦ 0 ¦ 0 ¦ F,¦ 0,¦ 2,¦ A,¦

+-----------------------------------+

Нажатие клавиши START позволяет запустить программу,  начиная с текущего адреса. При  этом  монитор  перед  запуском  программы включает нулевой банк РОН, а прерывания от TC0  и  UART  остаются включенными.

.

РАБОТА С ОБОЛОЧКОЙ Teacher51 Shell.

После запуска программа TEACHER 51 SHELL находится  в  режиме шестнадцатиричного  редактора,  который  позволяет  редактировать данные в HEX и ASCII форматах.  В  окнах  редактора  представлена одна страница буфера данных объёмом в 256 байт (буфер данных имеет объём 64 КБайт).

Для ввода программного кода в микроконтроллер, необходимо:

- перевести в режим редактирования кода;

- в настройках программы TEACHER 51 SHELL выбрать соответтсвующий доступный COМ порт (с установкой параметров 56 кБит, контроль по чётности, размер байта – 8, один стоповый бит)