Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Микропроцессорная техника. Микроконтроллер в двухпозиционном регуляторе

Тип Реферат
Предмет Информатика и программирование
Просмотров
957
Размер файла
91 б
Поделиться

Ознакомительный фрагмент работы:

Микропроцессорная техника. Микроконтроллер в двухпозиционном регуляторе

осковский

ордена ОктябрьскойРеволюции и

ордена ТрудовогоКрасного Знамени

институт Сталии Сплавов


кафедра электротехники


Курсоваяработа


“Микропроцессорнаятехника. Микроконтроллерв двухпозиционномрегуляторе”


Выполнилстудент: ДенисовА.В.

подпись:

Группа: МПП97-1В


Задание:разработкаструктурнойи электрическойсхемы микроконтроллерана базе заданныхв варианте

микропроцессорныхинтегральныхсхем и егопрограммированиедля работы сдвухпозиционным

регуляторомпо заданномузакону регулирования.


Данныеварианта №4:


Картапамяти: Адрестаймера и интерфейса:

0000-3FFFСВОБОДНО16К
CT74h,75h,76h,77h
4000-47FFRAM
4800-F7FFСВОБОДНО44К
IOC8h,C9h,CAh,CBh
F800-FFFFROM


ОЗУ512х8



ПЗУ1024х8


Законрегулирования


Краткоеописание:контроллервыполнен намикропроцессорномкомплекте серииК580. Микросхемы,входящие всостав комплекта,образуют полныйнабор, необходимыйдля построениянесложныхпрограммноуправляемыхмикроконтроллеров.


Набормикросхем:

  • КР580ВМ80А - микропроцессор

  • КР580ВК28 - системныйконтроллер

  • КР580ВВ55А - программируемыйконтроллерввода-вывода

  • КР580ВИ53 - программируемыйтаймер

  • КР580ГФ24 - генератортактовых импульсов

  • К555ИД3- дешифратор4 в 16

  • К555ИД7- дешифратор3 в 8

  • К505РЕ3– динамическоеОЗУ 512х8

  • МикросхемыПЗУ иностранногопроизводства


МикросхемыОЗУ и ПЗУ подключенык шине адресаЦПУ согласнокарте памяти,при этом двоичныеадреса каждойиз

микросхем показаны втаблице 1.

Контроллерввода-выводаи системныйтаймер подключенык младшим 8 адреснымлиниям (0-7), таккак пространствоввода-выводадля процессорасерии 580 допускаетобращениетолько к 256 устройствам.


Программноеобеспечение:

Контроллеруправляетсяпрограммно.Среднее времявыполнениякоманды микропроцессоромсоставляетмаксимальнооколо 10 тактов(на самых сложныхучастках), чтопри частотетактирующихимпульсов 2 МГцдаёт около200000 операций всекунду. Причастоте опросавнешних устройств1000 Гц длина основногоцикла программыможет составлятьдо 200 команд. Такоебыстродействие,а также объёмпамяти 2048 байтпозволяютстроить программус модульнойархитектурой,что значительнооблегчает еёотладку исопровождение.

Для компиляциипрограммыприменён BorlandTurboAssemblerv4.0,команды подмножестваIntel8085 обрабатываютсяпри помощиподключаемогофайла макроопределенийMACROS80.ASM.Подобный подходпозволяетполучать исполняемыефайлы 8085 на машинахкласса IBMPC,наиболее доступныхв настоящеевремя.

В данномисполненииконтроллерможет поддерживатьтемпературу[0..255] градусовЦельсия с точностьюдо 1 градуса вовременноминтервале[1..65,53] секунды прилинейном измененииили неограниченно,если температурапостоянна.Точность измерениятемпературыобъекта ограниченаразрядностьюАЦП и сопряжённогос ним порта Aконтроллераввода-вывода.


Программауправленияприведена ниже.



ИМС


АДРЕСHEX

АДРЕСBIN, БИТЫ
1514131211109876543210
RAM 1

4000

41FF

0100000000000000
0100000111111111
RAM 2

4200

43FF

0100001000000000
0100001111111111
RAM 3

4400

45FF

0100010000000000
0100010111111111
RAM4

4600

47FF

0100011000000000
0100011111111111
УСТРОЙСТВОНА ШИНЕDC1DC2RAM
ROM 1

F800

FBFF

1111100000000000
1111101111111111
ROM 2

FCFF

FFFF

1111110000000000
1111111111111111
УСТРОЙСТВОНА ШИНЕDC4DC3ROM
IO

C8

C9

CA

CB

0000000011001000
0000000011001001
0000000011001010
0000000011001011
УСТРОЙСТВОНА ШИНЕНЕПОДКЛЮЧЕНЫDC5DC6IO
CT

74

75

76

77

0000000001110100
0000000001110101
0000000001110110
0000000001110111

У

табл1 подключениемикросхем кшине адресав адресномпространствеCPU

СТРОЙСТВОНА ШИНЕ
НЕПОДКЛЮЧЕНЫDC5DC6CT

рис1 схемаконтроллераэлектрическаяпринципиальная




INCLUDEMACROS80.ASM

;======================================================================

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

; Константы:

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

;

;Адреса запускапрограмм в ОЗУи ПЗУ


CONST:


RAM_BASE EQU 04000h ; Адресзапускав ОЗУ

ROM_BASE EQU 0F800h ; Адрес запускав ПЗУ

IO_BASE EQU 0C8h ; Адреспрограмируемогоинтерфейса

CT_BASE EQU 074h ; Адрестаймера


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

; Программируемыйинтерфейс IO

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

;Режимы работыпрограммируемогоинтерфейса- биты байтасостояния


IOSB_SETMODE EQU 10000000b ; IO STATUS BITS

IOSB_SETCBITS EQU 00000000b

IOSB_AMODE0 EQU 00000000b

IOSB_AMODE1 EQU 00100000b

IOSB_AMODE2 EQU 01000000b

IOSB_A70IN EQU 00010000b

IOSB_A70OUT EQU 00000000b

IOSB_C74IN EQU 00001000b

IOSB_C74OUT EQU 00000000b

IOSB_BMODE0 EQU 00000000b

IOSB_BMODE1 EQU 00000100b

IOSB_B70IN EQU 00000010b

IOSB_B70OUT EQU 00000000b

IOSB_C30IN EQU 00000001b

IOSB_C30OUT EQU 00000000b


;Адреса портовпрограммируемогоинтерфейса(IO)


IO_MODE_PORT EQU IO_BASE+03h ; Порт программированияIO

IO_C_PORT EQU IO_BASE+02h ; ПортC

IO_B_PORT EQU IO_BASE+01h ; ПортB

IO_A_PORT EQU IO_BASE+00h ; ПортA


;Константы дляработы с IO


IO_MODE= IOSB_SETMODE+IOSB_AMODE0+IOSB_A70IN+IOSB_C74IN+IOSB_BMODE0

IO_MODE= IO_MODE+IOSB_B70OUT+IOSB_C30OUT


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

; Таймер CT:

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

;Режимы работытаймеров - битыбайта состояния


CTSB_TIMER0 EQU 00000000b ; CT STATUS BITS

CTSB_TIMER1 EQU 01000000b

CTSB_TIMER2 EQU 10000000b

CTSB_STOP EQU 00000000b

CTSB_LOWBYTE EQU 00010000b

CTSB_HIGHBYTE EQU 00100000b

CTSB_TWOBYTES EQU 00110000b

CTSB_MODE0 EQU 00000000b

CTSB_MODE1 EQU 00000010b

CTSB_MODE2 EQU 00000100b

CTSB_MODE3 EQU 00000110b

CTSB_MODE4 EQU 00001000b

CTSB_MODE5 EQU 00001010b

CTSB_BINCODE EQU 00000000b

CTSB_BINDECCODEEQU 00000001b


;Адреса портовтаймера (CT)


CT_MODE_PORT EQU CT_BASE+03h ; ПортпрограммированияCT

CT_TIMER2_PORT EQU CT_BASE+02h ; Таймер2

CT_TIMER1_PORT EQU CT_BASE+01h ; Таймер1

CT_TIMER0_PORT EQU CT_BASE+00h ; Таймер0


;Константы дляработы с таймерами


TIMER_MODE_PORT EQU CT_MODE_PORT

TIMER_STATE_PORT EQU IO_C_PORT

TIMER0_FREQUENCY EQU 1000 ; Заданиеосновноготактированияпо T0, Гц

TIMER0_DELAY EQU 2000000 / TIMER0_FREQUENCY


TIMER0_MODE= CTSB_TIMER0+CTSB_TWOBYTES+CTSB_MODE2+CTSB_BINDECCODE

TIMER1_MODE= CTSB_TIMER1+CTSB_TWOBYTES+CTSB_MODE0+CTSB_BINCODE

TIMER2_MODE= CTSB_TIMER2+CTSB_TWOBYTES+CTSB_MODE0+CTSB_BINCODE


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

;Прочие константы

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

;Константы дляработы с нагревателем


HEATER_MODE_PORT EQU IO_C_PORT

HEATER_STATE_PORTEQU IO_A_PORT

HEATER_ON EQU 1

HEATER_OFF EQU 0


;======================================================================

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

;ОСНОВНАЯ ПРОГРАММА

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

;См. входныепараметрыподпрограмм


ORGRAM_BASE ; Эта программанаходится вОЗУ


mvi a,IO_MODE ; Инициализацияконтроллераввода-вывода

out IO_MODE_PORT


xra a ; Очисткааккумулятора

callRestart_Timer ; Запусктаймера0


;=== Работа на участке1 (dT=-50C, dt=5сек)

mvi a,200 ; Начальнаятемпература

mvi b,TIMER0_FREQUENCY * 5 SHR 4 ; Времярегулировки5 секунд

mvi c,TIMER0_FREQUENCY * 5 AND 0FFh

mvi d,TIMER0_FREQUENCY * 5 / 50 SHR 4 ; ВремяизмененияT

mvi e,TIMER0_FREQUENCY * 5 / 50 AND 0FFh ; на1 градус

mvi h,-1 ; Уменьшатьтемпературу

callreg


;=== Работа на участке2 (dT=0, dt=5сек)

mvi a,150 ; Начальнаятемпература

mvi b,TIMER0_FREQUENCY * 5 SHR 4 ; Времярегулировки5 секунд

mvi c,TIMER0_FREQUENCY * 5 AND 0FFh

mvi d,0FFh ; Времяизменениятемпературы

mvi e,0FFh ; велико(T = const)

mvi h,0 ; температурапостоянна

callreg


;=== Работа на участке3 (dT=-100C, dt=2сек)

mvi a,150 ; Начальнаятемпература

mvi b,TIMER0_FREQUENCY * 2 SHR 4 ; Времярегулировки2 секунды

mvi c,TIMER0_FREQUENCY * 2 AND 0FFh

mvi d,TIMER0_FREQUENCY * 2 / 100 SHR 4 ; Времяизменениятемпературы

mvi e,TIMER0_FREQUENCY * 2 / 100 AND 0FFh ; на1 градус

mvi h,-1 ; Уменьшатьтемпературу

callreg


;=== Отключениенагревателя

callOff_Heater


;=== Завершениепрограммы

hlt


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

;Подпрограммыдля работы снагревателем

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

;

;On_Heater и Off_Heater: включитьи выключитьнагревательсоответственно

;ВХОД: НЕТ

;ВЫХОД: НЕТ

;РЕГИСТРЫ: НЕИЗМЕНЯЕТ

;ФЛАГИ: НЕ ИЗМЕНЯЕТ


On_Heater:

pushb

mov b,a

mvi a,HEATER_MODE_PORT

out HEATER_ON

mov a,b

pop b

ret


Off_Heater:

pushb

mov b,a

mvi a,HEATER_MODE_PORT

out HEATER_OFF

mov a,b

pop b

ret


;

;Heater_Control: подпрограммаподдержкизаданной температуры.Если

; температурабольше илиравна заданной,выключаетнагреватель,

; иначе включает.

;ВХОД: a - заданнаятемпература

;ВЫХОД: еслинагревательвключен CF=1, иначеCF=0

;РЕГИСТРЫ: НЕИЗМЕНЯЕТ

;ФЛАГИ: CF


Heater_Control:

pushb

mov b,a

in HEATER_STATE_PORT

cmp b

jnc Temperature_Is_Normal

callOn_Heater

jmp Exit_Heater_Control

Temperature_Is_Normal:

callOff_Heater

Exit_Heater_Control:

mov a,b

pop b

ret


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

;Подпрограммыдля работы стаймерами

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

;

;Restart_Timer - запуск таймерана отсчёт N отрезков.

;ВХОД: a - номертаймера

; b,c - число отрезковдля отсчётадля таймеров1 или 2

;ВЫХОД: НЕТ

;РЕГИСТРЫ: НЕИЗМЕНЯЕТ

;ФЛАГИ: НЕ ИЗМЕНЯЕТ


Restart_Timer:

pushpsw

jnz IsTimer1

mvi a,TIMER0_MODE ; Инициализациятаймера 0

out TIMER_MODE_PORT

mvi a,TIMER0_DELAY AND 0FFh ; Ввод младнегобайта величинызадержки

out CT_TIMER0_PORT

mvi a,TIMER0_DELAY SHR 4 ; Вводстаршегобайта

out CT_TIMER0_PORT

jmp Exit_Restart_Timer

IsTimer1:

dcr a

jnz IsTimer2

mvi a,TIMER1_MODE

out TIMER_MODE_PORT

mov a,c

out CT_TIMER1_PORT

mov a,b

out CT_TIMER1_PORT

jmp Exit_Restart_Timer

IsTimer2:

dcr a

jnz Exit_Restart_Timer

mvi a,TIMER2_MODE

out TIMER_MODE_PORT

mov a,c

out CT_TIMER2_PORT

mov a,b

out CT_TIMER2_PORT

Exit_Restart_Timer:

pop psw

ret


; Check_Timers -проверить, небыло ли срабатываниятаймера

;ВХОД: НЕТ

;ВЫХОД: еслисработал таймер1, установитбит 1 аккумулятора,

; если таймер2 - бит 2 (т.е. 1 - таймер1, 2 - таймер 2)

; кроме того,если таймерсработал, установитфлаг CF

;РЕГИСТРЫ: a

;ФЛАГИ: CF


Check_Timers:

stc

pushb

pushpsw

in TIMER_STATE_PORT

ani 11000000b

jnz TimeOut

pop psw

pop b

cmc

ret

TimeOut:

rlc ; Rotate bits to positions 0 and 1

rlc

mov b,a

pop psw

mov a,b

pop b

ret


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

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

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

;

;Reg: регулированиетемпературы

;ВХОД: a - начальнаятемпература

; b,c - тактов таймера0 до окончаниярегулирования

; d,e - тактов таймера0 до измененияуставки по T

; h - направлениеизменения T - +1, -1 или 0

;ВЫХОД: НЕТ

;РЕГИСТРЫ: НЕИЗМЕНЯЕТ

;ФЛАГИ: НЕ ИЗМЕНЯЕТ


Reg:

pushb ; Сохранитьвсе основныерегистры

pushd

pushh

pushpsw


pushpsw ; Запуститьтаймер 2 на счётвремени

mvi a,2 ; регистрыb,c уже установлены,см. ВХОД

callRestart_Timer

pop psw


pushd ; Регистровуюпару (d,e) поместитьв (b,c)

pop b

mov d,a ; Store temperature in d


T_Changed:

mvi a,1 ; Таймер1...

callRestart_Timer ; ... запуститьна подсчётвремени доновой уставки


Reg_Next:

mov a,d ; Восстановимуставку T

callHeater_Control ; Подрегулируемтемпературу

callCheck_Timers ; Проверим,не сработалли таймер

jnc Reg_Next

cpi 1

jnc Exit_Reg ; Если сработалтаймер 2 (ВРЕМЯ)- на выход

mov a,d

add h ; Иначе изменимуставку потемпературе,

mov d,a ; сохранимеё

jmp T_Changed ; и перезапустимподсчёт времениуставки


Exit_Reg:

pop psw ; restore general registers

pop h

pop d

pop b

ret


ENDALL


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

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

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно