дення даних, які розміщені в буфер на РКІ. p align="justify"> Процедура пошуку пароля. Шукає пароль серед відомих 10 паролів. Одночасно перевіряє введений пароль на майстер пароль. Якщо введений майстер-пароль, відбувається перехід в процедуру програмування. p align="justify"> Процедура програмування. Працює, якщо введений майстер-пароль. p align="justify"> Дозволяє редагувати вже введені паролі, встановлювати час, переглядати номери і час введених раніше паролів.
Після початку роботи процедури виводиться повідомлення: введіть номер. Залежно від натиснутої клавіші, буде вибраний той чи інший режим роботи процедури. p align="justify"> Якщо натиснута клавіша ОК - здійснюється установка нового часу.
Якщо натиснута клавіша ПАРОЛЬ - ми може переглянути 10 раніше введених паролів і час введення.
Якщо натиснута одна з цифрових клавіш - начитає працювати режим редагування одного з раніше запрограмованих паролів.
Процедура ініціалізації.
У ній встановлюються режими роботи таймерф, ініціалізується РКІ, показання годин встановлюються в 00:00:00.
3.4 Лістинг
: procedure;/* пpоцедуpа ініціалізації */= 00000001b ;/ * Пеpвое pежим для 0 про таймеpа */= 1 ;/ * переривання по фpонту сигналу пеpеполненія * /, tl0 = 0; tr0 = 1 ;/* Обнуляємо лічильники та pазpешать pаботу 0 таймеpa */= 0 ;/ * запускаємо таймеp 0 і 1 */= 1 ;/ * pазpешать переривання Т0 T1 */= 1 ;/ * pазpешать всі переривання */= 00111111b; st = 0 ;/ * скан 1 стовпця */
n_key = 0; k_old = 0; fl_ind = 1; fl_p = 1; = 0; fl_r1 = 0; fl_r2 = 0; fl_r3 = 0; fl_r4 = 0; flN = 0;
/* ініціалізація РКІ */
do I = 0 to 3;
rs = 0; rw = 1b; e = 1b; call time (10); while (p0 and 80h) <> 0; end; = 0; rs = 0; rw = 0 ; call time (10); = LCD_Ini (i);;
/* устаналіваем значення за замовчуванням */
chas = 0; min = 0; sek = 0;
out_ind; init;
Лістинг програми.: do;
$ include (reg812.dcl)
declare
/* оголошення основних змінних і прапорів */_vvedite (*) byte (42h, 0b3h, 65h, 0e3h, 0b8h, 0bfh, 65h, 20h),/* стр Введіть */
str_time (*) byte (0b3h, 70h, 65h, 0bch, 0c7h, 20h),/* стр час */_nov (*) byte (0bdh, 6fh, 0b3h, 0c3h, 0b9h, 20h ),/* стр новий */_parol (*) byte (0a8h, 61h, 70h, 6fh, 0BBh, 0c4h, 20h),/* стр пароль */_ohibka (*) byte (4fh, 0c1h, 0b8h, 0b2h, 0bah , 61h, 20h),/* стр помилка */_povtor (*) byte (0beh, 0b3h, 0bfh, 0bfh, 06fh, 070h, 0b8h, 0bfh, 65h, 20h),/* стр повторіть */_pasvord (10) byte constant (1,9,4,6,2,0,2,4,3,8),/* пароль програмування */
pasv_buf (10),/* буфер введеного пароля */(100) byte,/* масив ...