4.5 Расчет вентиляции

В зависимости от способа перемещения воздуха вентиляция бывает естественная и принудительная.

Параметры воздуха, поступающего в приемные отверстия и проемы местных отсосов технологических и других устройств, которые расположены в рабочей зоне, следует принимать в соответствии с ГОСТ 12.1.005-76. При размерах помещения 3 на 5 метров и высоте 3 метра, его объем 45 куб.м. Следовательно, вентиляция должна обеспечивать расход воздуха в 90 куб.м/час. В летнее время следует предусмотреть установку кондиционера с целью избежания превышения температуры в помещении для устойчивой работы оборудования. Необходимо уделить должное внимание количеству пыли в воздухе, так как это непосредственно влияет на надежность и ресурс эксплуатации ЭВМ.

Мощность (точнее мощность охлаждения) кондиционера является главной его характеристикой, от неё зависит на какой объем помещения он рассчитан. Для ориентировочных расчетов берется 1 кВт на 10 м2 при высоте потолков 2,8 – 3 м (в соответствии со СНиП 2.04.05-86 "Отопление, вентиляция и кондиционирование").

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

Q=S·h·q (4.8)

где: Q – Теплопритоки

S – Площадь помещения

h – Высота помещения

q – Коэффициент равный 30-40 вт/м3 (в данном случае 35 вт/м3)

Для помещения 15 м2 и высотой 3 м теплопритоки будут составлять:

Q=15·3·35=1575 вт

Кроме этого следует учитывать тепловыделение от оргтехники и людей, считается (в соответствии со СНиП 2.04.05-86 "Отопление, вентиляция и кондиционирование") что в спокойном состоянии человек выделяет 0,1 кВт тепла, компьютер или копировальный аппарат 0,3 кВт, прибавив эти значения к общим теплопритокам можно получить необходимую мощность охлаждения.


Qдоп=(H·Sопер)+(С·Sкомп)+(P·Sпринт) (4.9)

где: Qдоп – Сумма дополнительных теплопритоков

C – Тепловыделение компьютера

H – Тепловыделение оператора

D – Тепловыделение принтера

Sкомп – Количество рабочих станций

Sпринт – Количество принтеров

Sопер – Количество операторов

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

Qдоп1=(0,1·2)+(0,3·2)+(0,3·1)=1,1(кВт)

Итого сумма теплопритоков равна:

Qобщ1=1575+1100=2675 (Вт)

В соответствии с данными расчетами необходимо выбрать целесообразную мощность и количество кондиционеров.

Для помещения, для которого ведется расчет, следует использовать кондиционеры с номинальной мощностью 3,0 кВт.

4.6 Расчет уровня шума

Одним из неблагоприятных факторов производственной среды в ИВЦ является высокий уровень шума, создаваемый печатными устройствами, оборудованием для кондиционирования воздуха, вентиляторами систем охлаждения в самих ЭВМ.

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

Уровень шума, возникающий от нескольких некогерентных источников, работающих одновременно, подсчитывается на основании принципа энергетического суммирования излучений отдельных источников:

∑L = 10·lg (Li∙n), (4.10)

где Li – уровень звукового давления i-го источника шума;

n – количество источников шума.

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

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

Таблица 4.6 - Уровни звукового давления различных источников

Источник шума Уровень шума, дБ
Жесткий диск 40
Вентилятор 45
Монитор 17
Клавиатура 10
Принтер 45
Сканер 42

Обычно рабочее место оператора оснащено следующим оборудованием: винчестер в системном блоке, вентилятор(ы) систем охлаждения ПК, монитор, клавиатура, принтер и сканер.

Подставив значения уровня звукового давления для каждого вида оборудования в формулу (4.4) , получим:

∑L=10·lg(104+104,5+101,7+101+104,5+104,2)=49,5 дБ

Полученное значение не превышает допустимый уровень шума для рабочего места оператора, равный 65 дБ (ГОСТ 12.1.003-83). И если учесть, что вряд ли такие периферийные устройства как сканер и принтер будут использоваться одновременно, то эта цифра будет еще ниже. Кроме того при работе принтера непосредственное присутствие оператора необязательно, т.к. принтер снабжен механизмом автоподачи листов.

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


ВЫВОДЫ

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

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

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

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

Цена рассматривалась при единичном исполнении, цены на комплектующие брались согласно цен интернет-магазинов при покупке одного комплекта, естественно, при оптовом приобретении материалов и комплектующих цена будет ниже.

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

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


ПЕРЕЧЕНЬ ССЫЛОК

1. "Dimmable Fluorescent Ballast" – User Guide, 10/07, Atmel Corporation, http://www.atmel.com/dyn/resources/prod_documents/doc7597.pdf

2. ГОСТ13109-97. Нормы качества электрической энергии в системах электроснабжения общего назначения.

3. G. Howell "Five questions about resistors" // EDN, 9/28/2006, http://www.edn.com/contents/images/6372835.pdf

4. П. Хоровиц, У. Хилл "Искусство схемотехники" – Изд. 6-е, М.: Мир, 2003.

5. J. Israelsohn "Miller on edge: The role of Miller capacitance in nonlinear circuits" // EDN, 3/29/2007 http://www.edn.com/contents/images/6426883.pdf

6. C. Hillman "Common mistakes in electronic design" // EDN, 12/14/2007 http://www.edn.com/contents/images/6512156.pdf

7. "The Do's and Don'ts of Using MOS-Gated Transistors" – Application Note AN-936, International Rectifier, http://www.irf.com/technical-info/appnotes/an-936.pdf

8."TVS/Zener Theory and Design Considerations" – Handbook, Rev. 0, Jun−2005, On Semiconductor, http://www.onsemi.com/pub/Collateral/HBD854-D.PDF

9. "Characterization and Calibration of the ADC on an AVR" – Application Note AVR120, 02/06, Atmel Corporation, http://www.atmel.com/dyn/resources/prod_documents/doc2559.pdf

10."The Eye’s Response to Light" – Lutron Electronics, 8/97, http://www.lutron.com/product_technical/pdf/360-408.pdf

11."Four Great Reasons to Dim" – Lutron Electronics, http:// www.lutron.com/dim.htm

12."Frequently asked questions about dimmers" // http://www .lutron.com/product_technical/faq.asp

13."LEDs move from indication to illumination" // EDN, 8/2/2001 http://www.edn.com/contents/images/149134.pdf

14. Л. Н. Кечиев, Е. Д. Пожидаев "Защита электронных средств от воздействия статического электричества" – М.: ИД "Технологии", 2005.

15. Жидецкий В.Ц., Джигирей В.С., Мельников А.В. Основы охраны труда: Учебник – Львов, Афиша, 2008 – 351с.

16. Денисенко Г.Ф. Охрана труда: Учебн.пособие – М., Высшая школа, 1989 – 319с.

17. Самгин Э.Б. Освещение рабочих мест. – М.: МИРЭА, 1989. – 186с.

18. Справочная книга для проектирования электрического освещения. / Под ред. Г.Б. Кнорринга. – Л.: Энергия, 1976.

19. Борьба с шумом на производстве: Справочник / Е.Я. Юдин, Л.А. Борисов;

Под общ. ред. Е.Я. Юдина – М.: Машиностроение, 1985. – 400с., ил.

20. Зинченко В.П. Основы эргономики. – М.: МГУ, 1979. – 179с.

21.Методичні вказівки до виконання дипломної роботи для учнів спеціальності «Оператор комп’ютерного набору; оператор комп’ютерної верстки»/ Упоряд.: Д.О. Дяченко, К.О. Ізмалкова, О.Г. Меркулова. – Сєверодонецьк: СВПУ, 2007. – 40 с.

22. Заец Н.И. Радиолюбительские конструкции на PIC- микроконтроллерах. Книга 1 – М., Солон-ПРЕСС, 2001- 368с.

23. Заец Н.И. Радиолюбительские конструкции на PIC- микроконтроллерах. Книга 2 – М., Солон-ПРЕСС, 2003- 296 с.

24. Заец Н.И. , Сергеев В.С.Радиолюбительские конструкции на микроконтроллерах. Книга 4 – М., Солон-ПРЕСС, 2009 - 412с.


ПРИЛОЖЕНИЯ

ПРИЛОЖЕНИЕ А

Обзор семейств микроконтроллеров PIC

Из всего набора выпускаемых сегодня микроконтроллеров PIC выделяются две наиболее развитые и популярные серии PIC16 и PIC18.
 Серия среднего уровня PIC16. Названия микроконтроллеров этой серии начинаются с префикса PIC16. Различные типы микроконтроллеров PIC16 могут исполняться в корпусах, имеющих 14, 18, 28, 40 и более выводов. Это наиболее типичный ряд для PIC16/PIC18 в DIP корпусах. К серии микроконтроллеров PIC16 можно смело отнести микроконтроллеры PIC12 - это те же PIC16, только исполнены в 8 выводном корпусе.

Семейство PIC16 представляет множество недорогих, высокопроизводительных 8-разрялных микроконтроллеров, выполненных по КМОП технологии с очень малым потреблением энергии и полностью статической архитектурой. Представление о семействе можно получить, рассмотрев основу системы обозначений и примеры обозначений микроконтроллеров.

После префикса PIC16, PIC12 или PIC18 следуют обозначение типа (технологии) памяти программ.

Варианты:

- CR - масочное ПЗУ; программируется один раз при изготовлении МК.

- C - EPROM; программируется электрическим способом. Может быть запрограммирована только один раз.

- F - FLASH ПЗУ (EEPROM); запрограммированная память может быть стерта "электрически" и вновь запрограммирована тысячи раз. FLASH микроконтроллеры обычно имеют также и DATA EEPROM - FLASH память данных (не путать с ОЗУ!) для хранения "неоперативных данных", таких, как настроечные параметры, изменяемые константы, тексты.

- JW - ПЗУ стираемое ультрафиолетовым облучением. Корпус таких МК имеет специальное окошко из кварца (WINDOWED).

- Обозначение типа ПЗУ может начинаться с буквы L, которая означает Low Voltage - расширенный вниз, как правило, до 2В диапазон напряжения питания и, как следствие, пониженная максимальная частота.

- LC или LF - EEPROM или FLASH ПЗУ соответственно, допускающее работу при пониженном (LOW) напряжении питания.

Изучение семейства PIC16 целесообразно начинать с наиболее перспективных его представителей. Если не вдаваться в тонкости, то можно утверждать, что масочные, EPROM и FLASH микроконтроллеры практически полностью совместимы по корпусам и выводам, имеют одинаковую архитектуру, электрические и временные характеристики, набор команд и порядок их исполнения. С началом массового выпуска FLASH микроконтроллеров и снижения цен на них, у однократно программируемых микроконтроллеров стало меньше шансов на популярность среди начинающих специалистов. Учитывая это, есть смысл основное внимание уделить именно FLASH микроконтроллерам.После префикса PIC16, PIC12 или PIC18 и обозначения типа (технологии) памяти программ следует комбинация из трех цифр, она определяет собственно тип МК.

Здесь под типом МК понимается комбинация дополнительных свойств МК, как-то: число портов ввода-вывода, объем памяти программ (ПП), памяти данных (ПД), FLASH ПЗУ данных, а главное набор периферийных функций и, следовательно, дополнительных возможностей микроконтроллера.

Например.

- PIC12F629 8-выводной МК с аналоговым компаратором.

- PIC12F675 8- выводной МК с аналоговым компаратором и 10-разрядным АЦП.


ПРИЛОЖЕНИЕ А (Продолжение)

- PIC16F628 18-выводной МК с аналоговыми компараторами, модулем сравнения/захвата/ШИМ и модулем USART (последовательная передача данных по протоколу RS-232C). Стандартный диапазон напряжения питания 3…5,5В, во всем диапазоне тактовой частоты 0…20МГц.

- PIC16LF628 обратите внимание: тип памяти LF, это значит, что МК имеет расширенный диапазон напряжения питания 2…5,5В, при тактовой частоте не более 4МГц, и стандартный диапазон напряжения питания 3…5,5В, при тактовой частоте более 4МГц.

- PIC16F628A буква в конце обозначения типа микроконтроллера указывает на то, что это вариант PIC16F628 с внесенным незначительным изменением архитектуры или технологии, или устраненным замечанием. Если будет еще изменение, то появится вариант PIC16F628В.

После типа МК в его маркировке следуют код -X/XX, где X - температурный диапазон:

-I - индустриальный -40°С…+85°С;

-E - расширенный -40°С…+125°С.

XX - тип корпуса:

- P - пластиковый DIP;

- SO-пластиковый планарный корпус SOIC;

- SS- пластиковый планарный корпус SSOP;

- JW-DIP корпус с окном для УФ стирания;

- И др.

В виде числа 04 или 20 может указываться частота под которую оптимизирован генератор МК.

Все микроконтроллеры семейства имеют одинаковое ядро, систему команд, организацию памяти программ и памяти данных и порядок взаимодействия ядра с памятью и периферийными устройствами. А отличаются друг от друга микроконтроллеры тем, что каждый из них оптимизирован под выполнение определенного круга задач и может отличаться от собратьев количеством выводов, объемом памяти программ и памяти данных, набором периферийных устройств и ценой.
Все МК имеют

- Диапазон тактовой частоты 0...20МГц.

- Одинаковое ядро.

- 35 простых инструкций.

- Режим энергосбережения SLEEP.

- POR (Power On Reset) - сброс по подаче питания (при достижении Vddmin).

-OST (Oscillator Start-up Timer) - удерживает МК в состоянии сброса на время запуска и стабилизации тактового кварцевого или кристаллического генератора.

- BOD или BOR (Brown-out Detect или Brown-out Reset) - детектор снижения Vdd с настраиваемым порогом.

- WDT (Watchdog Timer) - сторожевой таймер с настраиваемым периодом.

- Микроконтроллеры PIC16F873…877 могут программировать свою память программ в процессе работы.

- Все 8-ми и 14-ти выводные МК, кроме режимов генератора, типичных для всех PIC16, имеют встроенный стабильный (1%) тактовый RC генератор.


ПРИЛОЖЕНИЕ А (Продолжение)

Таблица популярных представителей PIC16
Кол-во выводов/портов ПП, слов ОЗУ, Кбайт FLASH ПД, Байт Таймеры Встроенные периферийные модули
PIC12F629 8/6 64 128 TMR0, TMR1 аналоговый компаратор
PIC12F675 8/6 64 128 TMR0, TMR1 аналоговый компаратор, 10-разр. АЦП
PIC12F683 8/6 128 256 TMR0, TMR1, TMR2 аналоговый компаратор, 10-разр. АЦП, модуль захвата/сравнения/ШИМ
PIC12F630 14/12 64 128 TMR0, TMR1 аналоговый компаратор
PIC16F676 14/12 64 128 TMR0, TMR1 аналоговый компаратор, 10-разр. АЦП
PIC16F684 14/12 128 256 TMR0, TMR1, TMR2 аналоговый компаратор, 10-разр. АЦП, модуль захвата/сравнения/ШИМ
PIC16F688 14/12 256 256 TMR0, TMR1, TMR2 аналоговый компаратор, 10-разр. АЦП, модуль захвата/сравнения/ШИМ, USART
PIC16F628A 18/16 224 128 TMR0, TMR1, TMR2 аналоговый компаратор, 10-разр. АЦП, модуль захвата/сравнения/ШИМ, USART/SC
PIC16F648A 18/16 256 256 TMR0, TMR1, TMR2 аналоговый компаратор, 10-разр. АЦП, модуль захвата/сравнения/ШИМ, USART/SC
PIC16F84A 18/13 68 64 TMR0 популярный, устарел

ПРИЛОЖЕНИЕ Б

Программа для «Эффект -1» светодиодной матрицы

;------------------------------------------------------------------------------------------------------------------------------

 list p = 16f628a

__config 03F30h ; 11111100110001 - защиты памяти нет, низковольтное программирование запрещено, сброс по питанию запрещен,

; RA5/-MCLR работает как -MCLR, таймер вкл-я питания включен, сторожевой таймер - выключен, генератор - внутренний

;********* Переменные ************************************

 CBLOCK 0x20 ;Начальный адрес блока констант

 T_ext ;таймер внешнего цикла

 T_int ;таймер внутреннего цикла

 Strok ;байт строк, младшие 5 бит этого байта - состояния строк (1 - вкл, 0 - выкл)

 Stolb ;байт столбцов, младшие 5 бит этого байта - состояния столбцов (1 - вкл, 0 - выкл)

 ENDC ;

;******** Константы ***************************************

Cr1 equ .200 ;длительность 1-й задержки 200 мкс

Cr2 equ .150 ;длительность 2-й задержки 150х200 мкс

Status equ 03h ; Регистр выбора банка

TrisA equ 05h ; Регистр выбора направления работы выводов порта А

TrisB equ 06h ; Регистр выбора направления работы выводов порта В

PortA equ 05h ; Регистр управления защелками порта А

PortB equ 06h ; Регистр управления защелками порта В

Cmcon equ 1Fh ; вкл/выкл компараторов

F equ 1 ; Результат направить в регистр.

;********************************************************

; Пусть у нас RA1, RA2, RA3, RA6, RA7 - выходы строки

; RB3, RB4, RB5, RB6, RB7 - выходы столбцы

;********************************************************

;

 org 0

;******** Установка направления работы порта A: RA7, RA6 - выходы, RA5, RA4, RA3 - входы, RA2, RA1, RA0 - выходы

;******** Установка направления работы порта B: RB7, RB6, RB5, RB4, RB3, RB2 - выходы, RB1, RB0 - входы ***

start movlw .7 ;

 movwf Cmcon ; выключить компараторы и включить эти пины как цифровые входы/выходы

 clrf PortA ; инициализация защелок порта А

 movlw .248 ; 11111000

 movwf PortB ; инициализация защелок порта В

 bsf Status,5 ; Перейти в 1-й банк (установить в 1 5-й бит регистра Status).

 movlw .49 ; Записать конфигурацию порта A в аккумулятор (W). .49=00110001

 movwf TrisA ; Скопировать конфигурацию порта А из W в регистр TrisA

 movlw .7 ; Записать конфигурацию порта В в аккумулятор (W). .3=00000111

 movwf TrisB ; Скопировать конфигурацию порта B из W в регистр TrisB.

 bcf Status,5 ; Перейти в 0-й банк (установить в 0 5-й бит регистра Status)

;******** ЭФФЕКТ 1 ********************************************************************************

eff1 movlw b'00011111' ; включаем все строки

 movwf Strok

 movlw b'00000001' ; и первый столбец

 movwf Stolb

;-------- Включаем светодиоды -----------------

cikl_stolb1 call in_ports

 call pause

 rlf Stolb,1 ; переходим на следующий столбец

 btfss Stolb,5 ; если 5 бит stolb = 1, то следующая команда пропускается

 goto cikl_stolb1

;----------------------------------------------

 movlw b'00000001' ; включаем первую строку

 movwf Strok

 movlw b'00011111' ; и все столбцы

 movwf Stolb

;-------- Включаем светодиоды -----------------

cikl_strok1 call in_ports

 call pause

 rlf Strok,1 ; переходим на следующую строку

 btfss Strok,5 ; если 5 бит stolb = 1, то следующая команда пропускается

 goto cikl_strok1

 goto eff1

;******************************************************************************************************

;******** Процедура включения строк и столбцов

in_ports btfsc Stolb,0 ; если 0-й бит stolb = 0, то следующая команда пропускается

 bcf PortB,3 ; RB3=0 - вкл.1 столбец

 btfss Stolb,0 ; если 0-й бит stolb =1, то следующая команда пропускается

 bsf PortB,3 ; RB3=1 - выкл. 1 столбец

;--------------------------------------

 btfsc Stolb,1 ; если 1-й бит stolb = 0, то следующая команда пропускается

 bcf PortB,4 ; RB4=0 - вкл. 2 столбец

 btfss Stolb,1 ; если 1-й бит stolb =1, то следующая команда пропускается

 bsf PortB,4 ; RB4=1 - выкл. 2 столбец

;-------------------------------------

 btfsc Stolb,2 ; если 2-й бит stolb = 0, то следующая команда пропускается

 bcf PortB,5 ; RB5=0 - вкл. 3 столбец

 btfss Stolb,2 ; если 2-й бит stolb =1, то следующая команда пропускается

 bsf PortB,5 ; RB5=1 - выкл. 3 столбец

;--------------------------------------

 btfsc Stolb,3 ; если 3-й бит stolb = 0, то следующая команда пропускается

 bcf PortB,6 ; RB6=0 - вкл. 4 столбец

 btfss Stolb,3 ; если 3-й бит stolb =1, то следующая команда пропускается

 bsf PortB,6 ; RB6=1 - выкл. 4 столбец

;--------------------------------------

 btfsc Stolb,4 ; если 4-й бит stolb = 0, то следующая команда пропускается

 bcf PortB,7 ; RB7=0 - вкл. 5 столбец

 btfss Stolb,4 ; если 4-й бит stolb =1, то следующая команда пропускается

 bsf PortB,7 ; RB7=1 - выкл. 5 столбец

;-------- Строки -----------------------------------------------------------

 btfsc Strok,0 ; если 0-й бит strok = 0, то следующая команда пропускается

 bsf PortA,2 ; RA2=1 - вкл.1 строку

 btfss Strok,0 ; если 0-й бит strok =1, то следующая команда пропускается

 bcf PortA,2 ; RA2=0 - выкл.1 строку

;--------------------------------------

 btfsc Strok,1 ; если 1-й бит strok = 0, то следующая команда пропускается

 bsf PortA,3 ; RA3=1 - вкл.2 строку

 btfss Strok,1 ; если 1-й бит strok =1, то следующая команда пропускается

 bcf PortA,3 ; RA3=0 - выкл.2 строку

;--------------------------------------

 btfsc Strok,2 ; если 2-й бит strok = 0, то следующая команда пропускается

 bsf PortA,1 ; RA1=1 - вкл.3 строку

 btfss Strok,2 ; если 2-й бит strok =1, то следующая команда пропускается

bcf PortA,1 ; RA1=0 - выкл.3 строку

;--------------------------------------

 btfsc Strok,3 ; если 3-й бит strok = 0, то следующая команда пропускается

 bsf PortA,7 ; RA7=1 - вкл.4 строку

 btfss Strok,3 ; если 3-й бит strok =1, то следующая команда пропускается

 bcf PortA,7 ; RA7=0 - выкл.4 столбец

;--------------------------------------

 btfsc Strok,4 ; если 4-й бит strok = 0, то следующая команда пропускается

 bsf PortA,6 ; RA6=1 - вкл.5 строку

 btfss Strok,4 ; если 4-й бит strok =1, то следующая команда пропускается

 bcf PortA,6 ; RA6=0 - выкл.5 строку

 return

;****************************************************************************************************

;******** Процедура Паузы ****************************************************************************

pause movlw Cr2

 movwf T_ext ; загрузить значение для внешнего цикла

cikl2 movlw Cr1

 movwf T_int ; загрузить значение для внутреннего цикла

cikl3 decfsz T_int,1 ; если T_int = 0, следующая команда пропускается

 goto cikl3 ; внутренний цикл

 decfsz T_ext,1 ; если T_ext = 0, следующая команда пропускается

 goto cikl2 ; внешний цикл

 return

 end


ПРИЛОЖЕНИЕ В

Программа для создания эффекта «Вращающийся крест»

;--------------------------------------------------------------------------------------------------------------------------

 list p = 16f628a

 __config 03F30h ; 11111100110001 - защиты памяти нет, низковольтное программирование запрещено,

 ; сброс по питанию запрещен, RA5/-MCLR работает как -MCLR, таймер вкл-я питания включен,

 ; сторожевой таймер - выключен, генератор - внутренний

;********* Переменные ************************************

 CBLOCK 0x20 ; Начальный адрес блока

 Temp ; обменник , 20h

 Adr ; адрес фрейма в EEPROM или ОЗУ , 21h

 T_int ; счетчик для паузы , 22h

 Strok ; байт текущего состояния строк , 23h

 Stolb ; байт текущего состояния столбцов , 24h

 Fr_sch ; счетчик фреймов , 25h

 Fr_cikl ; счетчик показов одного фрейма , 26h

 Fr_kol ; количество фреймов , 27h

 Fr_cikl_kol ; количество показов одного фрейма , 28h

;----- Свободная память ОЗУ в нулевом банке от 29h до 7Fh ---------------------------------

;----- Из этих 86 своб-х байт в первые 30 мы будем грузить наши фреймы ------------------

 ENDC ;

;******** Константы ***************************************

Status equ 03h ; Регистр выбора банка

TrisA equ 05h ; Регистр выбора направления работы выводов порта А

TrisB equ 06h ; Регистр выбора направления работы выводов порта В

PortA equ 05h ; Регистр управления защелками порта А

PortB equ 06h ; Регистр управления защелками порта В

Cmcon equ 1Fh ; вкл/выкл компараторов

F equ 1 ; Результат направить в регистр.

FSR equ 04h ; регистр адреса при косвенной адресации

INDF equ 0h ; регистр косвенной адресации

Cr equ .50 ; значение счетчика для паузы

EEADR equ 1Bh ; адрес EEPROM

EECON1 equ 1Ch ; управляющий регистр для работы c EEPROM

EEDATA equ 1Ah ; регистр данных из/в EEPROM

;********************************************************

; Пусть у нас RA1, RA2, RA3, RA6, RA7 - выход строки

; RB3, RB4, RB5, RB6, RB7 - выходы столбцы

;********************************************************

 org 0

;******** Установка направл-я работы порта A: RA7, RA6 - выходы, RA5, RA4, RA3 - входы, RA2, RA1, RA0 - выходы

;******** Установка направл-я работы порта B: RB7, RB6, RB5, RB4, RB3, RB2 - выходы, RB1, RB0 - входы *********

start movlw .7 ;

 movwf Cmcon ; выключить компараторы и включить эти пины как цифровые входы/выходы

 clrf PortA ; инициализация защелок порта А

 movlw .248 ; 11111000

 movwf PortB ; инициализация защелок порта В

 bsf Status,5 ; Перейти в 1-й банк (установить в 1 5-й бит регистра Status).

 movlw .49 ; Записать конфигурацию порта A в аккумулятор (W). .49=00110001

 movwf TrisA ; Скопировать конфигурацию порта А из W в регистр TrisA

 movlw .7 ; Записать конфигурацию порта В в аккумулятор (W). .3=00000111

 movwf TrisB ; Скопировать конфигурацию порта B из W в регистр TrisB.

 bcf Status,0 ; Сбросить флаг переноса (С) (после старта он может быть любым)

;******** Загрузка данных для фреймов из EEPROM в ОЗУ *******************************************************

;--------- Сначала прочитаем первый байт - узнаем, сколько фреймов надо считать ------------------

 movlw .0 ; банк менять не надо, мы уже в первом банке

 movwf EEADR ; установить адрес для чтения из EEPROM

bsf EECON1,0 ; чтение

 movf EEDATA,0 ; запись прочитанного байта в аккумулятор

 bcf Status,5 ; Перейти в 0-й банк (установить в 0 5-й бит регистра Status)

 movwf Fr_kol ; сохранение прочитанного байта в Fr_kol

;-------- Fr_kol*5+1 - узнаем сколько байт надо считать --------------------------

 rlf Fr_kol,0 ; умножаем на 2

 movwf Temp

 rlf Temp,0 ; еще на 2 (после этой команды в аккумуляторе Fr_kol*4)

 addwf Fr_kol,0 ; после этого в аккумуляторе Fr_kol*5

 movwf Temp ; сохраняем это значение в Temp

 incf Temp,1 ; теперь Temp=Fr_kol*5+

;---------- Считываем Fr_kol*5+1 байт ----------------------------------------------

 movlw 28h ; считанные данные сохраняем начиная с этого адреса (первый байт в Fr_cikl_kol и далее...)

 movwf FSR ; адрес для косвенной адресации

 movlw .1 ; начинаем читать EEPR

 movwf Adr ; с адреса 1

zagruzka bsf Status,5 ; перейти в первый банк

 movwf EEADR ; загружаем из аккумулятора адрес для чтения из EEPROM

 bsf EECON1,0 ; чтение

 movf EEDATA,0 ; запись прочитанного байта в аккумулятор

 bcf Status,5 ; Перейти в 0-й банк (установить в 0 5-й бит регистра Status)

 movwf INDF ; сохраняем считанный байт по адресу, записанному в FSR

 incf FSR,1 ; увеличиваем адрес ОЗУ

 incf Adr,1 ; увеличиваем адрес EEPROM

 movf Adr,0 ; загружаем адрес EEPROM в аккумулятор

 decfsz Temp,1 ; если считали все байты - следующая команда пропускается

 goto zagruzka

;**************************************************************************************************

;******** Основная прога **************************************************************************

effect movlw 29h ; загружаем адрес начала первого фрейма в ОЗУ (2h) в переменную Adr

 movwf Adr ;

 movf Fr_kol,0 ; загружаем кол-во фреймов

 movwf Fr_sch ; в счетчик фреймов

show movf Fr_cikl_kol,0 ; загружаем кол-во показов одного фрейма

 movwf Fr_cikl ; в счетчик показов фрейма

povtor call show_frame ; показываем один фрейм Fr_cikl кол-во раз

 decfsz Fr_cikl,1

 goto povtor

 movlw .5 ; переходим к следующему фрейму (сдвигаем Adr на 5)

 addwf Adr,1

 decfsz Fr_sch,1 ; уменьшаем счетчик фреймов для показа

 goto show ; если не все наборы показаны, то переходим к следующему

 goto effect ; если все, то начинаем сначала

;*********************************************************************************************

;********* Процедура показа одного фрейма ****************************************************

show_frame movf Adr,0 ; загружаем в FSR адрес начала фрейма

 movwf FSR

 movlw b'00000001' ; начинаем с первой строки

 movwf Strok

show_next movf INDF,0 ; загружаем набор столбцов для выбранной строки

 movwf Stolb ; аккумулятор в stolb

 call in_ports

 call pause

 call erase

 incf FSR,1 ; следующий набор строк

 rlf Strok,1 ; переходим на следующую строку

btfss Strok,5 ; если 5-й бит strok = 1, то следующая команда пропускается

 goto show_next

 return

;******** Процедура включения строк и столбцов в соответствии с байтами Strok и Stolb ************

in_ports btfsc Stolb,0 ; если 0-й бит stolb = 0, то следующая команда пропускается

 bcf PortB,3 ; RB3=0 - вкл.1 столбец

 btfss Stolb,0 ; если 0-й бит stolb =1, то следующая команда пропускается

 bsf PortB,3 ; RB3=1 - выкл. 1 столбец

;--------------------------------------

 btfsc Stolb,1 ; если 1-й бит stolb = 0, то следующая команда пропускается

 bcf PortB,4 ; RB4=0 - вкл. 2 столбец

 btfss Stolb,1 ; если 1-й бит stolb =1, то следующая команда пропускается

 bsf PortB,4 ; RB4=1 - выкл. 2 столбе

;--------------------------------------

 btfsc Stolb,2 ; если 2-й бит stolb = 0, то следующая команда пропускается

 bcf PortB,5 ; RB5=0 - вкл. 3 столбец

 btfss Stolb,2 ; если 2-й бит stolb =1, то следующая команда пропускается

 bsf PortB,5 ; RB5=1 - выкл. 3 столбец

;--------------------------------------

 btfsc Stolb,3 ; если 3-й бит stolb = 0, то следующая команда пропускается

 bcf PortB,6 ; RB6=0 - вкл. 4 столбец

 btfss Stolb,3 ; если 3-й бит stolb =1, то следующая команда пропускается

 bsf PortB,6 ; RB6=1 - выкл. 4 столбец

;--------------------------------------

 btfsc Stolb,4 ; если 4-й бит stolb = 0, то следующая команда пропускается

 bcf PortB,7 ; RB7=0 - вкл. 5 столбец

 btfss Stolb,4 ; если 4-й бит stolb =1, то следующая команда пропускается

 bsf PortB,7 ; RB7=1 - выкл. 5 столбец

;-------- Строки -----------------------------------------------------------

 btfsc Strok,0 ; если 0-й бит strok = 0, то следующая команда пропускается

 bsf PortA,2 ; RA2=1 - вкл.1 строку

 btfss Strok,0 ; если 0-й бит strok =1, то следующая команда пропускается

 bcf PortA,2 ; RA2=0 - выкл.1 строку

;--------------------------------------

 btfsc Strok,1 ; если 1-й бит strok = 0, то следующая команда пропускается

 bsf PortA,3 ; RA3=1 - вкл.2 строку

 btfss Strok,1 ; если 1-й бит strok =1, то следующая команда пропускается

 bcf PortA,3 ; RA3=0 - выкл.2 строку

;--------------------------------------

 btfsc Strok,2 ; если 2-й бит strok = 0, то следующая команда пропускается

 bsf PortA,1 ; RA1=1 - вкл.3 строку

 btfss Strok,2 ; если 2-й бит strok =1, то следующая команда пропускается

 bcf PortA,1 ; RA1=0 - выкл.3 строку

;--------------------------------------

 btfsc Strok,3 ; если 3-й бит strok = 0, то следующая команда пропускается

 bsf PortA,7 ; RA7=1 - вкл.4 строку

 btfss Strok,3 ; если 3-й бит strok =1, то следующая команда пропускается

 bcf PortA,7 ; RA7=0 - выкл.4 столбец

;--------------------------------------

 btfsc Strok,4 ; если 4-й бит strok = 0, то следующая команда пропускается

 bsf PortA,6 ; RA6=1 - вкл.5 строку

 btfss Strok,4 ; если 4-й бит strok =1, то следующая команда пропускается

 bcf PortA,6 ; RA6=0 - выкл.5 строку

 return

;****** Пауза ******************************************************

pause movlw Cr

 movwf T_int ; загрузить кол-во циклов задержки

cikl3 decfsz T_int,1 ; если T_int = 0, следующая комада пропускается

 goto cikl3 ; внутренний цикл

 return

;****** Гашение всех светодиодов ***********************************

erase movf Strok,0

 movwf Temp

 movlw .0

 movwf Stolb

 movwf Strok

 call in_ports

 movf Temp,0

 movwf Strok

 return

;*******************************************************************************************************

 org 2100h ; EEPROM память

 de .6, .40 ; кол-во фреймов и кол-во показов одного фрейма (скорость)

 de b'00000100', b'00000100', b'00011111', b'00000100', b'00000100' ; первый фрейм

 de b'00001000', b'00000101', b'00001110', b'00010100', b'00000010' ; второй фрейм

 de b'00001000', b'00001011', b'00000100', b'00011010', b'00000010' ; третий фрейм

 de b'00010001', b'00001010', b'00000100', b'00001010', b'00010001' ; четвертый фрейм

 de b'00000010', b'00011010', b'00000100', b'00001011', b'00001000' ; пятый фрейм

 de b'00000010', b'00010100', b'00001110', b'00000101', b'00001000' ; шестой фрейм

 end

;--------------------------------------------------------------------------------------------------------------------------


ПРИЛОЖЕНИЕ Д

Схема электрическая принципиальная светодиодной матрицы


Информация о работе «Разработка светодиодной матрицы»
Раздел: Коммуникации и связь
Количество знаков с пробелами: 110685
Количество таблиц: 21
Количество изображений: 24

Похожие работы

Скачать
33259
2
0

... цифр из элементов в процессе считывания. Тип цифро-аналогового преобразования второго ТИ – с весовыми значениями резисторов для суммирования токов. 4. Выбор и расчет кода.   Разработку системы телемеханики следует начинать с построения временной диаграммы, которая является графическим представлением временных соотношений между разными фазами работы системы. Временная диаграмма позволяет ...

Скачать
509004
6
0

... ? 8. Какими программами можно воспользоваться для устранения проблем и ошибок, обнаруженных программой Sandra? Раздел 3. Автономная и комплексная проверка функционирования и диагностика СВТ, АПС и АПК Некоторые из достаточно интеллектуальных средств вычислительной техники, такие как принтеры, плоттеры, могут иметь режимы автономного тестировании. Так, автономный тест принтера запускается без ...

Скачать
28124
0
0

... разные стороны бумажного полотна, что позволяет производить печать 4 – 5 красками с обеих сторон. Станции работают на принципе электрофотографии с сухим тонером. В машинах фирмы Xeikon, как и вообще в цифровой технике, используется реверсивное проявление. Это означает, что отрицательно заряженное скрытое электростатическое изображение проявляется отрицательно заряженным тонером. Основные ...

Скачать
32171
7
0

... . Корпус стенда ЛС-2 имеет габариты: 260х320х60 мм . 2. Постановка задачи и основные технические требования предъявляемые к устройству . В результате проведенного анализа недостатков и достоинств лабораторного стенда ЛС2, а также с учетом технических и методических требований можно сформулировать основную задачу дипломного проекта: 1) Стенду необходимо иметь по возможности минимальные размеры. ...

0 комментариев


Наверх