Курсовая

Курсовая на тему Электронный секундомер

Работа добавлена на сайт bukvasha.net: 2014-07-16

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 22.11.2024


Содержание
Введение
1.                 Выбор технических требований к устройству
1.1 Диапазон измерения времени
1.2 Разрешение индикации
1.3 Погрешность отсчетов времени
1.4 Требования к питанию устройства
1.5 Требования к функциональным возможностям
2. Разработка структурной схемы устройства
3. Разработка принципиальной электрической схемы
4.                 Разработка алгоритма работы управляющей программы
5.                 Разработка управляющей программы
Заключение
Список использованной литературы
Приложение

Введение
В настоящее время выпускается ряд серий однокристальных микро-ЭВМ, предназначенных для использования в бытовой радиоэлектронной аппаратуре. Применение однокристальных микро-ЭВМ, реализующих на одной БИС функции ввода-вывода, хранения и обработки данных, позволяет достигать максимальной простоты и дешевизны систем управления.
PIC16F628 - это 8-pазpядные микроконтроллеры с RISC архитектурой, производимые фирмой Microchip Technology. Это семейство микроконтроллеров отличается низкой ценой, низким энергопотреблением и высокой скоростью. Микроконтроллеры имеют встроенное ЭППЗУ программы и ОЗУ данных.
 Серия PIC16F628 подходит для широкого спектра приложений от схем высокоскоростного управления автомобильными и электрическими двигателями до экономичных приемопередатчиков, показывающих приборов и связных процессоров. Наличие ПЗУ позволяет подстраивать параметры в прикладных программах (коды передатчика, скорости двигателя, частоты приемника и т.д.). Малые размеры корпусов, как для обычного, так и для поверхностного монтажа, делает эту серию микроконтроллеров пригодной для портативных приложений. Низкая цена, экономичность, быстродействие, простота использования и гибкость ввода/вывода делает серию PIC16F628 привлекательной даже в тех областях, где ранее не применялись микроконтроллеры. Например, таймеры, замена жесткой логики в больших системах, сопроцессоры.
В данной курсовой работе на базе PIC-контроллера реализуется цифровой секундомер.

1. Выбор технических требований к устройству
В пункте выбор технических требований к устройству нужно рассмотреть назначение устройства, условия его работы, заданные параметры технического задания, возможности устройства. Исходя из требований рассмотренных в этом пункте, будем в дальнейшем проектировать заданное устройство.
1.1 Диапазон измерения времени
 В соответствии с техническим заданием, в данной курсовой работе, необходимо разработать цифровой секундомер с диапазоном измерения времени от 0 до 10 мин, на базе микроконтроллера PIC16F628.
1.2  Разрешение индикации
 Для отображения измеряемого времени будем использовать цифробуквенный индикатор, по условию технического задания который должен отображать минуты, секунды, десятые доли секунды. Тогда не сложно предположить, что для отображения десятых долей секунды потребуется один цифробуквенный индикатор, шкала изменения цифр в котором от 0 до 9. Для отображения секунд – два индикатора, первый, отображающий секунды, будет иметь шкалу от 0 до 9; второй, показывающий десятки секунд, будет иметь шкалу от 0 до 5. Для отображения минут можно использовать как два индикатора, так и один, что связанно с пределом измерения 10 мин. Так как большее количество индикаторов усложнит устройство, потребует больших затрат на питание, а мы проектируем переносной секундомер, выберем для отображения минут один индикатор, шкала изменения цифр которого должна быть от 0 до 9. Таким образом, минимальное значение, которое отображает индикатор – 0.1 сек. И именно через такие промежутки времени, кратные 0.1, будут меняться цифры на всех индикаторах. Всего у нашего устройства будет четыре цифробуквенных индикатора. Представим общий вид всего цифробуквенного индикатора на рис. 1.2

Рис. 1.2 Общий вид цифробуквенного индикатора
1.3                   Погрешность отсчетов времени
Микроконтроллер PIC16F628 может работать в одном из восьми режимов тактового генератора. Исходя из того, что проектируемый секундомер переносной, необходимо рационально расходовать энергию питания, выберем режим с низкочастотным кварцевым резонатором (режим LP), так как с уменьшением частоты уменьшается потребность тактового генератора в энергии питания. При выборе конкретной частоты кварцевого резонатора необходимо учесть, что время машинного цикла должна быть значительно выше разрешающей способности индикации т.е. ниже 0,1с.
1.4 Требования к питанию устройства
В качестве питания для проектируемого секундомера будем использовать источник постоянного напряжения, а именно - гальваническое питание. В соответствии с частотой работы кварцевого резонатора и по характеристикам микроконтроллера будет осуществляться выбор, наиболее приемлемого, значения питания.
1.5.         Требования к функциональным возможностям
Проектируемый секундомер должен быть функциональным, и в тоже время простым в использовании. Минимально необходимый набор кнопок должен включать кнопки «пуск», «стоп», «сброс», функциональные возможности кнопок могут быть использованы в одной универсальной кнопки, с поочередным выполнением операций, либо за каждую операцию будет отвечать одна кнопка.

2. Разработка структурной схемы устройства.
При разработке структурной схемы цифрового секундомера будем исходить из назначения устройства, условий его работы, заданных параметров и технических требований к устройству
Структурная схема современного секундомера определяется основными требованиями: точность измерения, стабильностью питания, экономией энергии питания, удобства пользования. Составим структурную (укрупненную) схему цифрового секундомера.

Рис 2.1 Структурная схема цифрового секундомера
Основной задачей решаемой при составлении структурной схемы является определение, и рациональное совмещение блоков устройства, которые подключаются к микроконтроллеру.
Проектируемый секундомер содержит следующие узлы:
1 Кварцевый резонатор с частотой fкв , работает как тактирующее устройство микроконтроллера. Резонатор обеспечивает наиболее удобную, подходящую частоту тактового генератора.
2 Кнопка, которая с поочередным, однократным нажатием будет выполнять три функции “Пуск/Стоп/Сброс”.
          3 МК - микроконтроллер PIC16F628 по требованиям ТЗ.
          4 БП - блок питания, обеспечивающий: питание микроконтроллера, питание световых индикаторов, питание акустической индикации, а также связан с кнопкой управления.
          5 Индикатор - семисегментный индикаторы (ССИ) широко используются для отображения цифровой и символьной информации. Семь отображающих элементов позволяют высвечивать десятичные и шестнадцатеричные цифры, а также некоторые специальные знаки. Структура ССИ показана на рис. 2.2 . Для засветки одного сегмента большинства типов ССИ необходимо обеспечить протекание через сегмент тока 10-25 мА. В нашем случае потребуется четыре ССИ.

Рис. 2.2 Семисегментный индикатор: а- топология сегментов; б, в- принципиальные схемы
          6 Акустическая индикация представляет собой следующее, подается импульс запуска на кнопку, который сразу поступает на звуковую индикацию, оповещая этим начало счета.
 Для того чтобы реализовать данный секундомер на микроконтроллере PIC16F628, необходимо организовать цикл с задержкой в 0,1 с., затем подсчитывать эти импульсы и подавать на индикатор.
Если рассматривать принцип работы цифрового секундомера по структурной схеме, то с блока управления, подается импульс запуска, после которого происходит звуковая индикация, затем импульс запуска попадает на устройство задержки в микроконтроллере, в котором организована задержка на 0,1с. В качестве задержки используются два цикла: внутренний и внешний. Также в устройстве задержки организована проверка на переполнение счетчика и проверка нажатия кнопки “Стоп”. Количество подсчитанных секунд поступает на индикаторное устройство, в качестве которого используются семисегментные индикаторы.

3. Разработка принципиальной электрической схемы
 Реализуем наш секундомер на базе микроконтроллера PIC16F628 согласно ТЗ рисунок 3.1
 Рассмотрим те функциональное назначение выводов PIC16F628, которые будут использованы для проектирования.

Рис.3.1 Микроконтроллер PIC16F628
          Назначение выводов микроконтроллера PIC16f628 приведено в таблице 3.1.

Таблица 3.1
Обозначение вывода
№ вывода
DIP
Тип
1/О/Р
Тип
буфера в режиме ввода
Описание
1
2
3
4
5
RA0
17
I/O
ST
Двунаправленный порт ввода/вывода, аналоговый вход компаратора
RA1
18
I/O
ST
Двунаправленный порт ввода/вывода, аналоговый вход компаратора
RA2
 
1
I/O
ST
Двунаправленный порт ввода/вывода, аналоговый вход компаратора
RA3
2
I/O
ST
Двунаправленный порт ввода/вывода, аналоговый вход компаратора
RA4
3
I/O
ST
Двунаправленный порт ввода/вывода (выход с открытым стоком), вход внешнего тактового сигнала для TMR0, выход компаратора
MCLR
4
I
ST
Вход сброса микроконтроллера, вход напряжения программирования. Когда вывод настроен как –MCLR, то по низкому уровню сигнала производится сброс микроконтроллера. При нормальной работе напряжение на выводе не должно превышать VDD
OSC2
15
I/O
ST
Двунаправленный порт ввода/вывода, выход генератора для подключения резонатора.
OSC1
16
I/O
ST
Двунаправленный порт ввода/вывода, вход генератора для подключения резонатора, вход внешнего тактового сигнала, вывод ER-смещения
RB0
6
I/O
TTL/ST
Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора, вход внешнего прерывания
RB1
7
I/O
TTL/ST
Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора, вход приемника USART, линия данных в синхронном режиме USART
RB2
8
I/O
TTL/ST
Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора, выход передатчика USART, линия тактового сигнала в синхронном режиме USART
RB3
9
I/O
TTL/ST
Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора, вывод модуля ССР
RB4
10
I/O
TTL/ST
Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора. Изменение сигнала на входе может вывести микроконтроллер из режима SLEEP
RB5
11
I/O
TTL
Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора. Изменение сигнала на входе может вывести микроконтроллер из режима SLEEP
RB6
12
I/O
TTL/ST
Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора. Изменение сигнала на входе может вывести микроконтроллер из режима SLEEP. Выход генератора таймера 1
RB7
13
I/O
TTL/ST
Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора. Изменение сигнала на входе может вывести микроконтроллер из режима SLEEP. Вход генератора таймера 1
VSS
5
P
-
Общий вывод для внутренней логики и портов ввода/вывода
VDD
14
P
-
Положительное напряжение питания для внутренней логики и портов ввода/вывода
В настоящее время выпускается ряд серий однокристальных микро-ЭВМ, предназначенных для использования в бытовой радиоэлектронной аппаратуре. Применение однокристальных микро-ЭВМ, реализующих на одной БИС функции ввода-вывода, хранения и обработки данных, позволяет достигать максимальной простоты и дешевизны систем управления.
С целью экономии энергии источника питания, для отображения измеряемого времени применим четырехразрядный цифробуквенный индикатора из семи сегментов в каждом разряде типа 7SEG-MPX4-СС, подключаемого по схеме с общим катодом. Сегменты индикаторов присоединяем непосредственно к выводам 6-12 микроконтроллера, через ограничительные резисторы R4-R10, каждый номиналом 220 Ом.
Структура индикатора представлена на рис.3.2, и назначение выводов описано таблицей 3.2.

Рис 3.2 Назначение выводов индикатора 7SEG-MPX4-СС.
 
 Таблица 3.2
Цифра, знак
Выводы
анод
катод
0
1
2
3
4
5
6
7
8
9
точка
1,6,7,8,13,14
8,13
2,6,7,13,14
2,6,7,8,13,14
1,2,8,13
1,2,7,8,14
1,2,6,7,8,14
8,13,14
1,2,6,7,8,9,13,14
1,2,7,8,9,13,14
9
4, 12
 На контроллер непосредственно подводится питание (+5В) на выводы: VDD – положительное напряжение, VSS – общий вывод. Для использования схемы внутреннего аппаратного сброса на вход сброса/напряжения прогроммирования (MCLR) через резистор сопротивлением 10 кОм подводится высокий уровень (VDD).
Входную тактовую частоту зададим при помощи внутреннего генератора в режиме ХТ малого энергопотребления, настроенного на частоту 4 МГц. Для этого используем резонатор с параллельным резонансом. Резистор RS использовать не будем, считаем что резонатор не будет самовозбуждаться. Конденсаторы С1 и С2 возьмем по 20 пФ (пределы 15..33пФ), т.к. более высокая емкость, увеличивая стабильность частоты генератора, увеличивает и время запуска, что не желательно. Схем подключения резонатора приведена на рис.3.3.

Рис.3.3 Схем подключения резонатора в режиме ХТ
Кнопку S1 «старт/стоп/сброс» подключаем непосредственно ко входу PIC контроллера. При помощи кнопки S2 подаем питание на микроконтроллер. Кнопка S1 подключена через резистор R1 = 10кОм, к порту RB7 (резистор задает уровень логической единицы на входе микроконтроллера).
Чтобы обеспечить хорошее питание схемы, применим сглаживающие фильтры С3=100мкФ, С4=1пФ, которые сглаживают пульсацию напряжения на входе микроконтроллера.
Звуковая индикация происходит при помощи динамика, подключаемого к порту RA4. Резистор R1=5кОм стабилизирует ток через динамик.
При подаче напряжения на микроконтроллер, начинает выполняться программа, записанная в микроконтроллере. Вначале производится инициализация всех портов микроконтроллера (порт RB7 настраивается на ввод, а остальные порты настраиваются на вывод), обнуление рабочих регистров, занесение необходимых констант в соответствующие регистры, а затем программа ожидает нажатия кнопки. Т.к. подсчет секунд не производился, то на индикаторы выводятся нули.
При нажатии кнопки, происходит звуковая индикация, программа формирует нужные задержки, инкрементируя при этом значения регистров в соответствии с необходимой отображаемой информацией. Через ограничительные резисторы R4-R10 подаются сигналы для управления сегментами индикатора.
При очередном нажатии клавиши происходит остановка выполнения программы, секундомер ожидает обнуления, а на индикатор выводится последняя подсчитанная последовательность цифр.
Электрическая принципиальная схема, спецификация элементов секундомера, приведены в приложении.

4.Разработка алгоритма работы управляющей программы
 Для обеспечения работы проектируемого устройства с заданными техническими требованиями необходимо запрограммировать наш микроконтроллер на определенную обработку данных и выдачу определенных сигналов. Управляющая программа должна обеспечить работу секундомера. Обеспечив цикл с задержкой в 0.1 с., а затем, подсчитав количество импульсов, пришедших в конце каждого цикла, мы и производим подсчет секунд. Счёт начинается при нажатии кнопки. Для составления программы необходимо сначала составить алгоритм работы устройства, т.е. конечный набор правил для выполнения некоторых процедур.

Схема алгоритма – одна из важнейших частей задачи, она состоит из отдельных операторов. Различают четыре вида операторов, каждый из которых имеет вход и выход рис.4.1 Стрелками обозначаются направление хода вычислений.

1
1
 

 (1) (2) (3) (4) (5)
(1)                        – оператор описание процесса обработки;
(2)                        – оператор проверки условий;
(3)                        – оператор начала (конца);
(4)                        – оператор разрыва схемы;
(5)                        – оператор ввода/вывода данных.

Рис.4.1 Виды операторов

 Применим в нашем случае разветвленный алгоритм (см. приложение A).
 Работа нашей программы начинается с инициализации используемых регистров. Затем производится настройка портов, очистка ячеек памяти, задаются временные циклы, используемые для формирования требуемых величин задержек при работе. Происходит звуковая индикация, время задержки, в течении которой подается сигнал на динамик, равно 829мкс., т.е. с частотой около 1,2кГц, слышимой человеком. Подключаются подпрограммы INDIKATOR и KOD, необходимые для вывода подсчитанных секунд на семисегментные индикаторы.

5.Разработка управляющей программы
Программа, обеспечивающая работу нашего секундомера, написана на языке Assembler и построена в виде основной программы и подпрограмм.
Основная программа выполняет начальные установки режимов работы и регистров. Порты RA0-RA3 и RB0-RB6 настроены на вывод информации, порты RB0-RB6 отвечают за соответствующие сегменты индикатора. Порт RB7 считывает значение с кнопки. Порт RA4 производит вывод логической единицы, для звуковой индикации, которая осуществляется с помощью подпрограммы ZVUK, по первому нажатию кнопки. Подпрограммы INDIKATOR и KOD, необходимы для выработки сигналов, которые управляют семисегментными индикаторами. Подпрограмма DELAY формирует основную задержку на 0,1 с., задержка формируется одним внутренним и одним внешним циклами. Подпрограмма INCTIM меняем, в соответствии с отображаемыми цифрами, значения регистров temp0- temp3, для индикации.
Работа программы осуществляется по циклу. Вначале производится инициализация портов, очистка рабочих регистров. Запуск программы осуществляется нажатием кнопки “Пуск/Стоп/Сброс”. Внутри цикла осуществляется проверка на переполнение секундомера (если оно произошло, то происходит обнуление всех регистров и программа ожидает нажатия кнопки “Пуск/Стоп/Сброс”). При нажатии кнопки “Пуск/Стоп/Сброс” происходит остановка подсчета секунд, и программа ожидает обнуления. Текст программы приведен ниже.
      LIST P=16F628
      #include <P16F628.INC>
temp0               EQU  H'20'
temp1               EQU  H'21'
temp2               EQU  H'22'
temp3               EQU  H'23'
temp4               EQU  H'24'
temp5               EQU  H'25'
temp6               EQU  H'26'
temp7               EQU  H'27'
temp8               EQU  H'28'
i      EQU H'29'
t                        EQU  H'30'
k                       EQU  H'31'
N0           EQU  H'32'
N1           EQU  H'33'
     
org 0
goto        Start
Start
clrf          PORTA     
bsf           STATUS,RP0
movlw              B'10000000'
movwf              TRISB ;Настроить RB7 на ввод, RB0-RB6 на вывод
clrf TRISA
bcf           STATUS,RP0     
clrf PORTB
     
k1 
clrf          temp0                  
clrf          temp1                  
clrf          temp2
clrf          temp3
clrf          temp4
clrf          temp5
clrf          temp6
clrf          temp7
clrf          temp8
clrf          i
clrf          t
     
call          INDIKATOR
btfss                 PORTB,7
goto                  k1
MOVLW 1       
MOVWF i        
     
MOVLW 1       
MOVWF temp0        
call          ZVUK
goto                  c1
k2 
call          DELAY
c1
      call              INDIKATOR
      btfsc            PORTB,7
      goto            k3
c2
 btfss                 i,0
      goto             c1
k7 
      call              INCTIM
      goto            k2
k3
      btfsc            PORTB,7
      goto            k3
 movf                i,0
 movwf             t
      incf             i
 btfss                t,0
 goto                 k1
      goto            c2
                        
INCTIM
      movlw                  0xe6 ;230 раз
      movwf                  temp4
k8  decfsz                   temp4,1
      goto            k8
;увеличение до 0,9 сек
      incf             temp0
      movf           temp0,0      ;инкрементировать на 0,1 сек
      sublw                   9                 ;проверка: если >9, то перейти
      btfsc            STATUS,0 ;был заем - да, то clrf    temp0 и на следующее увеличение
      goto            I0                ;иначе на IO
      clrf              temp0                   ;очистка значения последнего разряда
;увеличение до 9 сек
     
      incf             temp1                  
      movf temp1,0
      sublw                   9                
      btfsc            STATUS,0
      goto            I1               
      clrf              temp1                  
;увеличение до 59 сек
     
      incf             temp2                  
      movf temp2,0
      sublw                   5                
      btfsc            STATUS,0
      goto            I2               
      clrf              temp2                  
;увеличение 10 мин
     
      incf             temp3
      movf temp3,0
      sublw                   9                          
      btfsc            STATUS,0
      goto            I3
      clrf              temp3                  
      return         
I0
      nop
      nop
      nop
      nop
      nop                      
I1
      nop
      nop
      nop
      nop
      nop                      
I2   nop
      nop
      nop
      nop
      nop                      
I3   nop
      nop
      nop
      nop
      nop                      
      return                                     
INDIKATOR
      movf           temp0,0     
      call              KOD
      movwf                  PORTB
      bsf              PORTA,0   ;общий катод
      nop
      nop
      nop
      nop
      bcf              PORTA,0
      movf           temp1,0
      call              KOD
      movwf                  PORTB
      bsf              PORTA,1
      nop
      nop
      nop
      nop
      bcf              PORTA,1
      movf           temp2,0
      call              KOD
      movwf                  PORTB
      bsf              PORTA,2
      nop
      nop
      nop
      nop
      bcf              PORTA,2
      movf           temp3,0
      call              KOD
      movwf                  PORTB
      bsf              PORTA,3
      nop
      nop
      nop
      nop
      bcf              PORTA,3
     
      return
KOD      
      addwf                   PCL
      retlw           B'00111111'         ;код 0
      retlw           B'00000110'         ;код 1
      retlw           B'01011011'         ;код 2
      retlw           B'01001111'         ;код 3
      retlw           B'01100110'         ;код 4
      retlw           B'01101101'         ;код 5
      retlw           B'01111101'         ;код 6
      retlw           B'00000111'         ;код 7
      retlw           B'01111111'         ;код 8
      retlw           B'01101111'         ;код 9
     
ZVUK    
      movlw                  100
      movwf                  temp4
k6
      btfsc            PORTB,7
      goto            k6
      bsf              PORTA,4
k5 
      decfsz                   temp4,1
      goto            k5
     
      bcf              PORTA,4
 call                   DELAY
 call                   INDIKATOR
 return
DELAY
      movlw                  0x81 ;128
      MOVWF    k                 ;k=ff=255
Cycl_1                      
      movlw                  0xff  
      movwf                  N0    
Cycl_0                      
      decfsz                   N0,1 
      goto            Cycl_0
      decfsz                   k,1    
      goto            Cycl_1
      return         
     
      end

Заключение.
Результатом курсового проекта является разработанная принципиальная электрическая схема цифровой секундомер на базе микроконтроллера PIC16F628 в соответствии с техническими требованиями. Разработан алгоритм и написана программа на языке assembler, на основании которой работает микроконтроллер.
Данное устройство очень просто в реализации. Оно содержит минимум элементом, что обеспечивает его дешевизну, и минимизацию затрат на питание. Благодаря простому управлению и индикации пользователь может легко им пользоваться.
В ходе проектирования приобретен опыт работы и умение проектировать цифровые и микропроцессорные устройства.
В ходе проектирования передатчика использовались программы: Microsoft Word, Microsoft Visio, Mplab IDE v7.20.

Список использованной литературы
1.PIC16F62X. Однокристальные 8-разрядные FLASH CMOS с микроконтроллеры компании Microchip technology incorporated: Пер. с англ. –М.: ООО «Микрочип», 2001. – 148 c. www.microchip.ru
2. Бурак А.И., Левкович В.Н. Интегрированная среда MPLab IDE разработки программ для микроконтроллеров PICmicro фирмы Microchip: Метод. пособие к лабораторным работам по курсу «Цифровые и микропроцессорные устройства». – Мн: БГУИР, 2003. – 31 с.
3.Левкович В.Н. Цифровые и микропроцессорные устройства: Лабораторный практикум для студ. спец. I-39 01 02 «Радиоэлектронные системы», I-39 01 03 «Радиоинформатика», I-39 01 04 «Радиоэлектронная защита информации». В 2 ч. Ч. 1. –Мн: БГУИР, 2005. - 38 с.: ил
4.Левкович В.Н., Кащеев А.А. Цифровые и микропроцессорные устройства: Лабораторный практикум для студ. спец. I-39 01 02 «Радиоэлектронные системы», I-39 01 03 «Радиоинформатика», I-39 01 04 «Радиоэлектронная защита информации».
В 2 ч. Ч. 2. –Мн: БГУИР, 2006. - 36 с.: ил.

 
 


1. Реферат на тему Review Nine Lives By Bernice Rubens Essay
2. Реферат Петербург в контексте русской культуры трансформация Европы в теле России
3. Биография на тему Вероника Тушнова
4. Реферат Гигиенические функции кожи. Значение душа и бани
5. Реферат Особенности подросткового возраста 2
6. Сочинение на тему Литературный герой ЭЛИЗА ДУЛИТТЛ
7. Реферат на тему Кибернетика и ее виды
8. Реферат на тему Источники римского права 3
9. Курсовая Оптимизация состояния запасов и затрат
10. Контрольная работа Селекционно-племенная работа в свиноводстве