Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка пргр МП.docx
Скачиваний:
11
Добавлен:
01.07.2025
Размер:
16 Мб
Скачать
☆

Г.3 Соглашения по читаемости программ

Г.3.1 Лесенка

"Лесенка" должна отражать структурную вложенность языковых конструкций. Рекомендуется отступ не менее 2-х и не более 8-и пробелов. Принятого отступа нужно придерживаться во всем тексте программы. Правила написания некоторых конструкций [95]:

if ( <условие> )

{

<операторы>

{ if ( <условие> ) <оператор>;

if ( <условие> )

{

<операторы>

} else

{

<операторы>

} while ( <условие> )

{

<операторы>

}

while ( <условие> )

<оператор>;

for ( <иниц. счетчика>; <условие>; <изменение счетчика> ) {

<операторы>

}

for ( <иниц. счетчика>; <условие>; <изменение счетчика> )

<оператор>;

switch ( <выражение> )

{ case <выражение>: <операторы>; break;

........ default:

<операторы>;

}

short Sign( float X )

{

// выдает знак числа X if ( X > 0 ) return 1; else

if ( X < 0 ) return -1; else return 0;

} void Equation( float A, float B, float C, float* X1, float* X2, char* Num )

{

// нахождение действительных корней квадратного уравнения;

// A, B, C -- коэффициенты

// X1, X2 -- корни (если действительного решения нет, то

// полагаются равными 0);

// Num -- число корней (0, 1, или 2)

float D;

D = sqr( B ) -4 * A * C; if ( D < 0 )

{

*Num = 0;

*X1 = 0;

*X2 = 0;

} else

{

*X1 = ( -B + sqrt( D ) ) / ( 2 * A ); *X2 = ( -B - sqrt( D ) ) / ( 2 * A ); if ( *X1 == *X2 ) *Num = 1; else *Num = 2;

}

}

Г.3.2 Длина строк программного текста

Длина строк программы не должна превышать ширины экрана (80 символов).

Г.3.3 Прочие рекомендации

А. Рекомендуется операнды бинарных операций (+, = и т.п.) отделять от знака операции одним пробелом " ".

Например:

Sum = A + B;

Б. Рекомендуется при перечислении идентификаторов после запятой "," ставить один пробел " ".

Например:

printf( “Сумма: %d; Разность: %d.”, A + B, A – B ); unsigned short Day, Month, Year; unsigned char i, j, k, l, m, n;

В. Рекомендуется всегда писать символ-разделитель операторов ";" (непосредственно после оператора).

Например:

switch ( Num )

{ case 1: printf( “один...” ); break; case 2: printf( “два...” ); break; case 3: printf( “три...” ); break; default: printf( “много!” ); break;

}

Г. Рекомендуется 16-ричные числа писать большими буквами. Например:

#define BadDate 0xFFFF

#define kbEnter 0x0D // код клавиши <Enter>

Литература

  1. 8237 DMA controller

URL: http://zet.aluzina.org/index.php/8237_DMA_controller

  1. 8237A High Performance Programmable DMA Controller Datasheet. – September 1993, Intel Corporation, Order number: 231466-005.

  2. ADuC812: MicroConverter, Multichannel 12-Bit ADC with Embedded Flash MCU Data Sheet (Rev E, 04/2003) // Norwood: Analog Devices Inc.

2003. URL: http://www.analog.com/static/importedfiles/data_sheets/ADUC812.pdf.

  1. ADuC812: Quick Reference Guide – СПб.: СПбГУ ИТМО, 2009. – URL: http: //embedded.ifmo.ru/sdk/sdk11/components/mcu_aduc812_eng/ ADuC812_QuickRefGuideRev0.pdf

  2. AMBA Design Tools for CoreLink System IP.

URL: http://www.arm.com/products/system-ip/amba-design-tools

  1. AMBA Specification (Rev 2.0) ARM Limited 1999

  2. Application Note #1 (uC001): MicroConverter I2C Compatible Interface (Rev. 2.1, 2002/11) // Norwood: Analog Devices Inc. 2003. URL: http://www.analog.com/static/importedfiles/application_notes/uC001_-

_MicroConverter_I2C_Compatible_Interface.pdf.

  1. Ayala K. The 8051 Microcontoller, 3rd ed. Delmar Cengage Learning, 2004. 448 p.

  2. Ayala K. The 8051 microcontroller: architecture, programming and applications; 2nd ed. NY: Thomson Delmar Leaning, 1996. 367 p.

  3. Calcutt D., Cowan F., Parchizadeh H. 8051 Microcontrollers: An Applications Based Introduction. Oxford: Newnes, 2004.

  4. GNU make manual // The GNU Operating System. 1996.

URL: http://www.gnu.org/software/make/manual/html_node/index.html.

  1. I2C Bus. URL: http://www.i2c-bus.org

  2. I²C-bus specification and user manual (Rev. 03, 06/2007) // NXP Semiconductors. 2006.

URL: http://www.nxp.com/documents/user_manual/UM10204.pdf.

  1. Lee A. Edward. Cyber-Physical Systems – Are Computing Foundations Adequate? // Position Paper for NSF Workshop On Cyber-Physical Systems: Research Motivation, Techniques and Roadmap. October 16-17, 2006, Austin, TX. 9 p.

  2. Lee E.A. Model-Driven Development – From Object-Oriented Design to

Actor-Oriented Design // In Workshop on Software Engineering for Embedded Systems: From Requirements to Implementation (a.k.a. The Monterey Workshop). Chicago. September 24, 2003. 7 p.

  1. MacKenzie L.S., Phan R. The 8051 Microcontroller, 4th ed. NJ: Prentice Hall, 2005.

  2. Mazidi M.A., McKinlay R. 8051 Microcontroller and Embedded Systems.

NJ: Prentice Hall, 2005. 640 p.

  1. Non-return-to-zero URL: http://en.wikipedia.org/wiki/Non-return-to-zero 19. PCF8583 – Clock/calendar with 240 x 8-bit RAM // NXP Semiconductors. 2006. URL: http://www.nxp.com/documents/data_sheet/PCF8583.pdf.

  1. Sangiovanni-Vincentelli A. Quo Vadis SLD: Reasoning About the Trends and Challenges of System Level Design // Proceedings of the IEEE. 95(3), 2007. P. 467-506.

  2. Schultz T.W. C and the 8051. Otsego: PageFree Publishing Inc., 2004. 3rd ed. 412 p. ISBN 1-58961-237-X

  3. SDCC Compiler User Guide // SDCC – Small Device C Compiler. 2009. URL: http://sdcc.sourceforge.net/doc/sdccman.html/.

  4. The I²C-bus specification (version 2.1, 2000) // NXP Semiconductors. 2006. URL: http://www.nxp.com/acrobat_download2/literature/ 9398/39340011.pdf.

  5. Two-wire Serial EEPROM AT24C02A/AT24C04A // Atmel Corporation. 1998.

URL: http://www.atmel.com/dyn/resources/prod_documents/doc5083.pdf.

  1. Wolf W.H. Computers as Components: Principles of Embedded Computing

Systems Design. San Francisco: Morgan Kaufmann, 2005. 656 p. – ISBN 978-0-12-369459-1

  1. Александров Е.К. Микропроцессорные системы: Учебное пособие для вузов. М.: Политехника, 2002. – 936 с. - ISBN 5-7325-0516-4

  2. Бень Е.А. RS-485 для чайников. 2003.

URL: http://masters.donntu.edu.ua/2004/fema/kovalenko/library/art7.html

  1. Болл Стюарт Р. Аналоговые интерфейсы микроконтроллеров. М.: Издательский дом «Додэка-ХХ1», 2007. 360 с: ил. – ISBN 978-5-94120142-6

  2. Брукс Ф. Мифический человеко-месяц или как создаются программные системы. СПб.: Символ-Плюс, 2010. 304 с. ISBN 5-

93286-005-7, ISBN 0-201-83595-9

  1. Буч Г. Объектно-ориентированный анализ и проектирование с примерами на языке C++. СПб.: Бином, Невский диалект, 1998. 560 с. ISBN 0-8053-5340-2, ISBN 5-7989-0067-3

  2. Вербин В.С. Классификация электромагнитных помех URL: http://www.problemaemc.narod.ru/emp_klass.html

  3. Волович Г.И. Схемотехника аналоговых и аналого-цифровых электронных устройств. М.: Издательский дом "Додэка-ХХI", 2005

  4. Гарновский Н. Н. Теоретические основы электропроводной связи. Ч.2. М. 1959.

  5. Говард В. Д. Высокоскоростная передача цифровых данных: высший курс черной магии.

  6. Гоноровский И. С. Радиотехнические цепи и сигналы. Ч.2. М. 1967.

  7. Горелик Г. С. Колебания и волны. М. – Л.. 1950.

  8. Гук М.Ю. Аппаратные интерфейсы ПК. Энциклопедия. СПб.: Питер, 2002. 528 с.: ил. ISBN 5-94723-180-8

  9. Гук М.Ю. Аппаратные средства IBM PC. Энциклопедия. 3-е изд. СПб.: Питер, 2006. 1072 с.: ил. ISBN 5-469-01182-8

  10. Давыдов А.В. Лекции по проектированию радиоэлектронной геофизической аппаратуры. Электрические соединения в радиоэлектронной аппаратуре.

URL: http://prodav.narod.ru/design/index.html

  1. Дейкстра Э.В. Два взгляда на программирование // Клуб программистов «Весельчак У»

URL: http://club.shelek.ru/viewart.php?id=211.

  1. Дейкстра Э.В. Конец информатики? // Communications of the ACM, Ноябрь, 19, 2000. 44(3). c. 92

  2. Дейкстра Э.В. Почему программное обеспечение такое дорогое? Пояснение для разработчиков аппаратуры // Springer-Verlag, 1982. c. 338-348

  3. Дейкстра Э.В. Программирование как вид человеческой деятельности // Клуб программистов «Весельчак У»

URL: http://club.shelek.ru/viewart.php?id=137. 44. Ершова Н.Ю., Ивашенков О.Н., Курсков С.Ю. Микропроцессоры:

Пособие к курсам «Микропроцессорные средства» и «Автоматизированные системы для научных исследований». URL: http://dfe.karelia.ru/koi/posob/microcpu/index.html

  1. Игнатов В. Эффективное использование GNU Make // Центр Информационных Технологий. 1997.

URL: http://www.citforum.ru/operating_systems/gnumake/index.shtml.

  1. Интерфейсная шина IIC (I2C) // Easy Elecronics – Электроника для всех. 2008. URL: http://easyelectronics.ru/interface-bus-iic-i2c.html.

  2. Использование сбалансированных схем

URL: http://www.elart.narod.ru/articles/article26/article26.htm

  1. Керниган Б., Ритчи Д. Язык программирования C. 5-е изд. М.: Вильямс, 2009. 304 с. ISBN 978-5-8459-0891-9, ISBN 5-8459-0891-4, ISBN 0-13-110362-8

  2. Ключев А.О., Кустарев П.В., Ковязина Д.Р., Петров Е.В. Программное обеспечение встроенных вычислительных систем. СПб.: СПбГУ ИТМО, 2009. 212 с.

  3. Ключев, А.О., Ковязина, Д.Р., Кустарев, П.В., Платунов, А.Е. Аппаратные и программные средства встраиваемых систем. Учебное пособие. СПб.: СПбГУ ИТМО, 2010. 287 с.: ил.

  4. Комплекс лабораторных работ для учебного лабораторного стенда SDK-1.1 // Интернет-портал «Встроенные вычислительные системы и системы на кристалле». 2009.

URL: http://embedded.ifmo.ru/sdk/sdk11/labs/2003.

  1. Компьютерные сети. Цифровое кодирование URL: http://sesia5.ru/lokseti/s222.htm

  2. Краткое описание интерфейса ИРПС 20мА «токовая петля»

URL: http://www.sector-t.ru/info/sector/proizvod/cl_reference.php

  1. Кузьминов А.Ю. Интерфейс RS232: Связь между компьютером и микроконтроллером: От DOS к WINDOWS98/XP. М.: Издательский дом «ДМКпресс», 2006. 320 с. ISBN 5-9706-0029-6

  2. Кустарев П.В. Схемотехника ЭВМ. Конспект лекций.СПб.: СПбГУ ИТМО, 2008. 39 с.

  3. Лапин А.А. Интерфейсы. Выбор и реализация. М.: Техносфера. 2005. 168 с. – ISBN 5-94836-058-X

  4. Логическая схема расширителя портов ввода-вывода стенда SDK-1.1 (Rev. 3) // Интернет-портал «Встроенные вычислительные системы и системы на кристалле». 2009.

URL: http://embedded.ifmo.ru/sdk/sdk11/sch/sdk11r3_pld_ext.pdf.

  1. Матричная клавиатура // Easy Elecronics – Электроника для всех. 2008. URL: http://easyelectronics.ru/matrichnaya-klaviatura.html.

  2. Матричная клавиатура // SKF development. 2009.

URL: http: //www.microcontrollerov.net/index.php/ru/microcontrollers/artic les/23-matrixkeyboard.

  1. Микроконтроллеры семейства MCS-51. СПб.: СПбГУ ИТМО, 2009. URL: http: //embedded.ifmo.ru/sdk/sdk11/components/mcu_aduc812_rus/m cs51.pdf.

  2. Микросхемы приемопередатчиков

URL: http://www.compitech.ru/html.cgi/arhiv/02_05/stat_68.htm

  1. Могнонов П.Б. Организация микропроцессорных систем: Учебное пособие. Улан-Удэ: Изд-во ВСГТУ. 2003. 355 с.

  2. Мячев А.А., Степанов В.Н., Щербо В.К. Интерфейсы систем обработки данных: Справочник; Под ред. А.А. Мячева. М.: Радио и связь. 1989. 416 с.: ил. – ISBN 5-256-00315-1

  3. Непейвода Н.Н., Скопин И.Н. Основания программирования. М.Ижевск: Институт компьютерных исследований, 2003. 868 с. ISBN 593972-299-7

  4. Новиков Ю.В., Кондратенко С.В. Основы локальных сетей URL: http://www.intuit.ru/department/network/baslocnet/3/

  5. Новиков Ю.В., Скоробогатов П.К. Основы микропроцессорной техники. URL: http://www.intuit.ru/department/hardware/mpbasics/

  6. Обзор стандарта RS-232

URL: http://www.gaw.ru/html.cgi/txt/interface/rs232/start.htm

  1. Передача сигнала по кабелю витой пары URL: http://www.kramer.ru/academy/courses/1268

  2. Платунов А.Е., Постников Н.П. Перспективы формализации методов проектирования встроенных систем // «Электронные компоненты», 2005, №1. с.1-6.

  3. Полосковая линия.

URL: http://www.cultinfo.ru/fulltext/1/001/008/091/089.htm

  1. Последовательный интерфейс SPI.

URL: http://www.gaw.ru/html.cgi/txt/interface/spi/index.htm

  1. Правильная разводка сетей RS-485.

URL: http://www.gaw.ru/html.cgi/txt/interface/rs485/app.htm

  1. Предко М. Руководство по микроконтроллерам. В двух томах. М.: Постмаркет. 2004. 904 с. ISBN 5-901095-07-3

  2. Применение устройств гальванической развязки цифрового сигнала в интерфейсах

URL: http://www.compitech.ru/html.cgi/arhiv/06_01/stat_ad.htm

  1. Принципиальная электрическая схема стенда SDK-1.1 (Rev. 4) // Интернет-портал «Встроенные вычислительные системы и системы на кристалле». 2009.

URL: http://embedded.ifmo.ru/sdk/sdk11/sch/sdk1_1_sch_rev4.pdf.

  1. Природа и основные параметры влияния между цепями URL: http://www.tehnauk.ru/1/14?start=3

  2. Ратхор Т.С. Цифровые измерения. АЦП / ЦАП. М.: Мир электроники, 2006.

  3. Система команд микроконтроллеров семейства MCS-51

URL: http://www.gaw.ru/html.cgi/txt/doc/micros/mcs51/asm/start.htm

  1. Согласование, экранирование и гальваническая развязка линий связи URL: http://www.intuit.ru/department/network/baslocnet/3/

  2. Спецификация ЖКИ WH1602B-YGK-CP (Winstar Display Co.) //

Интернет-портал «Встроенные вычислительные системы и системы на кристалле». 2009.

URL: http://embedded.ifmo.ru/sdk/sdk11/components/lcd/WH1602BYGK-CP.pdf.

  1. Спецификация интерфейса I²C // KAZUS.RU «Электронный портал». 2003. URL: http://kazus.ru/articles/343.html.

  2. Спецификация контроллера ЖКИ HD44780U (HITACHI) // Интернетпортал «Встроенные вычислительные системы и системы на кристалле». 2009.

URL: http://embedded.ifmo.ru/sdk/sdk11/components/lcd/hd44780.pdf.

  1. Таненбаум Э. Архитектура компьютера. 5-е изд. СПб.: Питер, 2007.

844 с.: ил. ISBN 5-469-01274-3

  1. Таненбаум Э. Современные операционные системы. 2-е изд. СПб.: Питер, 2002. 1040 с.: ил. ISBN 5-318-00299-4

  2. Татарчевский В. Применение SWITCH-технологии при разработке прикладного программного обеспечения для микроконтроллеров. Часть 8 // «Компоненты и технологии», 2007, №8. с. 170-172

  3. Угрюмов Е.П. Цифровая схемотехника. СПб.: БХВ-Петербург, 2004. 528 с.: ил. ISBN 5-8206-0100-9. 87. Уилльямс Т. ЭМС для разработчиков продукции Технологии. 2003. 540с.

  1. Учебный стенд SDK-1.1. Руководство пользователя (Версия 1.0.11) // Интернет-портал «Встроенные вычислительные системы и системы на кристалле». 2009.

URL: http://embedded.ifmo.ru/sdk/sdk11/doc/sdk11_userm_v1_0_11.pdf.

  1. Хаммел Р.Л. Последовательная передача данных: Руководство для программиста: Пер. с англ. М.: Мир, 1996. 752 с. ISBN 5-03-003140-5

  2. Хмелевский И.В., Битюцкий В.П. Организация ЭВМ и систем. Однопроцессорные ЭВМ. Ч.1, 2: Конспект лекций. 2-е изд. Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2005. 87 с.

  3. Хоровиц П., Хилл У. Искусство схемотехники. 7-е изд. М.: Мир, 2009. 704 с. ISBN 0-521-37095-7

  4. Цикл лекций «Устройства приема и обработки радиосигналов в системах подвижной радиосвязи»

URL: http://digital.sibsutis.ru/UPriOS.htm

  1. Цикл лекций по микроконтроллерам семейства MCS-51 // Цифровая техника в радиосвязи. 2009. URL: http://digital.sibsutis.ru/content.htm.

  2. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем: Учебник для вузов. СПб.: Питер, 2007. 672 с. ISBN 5-94723-759-8

  3. Цымблер М.Л. Требования к оформлению программ на языке Turbo Pascal // М.Л. Цымблер. 2010.

URL: http://www.mzym.susu.ru/papers/coderule.html. 96. Чернышев Ю.А. Компьютерные коммуникации и периферия. Часть II: Компьютерные коммуникации и интерфейсы. Электронное учебное пособие. М.: МИФИ (ТУ), 2000. 68 с.

  1. Шалыто А.А. Switch-технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука, 1998. 628 с.

  2. Шины микропроцессорной системы.

URL: http://www.intuit.ru/department/hardware/mpbasics/2/#image.2.1

  1. Электронный замок на ключах – "таблетках" iButton. URL: http://microsin.ru/content/view/508/44/

  2. Юкио Сато. Обработка сигналов. Первое знакомство. М.:

Издательский дом «Додэка-ХХI», 2009. 175 с.

  1. Яшкардин В.Л. RS-232. Рекомендованный стандарт 232. Интерфейс между терминалом данных и передающим оборудованием линии связи, применяющий последовательный обмен двоичными данными. URL: http://www.softelectro.ru/rs232.html

1 DIP (Dual In-line Package) – тип корпуса микросхем, микросборок и некоторых других электронных компонентов. Имеет прямоугольную форму с двумя рядами выводов по длинным сторонам. Может быть выполнен из пластика (PDIP) или керамики (CDIP). В корпусе DIP могут выпускаться различные полупроводниковые или пассивные компоненты: микросхемы, сборки диодов, транзисторов, резисторов, малогабаритные переключатели.

2 Такая возможность есть только в стендах SDK-1.1 ревизии R1 и R2.

3 Чтобы уменьшить количество проводников используется динамическая индикация. Принцип работы динамической индикации аналогичен принципу, используемому при опросе клавиатуры учебного стенда.

4 Знакогенератор – специальное устройство, содержащее в себе ПЗУ (или ОЗУ) с битовыми картами с изображениями различных символов. Каждому изображению символа ставится в соответствие его код.

5 Емкость EEPROM определяется установленной микросхемой в стенде SDK-1.1.

100