Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Блок-схема основной программы

Читайте также:
  1. II. Место дисциплины в структуре Основной образовательной программы (ООП) бакалавриата
  2. II. Основной раздел
  3. VI. ТРЕБОВАНИЯ К СТРУКТУРЕ ОСНОВНОЙ ПРОФЕССИОНАЛЬНОЙ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ
  4. VIII. Требования к оцениванию качества освоения основной профессиональной образовательной программы
  5. Актуальный пример разработки программы в случае моббинга
  6. Алгоритм разработки рабочей учебной программы
  7. Антивирусные программы

 
 


5 Блок-схема подпрограммы преобразования АЦП

 
 


 
 


 
 


 
 


 
 


Запомнить результат

 
 


6 Блок-схема подпрограммы вывода на индикатор

 

 
 


7 Составление программы

 

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

Uном = 0,096 В/град 180 град=17,3 В

Определим номинальное напряжение на входе АЦП

Uном АЦП = 17,3/20 = 0,865 В = 865мВ (коэффициент делителя напряжения Кд = 20)

Определим значение цифрового кода на выходе АЦП при максимальном угле поворота (максимальном значении напряжения на входе АЦП):

Наибольший цифровой код 8-ми разрядного АЦП (28 = 256), этому цифровому коду соответствует напряжение 1230мВ

Составляем пропорцию

х = 180 – т.е. при номинальной скорости вращения на выходе АЦП будет цифровой код 180 в десятичной системе счисления или 00B4 в шестнадцатеричной системе счисления.


8 Текст программы

;Устройство контроля углового смещение вала электродвигателя

;Программа выдает полученное с СКВТ значение угла на семисегментный индикатор

 

;----------------------- описание констант ----------------------------

 

K5 EQU #5;доп. коэффициент делен. для вывода

;на индикатор

 

;---------- присваивание имен внутренним регистрам процессора ---------

 

RAZ0 EQU 00H;\

RAZ1 EQU 01H;- хранят изображение символов

RAZ2 EQU 02H;/ соответствующих разрядов индикатора

CORN EQU 03H;Отцифрованное значение напряжения

;на выходе АЦП

 

;----------------------------------------------------------------------

 

ORG 0000H

JMP MAIN

 

;---------------- инициализация портов и регистров --------------------

 

MAIN:

MOV PSW,#0;Установка банка

MOV SCON,#11110000B;Режим3(9-битная передача,9-й бит=0)

 

;--------------------- основная программа -----------------------------

 

PROG:

MOV 17H,#K5;загрузка в 2.R7 дополнительного

;коэффициента деления для индикатора

MOV 15H,#1;установка в 2.R5 текущего разряда

;индикатора = 0

CALL ACP;Измеряем значение напряжения на входе АЦП

CALL OUTCORN;Вывод угла на индикатор

MOV A,CORN;Передача результата измерения

CALL TRANS;АЦП по RS-232

JMP PROG;Переход на PROG

 

 

;--------------------- подпрограмма для АЦП --------------------------

 

ACP:

MOV P0.4,#0;Выбор входного канала

MOV P3,#10010000B;Включить АЦП

NOP;Ожидание окончания преобразования

JBC P0.3,$;Переход, если бит Р0.3 установлен

MOV A,P2;

MOVX @DPTR,A;

MOV CORN,DPTR;Запомнить байт

RET

 

;---------------------- вывод на индикатор ---------------------------

 

OUTIND MOV R7,#K5;обновить коэффициент деления

CJNE R5,#4,OUTRAZ;подготовка текущего разряда

MOV R5,#1

OUTRAZ MOV A,R5

MOV R6,A

CLR A

SETB C;подготовка к формирования разряда

NEXTRAZ RLC A

DJNZ R6,NEXTRAZ;формирование кода разряда

MOV P2,A;выставить разряд в порт

MOV A,#2FH;маска для чтения ячеек индикатора

ADD A,R5;вычислить адрес ячейки

;текущего разряда

MOV R0,A

MOV A,@R0;считать содержимое ячейки разряда

CALL GETIMGE;получить изображение символа

MOV P1,A;вывести символ в порт

INC R5;подготовиться к следующему разряду

RET

 

;--------------------- вывод угла на индикатор -----------------------

 

OUTCORN PUSH ACC

PUSH B

MOV A,CORN

MOV B,#10

DIV AB

MOV RAZ2,B

MOV B,#10

DIV AB

MOV RAZ1,B

MOV RAZ0,A

POP B

POP ACC

RET

 

;-------------------- выдача изображения символа ---------------------

 

GETIMGE PUSH DPH

PUSH DPL

MOV DPTR,#TABLE

MOVC A,@A+DPTR

POP DPL

POP DPH

RET

 

;------------------ подпрограмма работы с RS-232----------------------

 

; Передача байта

TRANS: MOV SBUF, A; переслать байт

JNB TI, $;ожидание прерывания передатчика

CLR TI; сброс флага прерывания передатчика

RET

 

;----------------------- таблица символов ---------------------------

 

TABLE DB 11000000B;00-'0'

DB 11111001B;01-'1'

DB 10100100B;02-'2'

DB 10110000B;03-'3'

DB 10011001B;04-'4'

DB 10010010B;05-'5'

DB 10000010B;06-'6'

DB 11111000B;07-'7'

DB 10000000B;08-'8'

DB 10010000B;09-'9'

;------------------------- конец программы -------------------------

END


Список использованной литературы

1. Ковшов В.Д., Павлов О.Б., Каштанова С.Б. Микропроцессорные средства в электроприводах и технологических комплексах: Учебное пособие. – Уфа: Изд-во УГНТУ, 2000. – 114с.

 

2 Ковшов В.Д., Павлов О.Б., Каштанова С.Б. Программирование однокристальных ЭВМ 1816ВЕ31/51: Методические указания к лаб. раб.№2 по курсу «Микропроцессорные средства и основы телемеханики» - Уфа: Изд-во УГНТУ, 1998. – 24с.

 

3. Микропроцессорные системы: Учебное пособие для вузов. Под общей редакцией Д. В. Пузанкова. – СПб.: Политехника, 2002. – 935 с.: ил.

 

 


Дата добавления: 2015-10-16; просмотров: 136 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
УФА 2006| Обязательные требования к курсовой работе

mybiblioteka.su - 2015-2024 год. (0.012 сек.)