Курсовая: Микропроцессорная техника. Микроконтроллер в двухпозиционном регуляторе - текст курсовой. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Курсовая

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

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Курсовая работа
Язык курсовой: Русский
Дата добавления:   
 
Скачать
Архив Zip, 189 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникальной курсовой работы

Узнайте стоимость написания уникальной работы

Московский ордена Октябрьской Революции и ордена Трудового Красного Знамени институт Стали и Сплавов кафедра электротехники Курсовая работа “Микропроцессорная техника . Микроконтроллер в двухпозиционном регуляторе” Выполнил студент : Денисов А.В. подпись : Группа : МПП 97-1В Задание : разработка структурной и электри ческой схемы микроконтроллера на базе заданных в варианте микропроцессорных интегральных схем и его программирование для работы с двухпозиционным регулятором по заданному закону регулирования. Данные варианта № 4: Карта памяти : Ад рес таймера и интерфейса : 0000-3 FFF СВОБОДНО 16К CT 74h,75h,76h,77h 4000-47FF RAM 2 К 4800- F 7 FF СВОБОДНО 44К IO C8h,C9h,CAh,CBh F800-FFFF ROM 2К Краткое описание : контроллер выполнен на микропроцессорном комплекте серии К 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 байт позволяют строить программу с модульной архитектурой , что значительно обле г чает её отладку и сопровождение. Для компиляции программы применён Borland Turbo Assembler v 4.0, команды подмножества Intel 8085 обрабатываются при помощи подключаемого файла макроопределений MACROS 80. ASM . Подобный подход позволяет получать исполняемые фай лы 8085 на машинах класса IBM PC , наиболее доступных в настоящее время. В данном исполнении контроллер может поддерживать температуру [0..255] градусов Цельсия с точностью до 1 градуса во временном интервале [1..65,53] секунды при линейном изменении или не ограниченно , если температура постоянна . Точность измерения температуры объекта ограничена разрядностью АЦП и сопряжённого с ним порта A контроллера ввода-вывода. Программа управления приведена ниже . ИМС АДРЕС HEX АДРЕС BIN , БИТЫ 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 RAM 1 4000 41FF 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 RAM 2 4200 43FF 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 RAM 3 4400 45FF 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1 1 1 1 1 1 1 RAM 4 4600 47 FF 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 УСТРОЙСТВО НА ШИНЕ DC1 DC2 RAM ROM 1 F800 FBFF 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 ROM 2 FCFF FFFF 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 УСТРОЙСТВО НА ШИНЕ DC4 DC3 ROM IO C8 C9 CA CB 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 УСТРОЙСТВО НА ШИНЕ НЕ П ОДКЛЮЧЕНЫ DC 5 DC6 IO CT 74 75 76 77 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 УСТРОЙ СТВО НА ШИНЕ НЕ ПОДКЛЮЧЕНЫ DC 5 DC6 CT INCLUDE MACROS80.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_BINDECCODE EQU 00000001b ; Адреса портов таймера (CT) CT _ MODE _ PORT EQU CT _ BASE +03 h ; Порт программирования 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_PORT EQU IO_A_PORT HEATER_ON EQU 1 HEATER_OFF EQU 0 ; =========== =========================================================== ; ---------------------------------------------------------------------- ; ОСНОВНАЯ ПРОГРАММА ; ---------------------------------------------------------------------- ; См . входные параметры подпр ограмм ORG RAM_BASE ; Эта программа находится в ОЗУ mvi a,IO_MODE ; Инициализация контроллера ввода-вывода out IO_MODE_PORT xra a ; Очистка аккумулятора call Restart_Timer ; Запуск таймера 0 ; === Работа на участке 1 (dT=-50C, dt=5сек ) mvi a,200 ; Начальная температура mvi b , TIMER 0_ 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 ; Уменьшать температуру call reg ; === Работа на участке 2 (dT=0, dt=5сек ) mvi a,150 ; Начальная температура mvi b , TIMER 0_ FREQUENCY * 5 SHR 4 ; Время регулировки 5 секунд mvi c,TIMER0_FREQUENCY * 5 AND 0FFh mvi d,0FFh ; Время изменения температуры mvi e,0FFh ; велико (T = const) mvi h,0 ; температура постоянна call reg ; === Работа на участке 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 ; Уменьшать температуру call reg ; === Отключение нагревателя call Off _ Heater ; === Завершение программы hlt ; ---------------------------------------------------------------------- ; Подпрограммы для работы с нагревателем ; ---------------------------------------------------------------------- ; ; On_Heater и Off_Heater: включить и выключить нагреватель соответственно ; ВХОД : НЕТ ; ВЫХОД : НЕТ ; РЕГИСТРЫ : НЕ ИЗМЕНЯЕТ ; ФЛАГИ : НЕ ИЗМЕНЯЕТ On _ Heater : push b mov b,a mvi a,HEATER_MODE_PORT out HEATER_ON mov a,b pop b ret Off_Heater: push b 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 : push b mov b,a in HEATER_STATE_PORT cmp b jnc Temperature_Is_Normal call On_Heater jmp Exit_Heater_Control Temperature_Is_Normal: call Off_Heater Exit_Heater_Control: mov a,b pop b ret ; ---------------------------------------------------------------------- ; Подпрограммы для работы с таймерами ; ---------------------------------------------------------------------- ; ; Restart_Timer - запуск таймера на отсчёт N отрезков. ; ВХОД : a - номер таймера ; b,c - число отрезков для отсчёта для таймеров 1 или 2 ; ВЫХОД : НЕТ ; РЕГИСТРЫ : НЕ ИЗМЕНЯЕТ ; ФЛАГИ : НЕ ИЗМЕНЯЕТ Restart _ Timer : push psw jnz IsTimer1 mvi a , TIMER 0_ MODE ; Инициализация таймера 0 out TIMER_MODE_PORT mvi a,TIMER0_DELAY A ND 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 push b push psw 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: push b ; Сохранить все основные регистры push d push h push psw push psw ; Запустить таймер 2 на счёт времени mvi a,2 ; регистры b,c уже установлены , см . ВХОД call Restart_Timer pop psw push d ; Регистровую пару (d,e) поместить в (b,c) pop b mov d,a ; Store temperature in d T_Changed: mvi a,1 ; Таймер 1... call Restart_Timer ; ... запустить на подсчёт времени до новой уставки Reg_Next: mov a,d ; Восстановим уставку T call Heater_Control ; Подр егулируем температуру call Check_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
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
- Алло! Маша, хорошо хоть до тебя дозвонился. Очень плохо слышно! Передай в пароходство. Давно нет связи. Сильный крен! Пусть высылают помощь!

- Алло! Пароходство? Тут мой муж, капитан баржи, на мобилку звонил. Просит выслать помощь, у него, видишь ли, давно не было связей и сильный хрен. Знаю, какая ему нужна помощь - ничего, до дому потерпит!
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

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

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru