Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Устройство функционального контроля восьмиразрядных микроконтроллеров.doc
Скачиваний:
74
Добавлен:
02.05.2014
Размер:
2.04 Mб
Скачать

4.2 Построение фт, проверяющего озу непосредственно после воздействия специальных факторов

После воздействия специальных факторов ЭП ОЗУ могут временно потерять работоспособность. Для определения времени потери работоспособности будем последовательно опрашивать двадцать ячеек памяти. В конце программы необходимо производить сброс микроконтроллера. Это делается потому, что при воздействии специальных факторов может произойти сбой внутреннего таймера- счетчика. А если в конце программы будет стоять безусловный переход на начало, то схема сравнения будет постоянно выдавать ошибку, так как значения внутренних таймеров- счетчиков у контролируемого микроконтроллера и микроконтроллера- эталона будут различными. Блок схема программы для непосредственной проверки ОЗУ после воздействия приведена на рисунке 4.1.

Рисунок 4.1- Блок схема программы проверки ОЗУ сразу после воздействия.

Оценка ВПР будет выполняться по двадцати ЭП ОЗУ. Память считается восстановившейся, если все двадцать ячеек будут работоспособными. В ЭП будет записываться число ААh(10101010) для проверки воздействия соседних ячеек друг на друга.

По блок схеме на рисунке 4.1 разработана программа, которая приведена ниже.

Адрес

Мнемокод

Комментарий

00h

01h

NOP

NOP

02h

03h

04h

MOV 20h, AAh

Запись в 20hячейку ОЗУ числа АА (10101010)

05h

06h

MOV A, 20h

Запись в аккумулятор значение по адресу 00h

07h

MOV @DPTR, A

08h

09h

0Ah

MOV 21h, AAh

Запись в 21hячейку ОЗУ числа АА (10101010)

0Bh

0Ch

MOV A, 21h

Запись в аккумулятор значение по адресу 01h

0Dh

MOV @DPTR, A

0Eh

0Fh

10h

MOV 22h, AAh

Запись в 22hячейку ОЗУ числа АА (10101010)

11h

12h

MOV A, 22h

Запись в аккумулятор значение по адресу 02h

13h

MOV @DPTR, A

14h

15h

16h

MOV 23h, AAh

Запись в 23hячейку ОЗУ числа АА (10101010)

17h

18h

MOV A, 23h

Запись в аккумулятор значение по адресу 00h

19h

MOV @DPTR, A

1Ah

1Bh

1Ch

MOV 24h, AAh

Запись в 24hячейку ОЗУ числа АА (10101010)

1Dh

1Eh

MOV A, 24h

Запись в аккумулятор значение по адресу 04h

1Fh

MOV @DPTR, A

20h

21h

22h

MOV 25h, AAh

Запись в 25hячейку ОЗУ числа АА (10101010)

23h

24h

MOV A, 25h

Запись в аккумулятор значение по адресу 05h

25h

MOV @DPTR, A

26h

27h

28h

MOV 26h, AAh

Запись в 26hячейку ОЗУ числа АА (10101010)

29h

2Ah

MOV A, 26h

Запись в аккумулятор значение по адресу 06h

2Bh

MOV @DPTR, A

2Ch

2Dh

2Eh

MOV 27h, AAh

Запись в 27hячейку ОЗУ числа АА (10101010)

2Fh

30h

MOV A, 27h

Запись в аккумулятор значение по адресу 07h

31h

MOV @DPTR, A

32h

33h

34h

MOV 28h, AAh

Запись в 28hячейку ОЗУ числа АА (10101010)

35h

36h

MOV A, 28h

Запись в аккумулятор значение по адресу 08h

37h

MOV @DPTR, A

38h

39h

3Ah

MOV 29h, AAh

Запись в 29hячейку ОЗУ числа АА (10101010)

------------------------------------------------------------------------------------------------

74h

75h

76h

MOV 33h, Aah

Запись в 33hячейку ОЗУ числа АА (10101010)

77h

78h

MOV A, 33h

Запись в аккумулятор значение по адресу 13h

79h

MOV @DPTR, A

После того как программа выполнится до конца необходимо схемотехнически организовать сброс микроконтроллеров.