49845 (Счетчик обратного отсчета), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Счетчик обратного отсчета", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49845"

Текст 2 страницы из документа "49845"

call prWaitFor_TI

mov SBUF, A

ret

prDisplay:

call prWaitFor_TI

mov SBUF, #CR; переводим курсор в начало строки:

mov A, R3

call lbDrawElement

mov A, R2

call lbDrawElement

mov A, R1

call lbDrawElement

mov A, R0

call lbDrawElement

call prWaitFor_TI; для выравнивания подождём передачи последнего символа

setb TI; [1] иначе - программа "зависнет"

ret; [2]

;; процедура prWaitFor_TI:

;; ожидание "готовности передачи" по последовательному порту

prWaitFor_TI:

jnb TI, $; зациклить, пока TI=0

clr TI ; устанавливаем "неготовность пердачи"

ret

;; процедура prIs_SetTime_Mode:

;; [2 на вызов]+[2+1+2+2]=[9]

;; проверяет, нажата ли клавиша входа в режим установки времени;

;; такой клавишей явл. '0'

prIs_SetTime_Mode:

mov P1, #00BFh

mov A, P1

cjne A, #00BEh, lbNot_SetTime_Mode

call prSetTime; переход в режим установки таймера

lbNot_SetTime_Mode:

cjne A, #00B7h, lbNotAnyMode

mov R0, Buf_R0

mov R1, Buf_R1

mov R2, Buf_R2

mov R3, Buf_R3

lbNotAnyMode: ret

;; процедура prExam_NumKeys:

;; опрос цифровых клавиш

prExam_NumKeys:

mov R7, #0FFh; допустим, что ничего не будет нажато

;опрос первого столбца клавиш:

lbKey_1:

mov P1, #00DFh

mov A, P1

cjne A, #00DDh, lbKey_2

mov R7, #1

ret

lbKey_2:

cjne A, #00DEh, lbKey_3

mov R7, #2

ret

lbKey_3:

cjne A, #00D7h, lbKey_4

mov R7, #3

ret

;опрос второго столбца клавиш:

lbKey_4:

mov P1, #00EFh

mov A, P1

cjne A, #00EDh, lbKey_5

mov R7, #4

ret

lbKey_5:

cjne A, #00EEh, lbKey_6

mov R7, #5

ret

lbKey_6:

cjne A, #00E7h, lbKey_7

mov R7, #6

ret

;опрос третьего столбца клавиш:

lbKey_7:

mov P1, #007Fh

mov A, P1

cjne A, #007Dh, lbKey_8

mov R7, #7

ret

lbKey_8:

cjne A, #007Eh, lbKey_9

mov R7, #8

ret

lbKey_9:

cjne A, #0077h, lbKey_0

mov R7, #9

ret

;опрос четвёртого столбца клавиш:

lbKey_0:

mov P1, #00BFh

mov A, P1

cjne A, #00BDh, lbEnd_Exam_NumKeys

mov R7, #0

lbEnd_Exam_NumKeys: ret

;; процедура prWaitFor_NextKey_Pressed:

;; ждёт СЛЕДУЮЩЕГО НАЖАТИЯ, чтобы долгое нажатие не "флудило"

prWaitFor_NextKey_Pressed:

lbPrevKey_Pressed: call prSmartDelay; чтоб избежать "дребезга" клавиатуры

call prExam_NumKeys;

cjne R7, #0FFh, lbPrevKey_Pressed;

call prSmartDelay; чтоб избежать "дребезга" клавиатуры

lbNo_NextKey_Pressed: call prExam_NumKeys

cjne R7, #0FFh, lbNextKey_Pressed

jmp lbNo_NextKey_Pressed

lbNextKey_Pressed: ret

;; процедура prSetTime:

;; режим установки таймера:

prSetTime:

clr EA

mov DPTR, #msgSetTime_Mode

call prShowMessage; вывод сообщения msgSetTime_Mode

call prDisplay

;регистр R3:

call prWaitFor_NextKey_Pressed;

mov R3, 07

call prDisplay

;регистр R2:

call prWaitFor_NextKey_Pressed

mov R2, 07

call prDisplay

;регистр R1:

call prWaitFor_NextKey_Pressed

mov R1, 07

call prDisplay

;регистр R0:

call prWaitFor_NextKey_Pressed

mov R0, 07

call prDisplay

mov Buf_R0, R0

mov Buf_R1, R1

mov Buf_R2, R2

mov Buf_R3, R3

mov DPTR, #msgShowTime_Mode

call prShowMessage; вывод сообщения msgShowTime_Mode

setb EA

ret

;; процедуры prIs_R0_more_59, prIs_R1_more_59, prIs_R2_more_23:

;; проверяют соответствующие регистры на корректность значений в них;

;; большие значения уменьшаются до ближайших верных

prCorrect_R0:

cjne R0, #59, lbR0_not_59

ret

lbR0_not_59: jnc lbR0_more_59

ret

lbR0_more_59: mov R0, #59

ret

prCorrect_R1:

cjne R1, #59, lbR1_not_59

ret

lbR1_not_59: jnc lbR1_more_59

ret

lbR1_more_59: mov R1, #59

ret

prCorrect_R2:

cjne R2, #23, lbR2_not_23

ret

lbR2_not_23: jnc lbR2_more_23

ret

lbR2_more_23: mov R2, #23

ret

;; процедура prShowMessage:

;; выводит на экран текстовое сообщение; символ ESC - признак конца сообщения

prShowMessage:

clr A

movc A, @A + DPTR

lbNextSymbol: call prWaitFor_TI

mov SBUF, A

inc DPTR

clr A

movc A, @A + DPTR

cjne A, #ESC, lbNextSymbol

ret

;;;; ОПИСАНИЕ ТЕКСТОВЫХ СООБЩЕНИЙ: ;;;;

msgSetTime_Mode: db LF,CR, '[Regim ustanovki taymera:]', CR, LF, ESC

msgShowTime_Mode: db LF,CR, 'OBRATNYI OTSCHET...', CR, LF, ESC

msgFinal: db CR, '!!!OBRATNYI OTSCHET ZAKONCHEN!!!:', CR, LF, ESC

END;;;; КОНЕЦ ПРОГРАММЫ

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5142
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее