Создание устройства для удалённого мониторинга, состояния датчиков на основе микроконтроллеров

Автор: Пользователь скрыл имя, 15 Мая 2012 в 12:31, курсовая работа

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

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

Содержание

Введение 2
Теоретические сведения: 3
Цель работы: 5
Задание: 5
Ход работы: 6
1. Основные блоки функциональной схемы: 7
1.1 Микроконтроллер 7
1.2 Приёмо-передатчик 8
1.3 Цепи тактирования 9
1.4 Геркон 9
1.5 Клавиатура 10
1.6 Устройства вывода 10
2. Программная реализация алгоритма. 11
2.1 Алгоритм работы 11
2.2 Пульт оператора 11
Заключение 11
Приложение…………….………………………………………………………………………………………….12
3.1 Принципиальная схема…………………………………………………………………………………12
3.2 Листинг АРМ ..…………………….…………………………………………………………………………13
3.2 Листинг устройства низкого уровня ..…………………….…………….…………………...…23
Список литературы 29

Работа содержит 1 файл

Курсовичок 1.7.docx

— 291.97 Кб (Скачать)

  unsigned char Data_Ger;        //Переменная состояния всех датчиков

// Declare your global variables here

 

void main(void)

{

// Declare your local variables here 

// Input/Output Ports initialization

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P

PORTB=0xFF;

DDRB=0x00; 

// Port C initialization

// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State6=P State5=P State4=P State3=P State2=P State1=P State0=P

PORTC=0x7F;

DDRC=0x00; 

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTD=0x00;

DDRD=0x00; 

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: Timer 0 Stopped

TCCR0=0x00;

TCNT0=0x00; 

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: 0,977 kHz

// Mode: Normal top=FFFFh

// OC1A output: Discon.

// OC1B output: Discon.

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer 1 Overflow Interrupt: On

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

TCCR1A=0x00;

TCCR1B=0x05;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00; 

// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer 2 Stopped

// Mode: Normal top=FFh

// OC2 output: Disconnected

ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00; 

// External Interrupt(s) initialization

// INT0: Off

// INT1: Off

MCUCR=0x00; 

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x00; 

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity

// USART Receiver: On

// USART Transmitter: On

// USART Mode: Asynchronous

// USART Baud Rate: 9600 (Double Speed Mode)

UCSRA=0x02;

UCSRB=0x18;

UCSRC=0x86;

UBRRH=0x00;

UBRRL=0x33; 

// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

SFIOR=0x00; 

while (1)

      {

      if (getchar() == 'G')         //Если пришёл символ G, то начинаем сбор данных

      { 

     

      if(PINB.0==0)                //Считываем состояние датчика  в переменную

       {dat_1=1;}  

         if(PINB.1==0)             //Считываем состояние датчика  в переменную

       {dat_2=1;} 

         if(PINB.2==0)             //Считываем состояние датчика  в переменную

       {dat_3=1;} 

         if(PINB.3==0)             //Считываем состояние датчика  в переменную

       {dat_4=1;} 

         if(PINB.4==0)             //Считываем состояние датчика  в переменную

       {dat_5=1;} 

         if(PINB.5==0)             //Считываем состояние датчика  в переменную

       {dat_6=1;} 

         if(PINB.6==0)              //Считываем состояние датчика  в переменную

       {dat_7=1;}

        if(PINB.7==0)               //Считываем состояние датчика  в переменную

       {dat_8=1;} 

      

Data_Ger=(dat_8<<7)|(dat_7<<6)|(dat_6<<5)|(dat_5<<4)|(dat_4<<3)|(dat_3<<2)|(dat_2<<1)|(dat_1<<0); //Считываем состояние всех датчиков  в переменную

        

           while (!(UCSRA.5));  //проверяем можно  ли передовать

          

            UDR=Data_Ger;       //Передаём

        

        } 

      };

} 
 
 
 
 
 
 
 
 
 
 
 
 

Список литературы

 
    
  1. Югай В. Я., Иванов Ю. И., Цирулик Д. В. Программно-аппаратная реализация  типовых функций в  системах управления. – Таганрог: Изд-во ТТИ ЮФУ, 2009.
  2. Югай В. Я., Иванов Ю. И. Микропроцессорная техника в системах управления. – Таганрог: Изд-во ТТИ ЮФУ, 2009.
  3. Сайт фирмы ATMEL / http://www.atmel.ru.
  4. Сайт о микроконтроллерах AVR / http://www.avr.ru.
  5. Сайт фирмы Analog Devices / http://www.analog.com.
  6. Википедия / http://ru.wikipedia.org.
 

 

МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И  НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ ЮЖНОГО ФЕДЕРАЛЬНОГО УНИВЕРСИТЕТА В

Г. ТАГАНРОГЕ

ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ 
 
 

 
 

Пояснительная записка к курсовой работе

«Создание устройства для удалённого мониторинга, состояния датчиков на основе микроконтроллеров, промышленной сети RS485 и программного обеспечения.» 
 
 
 

Выполнил

Студент

группы  А-138:

Казаков К.С.

Проверил:

Югай  В.Я. 
 
 

Таганрог 2012


Информация о работе Создание устройства для удалённого мониторинга, состояния датчиков на основе микроконтроллеров