“Change of time” ;
“Time Call” ;
“Clock” ;
“Radio” ;
Положення перемикача “Changeoftime” призначене для встановлення часу :
Вікно «AlarmClock» містить у собі :
текстове поле для відображення годин та хвилин ;
кнопки для збільшення годин та хвилин на одну одиницю ;
кнопки для зменшення годин та хвилин на одну одиницю ;
кнопку “ok” для встановлення заданого часу ;
Положення перемикача “TimeCall ”
призначене для встановлення часу спрацьовування сигналу .
Перемикач “TimeCall ”містить у собі :
текстове поле для відображення годин та хвилин ;
кнопки для збільшення годин та хвилин на одну одиницю ;
кнопки для зменшення годин та хвилин на одну одиницю ;
кнопку -перемикач“ON/OFF” для вмикання та вимикання будильника;
кнопку “ok” для встановлення заданого часу ;
Положення подачі сигналу.
Положення перемикача “Radio” для
прослуховування радіо.
Перемикач “Radio ”містить у собі :
текстове поле для відображення стану радіо;
кнопку “ON” для ввімкнення радіо;
кнопку “OFF” для вимкнення радіо;
кнопку “TimerOn” для активації таймера, який вмикає радіо на тридцять хвилин;
кнопку “TimerOff” для вимкнення таймера;
текстове поле для відображення стану таймера;
Приклад роботи радіо :Вмикаємо або
вимикаємо перемикач “Radio ” :
Висновки.
В ході виконання роботи мовою С# в середовищі VisualStudio2010 реалізовано програму забезпечення вбудованого мікропроцесора будильника.Також продемонстровано на прикладі можливості об’єктно-орієнтованого програмування.
Результати :
створено форму вікна з перемикачем для встановлення часу ;
здійснено спрацювання звукового сигналу для встановлення часу ;
здійснено відображення поточного часу ;
створено форму вікна з перемикачем для прослуховування радіо з кнопками для ввімкнення і вимкнення радіо;
здійснено спрацювання кнопок для активації таймера, який вмикає радіо ;
створено форму вікна для відображення стану таймера;
створено форму вікна для вимкнення сигналу і для повторного спрацювання сигналу;
Варто відзначити, що:
Технологія Windows Forms дає можливість створювати зручний інтерфейс користувача.
Об’єктно-орієнтоване програмування
дозволяє створювати програму, як набір користувацьких типів даних (класів),
приховувати деталі реалізації, використовувати повторний код, інтерпретувати
виклики процедур та функцій на етапі виконання (втілюючи основи ООП -
інкапсулювання, поліморфізм, успадкування).
Список використаних джерел
1.ДжеффриРихтер - CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке С#. Мастер-класс./Пер. с англ. - М.: Издательство «РусскаяРедакция»; СПб.: Питер, 2007. - 656 стр. : ил.
.КристианНейгел, БиллИвьен, ДжейГлинн, Карли Уотсон, Морган Скиннер - С# 2008 и платформа .Net 3.5 для профессионалов.
.А.В. Фролов, Г.В. Фролов - Язык С#. Самоучитель. - М.: Диалог-Мифи, 2003.-560с.
.В.
А. Биллиг“Основыпрограммирования на C# “.
Додаток
Текст програми
мікропроцесор будильник програма
Клас AlarmClock;.Collections.Generic;.ComponentModel;.Data;.Drawing;.Linq;.Text;.Windows.Forms;.Media;
{: Form
{= newTime();= newNewTime();= newTimeColl();= newDateTime();= newMelody();_sec = 60;_min = 29;_sec_2 = 60;_min_2 = 9;_sec_3 = 60;()
{();_Clock.Checked = true;.timer();
}Form1_Load(object sender, EventArgs e)
{= DateTime.Now;.hour = datetime.Hour;.minute = datetime.Minute;.second = datetime.Second;_ShowTime.Visible = false;
}timer()
{.Enabled = true;.Interval = 1000;.Interval = 1000;.Interval = 1000;.Interval = 1000;
}()
{.Text = Convert.ToString(time.hour);.newHour = int.Parse(textBoxH.Text);.Text = Convert.ToString(time.minute);.newMinute = int.Parse(textBoxMin.Text);
}_Change_of_time_CheckedChanged(object sender, EventArgs e)
{_Alarm.Visible = false;.Visible = false;.Visible = false;.Visible = false;.Visible = false;.Visible = false;.Visible = true;.Visible = false;_p_1.Visible = true;_m_1.Visible = true;_p_1.Visible = true;_m_1.Visible = true;.Visible = true;.Visible = true;.Visible = true;_zvonka.Visible = true;.Visible = false;_RadioON.Visible = false;_RadioOFF.Visible = false;();
}radioButton3_Time_Call_CheckedChanged(object sender, EventArgs e)
{_Alarm.Visible = true;.Visible = false;.Visible = false;.Visible = false;.Visible = false;.Visible = false;.Visible = true;.Visible = false;_p_1.Visible = true;_m_1.Visible = true;_p_1.Visible = true;_m_1.Visible = true;.Visible = true;.Visible = true;.Visible = true;_zvonka.Visible = false;.Visible = false;_RadioON.Visible = false;_RadioOFF.Visible = false;();
}radioButton2_Clock_CheckedChanged(object sender, EventArgs e)
{_Alarm.Visible = false;.Visible = false;.Visible = false;.Visible = false;.Visible = false;.Visible = true;_p_1.Visible = false;_m_1.Visible = false;_p_1.Visible = false;_m_1.Visible = false;.Visible = false;.Visible = false;.Visible = false;_zvonka.Visible = true;.Visible = false;_RadioON.Visible = false;_RadioOFF.Visible = false;.Visible = false;.Visible = false;
}_Radio_CheckedChanged(object sender, EventArgs e)
{_Alarm.Visible = false;.Visible = true;.Visible = true;.Visible = true;.Visible = true;.Visible = false;_zvonka.Visible = false;.Visible = true;.Visible = false;.Visible = false;.Visible = false;.Visible = true;.Visible = true;_m_1.Visible = false;_p_1.Visible = false;_m_1.Visible = false;_p_1.Visible = false;.Visible = false;_RadioOFF.Visible = true;_RadioON.Visible = true;.Visible = false;.Visible = false;
}_CheckedChanged(object sender, EventArgs e)
{_Alarm.Visible = false;.Visible = false;.Visible = false;.Visible = false;.Visible = false;.Visible = true;_p_1.Visible = false;_m_1.Visible = false;_p_1.Visible = false;_m_1.Visible = false;.Visible = true;.Visible = true;.Visible = false;.Visible = false;.Visible = false;_zvonka.Visible = true;.Visible = false;_RadioON.Visible = false;_RadioOFF.Visible = false;
}timer1_Tick(object sender, EventArgs e)
{ .second++;.Text = time.hour + ":" + time.minute + ":" + time.second;(time.second == 59)
{.second = 0;.Text = time.hour + ":" + time.minute + ":" + time.second;.minute++;(time.minute>= 59)
{.minute = 0;.Text = time.hour + ":" + time.minute + ":" + time.second;.hour++;(time.hour>= 23)
{.hour = 0;.Text = time.hour + ":" + time.minute + ":" + time.second;
}
}
}((time.hour == timeC.hourCall&&time.minute == timeC.minuteCall&&time.second == timeC.secondCall) &&checkBox_Alarm.Checked == true)
{._mel.PlayLooping();_ShowTime.Checked = true;.Enabled = true;.Start();
}
}timer2_Tick(object sender, EventArgs e)
{
_sec--;.Text = "0" + ":" + _min + ":" + _sec;(_sec == 0)
{
_sec = 60;.Text = "0" + ":" + _min + ":" + _sec;
_min--;(_min == 0)
{.Text = "Timer OFF";.Text = "Radio OFF";._sting.Stop();.Stop();.Enabled = false;
_sec = 60;
_min = 29;_Clock.Checked = true;
}
}
}timer3_Tick(object sender, EventArgs e)
{
_sec_2--;(_sec_2 == 0)
{
_min_2--;
_sec_2 = 60;(_min_2 == 0)
{_ShowTime.Checked = true;._mel.PlayLooping();.Enabled = true;.Start();
_sec_2 = 60;
_min_2 = 9;.Enabled = false;.Stop();
}
}
}timer4_Tick(object sender, EventArgs e)
{
_sec_3--;(_sec_3 == 0)
{
_sec_3 = 60;._mel.Stop();.Enabled = false;.Stop();_ShowTime.Checked = true;_zvonka.Text = "";
}
}_RadioON_Click(object sender, EventArgs e)
{.Text = "Radio ON";._sting.PlayLooping();
}_RadioOFF_Click(object sender, EventArgs e)
{._sting.Stop();.Text = "RadioOFF";.Stop();.Text = "Timer OFF";
_sec = 60;
_min = 29;
}buttonH_p_1_Click(object sender, EventArgs e)
}buttonH_m_1_Click(object sender, EventArgs e)
{.NewHourM1();.Text = Convert.ToString(nTime.newHour);
}buttonMin_p_1_Click(object sender, EventArgs e)
{.NewMinuteP1();.Text = Convert.ToString(nTime.newMinute);
}buttonMin_m_1_Click(object sender, EventArgs e)
{.NewMinuteM1();.Text = Convert.ToString(nTime.newMinute);
}_Click(object sender, EventArgs e)
{= DateTime.Now;(radioButton_Change_of_time.Checked == true)
{.hour = nTime.newHour;.minute = nTime.newMinute;.second = datetime.Second;_Clock.Checked = true;
}
{.hourCall = nTime.newHour;.minuteCall = nTime.newMinute;.secondCall = 0;_zvonka.Text = timeC.hourCall + ":" + timeC.minuteCall;_Clock.Checked = true;
}
}_Click(object sender, EventArgs e)
{.Enabled = true;._sting.PlayLooping();.Text = "Radio ON";
}_Click(object sender, EventArgs e)
{(timer2.Enabled == true)
{.Stop();
_sec = 60;
_min = 29;.Text = "Timer OFF";._sting.Stop();
}
}_Click(object sender, EventArgs e)
{._mel.Stop();
_sec_3 = 60;_zvonka.Text = "";_Clock.Checked = true;
}_Click(object sender, EventArgs e)
{._mel.Stop();_zvonka.Text = "Again";.Enabled = true;.Start();_Clock.Checked = true;
}
}
}
КласTimeSystem;.Collections.Generic;.ComponentModel;.Data;.Drawing;.Linq;.Text;
{
{_hour;_minute;_second;hour
{{ return _hour; }{ _hour = value; }
}minute
{{ return _minute; }{ _minute = value; }
}second
{{ return _second; }{ _second = value; }
}HourP1 (refinti)
{(i == 23)
{= -1;
}(i != -1 &&i != 23)
{++;
}(i == -1)
{++;
};
}HourM1(refinti)
{(i != -1 &&i != 23)
{-;
}(i == 23)
{-;
}(i == -1)
{= 23;
};
}MinuteP1(refinti)
{(i == 59)
{= -1;
}(i != -1 &&i != 59)
{++;
}(i == -1)
{++;
};
}MinuteM1(refinti)
{(i != -1 &&i != 59)
{-;
}
(i == 59)
{-;
}
(i == -1)
{= 59;
};
}
}
Клас NewTimeSystem;.Collections.Generic;.Linq;.Text;
{: Time
{_newHour;_newMinute;_newSecond;
{{ return _newHour; }{ _newHour = value; }
}
{{ return _newMinute; }{ _newMinute = value; }
}
{{ return _newSecond; }{ _newSecond = value; }
}NewHourP1()
{.HourP1(ref _newHour);
}NewHourM1()
{.HourM1(ref _newHour);
}NewMinuteP1()
{.MinuteP1(ref _newMinute);
}NewMinuteM1()
{.MinuteM1(ref _newMinute);
}
}
}
КлассTimeCollSystem;.Collections.Generic;.Linq;.Text;.Windows.Forms;
{
{_hourCall;_minuteCall;_secondCall;
{{ return _hourCall; }{ _hourCall = value; }
}
{{ return _minuteCall; }{ _minuteCall = value; }
}
{{ return _secondCall; }{ _secondCall = value; }
}
}
}
Клас MelodySystem;.Collections.Generic;.Linq;.Text;.Media;
{
{_mel = newSoundPlayer(Properties.Resources.muz);_sting = newSoundPlayer(Properties.Resources.sting___shape_of_my_heart__zaycev_net_);
}
}
Додаток
Модель наслідування

