Любой из известных протоколов последовательного обмена с сигналами квитирования легко реализуется программным путем. В МК51 не реализованы сигналы квитирования, поэтому для их формирования надо выделить разряды порта.
DTR – сигнал для внешнего компьютера, означающий что имеются данные для передачи.
DSR – сигнал, который компьютер посылает в ответ на DTR.
DSR=0 означает что внешний компьютер готов принять данные.
Для подключения любой линии интерфейса ИРПС необходимо использовать рассмотренные выше преобразователи уровней.
4. Алгоритмы работы и тексты программ.
4.1 Основная программа.
|
|
Рис.4.1. Блок-схема основной программы.
4.2. Подпрограммы.
Рис.4.2. Блок-схема процедуры опроса датчиков.
Рис.4.3. Блок-схема процедуры обслуживания прерываний от т/с1.
Рис.4.4. Блок-схема процедуры перевода из двоичной системы в двоично-десятичную
Рис.4.5. Блок-схема п/п организации временных интервалов по 50 mс.
; основная программа
STACTOP : EQU 60H ;адрес вершины стека
IND(1¸7) : EQU 50H¸56H ; ячейки ПД хранящие информацию
; выводимую на индикаторы HG(1¸7)
TC1: EQU 45H ; ячейка хранения младшего байта
; среднего значения оборотов
; в промежуточных вычислениях
TC2: EQU 46H ; ячейка хранения ст.б. среднего значения
; оборотов в промежуточных вычислениях
PROM: EQU 42H ; ячейка хранения
; промежуточных вычислений
nTAB_COD: EQU 50H ; адрес начала таблицы перекодировки
; в семисегментный код
COUNT: EQU 41H ; счетчик 50 милисекундных циклов
MOV SP,#STACKTOP ;указатель стека
SETB EA ;снятие блокировки прерываний
SETB ET0 ;разрешение прерываний от т/с 0
CALL INIT ;п/п инициализация дисплея
MOV R1,#00H ;
MOV R2,#00H ;
MOV COUNT,#00H ;счетчик 50 ms циклов
MOV PROM,#00H ;
CALL TAIM ;п/п опроса датчиков каждые 20 сек
WAIT: JNB R2.1,WAIT ;ожидание цикла опроса датчиков
MOV IND1,#39H ;код буквы “с”
MOV R4,#01H ;номер первого датчика
MOV A,R1 ;
SUBB A,#11H ;(A)ßA-16 , где 16-кол-во датчиков
MOV R0,A ;начальный адрес записи последнего
;пакета данных
MOV R5,R0 ;
MET: MOV DPTR,nTAB_COD ;адрес начала таблицы перекодировки
;в сс-код
MOV A,R4 ;(A)ßномер датчика
CALL BIN_BCD ;
MOV A,R7 ;(A)ß десятки
MOVC A,@A+DPTR ;
MOV IND2,A ;
MOV A,B ;(В)ß единицы
MOVC A,@A+DPTR ;
MOV IND3,A ;
MOV IND4,#00H ; сс-код гашения IND4
MOV A,@R0 ;
CALL BIN_BCD ;
CALL OBMEN ;п/п заполнения ячеек IND5,6,7
CALL DISPL ;п/п вывода на дисплей
CALL DEL3 ;п/п задержки на 3 сек
INC R4 ;номер следующего датчика
INC R0 ;адрес хранения данных этого датчика
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.