62791 (588838), страница 3

Файл №588838 62791 (Проектирование автоматической системы взвешивания вагонов в статике) 3 страница62791 (588838) страница 32016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

3.3 Блок-схема вывода информации о весе в компьютер

Примечание: здесь DWORD - начальный адрес двух ячеек памяти, в которых содержится младший и старший байты кода, соответствующего измеренному весу для канала(в данном случае - для первого).

3.4 Блок-схема автоматической калибровки

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

Калибровка должна производиться при отсутствии грузов (вагона и т.п.) на измерительной площадке.

3.5 Управление микроконтроллером с компьютера

При передаче на микроконтроллер управляющего слова, следующим же тактом происходит обработка прерывания, связанного с последовательным портом (у последовательного порта - наивысший приоритет). Далее происходит распознавание управляющего слова и действие согласно нему (см. табл.3.5).

Таблица 3.5.

Управляющее слово

Действия, производимые устройством по УС

00111100

Обнуление ячеек памяти, содержащих смещение и результат преобразования.

11110000

Преобразование и передача в компьютер кода, соответствующего весу.

00001111

Передача в компьютер кода, соответствующего весу измеряемого вагона.

11111111

Калибровка устройства.

При необходимости, этот список можно дополнить. Всего возможно запрограммировать 256 действий.

3.5 Программа на ассемблере для микроконтроллера

;R0-@ адрес получаемого кода 32-47

;R1-@ адрес смещения 52-67

;R4-счетчик задержки для АЦП

;R5-MUX 1-8

;R6-# младший байт кода 32,34-46

;R7-# старший байт кода 33,35-47

;PSW.1 - программируемый бит: 0 - взвешивание, 1 - калибровка.

;скорость передачи 300 бод, - задаётся ТС1

ORG 00H;начальный адрес трансляции

SJMP BEGIN

ORG 03H;прерывание по INT0

JMP MAIN

ORG 23H;прерывание по последоват. порту

JMP UAPP

ORG 30H;программа инициализации

BEGIN:

MOV IE, #10010001B;разрешение прерываний по последоват.

;порту и по INT0

MOV IP, #00010000B;установка высшего приоритета у прерыв. по ПП

MOV TMOD, #00100000B;режим с перезагр TH1 в TL1

MOV TCON, #00000000B;обнуление битов управления ТС1

MOV PCON, #00000000B;работа МК без удвоения частоты

MOV SCON, #0101000B;настройка UAPP

MOV P0, #0FFH;настройка портов P0 и P2 на ввод

MOV P2, #0FFH

MOV TH1, #187;загрузка и запуск таймера

MOV TL1, #187

SETB TCON.6

MOV R5, #15;очистка смещений

MOV R1, #52

CALL CLEAR

CLR PSW.1;активация подпрограммы взвешивания

STOP:JMPSTOP ;зацикливание

;____________________________________________________________

;____________________________________________________________

;Nucleus of the Program

MAIN:

MOV R5, #0

MOV R0, #32;начальный адрес ячейки памяти

;для получаемого кода

MOV R1, #52;начальный адрес смещений

MOV P1, #11111000B;0 - настройка на вывод

MOV P1, R5;выбор канала 1 (MUX).

RETM:MOV P0, #0FFH;прием текущего значения

MOV R6, P0;кода с АЦП. "1"-линия настроена

MOV P2, #0FFH;на ввод

MOV R7, P2;в R6-младший байт кода,R7-старший

JNB PSW.1, MAIN0

MOV A, R6;запись полученных кодов в область смещений

MOV @R1, A;младший байт

INC R1

MOV A, R7

MOV @R1, A;старший байт

JMP COMMON

MAIN0:

CLR PSW.7

MOV A, R6

SUBB A, @R1 ;коррекция OffSet для младшего байта

MOV @R0, A;запись младшего байта

INC R0;вычисление адреса старшего байта

INC R1

MOV A, R7

SUBB A, @R1 ;коррекция OffSet для старшего байта

MOV @R0, A ;запись старшего байта

COMMON:

;подготовка к следующему циклу

INC R0;вычисление нового адреса младшего байта

INC R1

INC R5;вычисление адреса канала MUX

CLR PSW.7

MOV A, R5;проверка -> адрес канала > Last(8).

SUBB A, #8

JNZ GoOn

JB PSW.1, KALIB

ACALL OUT;вызов подпрограммы вывода инф. на ЭВМ

;и реинициализации управл. регистров.

KALIB:

CLR PSW.1

RETI

GoOn:

MOV P1, #11111000B;0 - настройка на вывод

MOV P1, R5;0 - 2 линии порта P1 - управляют MUX

MOV R4,#20 ;небольшая задержка для АЦП

DAC1:DJNZ R4, DAC1

JMP RETM

;End Nucleus of the Program

;_____________________________________________________________

;_____________________________________________________________

;Вывод полученного веса в компьютер через последовательный порт

OUT:

MOV R6, #0;временно - R6-мл. результат

MOV R7, #0 ;R7-ст. результат

;R5-счетчик

MOV R5, #8

MOV R0, #32

SUMM:

MOV A, @R0;суммирование младшего байта

ADD A, R6;и запись его в R6

MOV R6, A

INC R0

MOV A, @R0;суммирование старшего байта

ADDC A, R7;и запись его в R7

CLR PSW.7

MOV R7, A

INC R0

DJNZ R5, SUMM;в регR6-мл. результат

; R7-ст. результат

CLR IE.7;запрет всех прерываний на время передачи

MOV SBUF,R6;передача младшего байта результата

ACALL DELAY;вызов подпрограммы задержки

MOV SBUF,R7;передача старшего байта результата

ACALL DELAY;вызов подпрограммы задержки

CLR SCON.1;сброс флага прерывания по посл. порта

SETB IE.7;разрешение прерываний

MOV R5, #0

MOV R0, #32;начальный адрес ячейки памяти

;для получаемого кода

MOV R1, #52;начальный адрес смещений

CLR IE.0;запрещение прерывания по INT0

RET

;Конец передачи

;_____________________________________________________________

;_____________________________________________________________

;Прерывание по последовательному порту

UAPP:

CLR SCON.1;сброс флага прерывания

MOV R7, SBUF;прием управляющего слова

ACALL DELAY

MOV A, #00111100B;обнуление смещений и результатов

SUBB A, R7

JNZ NEXT0

MOV R5, #36;запуск очистки

MOV R1, #32

ACALL CLEAR

NEXT0:

MOV A, #11110000B;запрос на запуск преобразования и

SUBB A, R7;и на передачу в компьютер

JNZ NEXT1

;активация работы подпрограммы

CLR PSW.1;взвешивания в MAIN

SETB IE.0;разрешение прерывания по INT0

NEXT1:

MOV A, #00001111B;запрос на передачу в компьютер

SUBB A, R7

JNZ NEXT2

ACALL OUT

NEXT2:

MOV A, #0FFH ;запрос на калибровку

SUBB A, R7

JNZ NEXT3;активация работы подпрограммы

SETB PSW.1;калибровки в MAIN

NEXT3:

OTHERWISE:

RETI

;_____________________________________________________________

;_____________________________________________________________

;Подпрограмма задержки для последовательного порта

DELAY:

MOV R2,#25;задержка, небходимая для

A2:MOV R3,#250;принятия/передачи байта

A1:DJNZ R3,A1

DJNZ R2,A2

RET

;_____________________________________________________________

;_____________________________________________________________

CLEAR:

MOV @R1, #0;R5 - колличество

INC R1 ;R1 - начальный адрес

DJNZ R5, CLEAR

RET

;_____________________________________________________________

END;конец трансляции

Характеристики

Тип файла
Документ
Размер
16,3 Mb
Учебное заведение
Неизвестно

Список файлов ВКР

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