.RU

Задание на курсовой проект по курсу Микропроцессорные системы Студент




Министерство Образования и Науки Российской Федерации

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

«Московский государственный технический университет имени Н. Э. Баумана»
(МГТУ им. Н. Э. Баумана)


Факультет «Аэрокосмический»

Кафедра «Компьютерные системы и сети»


УТВЕРЖДАЮ

Зав. каф. ИУ6,

д. т. н., проф. __________ Сюзев В. В.

«___» ________ 2010 г.


РАСЧЕТНО-ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

на курсовой проект

ЧАСЫ С 3-D ДИСПЛЕЕМ.

Микропроцессорные системы


Листов 26


2010


Министерство образования РФ
^ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
имени Н. Э. Баумана


Факультет Аэрокосмический _

Кафедра Компьютерные системы и сети _


^ ЗАДАНИЕ на курсовой проект

по курсу __Микропроцессорные системы _

Студент Володченко Антон Валерьевич .

Руководитель Жигулевцев Ю.Н., Степнев В.А. .

Срок выполнения проекта по графику: 20% к 5-й нед., 40% к 8-й нед., 60% к 10-й нед., 80% к 12-й нед., 100% к 15-й нед.

Защита проекта ______________________ 2010 г.

  1. Тема проекта Часы с 3-D дисплеем ______________________________ __________________________________________________________________________________________________________________________________________________________________________________________________________________________ _

  2. Техническое задание: разработать часы с 3-D дисплеем . Двигатель – бесколлекторый .

Напряжения питания – 12В .

  1. Объем и содержание проекта (графических работ ______3______________листов формата А4-А1, расчетно-пояснительная записка на ____30-40_________ листах формата А4).

Графическая часть________________________________________ .

___1. Схема электрическая функциональная.

___2 Схема электрическая принципиальная.

___^ 3. Чертеж печатной платы.


Расчетная часть.____________________________________________ _______

____ В записке провести синтез функциональных и принципиальных схем узла,__________

выполнить временной расчет, обосновать выбор элементной базы, определить _______

потребляемую мощность.___________________________________________________________________

_____________________________________________________________________________________________

_____________________________________________________________________________________________

_____________________________________________________________________________________________

_____________________________________________________________________________________________

_____________________________________________________________________________________________

_____________________________________________________________________________________________


^ Руководитель проекта

Дата выдачи проекта «___» ____________________ 2010 г.


Дополнительные указания по проектированию

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________


Реферат

РПЗ стр.26

ЧАСЫ С 3-D ДИСПЛЕЕМ. СПОСОБ ОТОБРАЖЕНИЯ.


В результате курсового проектирования был разработан проект Часов с трехмерным дисплеем (устройство).

В результате управляемой частоты мерцания столбца светодиодов при определенной скорости вращения, позволяющей за счет невозможности человеческого глаза различать мерцание на частоте свыше 25 Гц, получать четкое изображение.

Микроконтроллер с определенной задержкой подает питание на определенные светодиоды, благодаря чему выводятся часы и минуты.

Разрешение дисплея 5*20 точек.

Устройство выполнено в виде двух плат, одна из которых отвечает за вывод времени, а вторая за управление скоростью вращения.

Материалы по курсовому проекту представлены в виде графической части и расчетно-пояснительной записки.


Содержание.

1. Введение……………………………………………………………………..

7

2. Структурная схема……………………………..……………………………

7

2.1. Управление питанием………………………………………………

8

2.2. Трансформатор………………….……………...…………………...

8

2.3. Управление выводом….…………………………………………….

8

2.4. Индикация………….…………………………………………...…....

8

3. Функциональная схема……………………..…………………………….....

8

4. Выбор элементной базы………………………………………………….....

9

4.1. Выбор микроконтроллера…………………………………………….

9

4.2. Выбор трансформатора...……………………………………………

9

4.3. Выбор стабилизатора……..………………………………………....

9

4.4. Выбор микропроцессора……………………………………………....

9

4.5. Выбор транзистора……..……………………………………….......

9

5. Описание работы принципиальной схемы…….…………………………..

10
6. Расчеты…………………………………………….…………………………
10

7. Конструкция печатной платы………………………………………………

11

7.1. Выбор типа конструкции и класса точности печатной платы…….

11

7.2. Расчет элементов проводяещего рисунка печатной платы………..

12

7.2.1. Расчет диаметра монтажных отверстий……………………..

13

7.2.2. Выбор расстояния Q1 от края печатной платы до элементов печатного рисунка…………………………………….


13

7.2.3. Расчет расстояния Q2 от края неметаллизированного отверстия до элементов печатного рисунка…………………..........


14

7.2.4. Расчет ширины печатных проводников……………………..

14

7.2.5. Расчет диаметра контактных площадок……………………..

15

7.2.6. Расчет расстояния между элементами проводящего рисунка……………………………………………………………….


16

7.3. Трассировка печатного монтажа………………………………........

17

7.4. Маркировка печатной платы………………………………………...

17

8. Заключение………………………………………………………………......

18

9. Список использованных источников информации……………………...

19

Приложение 1. Тексты программы, реализующей алгоритмы функционирования системы.

Приложение 2. Тексты программы, реализующей алгоритмы функционирования системы.













  1. Введение.

В настоящее время существует множество вариантов реализации такого привычного в обиходе предмета, как часы. Проектируемое устройство отличается от обычных часов наличием нестандартного дисплея, создающего иллюзию трехмерного изображения при вращении.

Без вращения светодиоды на плате просто очень быстро мигают. Но при соответствующей скорости вращения, мерцания сдвигаются относительно друг друга по горизонтали, образуя целостную картинку.

Отображаемое на данном дисплее время строится из цифр 5*3 точек. Это минимальный размер, необходимый для отображения всех десяти цифр.

Для стабильности вращения используется обратная связь по датчику оборотов. Так же возможна ручная стабилизация при помощи кнопок для увеличения или уменьшения скорости вращения.


2. Структурная схема.

Структурная схема разрабатываемого устройства представлена на рис. 2.1.



Рис. 2.1. Структурная схема разрабатываемого устройства.

2.1. Управление питанием.

Микроконтроллер служит для управления скоростью вращения двигателя за счет ШИМ и формирования импульсов для подачи на трансформатор.


2.2. Трансформатор.

Трансформатор служит для организации бесконтактной передачи питания на вращающуюся часть устройства.


2.3. Управление выводом.

Микроконтроллер организует вывод символов на шкалу индикации, отсчитывает время и задержки выводов.


2.4. Индикация.

Представляет собой шкалу из 5 светодиодов, подключенных к выводам микроконтроллера.


2.5. Двигатель.

Использован бесколлекторный двигатель. Необходим для горизонтальной развертки символов, выводимых на устройство индикации.


^ 3. Функциональная схема.

Функциональная схема блока ввода и обработки изображения имеет следующий состав:

  1. Блок управления питанием (D1).

  2. Трансформатор (D2).

  3. Блок управления выводом (D3).

  4. Двигатель (D4).

  5. Устройство индикации (D5).

  6. Кнопки (B1-B5).

Управление питанием двигателя и трансформатора осуществляет схема, состоящая из микроконтроллера и транзистора. С вывода микроконтроллера поступает управляющий сигнал, который открывает транзистор для передачи питания на первичную обмотку трансформатора и для питания двигателя.

Со вторичной обмотки трансформатора питание поступает на блок управления индикацией, состоящий из микроконтроллера, подающего питание на светодиоды.

Кнопки позволяют изменять скорость вращения двигателя и задавать начальное время для часов.


^ 4. Выбор элементной базы.

4.1. Выбор микроконтроллера.

Для управляющих блоков выбран микроконтроллер ATMega48V из-за небольшого размера корпуса, наличия асинхронного таймера и пониженного энергопотребления.


4.2. Выбор двигателя.

Выбран бесколлекторный двигатель от компьютерного вентилятора. Скорость вращения до 2800 оборотов в минуту с возможностью управления с использованием ШИМ.


4.3. Выбор трансформатора.

В качестве трансформатора используются 2 обмотки из проволоки 0.4мм для первичной обмотки и 0.1 для вторичной. Количество витков на первой обмотке – 50. На второй – 70. Коэффициент передачи по напряжению ~1.


4.4. Выбор стабилизатора.

Так как для питания двигателя необходимо напряжение 12В, а для работы схем 5В, было принято решение использовать стабилизатор напряжения.

Выбран стабилизатор КР142ЕН5А. Технические характеристики:

- Максимальные значения параметров и режимов

- Рассеиваемая мощность - Внутренне ограничена.
- Диапазон температур хранения -55 ... +150С.

- Рабочий диапазон температур кристалла -45 ... +125С.

^ Условное обозначение

Uвых ном., В.

Uвых мин., В

Uвых макс, В

Iвых макс,

А


Uвх

макс,

В


Кнест

напр.
макс,

%/В


Кнест

тока

макс,

%/А


КР142ЕН5А


5.0


4.9


5.1


1.5

15


0.05


1.33

4.5. Выбор транзистора.

Был выбран мощный биполярный npn-транзистор фирмы FAIR KSE13009.


5. Описание работы принципиальной схемы.

Основными элементами являются микроконтроллеры ATMega48 (U1 и U2). На них выполняется управление двигателем, питанием трансформатора, выводом символов на светодиоды, отсчет времени, установка времени.

Для питания используется стабилизатор напряжения, выдающий на выходе 5В. Питание схемы на роторе двигателя осуществляется через трансформатор. Для стабилизации напряжения, получаемого с вторичной обмотки трансформатора, используется диодный мост.

В качестве генератора частоты для асинхронного таймера используется кварцевый резонатор.

Для подключения двигателя используется 4-хконтактный разъем, где Vcc – питание вентилятора, GND – земля, FG – сигнал с установленного на двигателе тахометра, PWM - сигнал для управления скоростью вращения.

С выхода FG на микроконтроллер U2 поступает сигнал, генерируемый при совершении двигателем половины оборота. Следовательно, для достижения скорости в 25 об/сек. необходимо считать 50 импульсов за секунду.

Параллельно обмотке трансформатора включен предохраняющий диод D12.

D7-D11 – светодиоды, используемые для индикации.

Транзистор Q1 работает в ключевом режиме и используется для управления скоростью вращения двигателя. Открвается по сигналу ШИМ от микроконтроллера U2.

На вход микроконтроллера RESET подключен подтягивающий до единицы резистор для установления стабильного сигнала.


6. Расчеты.

Мощность, потребляемая интегральными микросхемами:

РИС = РИСстат + РИСдин , (2)

где РИСстат – статическая мощность;

РИСдин – динамическая мощность.

Для проектируемого устройства составляющие суммарной потребляемой мощности будут считаться по следующим образом.

Статическая потребляемая мощность рассчитывается как произведение тока, который потребляет микросхема на вольтаж питания (5В):

Для ядра микроконтроллера -

Динамическая мощность рассчитывается по формуле:



- входная емкость ИМС ( =10 пФ);

- напряжение питания;

- емкость нагрузки ( = 15 пФ);

и - входная и выходная частоты соответственно,

N - количество элементов, работающих на этой частоте.

Таким образом для микроконтроллера:

Остальные элементы потребляют:

Резисторы: , всего резисторов 5, следовательно,





7. Конструкция печатной платы.

7.1. Выбор типа конструкции и класса точности печатной платы.

Т.к. элементная база представлена корпусными ИМС: с выводами, устанавливаемыми в отверстия, то конструктивно-технологическим направлением монтажа ячеек для данной электронной аппаратуры (ЭА) выбран поверхностный монтаж (тип сборки 1С).

Шаг координатной сетки выбираем равным минимальному шагу выводов копусов используемых ИМС. Минимальный шаг выводов имеет корпус 1.25мм.

Мощность, рассеиваемая ИМС незначительна, поэтому нет необходимости вводить в конструкцию печатной платы теплоотводящие элементы.

В качестве типа конструкции печатной платы выбираем двустороннюю ПП. Это обусловлено тем, что использование односторонней печатной платы значительно усложнит размещение проводников, а также будут ухудшены параметры помехоустойчивости. Двусторонняя печатная плата с металлизированными переходными отверстиями позволяет верхний слой полностью отвести под сигнальные линии и полигоны «питания», а нижний слой – под полигон «земли». Такая конструкция позволяет значительно снизить уровень помех внутри модуля.

Исходя из условий эксплуатирования устройства, согласно ГОСТ 23752-79 выбираем второй класс жесткости платы.

Поскольку на печатной плате устанавливается достаточно много элементов и минимальное расстояние между выводами у микросхем составляет 0.2 мм, выбираем 4-й класс точности. Ниже приведены номинальные значения основных параметров:

Учитывая тип конструкции печатной платы и выбранный класс точности, выбиран комбинированный позитивный метод изготовления печатной платы. Материал печатной платы – СТНФ-2-35. Структура печатного проводника предствалена на рис. 8.1.1.



Рис. 8.1.1. Структура печатного проводника

1 – медная фольга (h=35мкм), 2 – гальваническая медь (h=25мкм),

3 – химическая медь (h = 5мкм), 4 – металлорезист (олово – свинец, h = 9мкм)

7.2. Расчет элементов проводящего рисунка печатной платы.

7.2.1. Расчет диаметра монтажных отверстий.

Минимальный диаметр металлизированного монтажного отверстия определяем по формуле:

(7.2.1.1)

- толщина печатной платы.

- отношение наименьшего диаметра металлизированного отверстия к толщине печатной платы.

Подставляя соответствующие значения в выражение (8.2.1.1) получим:

(мм) (7.2.1.2)

Приведя полученное значение к предпочтительному ряду отверстий, определяем:

(мм). (7.2.1.3)

Номинальный диаметр монтажных отверстий определяем по формуле:

(7.2.1.4)

- нижнее предельное отклонение диаметра отверстий;

- максимальное значение диаметра вывода ИМС, установленной на печатной плате (для выводов прямоугольного сечения принимается диагональ);

- разность между минимальным значением диаметра отверстия и максимальным диаметром вывода, устанавливаемой ИМС.

В нашем случае в отверстия устанавливаются разъемы, для которых

Определив по таблице (мм), (мм), получим:

(мм). (7.2.1.5)

Округляя полученное значение в большую сторону и приводя к предпочтительному ряду отверстий:

(мм) (7.2.1.6)

7.2.2. Выбор расстояния Q1 от края печатной платы до элементов печатного рисунка.

Расстояние Q1 выбирается не меньше толщины ПП с учетом допусков на размеры сторон, кроме экранов, шин земли, концевых печатных контактов, знаков маркировки. Поэтому расстояние Q1 выбираем равным 2,5 мм.

7.2.3. Расчет расстояния Q2 от края неметаллизированного отверстия до элементов печатного рисунка.

Расстояние Q2 определяют формуле:

(7.2.3.1)

где - ширина ореола, скола;

- наименьшее расстояние от ореола, скола, до соседнего элемента проводящего рисунка, которое должно быть не менее 0.15 для 4-го класса точности;

- позиционный допуск расположения центров контактных площадок;

- позиционный допуск расположения осей отверстий;

- верхнее предельное отклонение размеров элементов конструкции.

Устанавливаем следующие значения параметров:

Подставляя в (8.2.3.1) соответствующие значения, получим:

(мм). (7.2.3.2)

7.2.4. Расчет ширины печатных проводников.

Наименьшее номинальное значение ширины t печатного проводника рассчитывают следующим образом:

(7.2.4.1)

где - минимально допустимая ширина проводника;

- нижнее предельное отклонение размеров ширины печатного проводника ((мм)).

При расчете минимально допустимой ширины проводников сигнальных линий в первую очередь учитывается допустимое падение напряжения на них. Т.к. конструкция проводника состоит из четырех слоев (см. рис. 8.1.1), в этом случае определяется следующим выражением:

(7.2.4.2)

где - максимальный ток, протекающий по проводнику ;

- максимально допустимая длина проводника;

- удельное объемное сопротивление материала i-го слоя проводника;

- толщина i-го слоя проводника;

- допустимое падение напряжение на сигнальной линии;

Исходя из технологии изготовления печатной платы:

  1. (мкм), (Ом*мкм) – медная фольга;

  2. (мкм), (Ом*мкм) – гальваническая медь;

  3. (мкм), (Ом*мкм) – химическая медь;

  4. (мкм), (Ом*мкм) – сплав олово-свинец.

Для сигнальных линий цифровой части схемы предельные значения параметров равны:



Тогда

(7.2.4.3)

(7.2.4.4)

Для шин питания цифровой части схемы:



Тогда

(7.2.4.5)

(7.2.4.6)

Для шин аналоговой части схемы:



Тогда

(7.2.4.7)

(7.2.4.8)

На основе проведенных расчетов выбираем минимальную ширину проводников сигнальных линий равной 0.25 мм, минимальную ширину шин управления шаговым двигателем – 1 мм.


7.2.5. Расчет диаметра контактных площадок.

Наименьшее номинальное значение диаметра контактных площадок D под выбранное отверстие рассчитывается по формуле:

(7.2.5.1)

где dВО - верхнее предельное отклонение диаметра отверстия;

b - гарантийный поясок;

- величина подтравливания диэлектрика в отверстии;

- верхнее предельное отклонение ширины проводника;

- нижнее предельное отклонение ширины проводника;

- позиционный допуск расположения центров контактных площадок;

- позиционный допуск расположения осей отверстий;

- диаметр металлизированного отверстия в контактной площадке.

В плате имеются 2 вида металлизированных отверстий:

(мм) – переходные металлизированные отверстия;

(мм) – металлизированные отверстия контактных площадок посадочных мест микросхем.

Тогда для (мм) имеем следующие значения параметров:

(мм); (мм); (мм); (мм); (мм);

(мм); (мм); (мм).

(мм). (7.2.5.2)

Для (мм) имеем следующие значения параметров:

(мм); (мм); (мм); (мм); (мм);

(мм); (мм); (мм).

(мм). (7.2.5.3)

7.2.6. Расчет расстояния между элементами проводящего рисунка.

Номинальное расстояние между элементами проводящего рисунка (между двумя проводниками) рассчитаем по формуле:

(7.2.6.1)

где SminD – минимально допустимое расстояние между соседними элементами проводящего рисунка (мм);

– верхнее предельное отклонение ширины проводника ( мм);

Tl – позиционный допуск расположения печатных проводников ( мм).

(мм). (8.2.6.2)


7.3. Трассировка печатного монтажа.

Трассировка печатного монтажа проводилась с помощью программы Sprint LayOut 5.

Трассировка выполнялась вручную.

Исходные параметры при трассировке указаны в таблице 8.4.1.

Таблица 7.4.1.

Ширина проводника, мм

0.3

Расстояние между проводниками, мм

0.2

Минимальная ширина контактной площадки, мм

1.1

Расстояние между контактными площадками, мм

0.2



7.4. Маркировка печатной платы

Маркировка печатной платы выполняется краской 45971-84 (ТНПФ) шрифтом 2.5 согласно ГОСТ 26826-86.


8. Заключение.

В результате курсового проектирования было разработано устройство Часы с 3-D дисплеем.

Устройство выполнено в виде двух плат с подключенным к ним двигателем. На двигателе установлены обмотки трансформатора. Программирование микроконтроллеров производится отдельно, поэтому на плате установлен разъем для быстрого извлечения микроконтроллера.

Выполнено конструирование прототипа устройства с его отладкой.


10. Список источников информации.

  1. ATMEL AVR ATMega48 Datasheet.

  2. Евстифеев А.В. Микроконтроллеры AVR семейста Mega. Руководство пользователя. – М.: Издательский дома “Додэка-XXI”, 2007. – 592с.: ил. (Серия “Программируемые системы”).C28x Foundation Software” – 65c.

  3. Хоровиц П., Хилл. У. Искусство схемотехники : в 2-х т. Т. 2. Пер. с англ. – Изд-ие 3-е, стереотип. – М.: Мир, 1986. – 590 с., ил.

  4. http://www.xprt.ru/ - Бесколлекторные двигатели.

  5. http://www.gaw.ru/ - Управление трухфазными бесколлекторными двигателями.



Приложение 1. Текст программы, реализующей алгоритмы вывода символов на дисплей.

1.#include

2.#include

3.#include

4.

5.int sec = 0; //Переменные для секунд, минут, часов

6.int min = 0;

7.int hour = 0;

8.

9.interrupt [TIM2_OVF] void timer2_overflow(void) //Прерывание по переполнению 8 бит таймера

10.{

11. TCNT2 = 0;

12. SMCR = 0; //Выбор энергосберегающего режима

13. //PORTC.4 = PORTC.4 ^ 1; //реального времени с частотой 32768

14. sec++; //и делителем 128 для переполнения в 1 сек

15. //увеличение минут и часов

16. if (sec >= 60)

17. {

18. sec = 0;

19. min++;

20. if (min >= 60)

21. {

22. min = 0;

23. hour++;

24. if (hour >= 24)

25. {

26. hour = 0;

27. }

28. }

29. }

30.

31.}

32.

33.void indication (int vivod) //Задание мигания светодиодов

34.{ //для отображения цифр

35. #asm("cli")

36. switch(vivod) {

37. case 0:

38. PORTC.0 = 1;

39. PORTC.1 = 1;

40. PORTC.2 = 1;

41. PORTC.3 = 1;

42. PORTC.4 = 1;

43. delay_us(500);

44. PORTC.0 = 1;

45. PORTC.1 = 0;

46. PORTC.2 = 0;

47. PORTC.3 = 0;

48. PORTC.4 = 1;

49. delay_us(500);

50. PORTC.0 = 1;

51. PORTC.1 = 1;

52. PORTC.2 = 1;

53. PORTC.3 = 1;

54. PORTC.4 = 1;

55. delay_us(500);

56. PORTC.0 = 0;

57. PORTC.1 = 0;

58. PORTC.2 = 0;

59. PORTC.3 = 0;

60. PORTC.4 = 0;

61. delay_us(500);

62. break;

63.

64. case 1:

65. PORTC.0 = 0;

66. PORTC.1 = 0;

67. PORTC.2 = 0;

68. PORTC.3 = 0;

69. PORTC.4 = 0;

70. delay_us(500);

71. PORTC.0 = 1;

72. PORTC.1 = 1;

73. PORTC.2 = 1;

74. PORTC.3 = 1;

75. PORTC.4 = 1;

76. delay_us(500);

77. PORTC.0 = 0;

78. PORTC.1 = 0;

79. PORTC.2 = 0;

80. PORTC.3 = 0;

81. PORTC.4 = 0;

82. delay_us(500);

83. PORTC.0 = 0;

84. PORTC.1 = 0;

85. PORTC.2 = 0;

86. PORTC.3 = 0;

87. PORTC.4 = 0;

88. delay_us(500);

89. break;

90.

91. case 2:

92. PORTC.0 = 1;

93. PORTC.1 = 0;

94. PORTC.2 = 1;

95. PORTC.3 = 1;

96. PORTC.4 = 1;

97. delay_us(500);

98. PORTC.0 = 1;

99. PORTC.1 = 0;

100. PORTC.2 = 1;

101. PORTC.3 = 0;

102. PORTC.4 = 1;

103. delay_us(500);

104. PORTC.0 = 1;

105. PORTC.1 = 1;

106. PORTC.2 = 1;

107. PORTC.3 = 0;

108. PORTC.4 = 1;

109. delay_us(500);

110. PORTC.0 = 0;

111. PORTC.1 = 0;

112. PORTC.2 = 0;

113. PORTC.3 = 0;

114. PORTC.4 = 0;

115. delay_us(500);

116. break;

117.

118. case 3:

119. PORTC.0 = 1;

120. PORTC.1 = 0;

121. PORTC.2 = 1;

122. PORTC.3 = 0;

123. PORTC.4 = 1;

124. delay_us(500);

125. PORTC.0 = 1;

126. PORTC.1 = 0;

127. PORTC.2 = 1;

128. PORTC.3 = 0;

129. PORTC.4 = 1;

130. delay_us(500);

131. PORTC.0 = 1;

132. PORTC.1 = 1;

133. PORTC.2 = 1;

134. PORTC.3 = 1;

135. PORTC.4 = 1;

136. delay_us(500);

137. PORTC.0 = 0;

138. PORTC.1 = 0;

139. PORTC.2 = 0;

140. PORTC.3 = 0;

141. PORTC.4 = 0;

142. delay_us(500);

143. break;

144.

145. case 4:

146. PORTC.0 = 1;

147. PORTC.1 = 1;

148. PORTC.2 = 1;

149. PORTC.3 = 0;

150. PORTC.4 = 0;

151. delay_us(500);

152. PORTC.0 = 0;

153. PORTC.1 = 0;

154. PORTC.2 = 1;

155. PORTC.3 = 0;

156. PORTC.4 = 0;

157. delay_us(500);

158. PORTC.0 = 1;

159. PORTC.1 = 1;

160. PORTC.2 = 1;

161. PORTC.3 = 1;

162. PORTC.4 = 1;

163. delay_us(500);

164. PORTC.0 = 0;

165. PORTC.1 = 0;

166. PORTC.2 = 0;

167. PORTC.3 = 0;

168. PORTC.4 = 0;

169. delay_us(500);

170. break;

171.

172. case 5:

173. PORTC.0 = 1;

174. PORTC.1 = 1;

175. PORTC.2 = 1;

176. PORTC.3 = 0;

177. PORTC.4 = 1;

178. delay_us(500);

179. PORTC.0 = 1;

180. PORTC.1 = 0;

181. PORTC.2 = 1;

182. PORTC.3 = 0;

183. PORTC.4 = 1;

184. delay_us(500);

185. PORTC.0 = 1;

186. PORTC.1 = 0;

187. PORTC.2 = 1;

188. PORTC.3 = 1;

189. PORTC.4 = 1;

190. delay_us(500);

191. PORTC.0 = 0;

192. PORTC.1 = 0;

193. PORTC.2 = 0;

194. PORTC.3 = 0;

195. PORTC.4 = 0;

196. delay_us(500);

197. break;

198.

199. case 6:

200. PORTC.0 = 1;

201. PORTC.1 = 1;

202. PORTC.2 = 1;

203. PORTC.3 = 1;

204. PORTC.4 = 1;

205. delay_us(500);

206. PORTC.0 = 1;

207. PORTC.1 = 0;

208. PORTC.2 = 1;

209. PORTC.3 = 0;

210. PORTC.4 = 1;

211. delay_us(500);

212. PORTC.0 = 1;

213. PORTC.1 = 0;

214. PORTC.2 = 1;

215. PORTC.3 = 1;

216. PORTC.4 = 1;

217. delay_us(500);

218. PORTC.0 = 0;

219. PORTC.1 = 0;

220. PORTC.2 = 0;

221. PORTC.3 = 0;

222. PORTC.4 = 0;

223. delay_us(500);

224. break;

225.

226. case 7:

227. PORTC.0 = 1;

228. PORTC.1 = 0;

229. PORTC.2 = 0;

230. PORTC.3 = 0;

231. PORTC.4 = 0;

232. delay_us(500);

233. PORTC.0 = 1;

234. PORTC.1 = 0;

235. PORTC.2 = 0;

236. PORTC.3 = 0;

237. PORTC.4 = 0;

238. delay_us(500);

239. PORTC.0 = 1;

240. PORTC.1 = 1;

241. PORTC.2 = 1;

242. PORTC.3 = 1;

243. PORTC.4 = 1;

244. delay_us(500);

245. PORTC.0 = 0;

246. PORTC.1 = 0;

247. PORTC.2 = 0;

248. PORTC.3 = 0;

249. PORTC.4 = 0;

250. delay_us(500);

251. break;

252.

253. case 8:

254. PORTC.0 = 1;

255. PORTC.1 = 1;

256. PORTC.2 = 1;

257. PORTC.3 = 1;

258. PORTC.4 = 1;

259. delay_us(500);

260. PORTC.0 = 1;

261. PORTC.1 = 0;

262. PORTC.2 = 1;

263. PORTC.3 = 0;

264. PORTC.4 = 1;

265. delay_us(500);

266. PORTC.0 = 1;

267. PORTC.1 = 1;

268. PORTC.2 = 1;

269. PORTC.3 = 1;

270. PORTC.4 = 1;

271. delay_us(500);

272. PORTC.0 = 0;

273. PORTC.1 = 0;

274. PORTC.2 = 0;

275. PORTC.3 = 0;

276. PORTC.4 = 0;

277. delay_us(500);

278. break;

279.

280. case 9:

281. PORTC.0 = 1;

282. PORTC.1 = 1;

283. PORTC.2 = 1;

284. PORTC.3 = 0;

285. PORTC.4 = 1;

286. delay_us(500);

287. PORTC.0 = 1;

288. PORTC.1 = 0;

289. PORTC.2 = 1;

290. PORTC.3 = 0;

291. PORTC.4 = 1;

292. delay_us(500);

293. PORTC.0 = 1;

294. PORTC.1 = 1;

295. PORTC.2 = 1;

296. PORTC.3 = 1;

297. PORTC.4 = 1;

298. delay_us(500);

299. PORTC.0 = 0;

300. PORTC.1 = 0;

301. PORTC.2 = 0;

302. PORTC.3 = 0;

303. PORTC.4 = 0;

304. delay_us(500);

305. break;

306.

307. case 10:

308. PORTC.0 = 0;

309. PORTC.1 = 0;

310. PORTC.2 = 0;

311. PORTC.3 = 0;

312. PORTC.4 = 0;

313. delay_us(500);

314. PORTC.0 = 0;

315. PORTC.1 = 1;

316. PORTC.2 = 0;

317. PORTC.3 = 1;

318. PORTC.4 = 0;

319. delay_us(500);

320. PORTC.0 = 0;

321. PORTC.1 = 0;

322. PORTC.2 = 0;

323. PORTC.3 = 0;

324. PORTC.4 = 0;

325. delay_us(500);

326. PORTC.0 = 0;

327. PORTC.1 = 0;

328. PORTC.2 = 0;

329. PORTC.3 = 0;

330. PORTC.4 = 0;

331. delay_us(500);

332. break;

333. }

334. #asm("sei")

335.}

336.

337.

338.void main(void) //Основная процедура

339.{

340. char min1, min2, //минут, сек, часов

341. hour1, hour2; //Задание портов ввода/вывода

342. DDRC.0 = 1; //С 0-4 - вывода на светодиоды

343. DDRC.1 = 1; //С 5 - проверка питания от источника

344. DDRC.2 = 1; //D 0-2 - Задание времени с кнопок

345. DDRC.3 = 1;

346. DDRC.4 = 1;

347. DDRC.5 = 0;

348. DDRD.0 = 0;

349. DDRD.1 = 0;

350. DDRD.2 = 0;

351. PORTD.0 = 1;

352. PORTD.1 = 1;

353. PORTD.2 = 1;

354. PORTC.5 = 0;

355. ASSR |= (1 << 5); //Установка бита AS2 для задания

356. TCCR2A = 0; //асинхронного режима

357. TCCR2B |= (5 << 0); //бит TIOE2 в TIMSK2 для прерывания переполнения

358. TIMSK2 |= (1 << 0);

359. TCNT2 = 0;

360. #asm ("sei") //Разрешение прерываний

361.

362.

363. while(1) //Повторяющийся цикл

364. {

365. #asm ("cli")

366. if (PIND.0 == 0) //Проверка кнопок на портах D

367. { //для устоновки времени

368. delay_ms(1); //Минута, 10 минут, час

369. min++;

370. };

371.

372. if (PIND.1 == 0)

373. {

374. delay_ms(1);

375. min = min + 10;

376. };

377.

378. if (PIND.2 == 0)

379. {

380. delay_ms(1);

381. hour++;

382. };

383.

384.

385. /* if (PINC.5 == 1) //Проверка наличия питания от источника

386. = (7 << 0); //Выбор энергосберегающего режима

390. delay_ms(1); //пониженного энергопотребления

391. #asm ("sei")

392. #asm("SLEEP")

393.

394.

395.

396. else*/ {

397. min1 = min / 10; //Вывод по 1 цифре из минут и часов

398. min2 = min % 10;

399. hour1 = hour / 10;

400. hour2 = hour % 10;

401. indication(min1);

402. indication(min2);

403. indication(10);

404. indication(hour1);

405. indication(hour2);

406. delay_ms(30);

407. #asm ("sei")

408. };

409. }

410.}

Приложение 2. Текст программы, реализующей алгоритмы управления двигателем и питанием трансформатора.



  1. #include

  2. #include

  3. int rpm;



  4. void main(void)

  5. {

  6. DDRB.1 = 1;

  7. DDRB.2 = 1;

  8. PORTD.0 = 1;

  9. PORTD.1 = 1;

  10. PORTC.1 = 1;



  11. OCR1AL = 200;

  12. OCR1AH = 0;

  13. OCR1BL = 127;

  14. OCR1BH = 0;

  15. TCCR1A |= (3 << 6);

  16. TCCR1A |= (3 << 4);

  17. TCCR1A |= (1 << 0);

  18. TCCR1B |= (11 << 0);

  19. TCNT1H = 0;

  20. TCNT1L = 0;



  21. ASSR |= (1 << 5); //Установка бита AS2 для задания

  22. TCCR2A = 0; //асинхронного режима

  23. TCCR2B |= (5 << 0); //бит TIOE2 в TIMSK2 для прерывания переполнения

  24. TIMSK2 |= (1 << 0);

  25. TCNT2 = 0;

  26. #asm ("sei")



  27. while(1)

  28. {

  29. if (PIND.0 == 0)

  30. if (OCR1AL >= 60)

  31. {

  32. OCR1AL = OCR1AL - 1;

  33. #asm("cli")

  34. delay_ms(5);

  35. #asm("sei")

  36. }



  37. if (PIND.1 == 0)

  38. if (OCR1AL <= 250)

  39. {

  40. OCR1AL = OCR1AL + 1;

  41. #asm("cli")

  42. delay_ms(5);

  43. #asm("sei")

  44. }



  45. if (PINC.2 == 0)

  46. {

  47. rpm++;

  48. #asm("cli")

  49. delay_ms(1);

  50. #asm("sei")

  51. }

  52. }

  53. }





  54. interrupt [TIM2_OVF] void timer2_overflow(void)

  55. {

  56. int temp1;

  57. if (rpm != 50)

  58. {

  59. temp1 = OCR1AL * 50;

  60. OCR1AL = temp1 / rpm;



  61. }

  62. rpm =0 ;

  63. }


xx-go-veka-biografiya-rudolfa-shtejnera-stranica-22.html
xx-konyak-cognac-trade-v-professionalnom-vinnom-biznese-chetirnadcatij-god-nasha-specializaciya-i-import.html
xx-oblastnoj-final-dyup-lichnaya-kartochka-yunarmejca-polozhenie-o-xx-oblastnom-yubilejnom-finale-vzvodov-voenno-sportivnih.html
xx-usilie-uchenie-istinnoj-veri-vsegda-yasno-i-prosto-11.html
xx-vek-hronika-neobyasnimogo-gipoteza-za-gipotezoj-stranica-16.html
xx-vek-hronika-neobyasnimogo-gipoteza-za-gipotezoj-stranica-7.html
  • zadachi.bystrickaya.ru/uchastie-v-vistavke-kak-razvitie-biznesa.html
  • institute.bystrickaya.ru/glava-vsporotij-zhivot-kubanskoj-kreolki-vladimir-chekmarev-sergej-ajno-olga-tonina-aleksandr-afanasev.html
  • shkola.bystrickaya.ru/p4011-4012-v-tom-chisle-ot-infarkta-miokarda-ot-insulta-doklad-po-predstavlennim-pokazatelyam-ocenki-effektivnosti.html
  • kontrolnaya.bystrickaya.ru/rabochaya-programma-disciplini-disciplina-sd-r-4-biohimicheskie-mehanizmi-adaptacii.html
  • kanikulyi.bystrickaya.ru/vvedenie-v-stadii-akkreditacii-v-sisteme-lesnogo-popechitelskogo-soveta-rossijskij-nacionalnij-ramochnij-standart.html
  • thescience.bystrickaya.ru/gosudarstvennij-kaznachej-nsdap-organizaciya-nacional-socialisticheskoj-nemeckoj-rabochej-partii.html
  • essay.bystrickaya.ru/detskaya-literatura.html
  • desk.bystrickaya.ru/osnovnaya-obrazovatelnaya-programma-srednego-professionalnogo-obrazovaniya-po-specialnosti.html
  • education.bystrickaya.ru/2009-2010-uchebnij-god-publichnij-otchet-troick-2010-stranica-9.html
  • turn.bystrickaya.ru/plan-raboti-pravoslavnoj-duhovno-medicinskoj-shkoli-molodoj-materi-g-kemerovo-blagotvoritelnogo-fonda-budushee-kuzbassa.html
  • shkola.bystrickaya.ru/rossijskoj-federacii.html
  • upbringing.bystrickaya.ru/m-rossijskoe-psihologicheskoe-obshestvo-1999.html
  • tetrad.bystrickaya.ru/upravlenie-obrazovaniem-udk37378-koncepciya-samoobrazovaniya-osnovnieponyatiyaistruktura-10-udk159-12-narosina.html
  • report.bystrickaya.ru/harakteristika-byurokraticheskoj-organizacii-teoriya-byurokratii-m-vebera.html
  • klass.bystrickaya.ru/7kak-mozhno-stat-chlenom-vto-kratkoe-posobie-dlya-biznesa-podgotovleno-centrom-torgovoj-politiki-i-prava-moskva.html
  • uchebnik.bystrickaya.ru/voprosi-dlya-samokontrolya-po-discipline-istoriya-mirovoj-ekonomiki-programma-disciplini-istoriya-mirovoj-ekonomiki.html
  • notebook.bystrickaya.ru/istoriya-ekonomicheskih-uchenij-shpargalka-stranica-5.html
  • occupation.bystrickaya.ru/metodicheskie-ukazaniya-po-vipolneniyu-otdelnih-chastej-i-razdelov-vipusknoj-raboti.html
  • shpargalka.bystrickaya.ru/vneklassnoe-meropriyatie-po-fizike-konferenciya.html
  • esse.bystrickaya.ru/razdel-i-obshie-polozheniya-informacionnij-byulleten-administracii-sankt-peterburga-20-721-6-iyunya-2011-g.html
  • exchangerate.bystrickaya.ru/4-socialnoe-obsluzhivanie-grazhdan-pozhilogo-vozrasta-i-invalidov-doklad-glavi-municipalnogo-obrazovaniya-kurmanaevskij.html
  • letter.bystrickaya.ru/naibolee-tipichnimi-strategicheskimi-oshibkami-strategicheskij-menedzhment.html
  • upbringing.bystrickaya.ru/kompanii-sdi-solution-prisvoen-status-uchastnika-proekta-skolkovo-reshenie-o-vstuplenii-rossii-v-cern-budet-prinyato.html
  • vospitanie.bystrickaya.ru/zhurnal-agrarnoe-i-zemelnoe-pravo-respubliki-bashkortostan-pravovoj-dajdzhest-8-200-8.html
  • notebook.bystrickaya.ru/kak-sostavit-konspekt-uroka-russkogo-yazika-konspekt-uroka-stranica-7.html
  • znanie.bystrickaya.ru/53-sanitarno-zashitnie-zoni-zakazchik-administraciya-komsomolskogo-municipalnogo-rajona-ivanovskoj-oblasti.html
  • nauka.bystrickaya.ru/v-g-hramenkov-kontrol-i-avtomatizaciya-stranica-3.html
  • uchitel.bystrickaya.ru/promishlennaya-politika-norvegii-e-v-drozhzhina-promishlennaya-politika-evropejskih-stran.html
  • thesis.bystrickaya.ru/poyasnitelnaya-zapiska-1-mesto-disciplini-v-strukture-oop-programma-kursa-arbitrazhnoe-processualnoe-pravo.html
  • essay.bystrickaya.ru/chast-vtoraya-organizaciya-i-nesenie-karaulnoj-sluzhbi-utverzhden-ukazom-prezidenta.html
  • lesson.bystrickaya.ru/uchebno-metodicheskij-kompleks-dlya-studentov-zaochnogo-obucheniya-specialnosti-ekonomika-i-upravlenie-na-predpriyatii-operacii-s-nedvizhimim-imushestvom.html
  • notebook.bystrickaya.ru/iii-nauchno-tehnicheskij-sovet-inzhenernogo-centra-osushestvlyaet-rukovodstvo-nauchnoj-i-nauchno-tehnicheskoj-deyatelnostyu-inzhenernogo-centra-71-stranica-4.html
  • esse.bystrickaya.ru/programma-rassmotrena-i-utverzhdena-v-mioo-rabochaya-programma-po-obsluzhivayushemu-trudu-stranica-4.html
  • bukva.bystrickaya.ru/monografiya-podgotovlena-stranica-8.html
  • upbringing.bystrickaya.ru/kosobokoe-chelovechestvo-zakon-ob-asimmetrichnosti-zhivoj-materii-nastolko-neziblem-chto-pozvolil-reshit-vopros.html
  • © bystrickaya.ru
    Мобильный рефератник - для мобильных людей.