Автор: Пользователь скрыл имя, 28 Марта 2015 в 17:12, курсовая работа
В даній роботі було розроблено цифровий дозиметр з трьома режимами вимірювання, з візуальним і звуковим оповіщенням рівня радіації, збереження даних в енергонезалежній пам’яті, збереження на дисплеї попереднього значення, вимірювання, регулювання рівня сигналізації. Розраховано трансформатор блокинг генератора, розглянуто архітектуру мікроконтролера. Розроблено структурну, функціональну та принципову схему пристрою. Також розглянули структуру мікроконтролера ATmega8,алгоритм роботи, організацію пам’яті та розподіл адресного простору та написали програму курування мікроконтролером.
my_keys();
lcd_gotoxy(0,0);
sprintf(lcd_buffer,”fon=%4umkr Time=%2uc” “RF=%2u “,k,sec,rf);// PRINT ON LCD
lcd_puts(lcd_buffer); // З буфера на LCD
delay_ms(1); // потрібно обслуговувати таймери
if((ok)&(a1)){delay_ms(50); #asm(“sei”);} //Start k=0; j=0; rf=0;
if(x){#asm(“cli”); beep=1;} //Зупинка
if(sec>=60){#asm(“cli”); a1=0;m_buffer=k; } // Авто зупинка
if(sec==61){sec=0; k=0; j=0; rf=0; beep=1;} // повторний запуск
if(ok){a1=1;}
if(x){a1=0;}
if((!pulse)&(a1)){delay_ms(10)
if(j==20){delay_us(1); rf++; j=0;}
if(k==warn){delay_us(1); beep=0;} // Небезпечне випромінювання
if(k==1600){delay_us(1); sec=0; k=0; j=0; rf=0; beep=1;} //Допустиме випромінювання
break;
case 3: // Зберігання значення в пам’яті EEPROM в зоні 1
my_keys();
lcd_gotoxy(0,0);
sprintf(lcd_buffer,”Zone1=%
lcd_puts(lcd_buffer);
lcd_gotoxy(0,1); lcd_putsf(“Save Load”);
delay_ms(1);
if(sec>=60){#asm(“cli”); m_buffer=k; }
if((ok)&(k>=10)){ zone1=m_buffer;} // Збережіть лише значення >10
if(x){ memory=zone1;}
break;
case 4: // Зберігання значення в пам’яті EEPROM в зоні 2
my_keys();
lcd_gotoxy(0,0);
sprintf(lcd_buffer,”Zone2=%
lcd_puts(lcd_buffer);
lcd_gotoxy(0,1); lcd_putsf(“Save Load”);
delay_ms(1); // need wait on timers
if(sec>=60){#asm(“cli”); m_buffer=k; } // Збережіть лише значення >10
if((ok)&(k>=10)){ zone2=k;}
if(x){ memory1=zone2;}
break;
case 5: // Вмикання/вимикання сигнальної лампочки
my_keys();
lcd_gotoxy(0,0); lcd_putsf(“Backlight “);
lcd_gotoxy(0,1); lcd_putsf(“v on/off x”);
if(ok){a2=1; PORTC.4=1;}
if(x){a2=0; PORTC.4=0;}
delay_ms(1);
if(sec>=60){#asm(“cli”); m_buffer=k; }
if(a2){ lcd_gotoxy(11,0); lcd_putsf(“on “); }
if(!a2){ lcd_gotoxy(11,0); lcd_putsf(“off “);}
break;
case 6: // Вмикання/вимикання звукового резонатора
my_keys();
lcd_gotoxy(0,0); lcd_putsf(“Sound “);
lcd_gotoxy(0,1); lcd_putsf(“v on/off x”);
if(ok){a3=1; PORTC.5=1;}
if(x){a3=0; PORTC.5=0;}
delay_ms(1);
if(sec>=60){#asm(“cli”); m_buffer=k; }
if(a3){ lcd_gotoxy(11,0); lcd_putsf(“on “); }
if(!a3){ lcd_gotoxy(11,0); lcd_putsf(“off “);}
break;
case 7: // Попереджувальний рівень +/-
my_keys();
lcd_gotoxy(0,0);
sprintf(lcd_buffer,”Warning=%
lcd_puts(lcd_buffer);
lcd_gotoxy(0,1); lcd_putsf(“v +/- x”);
//delay_ms(1); // need wait on timers
if(sec>=60){#asm(“cli”); m_buffer=k; }
if(warn<1500){if(!key1){warn++
if(warn>10){if(!key2){warn--;
break;
case 8: // Вмикання режиму безперервного вимірювання
my_keys();
lcd_gotoxy(0,0);
sprintf(lcd_buffer,”Fon=%4umkr Bufer=%4u” “RF=%2u “,k,m_buffer=k,rf);// Вивід значення на LCD
lcd_puts(lcd_buffer);
//lcd_gotoxy(0,1); lcd_putsf(“While”);
delay_ms(1); // need wait on timers
if((ok)&(a4)){delay_ms(50); #asm(“sei”);} //Start k=0; j=0; rf=0;
if(x){#asm(“cli”); beep=1;} // Зупинка
if(sec==61){ sec=0; k=0; j=0; rf=0; beep=1;m_buffer=k;}
if(ok){a4=1;}
if(x){a4=0;}
if((!pulse)&(a4)){delay_ms(10)
if(j==20){delay_us(1); rf++; j=0;}
if(k==warn){delay_us(1); beep=0;} // Сигнальне вимірювання
if(k==1600){delay_us(1); sec=0; k=0; j=0; rf=0; beep=1;} //максимальне значення вимірювання
break;
}
};
ВИСНОВКИ
В даній роботі було розроблено цифровий дозиметр з трьома режимами вимірювання, з візуальним і звуковим оповіщенням рівня радіації, збереження даних в енергонезалежній пам’яті, збереження на дисплеї попереднього значення, вимірювання, регулювання рівня сигналізації. Розраховано трансформатор блокинг генератора, розглянуто архітектуру мікроконтролера. Розроблено структурну, функціональну та принципову схему пристрою. Також розглянули структуру мікроконтролера ATmega8,алгоритм роботи, організацію пам’яті та розподіл адресного простору та написали програму курування мікроконтролером.
Додаток А
Повна структура мікроконтролера ATmega8
Граф - схема алгоритму функціонування пристрою.
Додаток В
Друкована плата пристрою.
Цифрова частина схеми
Високовольтна частина схеми