Explanatory_note_(ДП_23.05.03.16.152_ПЗ) (1228617), страница 14
Текст из файла (страница 14)
- организовать допуск на проведение работ со стендом и надзор за проведением работ;
- оформление перерывов в работе.
Право работы на проведение работ с действующим стендом предоставляется персоналу, имеющий группу электробезопасности II или выше [17].
При работе со снятием напряжения в действующем стенде или вблизи него должны выполняться ряд технических мероприятий:
- отключить все части стенда от источника питания электроэнергией;
- механическая фиксация приводов отключенных коммутационных частей, отсоединение концов питающих проводов, снятие предохранителя и другие мероприятия, которые могут предотвратить ошибочную подачу напряжение на стенд.
- постановка знаков безопасности и ограждений частей, которые остаются под напряжением, к которым во время работы можно прикоснуться или подойти на недопустимое расстояние;
- задействование заземления и ограждений.
При задействовании переносного заземления проводится несколько подготовительных мер: выбор места расположения заземления, обеспечение отсутствия напряжения, обеспечение чистоты место применения заземления. Так же прежде чем накладывать заземление на токоведущие части стенда необходимо их перед этим присоединить к стационарному заземлению. Снимать переносное заземление после завершения работы необходимо в обратном порядке, первоначально снимают заземление с токоведущих частей, а потом отсоединяют от стационарного заземления.
Так же при работе со стендом существует вероятность возникновения электростатического заряда. Статическое электричество можешь препятствовать нормальной работе оборудования, создавать помехи в различных измерительных приборах, оказывает негативное воздействие на человека приводящее к заболеваниям нервной системы. Существует множество средств защиты от опасного воздействия разряда статического электричества. Существуют индивидуальные и коллективные средства защиты [19].
Для индивидуальных средств защиты используется специальная антиэлектростатическая обувь и одежда, а так же специальные приспособления (браслеты и кольца) и средства защиты рук.
В качестве коллективных средств защиты используют: заземляющие устройства, испарительные или распылительные устройства, антиэлектростатические вещества, индукционные централизаторы, а так же экранирующие устройства [18].
7.6 Освобождение человека от действия электрического тока
Освободить человека пострадавшего от влияния электрического тока можно несколькими способами.
Самый просто и быстрый способ это немедленное отключение части электроустановки, до которой дотронулся человек.
Отключить питание электроустановки можно при помощи ближайшего рубильника, выключателя или предохранителя. Если это не возможно, например из-за удаленности выключателя, то необходимо перерубить провода тем самым вызвать автоматическое отключение электроустановки [20].
Перерезать следует каждый провод по отдельности, иначе можно вызвать короткое замыкание между проводами, вследствие чего возникнет электрическая дуга, способная причинить серьёзный вред здоровью в виде ожогов тела и повреждение сетчатки глаза.
В случае, когда невозможно разорвать цепь электрического тока путём отключения электроустановки вручную или автоматически необходимо отделить человека от токоведущих частей. Оказывая помощь необходимо принять меры предосторожности, для того чтобы не оказаться под воздействием тока. Такие меры применяются, когда на электроустановку не подходит питание, но пострадавший всё ещё находится под действием электрического тока. Рекомендуется все манипуляции проводить только одной рукой, держа при этом вторую руку за спиной или в кармане [19].
На рисунке 7.1 приведены примеры освобождения пострадавшего от действия электрического тока.
Рисунок 7.1 – Освобождение пострадавшего от действия электрического тока
Если пострадавший человек расположен на высоте, то при отводе напряжения может привести к падению пострадавшего с высоты, необходимо применить меры для предотвращения или обеспечения безопасного падения.
Так же при отключении электроэнергии может одновременно отключится освещение, поэтому если отсутствует дневное освещение необходимо иметь другой источник света или включить аварийное освещение [19].
ЗАКЛЮЧЕНИЕ
В данной выпускной квалификационной работе были рассмотрены архитектура, аппаратные и программные средства микроконтроллеров фирмы Microchip семейства PIC, на примере микроконтроллера Microchip PIC18F452.
Была приведена методика программирования микроконтроллеров PIC в интегрированной среде разработки MPLAB IDE v8.60
Также в выпускной квалификационной работе рассмотрена аппаратная реализация семи лабораторных работ на основе методических указаний по выполнению лабораторных работ в среде MPLAB IDE. В комплексе лабораторных работ рассматривается первоначальная настройка контроллера, настройка и изучение работы портов ввода/вывода; рассмотрены работа таймеров и функций временных задержек, работа прерываний, изучены принципы вывода информации на знакосинтезирующие и семисегментные цифровые индикаторы, а также рассмотрен принцип работы аналогово-цифрового преобразовании; изучены чтение и обработка аналоговых сигналов при использовании аналого-цифрового преобразования.
Данный комплекс лабораторных работ позволяет получить базовые знания о программном обеспечении MPLAB IDE, основных принципах его работы и взаимодействии с микроконтроллерами семейства PIC, а также даст понимание аппаратных возможностей микроконтроллеров.
Данной выпускная квалификационная работа позволила объединить теоретические понятия и практические рекомендации в процессе обучения разработке микроконтроллерных систем управления.
Список использованных источников
1. Микроконтроллеры PIC [Текст] : Сборник лабораторных работ / А.В. Духовников. – Хабаровск: Изд-во ДВГУПС, 2014. – 129 с.
2. Справочник по среднему семейству микроконтроллеров PICmicro. Общие сведения [Текст] : пер. с англ. ООО «Микро-Чип». – М. : Москва, 2002. – 14 с.
3. Новые микроконтроллеры фирмы Microchip [Электронный ресурс] : Режим доступа: http://chipinfo.ru/literature/chipnews/200209/4.html.
4. Семейство микроконтроллеров фирмы Microchip [Электронный ресурс] : Режим доступа: http://go-url.ru/ir3f/.
5. Справочник по среднему семейству микроконтроллеров PICmicro. Архитектура [Текст] : пер. с англ. ООО «Микро-Чип». – М. : Москва, 2002. – 14 с.
6. Обзор программы Sprint-Layout [Электронный ресурс] : Режим доступа: http://cxem.net/software/sprint_layout.php.
7. USB программатор PIC контроллеров [Электронный ресурс] : Режим доступа: http://labkit.ru/html/programmators_shm?id=86/.
8. Цифровая обработка сигналов [Электронный ресурс] : курс лекций / А. С. Глинченко – Версия 1.0. – Электрон, дан. – Красноярск : ИПК СФУ, 2008. – 1 электрон. опт. диск.
9. Безопасность жизнедеятельности [Текст] : учеб. пособие, 7-е изд. / Н.В. Косолапова – М : Проспект, 2016. – 219 с.
10. Безопасность жизнедеятельности [Текст] : консп. лекций / сост. Е. М. Гунин. – Кемерово: Изд-во Кузбасский ин-т экономики и права., 2009. – 128 с.
11. Искусство схемотехники [Текст] : в 3 ч. / П. Хоровиц, У. Хилл. – М. : Мир, 1993. – 371 с.
12. Экономика здравоохранения [Текст] : учебник / М. Г. Колосницына, И. М. Шейман. – М. : ГУ ВШЭ, 2009. – 479 с.
13. Экономика предприятия [Текст] : учебник для вузов / В. П. Грузинов.
– М. : ЮНИТИ, 2009. – 535 с.
14. Экономика здравоохранения [Текст] : учеб. пособие / В. Ю. Семенов. – М. : Медицинское информационное агентство, 2006. – 472 с.
15. Экономика и управление здравоохранением [Текст] : учебник / Л. М. Трушкина [и др.]. – М. : Феникс, 2007. – 501 с.
16. Экономика организации [Текст] : учебник / Л. А. Чалдаева. – М. : Юрайт, 2015. – 410 с.
17. Безопасность жизнедеятельности [Текст] : учебник для бакалавров / Г. И. Беляков. – М. : Юрайт, 2012. – 572 c.
18. Безопасность жизнедеятельности [Текст] : учебное пособие / В. И. Бондин, Ю. Г. Семехин. – М. : Академцентр, 2013. – 349 c.
19. Безопасность жизнедеятельности [Текст] : Учебное пособие / Е. О. Мурадова. – М. : ИЦ РИОР, 2013. – 124 c.
20. Безопасность жизнедеятельности [Текст] : Учебное пособие / Т. А. Хван, П. А. Хван. – М. : Феникс, 2012. – 443 c.
ПРИЛОЖЕНИЕ А
Исходный код программы для выполнения лабораторной работы №1.
-
#include <p18f452.h>
-
#include <delays.h>
-
#pragma config OSC = XT
-
#pragma config OSCS = OFF
-
#pragma config PWRT = ON
-
#pragma config BOR = OFF
-
#pragma config WDT = OFF
-
#pragma config STVR = ON
-
#pragma config LVP = OFF
-
unsigned char counter;
-
void main(void)
-
{
-
TRISC = 0b00000000;
-
counter = 1;
-
while(1)
-
{
-
PORTC = counter;
-
counter ++;
-
Delay10KTCYx(100);
-
}
-
}
ПРИЛОЖЕНИЕ Б
Исходный код программы для выполнения лабораторной работы №2.
-
#include <p18f452.h>
-
#include <delays.h>
-
#pragma config OSC = XT
-
#pragma config OSCS = OFF
-
#pragma config PWRT = ON
-
#pragma config BOR = OFF
-
#pragma config WDT = OFF
-
#pragma config STVR = ON
-
#pragma config LVP = OFF
-
void main (void)
-
{
-
TRISB = 0b00000000;
-
PORTB = 0b00000000;
-
while (1)
-
{
-
PORTBbits.RB1 = 1;
-
Delay10KTCYx(100);
-
PORTBbits.RB1 = 0;
-
Delay10KTCYx(100);
-
}
-
}
ПРИЛОЖЕНИЕ В
Исходный код программы для выполнения лабораторной работы №3.
-
#include <p18f452.h>
-
#include <delays.h>
-
#pragma config OSC = XT
-
#pragma config OSCS = OFF
-
#pragma config PWRT = ON
-
#pragma config BOR = OFF
-
#pragma config WDT = OFF
-
#pragma config STVR = ON
-
#pragma config LVP = OFF
-
void prervo (void);
-
#pragma interrupt prervo
-
#pragma code high_vector = 0x08
-
void high_vector (void)
-
{
-
_asm GOTO prervo _endasm
-
}
-
#pragma code
-
void prervo (void)
-
{
-
Delay10KTCYx(20);
-
INTCONbits.INT0IF = 0;
-
if (PORTCbits.RC0 == 1)
-
{
-
PORTCbits.RC0 = 0;
-
PORTCbits.RC1 = 1;
-
return;
-
}
-
if (PORTCbits.RC1 == 1)
-
{
-
PORTCbits.RC1 = 0;
-
PORTCbits.RC2 = 1;
-
return;
-
}
-
if (PORTCbits.RC2 == 1)
-
{
-
PORTCbits.RC2 = 0;
-
return;
-
}
-
PORTCbits.RC0 = 1;
-
}
-
void main (void)
-
{
-
TRISC = 0b00000000;
-
PORTC = 0b00000000;
-
TRISB = 0b00000001;
-
PORTB = 0b00000000;
-
INTCONbits.PEIE = 1;
-
INTCONbits.INT0IE = 1;
-
INTCON2bits.INTEDG0 = 1;
-
INTCONbits.GIE = 1;
-
while (1)
-
{
-
}
ПРИЛОЖЕНИЕ Г
Исходный код программы для выполнения лабораторной работы №4.
-
#include <p18f452.h>
-
#include <delays.h>
-
#define LED PORTC
-
#pragma config OSC = XT
-
#pragma config OSCS = OFF
-
#pragma config PWRT = ON
-
#pragma config BOR = OFF
-
#pragma config WDT = OFF
-
#pragma config STVR = ON
-
#pragma config LVP = OFF
-
unsigned char dig_number = 0;
-
unsigned char dig[11] = 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
-
void prevro(void);
-
#pragma interrupt prervo
-
#pragma code high_vector = 0x08
-
void high_vector(void)
-
{
-
_asm GOTO prervo _endasm
-
}
-
#pragma code
-
void prervo(void)
-
{
-
Delay10KTCYx(20);
-
INTCONbits.INT0IF = 0;
-
dig_number ++;
-
if(dig_number >= 10) dig_number = 0;
-
LED = *(dig+dig_number);
-
}
-
void main(void)
-
{
-
TRISB = 0b00000001;
-
PORTB = 0b00000000;
-
TRISC = 0b00000000;
-
PORTC = 0b11111111;
-
INTCONbits.PEIE = 1;
-
INTCONbits.INT0IE = 1;
-
INTCON2bits.INTEDG0 = 1;
-
INTCONbits.GIE = 1;
-
LED = *(dig+dig_number);
-
while(1)
-
{
-
}
ПРИЛОЖЕНИЕ Д
Исходный код программы для выполнения лабораторной работы №5.
-
#include <p18f452.h>
-
#include <delays.h>
-
#define LED PORTC
-
#define Set_Enumber PORTBbits.RB3 = 1
-
#define Reset_Enumber PORTBbits.RB3 = 0
-
#define Set_Dnumber PORTBbits.RB4 = 1
-
#define Reset_Dnumber PORTBbits.RB4 = 0
-
#define Set_Snumber PORTBbits.RB5 = 1
-
#define Reset_Snumber PORTBbits.RB5 = 0
-
#define Set_Tnumber PORTBbits.RB6 = 1
-
#define Reset_Tnumber PORTBbits.RB6 = 0
-
#pragma config OSC = XT
-
#pragma config OSCS = OFF
-
#pragma config PWRT = ON
-
#pragma config BOR = OFF
-
#pragma config WDT = OFF
-
#pragma config STVR = ON
-
#pragma config LVP = OFF
-
unsigned char dig_number = 0;
-
unsigned char dig[11] = {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
-
void prervo (void);
-
#pragma interrupt prervo
-
#pragma code high_vector = 0x08
-
void high_vector (void)
-
{
-
_asm GOTO prervo _endasm
-
}
-
#pragma code
-
void prervo(void)
-
{
-
if (INTCONbits.TMR0IF == 1)
-
{
-
INTCONbits.TMR0IF = 0;
-
dig_number ++;
-
if (dig_number >= 10) dig_number = 0;
-
TMR0H = 11;
-
TMR0L = 220;
-
}
-
if (INTCONbits.INT0IF == 1)
-
{
-
Delay10KTCYx(20);
-
INTCONbits.INT0IF = 0;
-
T0CONbits.TMR0ON = 1;
-
}
-
if (INTCON3bits.INT1IF == 1)
-
{
-
Delay10KTCYx(20);
-
INTCON3bits.INT1IF = 0;
-
T0CONbits.TMR0ON = 0;
-
}
-
if (INTCON3bits.INT2IF == 1)
-
{
-
Delay10KTCYx(20);
-
INTCON3bits.INT2IF = 0;
-
dig_number = 0;
-
}
-
}
-
void main (void)
-
{
-
TRISB = 0b00000111;
-
PORTB = 0b00000000;
-
TRISC = 0b00000000;
-
PORTC = 0b11111111;
-
T0CON = 0b00000011;
-
INTCONbits.TMR0IE = 1;
-
INTCONbits.PEIE = 1;
-
INTCONbits.INT0IE = 1;
-
INTCON3bits.INT1IE = 1;
-
INTCON3bits.INT2IE = 1;
-
INTCONbits.GIE = 1;
-
TMR0H = 11;
-
TMR0L = 220;
-
while(1)
-
{
-
LED = *(dig + 1);
-
Set_Tnumber;
-
Delay100TCYx(50);
-
Reset_Tnumber;
-
LED = *(dig + 2);
-
Set_Snumber;
-
Delay100TCYx(50);
-
Reset_Snumber;
-
LED = *(dig + 3);
-
Set_Dnumber;
-
Delay100TCYx(50);
-
Reset_Dnumber;
-
LED = *(dig + dig_number);
-
Set_Enumber;
-
Delay100TCYx(50);
-
Reset_Enumber;
-
}
-
}
ПРИЛОЖЕНИЕ Е
Исходный код программы для выполнения лабораторной работы №6.
-
#include <p18f452.h>
-
#include <delays.h>
-
#include <adc.h>
-
#define LED PORTC
-
#pragma config OSC = XT
-
#pragma config OSCS = OFF
-
#pragma config PWRT = ON
-
#pragma config BOR = OFF
-
#pragma config WDT = OFF
-
#pragma config STVR = ON
-
#pragma config LVP = OFF
-
unsigned int counter = 0;
-
unsigned char dig_number = 0;
-
unsigned char dig[11] = {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
-
void prervo (void);
-
#pragma interrupt prervo
-
#pragma code high_vector = 0x08
-
void high_vector (void)
-
{
-
_asm GOTO prervo _endasm
-
}
-
#pragma code
-
void prervo(void)
-
{
-
PIR1bits.ADIF = 0;
-
counter = ReadADC() & 0x3FF;
-
for(dig_number = 0; counter >= 204; dig_number++)
-
{
-
counter = counter - 204;
-
}
-
LED = *(dig+dig_number);
-
SetChanADC(ADC_CH0);
-
Delay10TCYx(2); //Задержка 20мкс
-
ConvertADC();
-
}
-
void main(void)
-
{
-
TRISA = 0b00000001;
-
PORTA = 0b00000000;
-
TRISC = 0b00000000;
-
PORTC = 0b11111111;
-
ADCON0 = 0b01000001;
-
ADCON1 = 0b10001110;
-
INTCONbits.PEIE = 1;
-
PIE1bits.ADIE = 1;
-
INTCONbits.GIE = 1;
-
LED = *(dig+dig_number);
-
SetChanADC(ADC_CH0);
-
Delay10TCYx(2);
-
ConvertADC();
-
while(1)
-
{
-
}
-
}
ПРИЛОЖЕНИЕ Ж
-
Исходный код программы для выполнения лабораторной работы №7.
-
#include <p18f452.h>
-
#include <delays.h>
-
#define LCD_Data PORTD
-
#define LCD_Set_E PORTCbits.RC1 = 1
-
#define LCD_Reset_E PORTCbits.RC1 = 0
-
#define LCD_Set_RS PORTCbits.RC0 = 1
-
#define LCD_Reset_RS PORTCbits.RC0 = 0
-
#pragma config OSC = XT
-
#pragma config OSCS = OFF
-
#pragma config PWRT = ON
-
#pragma config BOR = OFF
-
#pragma config WDT = OFF
-
#pragma config STVR = ON
-
#pragma config LVP = OFF
-
char as = 0;
-
unsigned char stroca1[17] = {'W','i','n','t','e','r',' ',' ','O','l','y','m','p','i','c','s'};
-
void Write_LCD (unsigned char data);
-
void Add_LCD (unsigned char add);
-
void Write_LCD (unsigned char data)
-
{
-
LCD_Data = data;
-
Delay1TCY();
-
LCD_Set_E;
-
Delay10TCYx(1);
-
LCD_Reset_E;
-
Delay1KTCYx(1);
-
LCD_Data = 0;
-
}
-
void Add_LCD (unsigned char add)
-
{
-
LCD_Reset_RS;
-
LCD_Data = 0x80 + add;
-
Delay1TCY();
-
LCD_Set_E;
-
Delay10TCYx(1);
-
LCD_Reset_E;
-
Delay1KTCYx(1);
-
LCD_Data = 0;
-
LCD_Set_RS;
-
}
-
void main (void)
-
{
-
TRISC = 0b00000000;
-
TRISD = 0b00000000;
-
PORTC = PORTD = 0;
-
Delay1KTCYx(20);
-
LCD_Data = 0;
-
LCD_Reset_RS;
-
Write_LCD (0b00111000);
-
Write_LCD (0b00001100);
-
Write_LCD (0b00000001);
-
Write_LCD (0b00000110);
-
Write_LCD (0b10000000);
-
LCD_Set_RS;
-
for (as = 0; as <= 15; as++)Write_LCD (*(stroca1 + as));
-
Add_LCD (0x42);
-
Write_LCD ('S');
-
Write_LCD ('O');
-
Write_LCD ('C');
-
Write_LCD ('H');
-
Write_LCD ('I');
-
Add_LCD (0x4A);
-
Write_LCD ('2');
-
Write_LCD ('0');
-
Write_LCD ('1');
-
Write_LCD ('4');
-
while (1)
-
{
-
}
-
}














