Разработка программного обеспечения для блока
Рассмотрение общих сведений о микроконтроллерах. Описание сред и возможностей программирования микроконтроллеров. Разработка принципиальной схемы блока управления, алгоритма программы, схемы блока управления. Разработка конфигурации блока управления.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 31.05.2016 |
Размер файла | 1,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Если асинхронный таймер не тактируется асинхронно, то вместо режима хранения рекомендуется режим микропотребления, поскольку содержимое регистров в асинхронном таймере должно рассматриваться как неопределенное после активации в режиме хранения, если AS2 равно нулю.
Этот режим ожидания в основном приостанавливает все тактовые сигналы, за исключением clkASY, разрешая работу только асинхронных модулей, включая таймер/счетчик 2, если тактирование выполняется асинхронно.
Режим ожидания:
Этот режим аналогичен режиму хранения, за исключением того, что генератор продолжает работать. Устройство активируется из режима Standby в течение шести тактовых циклов.
Режим длительного ожидания:
Этот режим аналогичен режиму микропотребления, за исключением того, что генератор продолжает работать. Устройство активируется из режима длительного ожидания в течение шести тактовых циклов.
Режимы работы интегральной микросхемы 1887ВЕ1У и ток потребления:
Режим работы |
Ток потребления |
|
Активный режим |
3,7мА |
|
Режим холостого хода |
1,75мА |
|
Режим снижения шума АЦП |
1,2мА |
|
Режим хранения |
0,05мА |
|
Режим микропотребления |
0,05мА |
|
Режим ожидания |
0,05мА |
|
Режим длительного ожидания |
0,05мА |
Для прошивки микроконтроллера используется следующий HEX-файл:
:0200000014C02A
:02000400D0C06A
:020008009AC09C
:0400100058C0E0C034
:14002A00CFE5D2E0CDBFDEBFC451D0400AEA08830024E0E6A5
:14003E00F0E010E0ED36F10711F00192FBCF0083EAE2F0E056
:14005200A0E6B0E010E000E00BBFEA32F10721F0C8953196A1
:140066000D92F9CFC2D0FFCFE199FECF27B620FCFDCF1FBBD9
:14007A000EBB2DBBE29AE19AE199FECF0895E199FECF1FBBC5
:14008E000EBBE09A0DB3089522242EBC89EE8DBD80E28CBD22
:1400A20083E18BBD82E18ABD83E189BD82E188BD83E187BDFA
:1400B60082E186BD2FBC85E08EBD08952A923A924A925A9208
:1400CA008A939A93AA93BA932FB62A9289EE8DBD80E28CBD41
:1400DE0081E090E0A0E0B0E040906B0050906C00209069008D
:1400F20030906A00280E391E4A1E5B1E30926A00209269001B
:1401060050926C0040926B0085E08EBD29902FBEB991A99180
:14011A009991899159904990399029901895222425BC88E00D
:14012E0082BD8FE584BD8FE983BD87E085BD08952A923A9243
:140142004A925A928A939A93AA93BA932FB62A928FE584BDB7
:1401560081E090E0A0E0B0E040906700509068002090650020
:14016A0030906600280E391E4A1E5B1E3092660020926500AE
:14017E00509268004092670087E085BD82B58830E9F72990B9
:140192002FBEB991A9919991899159904990399029901895B3
:1401A6008A938FB78A93F89481E08093620089918FBF8991E1
:1401BA001895222423BE8BE882BF85E78CBF81E0809363001B
:1401CE0085E083BF08952A928A932FB62A928BE882BF222465
:1401E2002092630029902FBE89912990189522242ABA87E03D
:1401F60084BB87EF81BB88E082BBB0993FC029B301E010E06A
:14020A0031DF01E010E03BDF00936400083311F487E085BB07
:14021E0020906400222011F4222425BA80916400883011F41A
:1402320081E085BB80916400803111F482E085BB80916400D5
:14024600803211F484E085BB80916400883111F483E085BB73
:14025A0080916400803311F486E085BB80916400883211F489
:14026E0085E085BB22242ABA2BBA000087E08ABB25B22BBA60
:1402820086B38170813009F0A6C185E489BF80E080936900A0
:1402960080936A0080936B0080936C0080E0809365008093EF
:1402AA006600809367008093680001E010E0E7DE0093640058
:1402BE007894EADE32DF84C08CE090E0A0E0B0E040906B00DC
:1402D20050906C002090690030906A00281639064A065B065B
:1402E60009F04EC0979A22243324309261002092600009C031
:1402FA0080916000909161000196909361008093600080E00F
:14030E009DE720906000309061002816390674F322243324A5
:14032200309261002092600009C0809160009091610001963F
:14033600909361008093600080E09DE72090600030906100A7
:14034A002816390674F322243324309261002092600009C020
:14035E0080916000909161000196909361008093600080E0AA
:140372009DE720906000309061002816390674F388E082BB39
:1403860088E190E0A0E0B0E0409067005090680020906500E6
:14039A0030906600281639064A065B0609F4919A88E190E0FA
:1403AE00A0E0B0E04090670050906800209065003090660071
:1403C200281639064A065B0609F4909A89E190E0A0E0B0E0E8
:1403D6004090670050906800209065003090660028163906DC
:1403EA004A065B0608F46ACF22242092620080E385BF80E8B0
:1403FE008BBF7894E9C080916200813091F4222420926200E9
:14041200949AD3DE809163008130E1F3959ACDDE80916300B0
:140426008130E1F382B3877D82BB8AE891E2A0E0B0E0409002
:14043A006700509068002090650030906600281639064A06F7
:14044E005B0699F480916400883379F4949AAFDE80916300E0
:140462008130E1F3959AA9DE809163008130E1F382B3877D19
:1404760082BB84E193E4A0E0B0E0409067005090680020901A
:14048A00650030906600281639064A065B0699F480916400A3
:14049E00883079F4949A8BDE809163008130E1F3959A85DE03
:1404B200809163008130E1F382B3877D82BB88E296E8A0E05F
:1404C600B0E04090670050906800209065003090660028169A
:1404DA0039064A065B0699F480916400803179F4949A67DE8B
:1404EE00809163008130E1F3959A61DE809163008130E1F39A
:1405020082B3877D82BB80E59CE0A1E0B0E040906700509066
:1405160068002090650030906600281639064A065B0699F473
:14052A0080916400803279F4949A43DE809163008130E1F3E1
:14053E00959A3DDE809163008130E1F382B3877D82BB80EA86
:1405520098E1A2E0B0E04090670050906800209065003090B6
:140566006600281639064A065B0699F480916400883179F4C5
:14057A00949A1FDE809163008130E1F3959A19DE80916300AF
:14058E008130E1F382B3877D82BB84EB9BE5A2E0B0E040908D
:1405A2006700509068002090650030906600281639064A068E
:1405B6005B0649F4969AFFDD809163008130E1F382B3877D55
:1005CA0082BB789485B7806485BF889516CF0895D5
:00000001FF
2.5 Отладка программы
Отладка программ заключается в проверке правильности работы программы и аппаратуры. Программа, не содержащая синтаксических ошибок тем не менее может содержать логические ошибки, не позволяющие программе выполнять заложенные в ней функции. Логические ошибки могут быть связаны с алгоритмом программы или с неправильным пониманием работы аппаратуры, подключённой к портам микроконтроллера.
Встроенный в состав интегрированной среды программирования отладчик позволяет отладить те участки кода программы, которые не зависят от работы аппаратуры, не входящей в состав микросхемы микроконтроллера. Обычно это относится к вычислению математических выражений или преобразованию форматов представления данных.
Для отладки программ обычно применяют три способа:
Пошаговая отладка программ с заходом в подпрограммы;
Пошаговая отладка программ с выполнением подпрограммы как одного оператора;
Выполнение программы до точки останова.
Пошаговая отладка программ заключается в том, что выполняется один оператор программы и, затем контролируются те переменные, на которые должен был воздействовать данный оператор.
Если в программе имеются уже отлаженные подпрограммы, то подпрограмму можно рассматривать, как один оператор программы и воспользоваться вторым способом отладки программ.
Если в программе существует достаточно большой участок программы, уже отлаженный ранее, то его можно выполнить, не контролируя переменные, на которые он воздействует. Использование точек останова позволяет пропускать уже отлаженную часть программы. Точка останова устанавливается в местах, где необходимо проверить содержимое переменных или просто проконтролировать, передаётся ли управление данному оператору.
Практически во всех отладчиках поддерживается это свойство (а также выполнение программы до курсора и выход из подпрограммы). Затем отладка программы продолжается в пошаговом режиме с контролем локальных и глобальных переменных, а также внутренних регистров микроконтроллера и напряжений на выводах этой микросхемы.
3. Тестовый пример
3.1 Контрольный пример
Проверка работоспособности блока управления временем срабатывания производится следующим образом:
После подачи питания на блок УВИ на PB0 подается сигнал и блок начинает работать в режиме 1. В этом режиме с блока формирования сигналов и приема квитанции на контроллер (порт A) поступает код 0x38. Этот код записывается в EEPROM, и после записи обратно на блок формирования сигналов и получения квитанции отправляется код 0x38 для отчета о выполненной записи кода. Далее с помощью блока выбора режима работы блок УВИ переключается в режим 2. В этом режиме из ЭСППЗУ считывается записанный ранее код и запускаются таймеры счетчики для расчета времени готовности и времени срабатывания. Блок управления анализирует код и следит за значением счетчиков. Когда счетчики AMINUTE и MINUTE отсчитывают 24 (2 минуты) с порта D с 0 и 1-го PINа подается сигнал готовности, а когда счетчик AMINUTE достигает значения 17172 (1 сутки) с порта D с 4-го PINа подается сигнал срабатывания.
PINB = 0x01 // Выбор режима 1 - входные данные
Режим 1:
PORTA = 0x38 - входные данные
PORTC = 0x07 // индикация кода - выходные данные
PORTA = 0x07 // квитанция - выходные данные
PINB = 0x00 // Выбор режима 2 - входные данные
Режим 2:
PORTD = 0x03 // Через 2 минуты после запуска 2-го режима - выходные данные
PORTD = 0x10 // Через 24 часа после запуска 2-го режима - выходные данные
3.2 Результаты тестирования
Тестирования производились с помощью макетной платы с набором переключателей на входе и набором светодиодов на выходе. Были проведены проверки срабатывания сигналов готовности (через 2 минуты) и сигнала срабатывания (1, 2, 3, 4, 5 и 9 суток), также проверена правильность записи и чтения кодов из EEPROM. В ходе проведения тестирования была проверена правильность работы блока управления временными интервалами. В результате
Результаты проверки входящих кодов и времени срабатывания, приходящих на блок УВИ:
Время, соответствующее коду |
Входящий код |
Исходящий код |
Фактическое время через которое блок сработал |
|
1 сутки |
0x38 - 111 |
0x07 - 111 |
24 часа |
|
2 суток |
0x08 - 001 |
0x01 - 001 |
48 часов |
|
3 суток |
0x10 - 010 |
0x02 - 010 |
72 часа |
|
4 суток |
0x20 - 100 |
0x04 - 100 |
96 часов |
|
5 суток |
0x18 - 011 |
0x03 - 011 |
120 часов |
Все входящие коды, как видно из таблицы, были верными.
Под фактическим временем имеется в виду промежуток времени между запуском блока УВИ в режиме 2 и выдачей боком сигнала срабатывания. Как видно из таблицы, все выходные сигналы срабатывания были получены вовремя, не превышая погрешность в 1%.
Заключение
В процессе выполнения дипломного проекта было разработано программное обеспечение для устройства управления временными интервалами и само устройство. Программное обеспечение было написано на языке Си с помощью IDE Image Craft. Правильность работы программы была проверена совокупностью тестов. В качестве управляющего элемента использовался микроконтроллер МИ 1887ВЕ1У российского производства. Актуальностью данной темы являлось то, что в процессе проектирования ставилась задача спроектировать устройство, которое не имело бы аналогов и отличалось новизной, малыми габаритами, продолжительным временем работы. Рассмотренное в дипломном проекте устройство может использоваться не только в инженерных боеприпасах, но их в других системах, как подсистема, управляющая временем срабатывания устройства. А легкость перепрограммирования микроконтроллера и отладки его работы делает это разрабатываемый блок универсальным.
Список литературы
1. Техническое описание КФДЛ.431295.025ТО
2. Справочник Image Craft C for Atmel AVR
3. Измерение, управление и регулирование с помощью AVR-микро-контроллеров. Трамперт В. 2006 год
4. Микроконтроллеры AVR. Вводный курс. Мортон Д. 2006 год.
5. Основы цифровой схемотехники. Новиков Ю. В. 2001 год.
6. Разработка устройств на микроконтроллерах. Белов А. В. 2013 год.
7. Программирование на языке С для AVR и PIC микроконтроллеров. Шпак Ю.А. 2006 год.
8. Микроконтроллеры AVR. Практикум для начинающих. Хартов В. Я. 2007 год.
9. 10 практических устройств на AVR-микроконтроллерах. Книга 1 и книга 2. Кравченко А. В. 2008 год.
10. Микроконтроллеры AVR семейств Tiny и Mega фирмы "Atmel". Евстифеев А.В. 2004 год.
11. Применение микроконтроллеров AVR: схемы, алгоритмы, программы. Баранов В.Н. 2004 год.
12. Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера. Ревич Ю. В. 2008 год.
13. Микроконтроллеры AVR: от простого к сложному. М. С. Голубцов. 2003 год.
14. Искусство схемотехники. Хоровиц П., Хилл У. 1998 год.
Приложение
// ICC-AVR application builder : 18.10.2012 8:11:20
// Target : M8535
// Crystal: 1.0000Mhz
#include <macros.h>
#include <iccioavr.h>
#include <iom8535v.h>
#include <avrdef.h>
#include <eeprom.h>
unsigned long MINUTE, AMINUTE; // Размер: 4 байта; Диапазон: 0..4294967295
unsigned char CODE; // Размер: 1 байт; Диапазон: 0..255
char timer_off; // Размер: 1 байт; Диапазон: -128..127
unsigned char FlagInt1;
int i; // Размер: 2 байта; Диапазон: -32768..32767
void EEPROM_write (unsigned int uiAddress, unsigned char ucData)
{
/* Ожидаем окончание предыдущей записи */
while (EECR & (1 << EEWE))
;
while (SPMCR & (1 << SPMEN))
;
/* Указание адреса и данных */
EEAR = uiAddress;
EEDR = ucData;
/* Запись лог. 1 в EEMWE */
EECR |= (1 << EEMWE);
/* Запуск записи в ЭСППЗУ путем установки EEWE */
EECR |= (1 << EEWE);
while (EECR & (1 << EEWE))
;
}
unsigned char EEPROM_read (unsigned int uiAddress)
{
/* Ожидание завершения предыдущей записи*/
while (EECR & (1 << EEWE))
;
/* Установка адресного регистра */
EEAR = uiAddress;
/* Разрешение чтения из ЭППЗУ путем установки EERE */
EECR |= (1 << EERE);
/* Возврат данных из регистра данных ЭСППЗУ*/
return EEDR;
}
// TIMER1 initialize - prescale:1024
// WGM: 0) Normal, TOP=0xFFFF
// desired value: 5Sec
// actual value: 4,999Sec (0,0%)
void timer1_init (void)
{
TCCR1B = 0x00; // stop
TCNT1H = 0xE9; // setup
TCNT1L = 0x20;
OCR1AH = 0x13;
OCR1AL = 0x12;
OCR1BH = 0x13;
OCR1BL = 0x12;
ICR1H = 0x13;
ICR1L = 0x12;
TCCR1A = 0x00;
TCCR1B = 0x05; // start Timer
}
/* #pragma interrupt_handler <func>: <vector>
Объявляет функции как обработчики прерываний, чтобы компилятор генерировал команды возврата из прерывания вместо команд обычного возврата и сохранял и восстанавливал все регистры, используемые функциями прерываний*/
#pragma interrupt_handler timer1_ovf_isr:iv_TIM1_OVF
void timer1_ovf_isr (void)
{
// TIMER1 has overflowed
TCNT1H = 0xE9; // reload counter high value
TCNT1L = 0x20; // reload counter low value
MINUTE = MINUTE + 1; // Увеличение счетчика на единицу
TCCR1B = 0x05;
}
// TIMER2 initialize - prescale:1024
// WGM: Normal
// desired value: 5Sec
// actual value: 4,969Sec (0,6%)
void timer2_init(void)
{
TCCR2 = 0x00; // stop
ASSR = 0x08; // set async mode
TCNT2 = 0x5F; // setup
OCR2 = 0x9F;
TCCR2 = 0x07; // start
}
#pragma interrupt_handler timer2_ovf_isr:iv_TIM2_OVF
void timer2_ovf_isr (void)
{
TCNT2 = 0x5F; // reload counter value
AMINUTE = AMINUTE + 1;
TCCR2 = 0x07;
while (ASSR != 0b00001000);
}
#pragma interrupt_handler int0_isr:iv_INT1
void int0_isr (void)
{
/* Отключение прерываний */
_CLI ();
FlagInt1 = 1; // Возведение флага
}
// TIMER0 initialize - prescale:1024
// WGM: Normal
// desired value: 120mSec
// actual value: 119,808mSec (0,2%)
void timer0_init (void)
{
TCCR0 = 0x00; // stop
TCNT0 = 0x8B; // set count
OCR0 = 0x75; // set compare
timer_off = 1;
TCCR0 = 0x05; // start timer
}
#pragma interrupt_handler timer0_ovf_isr:iv_TIM0_OVF
void timer0_ovf_isr (void)
{
TCNT0 = 0x8B; // reload counter value
timer_off = 0;
}
int main (void)
{
/* Начальная инициализация портов */
DDRA = 0x00; // Все выводы порта A будут сконфигурированы как входы.
DDRC = 0x07; // (00000111) Часть выводов порта D будет сконфигурирована как выходы, а часть - как входы (0 - вход, 1 - выход).
DDRD = 0xF7;
PORTD = 0x08; // Если вывод сконфигурирован как выход, то единичка в соответствующем бите регистра PORTD формирует на выводе сигнал высокого уровня, а ноль - сигнал низкого уровня.
if ((PINB & 0x01) == 0) // Если на PB0 не поступает сигнал
{
EEPROM_write (1 , PINA); // Записываем сигнал с порта A в EEPROM
CODE = EEPROM_read (1); // Присваиваем значение, записанное в EEPROM, переменной CODE
/* Далее идет код, отвечающий за светодиодную индикацию информации записанной в EEPROM*/
if (CODE == 0x38)
{
PORTC = 0x07;
}
if (CODE == 0x00)
{
PORTC = 0x00;
}
if (CODE == 0x08)
{
PORTC = 0x01;
}
if (CODE == 0x10)
{
PORTC = 0x02;
}
if (CODE == 0x20)
{
PORTC = 0x04;
}
if (CODE == 0x18)
{
PORTC = 0x03;
}
if (CODE == 0x30)
{
PORTC = 0x06;
}
if (CODE == 0x28)
{
PORTC = 0x05;
}
DDRA = 0x00;
PORTA = 0x00;
_NOP ();
/*Пересылка сигнала из EEPROM (отправка квитанции) для проверки*/
DDRA = 0x07;
PORTA = PORTC;
}
if ((PINB & 0x01) == 1) // Если на PB0 поступает сигнал
{
TIMSK = 0x45; // Регистр маски прерывания
/*Задаем начальные значения счетчиков*/
MINUTE = 0;
AMINUTE = 0;
CODE = EEPROM_read (1);
SEI (); // Разрешаем прерывания
/* Запуск таймера 1 и таймера 2 */
timer1_init ();
timer2_init ();
while (AMINUTE < 25) // Пока не прошло 2 минуты 5 секунд
{
if (AMINUTE == 24) // если 2 минуты (Таймер 2)
{
PORTD |= 1 << PD1;
}
if (MINUTE == 24) // если 2 минуты (Таймер 1)
{
PORTD |= 1 << PD0;
}
}
FlagInt1 = 0; // Задаем начальное значение флага
MCUCR = 0b00110000;
GICR = 0x80;
SEI (); // Разрешаем прерывания
while (1)
{
if (FlagInt1 == 1) // Прерывание по внешнему сигналу
{
FlagInt1 = 0; // Задаем начальное значение флага
PORTD |= 0x10;
timer0_init();
while (timer_off == 1);
PORTD &= 0xD7;
}
if ((AMINUTE == 17172) && (CODE == 0x38)) // если 1 сутки (Таймер 2)
{
PORTD |= 0x10;
timer0_init ();
while(timer_off == 1);
PORTD &= 0xD7;
}
if ((AMINUTE == 34344) && (CODE == 0x08)) // если 2 суток (Таймер 2)
{
PORTD |= 0x10;
timer0_init ();
while(timer_off == 1);
PORTD &= 0xD7;
}
if ((AMINUTE == 51516) && (CODE == 0x10)) // если 3 суток (Таймер 2)
{
PORTD |= 0x10;
timer0_init ();
while(timer_off == 1);
PORTD &= 0xD7;
}
if ((AMINUTE == 68688) && (CODE == 0x20)) // если 4 суток (Таймер 2)
{
PORTD |= 0x10;
timer0_init ();
while(timer_off == 1);
PORTD &= 0xD7;
}
if ((AMINUTE == 85860) && (CODE == 0x18)) // если 5 суток (Таймер 2)
{
PORTD |= 0x10;
timer0_init ();
while(timer_off == 1);
PORTD &= 0xD7;
}
if (AMINUTE == 154548) // Если 9 суток (Таймер 2) (Самоликвидация)
{
PORTD |= 0x40;
timer0_init ();
while(timer_off == 1);
PORTD &= 0xD7;
}
_SEI();
MCUCR |= 0b01000000;
_SLEEP (); // Запуск энергосберегающего режима
}
}
}
Размещено на Allbest.ru
...Подобные документы
Разработка алгоритма работы. Выбор и обоснование структурной схемы. Разработка функциональной схемы блока ввода и блока вывода. Проектирование принципиальной схемы блока ввода и блока вывода, расчет элементов. Разработка программного обеспечения.
курсовая работа [1,7 M], добавлен 25.12.2011Характеристика микроконтроллера: тип, корпуса и выводы, перечень битов конфигурации и идентификаторов. Разработка и изготовление лабораторного блока для программирования бутлоадера в микроконтроллер: блок-схема устройства, изготовление печатной платы.
дипломная работа [1,7 M], добавлен 07.06.2012Описание структуры обучающего блока. Проектирование его алгоритма и лингвистического и информационного обеспечения. Организация его взаимодействия с базой данных. Разработка графического интерфейса. Программная реализация основных функций приложения.
дипломная работа [2,1 M], добавлен 20.12.2015Структура микропроцессорной системы, алгоритм ее управления и передачи сигналов. Карта распределения адресов. Разработка электрической принципиальной схемы и выбор элементной базы. Расчет потребляемого тока, блока питания, программного обеспечения.
курсовая работа [5,1 M], добавлен 22.01.2014Описание схемы электрической принципиальной. Разработка монтажа элементов электронного блока. Компоновка элементов на печатной плате. Проектирование сборочного чертежа электронного блока, разработка спецификации и проведение моделирования его работы.
курсовая работа [2,2 M], добавлен 16.10.2012Разработка структурной схемы гипотетической ЭВМ, ее функциональной или принципиальной схемы и алгоритма работы конкретного блока, входящего в состав этой ЭВМ. Принципы работы и архитектура центрального процессора и памяти, система прерывания программ.
курсовая работа [4,1 M], добавлен 25.03.2012Особенности разработки и реализации модулей двухмерной и трехмерной визуализации. Основные задачи трехмерного модуля управления. Анализ функций модуля управления ParamColorDrawer. Характерные особенности схемы функционирования программного средства.
реферат [2,2 M], добавлен 07.03.2012Описание алгоритмов работы программного блока, тестирования, сохранения результатов, просмотра статистики и построения графика. Разработка пользовательского интерфейса. Анализ тестовых испытаний программного блока. Руководство оператора. Охрана труда.
дипломная работа [4,4 M], добавлен 06.03.2013Изучение схемы однокристального микроконтроллера Temic 80C51, анализ основных принципов действия шаговых двигателей. Разработка блока управления шаговыми двигателями и печатающей головкой простого матричного принтера. Создание программного обеспечения.
курсовая работа [552,7 K], добавлен 24.12.2012Общая структура микропроцессора. Жизненный цикл программного обеспечения. Проектирование схемы операционного блока, создание временных диаграмм с использованием средств Microsoft Office и в среде OrCAD. Разработка алгоритма хранения значений констант.
курсовая работа [839,5 K], добавлен 24.07.2013Микропроцессоры позволяют строить универсальные устройства управления электронными весами. Разработка функциональной схемы, схемы алгоритма прикладной программы. Разработка принципиальной схемы, управляющей программы. Листинг управляющей программы.
курсовая работа [118,0 K], добавлен 04.07.2008Разработка корпуса системного блока компьютера, обладающего эффективной системой охлаждения и приятным дизайном. Анализ существующих корпусов: "стимпанк", лепка из различных материалов, "техно". Выбор стиля и формы для корпуса системного блока.
практическая работа [5,5 M], добавлен 06.05.2011Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.
курсовая работа [1,2 M], добавлен 04.08.2014Создание трёхмерной модели блока зубчатых колёс. Последовательность разработки 2D чертежа блока в системе Аскон Компас 3D. Программный пакет "bCAD". Оптимизация режимов резания по критерию погрешности силового отжима и машинного времени обработки вала.
курсовая работа [4,2 M], добавлен 20.11.2013Разработка программного комплекса и описание алгоритма. Разработка пользовательского интерфейса. Анализ тестовых испытаний программного блока. Защита пользователей от воздействия на них опасных и вредных факторов. Режимы работы программного комплекса.
дипломная работа [1,7 M], добавлен 14.03.2013Разработка алгоритма работы блока сложения дробных двоичных чисел в обратном модифицированном коде с фиксированной запятой. Определение состава узлов и управляющих сигналов блока по схеме электрической функциональной, описание его принципа работы.
реферат [415,8 K], добавлен 29.11.2010Устройство и назначение однокристальных микроконтроллеров, сферы их применения. Разработка контроллера для управления домашней метеостанцией: расчет принципиальной схемы и характеристика ее элементов, выбор датчиков. Описание программы управления.
курсовая работа [280,3 K], добавлен 28.12.2012Разновидности конструктивных решений реализации весового оборудования. Разработка блок-схемы предустановок, блок-схемы измерения веса, блок-схемы вывода информации о весе в компьютер, блок-схемы устройства и программы работы микропроцессорного блока.
курсовая работа [525,4 K], добавлен 13.02.2023Разработка структурной схемы устройства управления учебным роботом. Выбор двигателя, микроконтроллера, микросхемы, интерфейса связи и стабилизатора. Расчет схемы электрической принципиальной. Разработка сборочного чертежа устройства и алгоритма программы.
курсовая работа [577,8 K], добавлен 24.06.2013Анализ архитектуры и структуры элементной базы видеоадаптеров компьютера. Учет критериев оптимизации по потребляемой мощности и аппаратным средствам при разработке буферной памяти. Разработка структурной и принципиальной схемы. Подбор блока питания.
курсовая работа [929,1 K], добавлен 22.04.2014