Разработка микропроцессорной системы управления лифтом

Автор работы: Пользователь скрыл имя, 31 Марта 2013 в 16:38, курсовая работа

Описание работы

На сегодняшний день лифт стал неотъемлемой частью нашей жизни. В современных многоэтажных зданиях их число доходят до трех. Различают грузовые, пассажирские, пожарные и другие типы лифтов. Но несмотря на их функциональное различие, принцип работы и система управления во многом схожи.
Далеко не каждый человек задумывается, что скрывается за простым алгоритмом нажатия кнопки и прибытием на нужный этаж.

Файлы: 1 файл

МПС курсач мой.doc

— 1.22 Мб (Скачать файл)

Также выделим и функции, которые возлагаются на программу, загружаемую в микроконтроллер:

    1. Отображение времени;
    2. Отображение температуры и влажности;
    3. Проверка отклонении температуры и влажности на 5%;
    4. Проверка отклонения температуры до 200;
    5. Включение динамика;
    6. Зажигание светодиода;
    7. Выработка управляющих сигналов для коррекции температуры и влажности.

 

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

 

После того, как были определены все требования, предъявляемые требования к программному средству, и выполняемые им функции, можно приступить к проектированию схемы алгоритма программы. Конечно схема работы программного средства была приведена в предыдущих пунктах, но она была укрупнённая. А наша задача  сейчас составить более детальную схему алгоритма программы.

Схема алгоритма программы  для устройства измерения и анализа  веса представлена на рисунке 4.2.1.

 

Рисунок 4.2.1 – Схема  алгоритма программы для МПС

4.3 Выбор среды  программирования

 

Программное средство было решено реализовывать с помощью  инструментальных средств фирмы Keil Software. Поскольку данный пакет было достаточно детально изучен на лабораторных занятиях. Также следует отметить, что представленная фирма поддерживает все стадии разработки приложения: создание исходного файла на С или Ассемблере, трансляцию, исправление ошибок, линкование объектных файлов, тестирование приложения. В пакете Keil Software содержатся практически все необходимые средства  разработки для микроконтроллера 8051 /9/. Компилятор С51 поддерживает стандарт ANSI С, разработан специально для 8051 семейства и позволяет создавать программы на языке С (который является наиболее освоенным разработчиком данного курсового проекта), сохраняя эффективность и скорость оптимизации Ассемблера. Расширения, включенные в инструментальные средства Keil, обеспечивают полный доступ к ресурсам микроконтроллеров 8051.

 

 

Заключение

 

 

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

В процессе разработки были решены следующие задачи:

    1. Определили функции, реализуемые аппаратной и программной частями устройства;
    2. Выбрали микроконтроллер;
    3. Подобрали дополнительные устройства и элементы, необходимые для разработки устройства;
    4. Создали структурную схему;
    5. Создали на основе структурной схемы функциональную;
    6. Создали на основе функциональной схемы принципиальную электрическую;
    7. Разработали программное обеспечение для микропроцессорной системы.

Логическим завершением  данного курсового проектирования можно считать окончание разработки программного обеспечения, которая  осуществляет в данной разработке функции взаимосвязи всех элементов аппаратной части устройства между собой.

 

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

 

 

  1. Угрюмов Е. П. «Цифровая схемотехника». – СПб.: БХВ-Петербург, 2004. -528 с.: ил.
  2. Справочник. Микроконтроллеры: архитектура, программирование, интерфейс. Бродин В.Б., Шагурин М.И.М.:ЭКОМ, 1999.
  3. Нефедов А. В., Нефедова М. Ю. «Зарубежные интегральные микросхемы»: изд. Энергоатомиздат, 1995 г.
  4. Андреев Д.В. Программирование микроконтроллеров MCS-51: Учебное пособие. - Ульяновск: УлГТУ, 2000.
  5. Справочник по цифровой схемотехнике / В.И. Зубчук, В. П. Сигорский, А. Н. Шкурко. – К. Техника, 1990. – 448 с.
  6. М. Предко. Руководство по микроконтроллерам. Том I. Москва: Постмаркет, 2001.
  7. Интегральные микросхемы: Справ. / Б. В. Тарабрин, Л. Ф. Лукин, Ю. Н. Смирнов и др.; Под ред. Б. В. Тарабрина. – М.: Радио и связь, 1985.
  8. «Микропроцессоры и микропроцессорные комплекты интегральных схем», под редакцией Шахнова В. А.: изд. Радио и связь, 1988 г.
  9. Бурькова Е.В. Микропроцессорные системы. ГОУ ОГУ. 2005.
  10. Новаченко И. В., Петухов В. М., Блудов И. П., Юровский А. В. «Микросхемы для бытовой радиоаппаратуры»: изд. Радио и связь, 1989 г.

 

Приложение А

(обязательное)

Функциональная  схема МПС

 

Приложение Б

(обязательное)

Принципиальная  электрическая схема МПС

 

Приложение В

(обязательное)

Перечень элементов

 

Приложение Г

(обязательное)

Листинг программы

 

 

#include "ADuC812.h"

#include "max.h"

#include "KB.h"

#include "i2c.h"

#include "lcd.h"

#include "rtc.h"

 

void Buzz(void)

{

unsigned char i;

unsigned short dur;

 

    for(dur = 0; dur < 500; dur++)

    {

        WriteMax(ENA,0x24);

        for(i=0; i < 2; i++)continue;

        WriteMax(ENA,0x20);

        for(i=0; i < 2; i++)continue;

    }

 

}

 

extern int sprintf  (char *, const char *, ...);

extern int    abs  (int   val);

 

int T,VL,DV,kol,Tmin,Tmax;

TIME Opros,iztemp;

TIME vrem;

char outstr[16];

unsigned int ch;

int i;

unsigned char diap;

 

void FROM_TM0(void) interrupt 1

{

  TH0=0xDC;

  TL0=0x31;

  kol++;

  if (kol==100)

  {

  kol=0;

  TR0=0;

 

  GetTime(&vrem);

  sprintf (outstr,"%d:%d:%d ", (int)vrem.hour, (int)vrem.min, (int)vrem.sec);

  LCD_GotoXY(0,0);

  LCD_Type(&outstr);

 

    if (((vrem.min*60+vrem.sec)-(Opros.min*60+Opros.sec))==10)

   {

    LCD_GotoXY(0,1);

 

    sprintf (outstr,"Temp %d Vlag %d", (int)T, (int)VL);

    LCD_Type(&outstr);

    Opros=vrem;

   

    ch=0;

    if ((VL<=47)||(VL>=52)) {ch=ch | 1;}

  if ((T<=Tmin)||(T>=Tmax)) {ch= ch | 2;}

    if (T<=20) {Buzz();}

    if (DV==1) {Buzz(); DV=0;}

    WriteMax(SV,ch);

 

   } 

  if ((vrem.min-iztemp.min)==diap)

   {

    iztemp=vrem;

    if (diap==1) {diap=2;Tmin=36;Tmax=40;T=38;}

     else {diap=1;T=28; Tmin=26; Tmax=30;}

   } 

 

  TR0=1;

  }

}

void SetVector(unsigned char xdata *Address, void *Vector)

{

unsigned short xdata *TmpVector;

*Address = 0x02;

TmpVector = (unsigned short xdata *) (Address+1);

*TmpVector = (unsigned short) Vector;

}

 

void main(void)

{

 

unsigned char s;

 

T=38;

Tmin=36;

Tmax=40;

diap=2;

VL=50;

DV=0;

s=0;

kol=0;

InitLCD();

SetVector(0x200B,(void *) FROM_TM0);

TMOD=1;

ET0=1;

EA=1;

TH0=0xDC;

TL0=0x31;

GetTime(&Opros);

iztemp=Opros;

TR0=1;

while (1)

{

  while (ScanKBOnce(&s)==0) {}

  if (s=='1') {T-=5;}

  if (s=='2') {T+=5;}

  if (s=='4') {VL-=5;}

  if (s=='5') {VL+=5;}

  if (s=='0') {DV=1;}

  for (i=0;i<20000;i++)

   {Delay();}

}

}

 

 

 

 

 

 



Информация о работе Разработка микропроцессорной системы управления лифтом