- •1.1. Огляд сучасних засобів регулювання
- •1.2. Вимоги до світлофорного регулювання на перехресті
- •2.1. Розробка схеми електричної структурної
- •2.2. Розробка схеми електричної принципової
- •2.2.1.Вибір елементної бази.
- •3.1. Розробка алгоритму роботи програми і коду програми
- •Розділ 4. Економічна частина
- •4.1. Розрахунок витрат на виконання нддкр
- •4.1.1. Розрахунок витрат на оплату праці
- •Вихідні дані для розрахунку заробітної плати
- •Розрахунок витрат на оплату праці виконавців нддкр
- •4.1.2. Відрахування на соціальні заходи
- •4.1.3. Розрахунок витрат на матеріали
- •Розрахунок витрат на основні та допоміжні матеріали
- •Розрахунок витрат на покупні інструменти та пристрої
- •Розрахунок витрат на покупні напівфабрикати та комплектуючі вироби
- •4.1.4. Розрахунок витрат на енергію для наукових цілей
- •4.1.5. Розрахунок витрат на роботи, які виконують сторонні організації
- •4.1.6. Інші витрати
- •Розрахунок вартості машинного часу
- •4.1.7. Накладні витрати
- •4.1.8. Розрахунок калькуляції кошторисної вартості нддкр
- •4.2. Оцінка науково-технічної ефективності нддкр
- •Розділ 5. Охорона праці
- •5.1Характеристика пристрою регулювання руху транспортних засобів з точки зору охорони праці
- •5.2 Заходи щодо покращення умов праці при експлуатації пристрою регулювання руху транспортних засобів.
- •5.3 Протипожежні заходи
- •Висновок
- •Список використаної літератури
Список використаної літератури
Сташин В.В. «Проектирование цифровых устройств на однокристальных микроконтроллерах». – М.:Радио и связь, 1991
Фрунзе А.В. «Микроконтроллеры. Это же просто». – Москва. ООО «ИД СКИМЕН», 2002
Варламов Р.Г. «Современные источники питания: Справочник». – М.: ДМК, 1998
Браун М. «Источники питания. Расчет и конструирование».: Пер с англ. – – К.: «МК-Пресс», 2007
Щука А.А. «Электроника. Учебное пособие»/Под. реф. проф. А.С. Сигова. – СПб.: БХВ-Петербург, 2005
Швец В.А., Шестакова В.В. «Одноплатные микроконтроллеры. Проектирование и применение». – К.: «МК-Пресс», 2005
Горячева Г.А. «Конденсаторы: справочник». – М.: Радио и связь, 1984
Закон України “Про охорону праці”.
9 Кіт Ю.В., Пістун І.П. Охорона праці.(психологія безпеки).навч. посібн.-
Л.:2008.
Додаток (Програма роботи пристрою )
#include <8052.h>
unsigned char mode = 1, green_p = 3;
unsigned char sec_gr[4] = { 19, 19, 19, 19 };
char sec_p[4] = { -50, -25, 0, 25 };
unsigned char c[4] = { 0, 0, 0, 0 };
unsigned char ind[16];
t1()interrupt 4 //початок режиму Standart
{
static unsigned char i, t = 10, yb_on = 0, std_on = 0, sec_bgy = 6, green = 0, all_c = 0;
TH1 = 0x3c;
TL1 = 0xb0;
if (!(--t))
{
if (mode == 1)
{
TR0 = 0;
TR2 = 1; //запустити індикацію
if (sec_gr[green] != 0) //вимкнути рахунок машин
{
switch(green) //засвітити зелене світло 19с
{
case 0: P0 = 0x94; P2 = 0x11; break;
case 1: P0 = 0x41; P2 = 0x19; break;
case 2: P0 = 0x11; P2 = 0x94; break;
case 3: P0 = 0x19; P2 = 0x41; break;
}
--sec_gr[green];
t = 10;
}
else if (sec_bgy > 3) //блимати зелене світло 3с
{
if (std_on)
{
switch(green)
{
case 0: P0 = 0x94; P2 = 0x11; break;
case 1: P0 = 0x41; P2 = 0x19; break;
case 2: P0 = 0x11; P2 = 0x94; break;
case 3: P0 = 0x19; P2 = 0x41; break;
}
}
else
{
P0 &= 0x11;
P2 &= 0x11;
}
std_on = ~std_on;
--sec_bgy;
t = 5;
}
else if (sec_bgy) //засвітити жовте світло 3с
{
switch(green)
{
case 0: P0 = 0x32; P2 = 0x11; break;
case 1: P0 = 0x21; P2 = 0x13; break;
case 2: P0 = 0x11; P2 = 0x32; break;
case 3: P0 = 0x13; P2 = 0x21; break;
}
--sec_bgy;
t = 10;
}
else //засвітити наступне зелене світло
{
t = 10;
sec_gr[green] = 19;
sec_bgy = 6;
green = (++green) % 4;
}
for (i = 0; i < 4; ++i) //перерахунок часу для пішоходів
{
--sec_p[i];
if ((75 + sec_p[i]) == 0)
{
green_p = (++green) % 4;
sec_p[i] = 25;
}
}
}
if (mode == 2)
{
TR0 = 1; //запустити рахунок машин
TR2 = 1; //запустити індикацію
if (sec_gr[green] != 0)
{
switch(green) //засвітити зелене світло на потрібний час
{
case 0: P0 = 0x94; P2 = 0x11; break;
case 1: P0 = 0x41; P2 = 0x19; break;
case 2: P0 = 0x11; P2 = 0x94; break;
case 3: P0 = 0x19; P2 = 0x41; break;
}
--sec_gr[green];
t = 10;
}
else if (sec_bgy > 3) //блимати зелене світло 3с
{
if (std_on)
{
switch(green)
{
case 0: P0 = 0x94; P2 = 0x11; break;
case 1: P0 = 0x41; P2 = 0x19; break;
case 2: P0 = 0x11; P2 = 0x94; break;
case 3: P0 = 0x19; P2 = 0x41; break;
}
}
else
P0 &= 0x11; P2 &= 0x11;
std_on = ~std_on;
--sec_bgy;
t = 5;
}
else if (sec_bgy) //засвітити жовте світло 3с
{
switch(green)
{
case 0: P0 = 0x32; P2 = 0x11; break;
case 1: P0 = 0x21; P2 = 0x13; break;
case 2: P0 = 0x11; P2 = 0x32; break;
case 3: P0 = 0x13; P2 = 0x21; break;
}
--sec_bgy;
t = 10;
}
else //засвітити наступний світлофор, визначити потрібний час
{
t = 10;
TR0 = 0;
c[green] = TL0;
TL0 = 0;
all_c = c[0] + c[1] + c[2] + c[3];
sec_gr[0] = (c[0] / all_c) * 76;
sec_gr[1] = (c[1] / all_c) * 76;
sec_gr[2] = (c[2] / all_c) * 76;
sec_gr[3] = (c[3] / all_c) * 76;
sec_bgy = 6;
green = (++green) % 4;
}
for (i = 0; i < 4; ++i) //перерахунок часу для пішоходів
{
--sec_p[i];
if ((75 + sec_p[i]) == 0)
{
green_p = (++green) % 4;
sec_p[i] = 25;
}
}
}
if (mode == 3)
{
TR0 = 0; //вимкнути рахунок машин
TR2 = 0; //вимкнути індикацію
if (yb_on)
{
P0 = 0x22; P2 = 0x22; //блимати жовте світло
}
else P0 = P2 = 0;
t = 5;
yb_on = ~yb_on;
}
}
}
t2()interrupt 6 //Динамічна індикація
{
static unsigned char pos = 0;
TF2 = 0;
P1 = pos << 4 | ind[pos];
++pos;
}
unsigned char readmode() //Режим змінено?
{
if (RI) //Режим змінено
{
switch (SBUF) //Змінити mode
{
case 0x11: mode = 1; break;
case 0x21: mode = 2; break;
case 0x31: mode = 3; break;
case 0x41: mode = 4; break;
case 0x42: mode = 5; break;
case 0x43: mode = 6; break;
case 0x44: mode = 7; break;
}
RI = 0;
}
}
void gw(unsigned char way) //Режим GreenWay
{
TR0 = 0;
TR1 = 0;
TR2 = 0;
switch(way)
{
case 0: P0 = 0x14; P2 = 0x11; break;
case 1: P0 = 0x41; P2 = 0x11; break;
case 2: P0 = 0x11; P2 = 0x14; break;
case 3: P0 = 0x11; P2 = 0x41; break;
}
}
void indication() //Двійково-десяткове перетворення
{
if (sec_p[0] > 0)
{
ind[0] = ind[1] = 0xf;
ind[8] = sec_p[0] / 10;
ind[9] = sec_p[0] % 10;
}
else
{
ind[8] = ind[9] = 0xf;
ind[0] = (75 + sec_p[0]) / 10;
ind[1] = (75 + sec_p[0]) % 10;
}
if (sec_p[1] > 0)
{
ind[2] = ind[3] = 0xf;
ind[10] = sec_p[1] / 10;
ind[11] = sec_p[1] % 10;
}
else
{
ind[10] = ind[11] = 0xf;
ind[2] = (75 + sec_p[1]) / 10;
ind[3] = (75 + sec_p[1]) % 10;
}
if (sec_p[2] > 0)
{
ind[4] = ind[5] = 0xf;
ind[12] = sec_p[2] / 10;
ind[13] = sec_p[2] % 10;
}
else
{
ind[12] = ind[13] = 0xf;
ind[4] = (75 + sec_p[2]) / 10;
ind[5] = (75 + sec_p[2]) % 10;
}
if (sec_p[3] > 0)
{
ind[6] = ind[7] = 0xf;
ind[14] = sec_p[3] / 10;
ind[15] = sec_p[3] % 10;
}
else
{
ind[14] = ind[15] = 0xf;
ind[6] = (75 + sec_p[3]) / 10;
ind[7] = (75 + sec_p[3]) % 10;
}
}
void main()
{
TMOD = 0x15; //Початкові установки
TL0 = 0;
TH1 = 0x3c;
TL1 = 0xb0;
IE = 0xa8;
TR0 = 0;
RCAP2H = 0xfb;
RCAP2L = 0xe6;
while (1)
{
readmode(); //Режим змінено?
switch (mode) //Режим Green Way?
{
case 4: gw(0); break;
case 5: gw(1); break;
case 6: gw(2); break;
case 7: gw(3); break;
default: TR0 = 1; break;
}
indication(); //Двійково-десяткове перетворення
}
}
|
|
|
|
|
|
Арк. |
|
|
|
|
|
ТНКНУЛП ДП 5.05010201.12.41.09 ПЗ |
|
Зм |
Арк. |
№ докум. |
Підпис |
Дата |
|
|