www.diagram.com.ua
www.diagram.com.ua
Русский: Русская версия English: English version
Translate it!
Поиск по сайту

+ Поиск по журналам
+ Поиск по статьям сайта
+ Поиск по схемам СССР
+ Поиск по Библиотеке

Бесплатная техническая библиотека:
Все статьи А-Я
Энциклопедия радиоэлектроники и электротехники
Новости науки и техники
Журналы, книги, сборники
Архив статей и поиск
Схемы, сервис-мануалы
Электронные справочники
Инструкции по эксплуатации
Голосования
Ваши истории из жизни
На досуге
Случайные статьи
Отзывы о сайте

Справочник:
Большая энциклопедия для детей и взрослых
Биографии великих ученых
Важнейшие научные открытия
Детская научная лаборатория
Должностные инструкции
Домашняя мастерская
Жизнь замечательных физиков
Заводские технологии на дому
Загадки, ребусы, вопросы с подвохом
Инструменты и механизмы для сельского хозяйства
Искусство аудио
Искусство видео
История техники, технологии, предметов вокруг нас
И тут появился изобретатель (ТРИЗ)
Конспекты лекций, шпаргалки
Крылатые слова, фразеологизмы
Личный транспорт: наземный, водный, воздушный
Любителям путешествовать - советы туристу
Моделирование
Нормативная документация по охране труда
Опыты по физике
Опыты по химии
Основы безопасной жизнедеятельности (ОБЖД)
Основы первой медицинской помощи (ОПМП)
Охрана труда
Радиоэлектроника и электротехника
Строителю, домашнему мастеру
Типовые инструкции по охране труда (ТОИ)
Чудеса природы
Шпионские штучки
Электрик в доме
Эффектные фокусы и их разгадки

Техническая документация:
Схемы и сервис-мануалы
Книги, журналы, сборники
Справочники
Параметры радиодеталей
Прошивки
Инструкции по эксплуатации
Энциклопедия радиоэлектроники и электротехники

Бесплатный архив статей
(150000 статей в Архиве)

Алфавитный указатель статей в книгах и журналах

Бонусы:
Ваши истории
Загадки для взрослых и детей
Знаете ли Вы, что...
Зрительные иллюзии
Веселые задачки
Каталог Вивасан
Палиндромы
Сборка кубика Рубика
Форумы
Карта сайта

ДИАГРАММА
© 2000-2020

Дизайн и поддержка:
Александр Кузнецов

Техническое обеспечение:
Михаил Булах

Программирование:
Данил Мончукин

Маркетинг:
Татьяна Анастасьева

Перевод:
Наталья Кузнецова

Контакты

При использовании материалов сайта обязательна ссылка на http://www.diagram.com.ua

сделано в Украине
сделано в Украине

Диаграмма. Бесплатная техническая библиотека

Бесплатная техническая библиотека Бесплатная техническая библиотека, Энциклопедия радиоэлектроники и электротехники

Программа для микропроцессора Z80, обеспечивающая измерение времени дребезга контактов реле

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники/ Студенту на заметку

Комментарии к статье Комментарии к статье

Описанная здесь программа для микропроцессора Z80, которая ориентирована на выполнение в автоматических испытательных микропроцессорных системах, измеряет время втягивания сердечника реле и дребезга контактов реле, что позволяет обойтись без сложной аппаратуры, если использовать эту стандартную программу в составе программ тестирования. Предложенная программа также обеспечивает достаточную точность измерений. Полное время замыкания контактов можно найти путем сложения времен втягивания сердечника и дребезга контактов реле.

Программа, состоящая из двух частей, выполняется, когда испытуемое реле соединяется с портом ввода цифровых данных DI, реализующим преобразование логических уровней. Первая часть программы, образующая цикл 1, определяет время втягивания сердечника реле. Вторая часть подсчитывает время дребезга контактов реле.

Программа для микропроцессора Z80, обеспечивающая измерение времени дребезга контактов реле
Блок - схема программы измерения времени дребезжания контактов реле (нажмите для увеличения)

ПРОГРАММА ДЛЯ МИКРОПРОЦЕССОРА Z80,
ИЗМЕРЯЮЩАЯ ВРЕМЯ ДРЕБЕЗГА КОНТАКТОВ РЕЛЕ
Строка 	Адрес  	B1  	B2  	В3  	B4
1
2 	  					;Измеритель времени дребезга контактов
3
4 						;Эта программа будет измерять время 							;дребезга контактов и время втя
5 						;гивания сердечника. Значение времени 							;дребезга будет в регистре HL,
6 						;а время втягивания в регистре DE.
7
8
9
10 						;TITLE "BOUNCE TIMER"
11 						LIST В, Х
12 						NAME BOUNCE
13 						ASEG
14 						ORG 3000H
15
16	3000 				BOUNCE:
17 	3000 	F3 			DI 			;Запрет прерываний
18
19 	3001 	21 	18 	FC 	LD 	HL,-TIMEOUT 	;Вычесть время контакта из  
								;счетчика времени дребезга
20 	3004 	01 	Е8 	03 	LD 	ВС, TIMEOUT 	;Установить счетчик времени контакта
21 	3007 	11 	FF 	FF 	LD 	DE, -1 		;Установить счетчик времени втягивания
22
23 	3000А 	ЗЕ 	07 		LD 	A, CLOSE 	;Замкнуть реле
24 	3000С 	D3 	С 		OUT 	(PORTST), А
25
26 				;Время втягивания сердечника

27
28 	3000Е 				LOOP1:
29 	3000Е 	13 				INC DE 		;Увеличить счетчик
30
31 	300F 	DB 	92 		IN 	A, (PORTIM) 	;Получить состояние реле
32 	3011 	FE 	FF 		CP	TRUE 		;Ждать первого неустойчивого 
								;замыкания контактов
33 	3013 	20 	F9 		JR	NZ, LOOP1 - $
34
35 				;Время дребезга контактов

36
37 	3015 				LOOP2:
38 	3015 	23 			INC 	HL 		;Увеличить счетчик времени дребезга
39
40 	3016 	DB 	92 		IN 	A, (PORTIM) 	;Получить состояние реле
41 	3018 	FE 	FF 		CP 	TRUE 		;Состояние реле истинно?
42 	301А 	С2 	23 	30 	JP 	NZ, RESEIC 	;Если нет, восстановить счетчик времени контакта
43
44 	301D 	0B 			DEC 	ВС 		;Уменьшить счетчик времени контакта
45 	301Е 	78 			LD 	А, В 		;Установить флажки
46 	301F 	Bl 			OR 	С
47 								;Выполнить цикл, пока счетчик време-
48 	3020 	20 	F3 		JR 	NZ, LOOP2- $ 	;ни контакта не станет = нулю
49
50 	3022 	С9 			RET 			;Возврат, значение времени дребезга 
								;в регистре HL, а времени втягивания
51 								;в регистре DE
52
53 				;Восстановление счетчика времени контакта
54
55 	3023 			     RESETC:
56 	3023 	01 	Е8 	03 	LD 	BC, TIMEOUT 	;Восстановление счетчика времени контакта
57 	3026 	00 				NOP 		;Сохранение времени выполнения цикла постоянным
58 	3027 	18 	ЕС 			JR LOOP2-$
60
61
62					;DATA
63
64 	03ЕВ 			TIMEOUT 	EQU 1000
65 	00FF 			TRUE 		EQU 0FFH
66 	0007 			CLOSE 		EQU 07H
67 	00C2 			PORTST 		EQU 0C2H
68 	0092 			PORTIM 		EQU 92H
69 	3029 				END


Число ошибок ассемблеpa = 0

Прерывания запрещены с целью сохранения точности измерений в каждом цикле. Цикл 1 (счетчик времени втягивания) состоит из процедур наращивания содержимого счетчика и проверки. При каждом прохождении цикла проверяется состояние порта DI на наличие первого неустойчивого замыкания контактов реле. Когда такой эффект обнаружен, программа измеряет время втягивания сердечника и хранит это значение в регистре DE. Однако истинное время втягивания вычисляется умножением содержимого регистра DE на 36 и делением результата на тактовую частоту микропроцессора Z80.

Цикл 2 (счетчик времени дребезга контактов реле) представляет собой подпрограмму наращивания содержимого счетчика и проверки, а также содержит дополнительную процедуру, обеспечивающую работу счетчика времени контакта и восстановления. При каждом прохождении цикла увеличивается содержимое регистра HL и проверяется состояние порта DI. Если контакты реле разомкнуты, то в счетчик времени контакта загружается заранее определенное значение этого времени. В случае замыкания контактов реле значение счетчика времени контакта уменьшается до тех пор, пока не достигнет нуля. Когда содержимое регистра счетчика времени контакта равно нулю, программа измеряет время дребезга контактов, и это значение запоминается в регистре HL. Однако для того чтобы получить истинное время дребезга контактов, в регистр HL вначале записывают дополнительный двоичный код значения времени контакта, затем его содержимое умножается на 60, и результат делится на тактовую частоту микропроцессора Z80.

Автор: Van Harris; Публикация: Н. Большаков, rf.atnn.ru

Смотрите другие статьи раздела Студенту на заметку.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Рекомендуем скачать в нашей Бесплатной технической библиотеке:

раздел сайта Ограничители сигнала, компрессоры

журналы Юный техник (годовые архивы)

книга Полупроводниковые форсирующие схемы. Леоненко Л.И., 1974

книга Клистрон. Зиньковский А.И., 1959

статья Невесомость и растительное масло

статья Резервы мойки

справочник Зарубежные микросхемы и транзисторы. Серия J

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:

[lol][;)][roll][oops][cry][up][down][!][?]




Бесплатная техническая библиотека Бесплатная техническая документация для любителей и профессионалов