Проект макета на основе PIC контроллера

Обзор семейства PIC контроллеров. Разработка кабельного пробника, который может быть использован в учебном процессе при проведении практических занятий по специальным дисциплинам связанных с изучением сетевых технологий. Алгоритм работы пробника.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид дипломная работа
Язык русский
Дата добавления 26.01.2013
Размер файла 2,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Монтаж устройства. Работа выполняется электромонтажником 4 разряда, и включает в себя сборку всех блоков устройства, установку комплектующих элементов, прокладку и соединение проводов. Норма времени на выполнение электромонтажных работ составляет 7 часов

Программирование устройства.

Работа выполняется программистом 6 разряда и включает в себя написание и отладку программы. Норма времени на выполнение операции составляет 10 часов.

Диагностика устройства. Работа выполняется электромонтажником 6 разряда, и заключается в проверке работоспособности устройства на диагностическом стенде. Норма времени на выполнение операции составляет 3 часа

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

Часовые тарифные ставки (ЧТС) рабочих, которые могут выполнять технологические операции по изготовлении данного изделия приведены в Таблице 7.

Таблица 7. Часовые тарифные ставки рабочих согласно квалификационных разрядов

Вид работ

Часовые тарифные ставки (ЧТС) за 1 норма/час

Квалификационные разряды

1

2

3

4

5

6

1

Слесарные работы

50

57

62

68

73

78

2

Электромонтажные работы

45

48

51

54

59

65

Рассчитаем сдельные расценки рабочих:

СРОР = ЧТС*tн ОП

СРОUI - сдельные расценки на отдельную операцию.

ЧТС - часовая тарифная ставка работника соответствующего уровня квалификации.

tн ОП - норма времени на конкретную операцию.

СР1=ЧТС1 * t= 62*7=434 руб.

СР2=ЧТС2 * t= 54*7 =378 руб.

Если труд специалиста оплачивается по тарифной системе, то оплату его труда за выполнение определённой технологической операции можно рассчитать по формуле:

ЗПСП = (ti/ Тм*Тg)* ТС, где

ЗПСП - оплата труда специалиста за выполненный объём работ, руб.

ti - время затраченное на вычисление данного объёма работ, час.

Тм - среднее число рабочих дней в месяце, дней.

Тg - продолжительность рабочего дня, час.

ТС - тарифная ставка, руб.

Тарифная ставка (ТС) представляет собой минимальный размер оплаты труда (МРОТ) увеличенный в зависимости от тарифного коэффициента тарифной сетки. (Кт)

ЗПсп1=(10/22*8)*1,407*4330 =22153 руб.

ЗПсп2=(3/22*8)*1,407*4330 =6646 руб.

Далее требуется :

- определить сколько стоит 1 норма/час специалиста (ЧТСусл.)

- определить стоимость работы специалиста (условная сдельная расценка)

ЗПСПj = ЧТСусл * ti , где

ЗПСПj - заработанная плата специалиста за выполнение конкретной (i-ой) операции. (Условная сдельная расценка).

ЧТСусл - стоимость одного нормо-часа работы данного специалиста (условная часовая тарифная ставка).

ОД =Ом/Тм , где

ОД - оклад за день работы (руб.)

Ом - оклад в месяц (руб.)

Тм - число рабочих дней в месяц (среднее за год)

Од1=22153/22 = 1006 руб.

Од2=6646/22=302 руб.

ЧТСусл = Од/ Tд , где

Тд- продолжительность рабочего дня.

ЧТСусл1=1006/8=126 руб.

ЧТСусл2=302/8=38 руб.

Теперь найдём условные сдельные расценки специалистов.

ЗПсрi = ЧТСусл*ti ,где

ti- - норма времени

ЗПсрi1= 126*10 =1260 руб.

ЗПсрi2 =38*3 = 114 руб.

Все рассчитанные данные сводим в Таблице 8

Таблица 8. Основная заработная плата рабочих и специалистов по изготовлению изделия. (Выполнение объема работ)

Наименование операции согласно технологическому процессу

Профессия рабочего (специалиста)

Разряд рабочего

по ЕТС

Разряд специалиста

по ЕТС

Норма времени tn(час) на операцию

ЧТС (руб)

СР (руб)

1

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

Слесарь

2

7

72

504

2

Монтаж устройства

Электромонтажник

3

7

60

420

3

Программирование

Программист

6

10

126

1260

4

Диагностика

Техник по ТОСВТ

6

3

38

114

ИТОГО:

2298

Расчет основной заработной платы:

ЗП0= СР1+ СР2+ СР3 + СР4 = 504+420+1260+114=2298 руб.

2.2.3. Расчёт дополнительной заработной платы (ЗПд).

Согласно калькуляции затрат дополнительная заработная плата составляет 30% от основной заработной платы.

ЗПд = 30% ЗПо = 0,3 * 2298 = 689 руб.

2.2.4 Отчисления страховых взносов

С 01.01.2010 года единый социальный налог(ЕСН) заменяется отчислениями страховых взносов в социальные фонды(ОСВ).

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

ОСВ =34%(3По+3Пд)=0,34(2289+689)=0.34*2978=1012 руб.

Причём страховые взносы распределяются следующим образом:

- Страховые взносы в пенсионный фонд (СВПФ) составляет 26% от суммы основной и дополнительной заработной платы работника.

СВПФ=26%(3По+3Пд)=26%*2978=774 руб.

- Страховые взносы в фонд социального страхования (СВФСС) составляет 2,9% от суммы основной и дополнительной заработной платы работника.

СВФСС=2,9%(3По+3Пд)=2,9%*2978=86 руб.

- Страховые взносы в федеральный фонд обязательного медицинского страхования (СВФФОМС) составляет 1,1% от суммы основной и дополнительной заработной платы работника

СВФФОМС=2,1%(3По+3Пд)=2,1%*2978=62 руб.

- Страховые взносы в территориальный фонд обязательного медицинского страхования (СВТФОМС) составляет 2% от суммы основной и дополнительной заработной платы работника

СВТФОМС=3%(3По+3Пд)=3%*2978=89руб.

В плановую калькуляцию(смету) затрат включаются суммарные отчисления страховых взносов(ОСВ).

2.2.5 Расчёт цеховых расходов (ЦР)

Суммарные цеховые расходы ЦР, включающие ряд составляющих расходов ( ЗЭ.З., ЗА.З., ЗАУП, ПРЦР.) определены в калькуляции, как 133% от основной заработной платы.

ЦР = 133% ЗПо = 1,33 ЗПо = 1,33*2289=3044 руб.

Причём составляющие цеховых расходов можно рассчитать:

· Затраты на эксплуатацию зданий (отопление, освещение, водоснабжение и т.д.) (Зэ.з.)

Зэ.з. = 37%ЦР = 0,37ЦР = 0,37*3044=1126 руб.

· Затраты на амортизацию и текущий ремонт зданий и сооружений (ЗА.з.):

ЗА.з. = 41%ЦР = 0,41ЦР = 0,41*3044=1248 руб.

· Затраты на заработную плату административно - управленческого персонала (ЗПауп):

ЗПАУП = 20%ЦР = 0,20ЦР = 0,20*3044=609 руб.

· Прочие расходы включения в статью цеховые расходы (ПРцр):

ПРцр = 2% ЦР = 0,02 * ЦР = 0,02*3044=61 руб.

ЦР = ЗА.З. + Зэ.з. + ЗАУП + ПРцр=1192+1076+581+58=3044 руб.

2.2.6Расчёт затрат на ремонт, содержание и эксплуатацию оборудования и оснастки. (Зр.с.о)

Суммарные затраты на ремонт, содержание и эксплуатацию оборудования составят:

Зр.с.о. = 112% ЗПо = 1,12 * ЗПо = 1,12*2186=2448 руб.

Причём составляющие этой статьи так же рассчитываются:

· Затраты на амортизацию оборудования и оснастки (З А.О.)

З А.О. = 61% З р.с.о. = 0,61 р.с.о. = 0,61*2448=1493 руб.

· Затарты на эксплуатацию оборудования (силовая электроэнергия, текущий ремонт и т.д.) (З э.о.)

З Э.О. = 30% З р.с.о. = 0,3 * З р.с.о. = 0,3*2448=734 руб.

· Затраты на износ мерительного и другого инструмента и приспособлений (З и.и.п.)

З и.и.п. = 8% З р.с.о. = 0,08 * Зр.с.о. = 0,08*2448=196 руб.

· Прочие затраты (расходы) по этой статье (ПРрсо)

ПРр.с.о. = 1% Зр.с.о. = 0,01 Зр.с.о. = 0,01*2448=25 руб.

Зр.с.о. = ЗА.О. + З э.о. + З и.и.п. + ПР р.с.о.=1493+734+196+25=2448 руб.

2.2.7 Расчёт общих расходов (ОР).

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

ОР = 5% ЗПо = 0,05 * ЗПо = 0.05*2289=114 руб.

2.2.8. Расчёт себестоимости изготовления единицы продукции (С).

Себестоимость рассчитывается как сумма затрат по статьям 1…7

С = Зм + ЗПо + ЗПд + ОСВ + ЦР + З р.с.о. + ОР=

= 2822+2298+704+1012+3044+2448+109=11526 руб.

1 2.2.9. Расчёт внепроизводственных расходов (З в.п.)

Они составляют 1% от величины основной заработной платы.

З в.п. = 1% ЗПо = 0,01 ЗПо = 0.01*2298=23 руб.

2.2.10 Расчёт общей себестоимости изготовления единицы продукции (Со).

Она составляет сумму затрат по статьям 8 и 9.

Со = С + З в.п. = 11526+21=11547 руб.

2.2.11.Расчёт плановой прибыли (П)

Величина плановой прибыли при изготовлении единицы продукции (объёма работ) закладывается в диапазоне от 15% до 20% от величины общей себестоимости.

Например: П = 15% СО = 0,15 СО = 0.15*11547=1732 руб.

2.2.12 Расчёт оптовой цены на единицу продукции

Она составляет сумму величины общей себестоимости и плановой прибыли.

Цопт = Со + П = 11547+1732=13499 руб.

2.2.13Расчёт налога на добавленную стоимость (НДС)

Согласно закона на 01.01.2010 года она составляет 18% от величины оптовой цены.

НДС = 18% Цопт = 0,18 Цопт = 0.18*13499=2429 руб.

2.2.14Расчёт отпускной цены (Ц) на продукцию.

Она равняется сумме значений по статьям 12 и 13.

Ц = Цопт + НДС = 13399+2429=15928 руб.

2.2.2 Расчёт рентабельности продукции (Рп)

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

Рп = П/Со * 100% = 1696/11304*100%=15%

Рп - рентабельность продукции, %

П - плановая прибыль (руб)

Со - общая себестоимость продукции (руб)

Все расчетные данные сводим в итоговую таблицу

Таблица 9.Итоговая таблица плановой калькуляции

Наименование статей расходов

обозначение

Сумма, руб.

1

2

3

4

1

Основание и вспомогательные материалы комплектующие

2839

2

Основная заработная плата

3По

2289

3

Дополнительная заработная плата

3Пд

689

4

Отчисление страховых взносов налога

ОСВ

1012

5

Цеховые расходы, ВСЕГО:

ЦР

3044

Амортизация и текущий ремонт зданий и сооружений

3А.З.

1192

Эксплуатация зданий (отопление, освещение, водоснабжение и т.д.)

3 э.з.

1076

Заработная плата административно-управленческого персонала

3 ПАУП

581

Прочие расходы

ПРцр

58

6

Ремонт, содержание и эксплуатация оборудования, ВСЕГО:

3р.с.о.

2448

Амортизация оборудования, оснастки

3А.О.

1493

Эксплуатация оборудования (силовая электроэнергия, текущий ремонт и т.д.)

3э.о.

734

Износ режущего и мерительного инструмента, приспособлений и т.д.

3и.и.п.

196

Прочие расходы

ПРр.с.о.

24

7

Общие расходы (охрана труда, экология и т.д.)

ОР

114

8

Себестоимость изготовления единицы продукции (работ)

С

11526

9

Внепроизводственные расходы

3в.п.

23

10

Общая себестоимость

Со

11547

11

Плановая прибыль

П

1732

12

Оптовая цена

Цопт

13499

13

Налог на добавленную стоимость

НДС

2429

14

Отпускная цена

Ц

18457

ЗАКЛЮЧЕНИЕ

Был спроектирован макет на основе PIC контроллера. При этом, рассматривались характеристики PIC контроллеров из разных семейств и из всех был выбран один включивший в себя все положительные стороны остальных. Макет рассчитан на малые нагрузки, и поэтому его очень удобно использовать на практических занятиях в учебных заведениях.

Согласно заданию была рассчитана себестоимость макета.

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

Список используемых сокращений

1. PIC - Peripheral Interface Controller (Периферийный интерфейс контроллера);

2. БП - блок питания

3. БУ - блок управления

4. БК - блок камутации

5. БИ - блок индикации

6. GND - Ground (земля);

7. USB - Universal Serial Bus (универсальная последовательная шина);

8. COM - Communication port (соединяющий порт);

9. ADC (АЦП) - Analog-to-digital converter (аналого-цифровой преобразователь);

10. MIPS - Million Instructions Per Second (миллион инструкций в секунду);

11. EEPROM - Electrically Erasable Programmable Read-Only Memory (электрически стираемое перепрограммируемое постоянное запоминающее устройство);

12. ПК - Персональный Компьютер;

СПИСОК РЕКОМЕНДОВАННОЙ ЛИТЕРАТУРЫ

контроллер кабельный пробник

Научная литература:

1 Заяц .Н.И.Радиолюбительские конструкции на PIC микроконтроллерах22, 2003 , - 177стр с ил.

2 Предко М. Справочник по PIC-контроллерам: Перевод с англ. - Москва: ДМК Пресс, 2002 ., ООО “Издательский дом “Додэка-XXI”, 2002 г. - 512 стр. с ил.

3 Катцен С. PIC-контроллеры. Все, что вам необходимо знать, перевод с англ. Евстифеева А.В., Москва: ООО “Издательский дом “Додэка-XXI”, 2008 . - 656 стр. с ил.

4 Возов А. На меньше числе микросхем - Радио, 1988, №4, с. 44.

5 Luigi Rizzo. Кабельный пробник - Радио, 2002, №2, с. 6.

Электронные источники:

1. Пример работы с PIC контроллерами: http://www.pology.zp.ua/har/usb_module.html#list

2. Описание контроллера :

http://www.microchip.ru/d-sheets/35007.htm:pic16f84a:1x1

3. Общая информация:

http://ru.wikipedia.org/

4. Комплектующие к макету:

http://www.microchip.com/

http://www.icmicro.ru/

http://www.chipdip.ru

ПРИЛОЖЕНИЕ А

1. Принципиальная схема передатчика

ПРИЛОЖЕНИЕ B

2. Принципиальная схема приемника

ПРИЛОЖЕНИЕ C

3. Алгоритм работы передатчика

ПРИЛОЖЕНИЕ D

4. Алгоритм работы приемника

ПРИЛОЖЕНИЕ E

5. Текст программы передатчика

;

; КАБЕЛЬНЫЙ ПРОБНИК НА 80 НАПРАВЛЕНИЙ,

; ПЕРЕДАТЧИК.

; РАЗРАБОТАЛ ГАСАНОВ ПЕТР.

;

; ПРОГРАММА = KABELPD.ASM

; ВЕРСИЯ: 08-05-11.

; АССЕМБЛЕР И ОТЛАДЧИК: MPLAB IDE, ВЕРСИЯ: 5.61.00.

;

#include p16f84a.inc

__CONFIG 3FF1H

;=========================================

; ИСПОЛЬЗУЕТСЯ КВАРЦ ЧАСТОТОЙ 4,0 МГЦ.

;=========================================

; RB0=1, RB1=2, RB2=3, RB4=4, RB5=6, RB6=7, RB7=8,

; RA3=9, RA4=10, RA0-RA2 - ВЫХОД ДЕСЯТКОВ.

;=========================================

; СПЕЦ РЕГИСТРЫ.

;=========================================

INDF EQU 00H ;ДОСТУП К ПАМЯТИ ЧЕРЕЗ FSR.

TIMER0 EQU 01H ;TMR0.

OPTIONR EQU 81H ;OPTION (RP0=1).

PC EQU 02H ;СЧЕТЧИК КОМАНД.

STATUS EQU 03H ;РЕГИСТР СОСТОЯНИЯ АЛУ.

FSR EQU 04H ;РЕГИСТР КОСВЕННОЙ АДРЕСАЦИИ.

PORTA EQU 05H ;ПОРТ А ВВОДА/ВЫВОДА.

PORTB EQU 06H ;ПОРТ В ВВОДА/ВЫВОДА.

TRISA EQU 85H ;НАПРАВЛЕНИЯ ДАННЫХ ПОРТА А.

TRISB EQU 86H ;НАПРАВЛЕНИЯ ДАННЫХ ПОРТА В.

INTCON EQU 0BH ;РЕГИСТР ФЛАГОВ ПРЕРЫВАНИЙ.

;===========================================

; ОПРЕДЕЛЕНИЕ РЕГИСТРОВ.

;===========================================

SC0 EQU 0CH ;МЛАДШИЙ РЕГИСТР ВЫХОДНЫХ ИМПУЛЬСОВ.

SC1 EQU 0DH ;

SC2 EQU 0EH ;

SC3 EQU 0FH ;

SC4 EQU 10H ;

SC5 EQU 11H ;

SC6 EQU 12H ;

SC7 EQU 13H ;

SC8 EQU 14H ;

SC9 EQU 15H ;СТАРШИЙ РЕГИСТР.

COU EQU 16H ;СЧЕТЧИК ПАУЗЫ.

SMC EQU 17H ;СЧЕТЧИК ПРЕРЫВАНИЙ.

ANOD EQU 18H ;РЕГИСТР ДЕСЯТКОВ.

;========================================

; ВРЕМЕННЫЕ РЕГИСТРЫ.

;========================================

W_TEMP EQU 19H ;БАЙТ СОХРАНЕНИЯ РЕГИСТРА W ПРИ ПРЕРЫВАНИИ.

STATUS_TEMP EQU 1AH ;БАЙТ СОХРАНЕНИЯ РЕГИСТРА STATUS ПРИ ПРЕРЫВАНИИ.

FSR_TEMP EQU 1BH ;ВРЕМЕННЫЙ ДЛЯ FSR.

;=========================

; 1. ПУСК.

;=========================

ORG 0

GOTO INIT

ORG 4

GOTO CONST

;======================

; 2. ИНИЦИАЛИЗАЦИЯ.

;======================

INIT

BSF STATUS,RP0 ;ПЕРЕХОДИМ В БАНК 1.

MOVLW B'00000100' ;ПРЕДДЕЛИТЕЛЬ ПЕРЕД ТАЙМЕРОМ, К=32 ...100,

MOVWF OPTION_REG^80H ;ПОДТЯГИВАЮЩИЕ РЕЗИСТОРЫ ПОДКЛЮЧЕНЫ.

MOVLW B'10100000' ;РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ = ПРИ ПЕРЕПОЛНЕНИИ ТАЙМЕРА.

MOVWF INTCON ;

MOVLW B'00000000' ; RA0-RA4-НА ВЫХОД.

MOVWF TRISA^80H

MOVLW B'00000000' ; RB0-RB7-НА ВЫХОД.

MOVWF TRISB^80H

BCF STATUS,RP0 ;ПЕРЕХОДИМ В БАНК 0.

CLRF TMR0 ;ВСЕ ОБНУЛЯЕМ И УСТАНАВЛИВАЕМ

CLRF SC0

CLRF SC1

CLRF SC2

CLRF SC3

CLRF SC4

CLRF SC5

CLRF SC6

CLRF SC7

CLRF SC8

CLRF SC9

GOTO IDOO ;ИДЕМ НА ФОРМИРОВАНИЕ ИМПУЛЬСОВ.

;======================================

; 3. ТАБЛИЦА ПЕРЕКОДИРОВКИ.

;======================================

DES

ADDWF PC,1

RETLW .0

RETLW .10

RETLW .20

RETLW .30

RETLW .40

RETLW .50

RETLW .60

RETLW .70

;========================================

; 4. ВЫВОД ИМПУЛЬСОВ.

;========================================

IDOO

CLRF ANOD ;ОБНУЛЯЕМ ДЕСЯТКИ.

IDAO

MOVFW ANOD ;ПЕРЕПИШЕМ ЗНАЧЕНИЕ ДЕСЯТКОВ

MOVWF PORTA ;В ПОРТ А.

;==============================================

ID0

BSF INTCON,7 ;РАЗРЕШАЕМ ПРЕРЫВАНИЯ.

MOVLW .1 ;ЗАПИШЕМ КОНСТАНТУ

MOVWF SC0 ;В РЕГИСТР ВЫХОДА.

MOVFW ANOD ;УЗНАЕМ

CALL DES ;ДЕСЯТКИ.

ADDWF SC0,1 ;ПРОСУММИРУЕМ.

ID0Z

TSTF SC0 ;ЕСЛИ

SKPNZ ;РЕГИСТР НУЛЕВОЙ,

GOTO ID0I ;ИДЕМ НА ЗАВЕРШЕНИЕ.

DECF SC0,1 ;ВЫЧТЕМ 1 ИЗ РЕГИСТРА.

BSF PORTB,0 ;ВКЛЮЧИМ ВЫХОД.

CALL ID200 ;ОТРАБОТАЕМ ПАУЗУ, РАВНУЮ ДЛИТЕЛЬНОСТИ ЕДИНИЦЫ.

BCF PORTB,0 ;ВЫКЛЮЧИМ ВЫХОД.

CALL ID200 ;ОТРАБОТАЕМ ПАУЗУ, РАВНУЮ ДЛИТЕЛЬНОСТИ НОЛЯ.

GOTO ID0Z ;НАЧНЕМ СНАЧАЛА.

ID0I

BTFSC INTCON,7 ;ЖДЕМ ПРЕРЫВАНИЯ.

GOTO ID0I ;ХОДИМ ПО КРУГУ.

;=========================================

ID1

BSF INTCON,7 ;ОСТАЛЬНЫЕ 9 ВЫХОДОВ КОММУТИРУЮТСЯ

MOVLW .2 ;АНАЛОГИЧНО ПЕРВОМУ.

MOVWF SC1 ;

MOVFW ANOD ;

CALL DES ;

ADDWF SC1,1 ;

ID1Z

TSTF SC1 ;

SKPNZ ;

GOTO ID1I ;

DECF SC1,1 ;

BSF PORTB,1 ;ВКЛЮЧИМ ВЫХОД.

CALL ID200

BCF PORTB,1 ;ВЫКЛЮЧИМ ВЫХОД.

CALL ID200

GOTO ID1Z ;

ID1I

BTFSC INTCON,7 ;

GOTO ID1I ;

;=========================================

ID2

BSF INTCON,7 ;

MOVLW .3

MOVWF SC2

MOVFW ANOD

CALL DES

ADDWF SC2,1

ID2Z

TSTF SC2 ;

SKPNZ ;

GOTO ID2I ;

DECF SC2,1 ;

BSF PORTB,2 ;ВКЛЮЧИМ ВЫХОД.

CALL ID200

BCF PORTB,2 ;ВЫКЛЮЧИМ ВЫХОД.

CALL ID200

GOTO ID2Z ;

ID2I

BTFSC INTCON,7 ;

GOTO ID2I ;

;=========================================

ID3

BSF INTCON,7 ;

MOVLW .4

MOVWF SC3

MOVFW ANOD

CALL DES

ADDWF SC3,1

ID3Z

TSTF SC3 ;

SKPNZ ;

GOTO ID3I ;

DECF SC3,1 ;

BSF PORTB,3 ;ВКЛЮЧИМ ВЫХОД.

CALL ID200

BCF PORTB,3 ;ВЫКЛЮЧИМ ВЫХОД.

CALL ID200

GOTO ID3Z ;

ID3I

BTFSC INTCON,7 ;

GOTO ID3I ;

;=========================================

ID4

BSF INTCON,7 ;

MOVLW .5

MOVWF SC4

MOVFW ANOD

CALL DES

ADDWF SC4,1

ID4Z

TSTF SC4 ;

SKPNZ ;

GOTO ID4I ;

DECF SC4,1 ;

BSF PORTB,4 ;ВКЛЮЧИМ ВЫХОД.

CALL ID200

BCF PORTB,4 ;ВЫКЛЮЧИМ ВЫХОД.

CALL ID200

GOTO ID4Z ;

ID4I

BTFSC INTCON,7 ;

GOTO ID4I ;

;=========================================

ID5

BSF INTCON,7 ;

MOVLW .6

MOVWF SC5

MOVFW ANOD

CALL DES

ADDWF SC5,1

ID5Z

TSTF SC5

SKPNZ

GOTO ID5I

DECF SC5,1

BSF PORTB,5 ;ВКЛЮЧИМ ВЫХОД.

CALL ID200

BCF PORTB,5 ;ВЫКЛЮЧИМ ВЫХОД.

CALL ID200

GOTO ID5Z ;НАЧНЕМ СНАЧАЛА.

ID5I

BTFSC INTCON,7

GOTO ID5I

;=========================================

ID6

BSF INTCON,7

MOVLW .7

MOVWF SC6

MOVFW ANOD

CALL DES

ADDWF SC6,1

ID6Z

TSTF SC6

SKPNZ

GOTO ID6I

DECF SC6,1

BSF PORTB,6 ;ВКЛЮЧИМ ВЫХОД.

CALL ID200

BCF PORTB,6 ;ВЫКЛЮЧИМ ВЫХОД.

CALL ID200

GOTO ID6Z

ID6I

BTFSC INTCON,7

GOTO ID6I

;=========================================

ID7

BSF INTCON,7

MOVLW .8

MOVWF SC7

MOVFW ANOD

CALL DES

ADDWF SC7,1

ID7Z

TSTF SC7

SKPNZ

GOTO ID7I

DECF SC7,1

BSF PORTB,7 ;ВКЛЮЧИМ ВЫХОД.

CALL ID200

BCF PORTB,7 ;ВЫКЛЮЧИМ ВЫХОД.

CALL ID200

GOTO ID7Z

ID7I

BTFSC INTCON,7

GOTO ID7I

;=========================================

ID8

BSF INTCON,7

MOVLW .9

MOVWF SC8

MOVFW ANOD

CALL DES

ADDWF SC8,1

ID8Z

TSTF SC8

SKPNZ

GOTO ID8I

DECF SC8,1

BSF PORTA,3 ;ВКЛЮЧИМ ВЫХОД.

CALL ID200

BCF PORTA,3 ;ВЫКЛЮЧИМ ВЫХОД.

CALL ID200

GOTO ID8Z

ID8I

BTFSC INTCON,7

GOTO ID8I

;=========================================

ID9

BSF INTCON,7

MOVLW .10

MOVWF SC9

MOVFW ANOD

CALL DES

ADDWF SC9,1

ID9Z

TSTF SC9

SKPNZ

GOTO ID9I

DECF SC9,1

BSF PORTA,4 ;ВКЛЮЧИМ ВЫХОД.

CALL ID200

BCF PORTA,4 ;ВЫКЛЮЧИМ ВЫХОД.

CALL ID200

GOTO ID9Z

ID9I

BTFSC INTCON,7

GOTO ID9I

;==========================================

IDA

INCF ANOD,1 ;УВЕЛИЧИМ ДЕСЯТКИ.

MOVLW .8 ;НЕ БОЛЕЕ 80.

SUBWF ANOD,0 ;ВЫЧТЕМ.

BTFSC STATUS,2 ;ЕСЛИ НОЛЬ,

GOTO IDOO ;ПРОДОЛЖИМ С ОБНУЛЕНИЕМ.

GOTO IDAO ;ИЛИ БЕЗ ОБНУЛЕНИЯ.

;===========================

; 5. ПАУЗА.

;===========================

ID200

MOVLW .3 ;ПАУЗА 24 МИКРОСЕКУНДЫ.

MOVWF COU ;

PAUSA

DECF COU,1 ;ВЫЧТЕМ 1.

NOP

TSTF COU ;ПРОТЕСТИРУЕМ НА НОЛЬ.

SKPZ ;ЕСЛИ НЕ РАВНО НУЛЮ,

GOTO PAUSA ;ПОВТОРИМ.

RETURN

;===================================================================

; 6. СОХРАНЕНИЕ И ВОССТАНОВЛЕНИЕ ЗНАЧЕНИЙ РЕГИСТРОВ ПРИ ПРЕРЫВАНИИ.

;===================================================================

CONST

MOVWF W_TEMP ;СОХРАНЕНИЕ ЗНАЧЕНИЙ РЕГИСТРОВ W И

MOVFW STATUS ;STATUS,

MOVWF STATUS_TEMP ;

MOVFW FSR ;FSR.

MOVWF FSR_TEMP ;

CALL S1 ;ПРИБАВИМ 1 В СЧЕТЧИК.

RECONST ;ВОССТАНОВЛЕНИЕ СОХРАНЕННЫХ ЗНАЧЕНИЙ.

BCF INTCON,2 ;СБРОС ФЛАГА (T0IF) ПЕРЕПОЛНЕНИЯ ТАЙМЕРА.

MOVFW STATUS_TEMP ;ВОССТАНОВЛЕНИЕ РЕГИСТРОВ:

MOVWF STATUS ;STATUS,

MOVFW FSR_TEMP ;

MOVWF FSR ;FSR,

MOVLW .119 ;ДЛИТЕЛЬНОСТЬ ПОДОБРАНА ТАК,ЧТОБЫ БЫЛА РАВНА

MOVWF TMR0 ;НЕ МЕНЕЕ 80 ПЕРИОДАМ ИМПУЛЬСОВ.

MOVFW W_TEMP ;W.

RETURN ;ВОЗВРАТ ИЗ ПРЕРЫВАНИЯ.

;============================

; 7. ОТСЧЕТ ПРЕРЫВАНИЙ.

;============================

S1

INCF SMC,1 ;ЗНАЧЕНИЯ РЕГИСТРА НЕ ИСПОЛЬЗУЮТСЯ.

RETURN

;==============================================

END

;==============================================

ПРИЛОЖЕНИЕ F

6. Текст программы приемника

;

; КАБЕЛЬНЫЙ ПРОБНИК. ПРИЕМНИК.

; МАКСИМАЛЬНАЯ ЧАСТОТА СЧЕТА ДО 28 КГЦ.

; 2 РАЗРЯДА ИНДИКАЦИИ.

;

; РАЗРАБОТАЛ ГАСАНОВ ПЁТР.

; ПРОГРАММА = KABELPM.ASM

; ВЕРСИЯ: 08-05-11.

; АССЕМБЛЕР И ОТЛАДЧИК: MPLAB IDE, ВЕРСИЯ: 5.61.00.

;

#include p16f84a.inc

__CONFIG 3FF2H

;======================================

; ИСПОЛЬЗУЕТСЯ КВАРЦ ЧАСТОТОЙ 4,0 МГЦ.

; RB0 - ВХОД.

; RA0, RA1 - ВЫХОД КАТОДА.

; RB1-RB7 - ВЫХОД СЕГМЕНТОВ.

;======================================

; СПЕЦ РЕГИСТРЫ.

;================

INDF EQU 00H ;ДОСТУП К ПАМЯТИ ЧЕРЕЗ FSR.

TIMER0 EQU 01H ;TMR0.

OPTIONR EQU 81H ;OPTION (RP0=1).

PC EQU 02H ;СЧЕТЧИК КОМАНД.

STATUS EQU 03H ;РЕГИСТР СОСТОЯНИЯ АЛУ.

FSR EQU 04H ;РЕГИСТР КОСВЕННОЙ АДРЕСАЦИИ.

PORTA EQU 05H ;ПОРТ А ВВОДА/ВЫВОДА.

PORTB EQU 06H ;ПОРТ В ВВОДА/ВЫВОДА.

TRISA EQU 85H ;НАПРАВЛЕНИЯ ДАННЫХ ПОРТА А.

TRISB EQU 86H ;НАПРАВЛЕНИЯ ДАННЫХ ПОРТА В.

INTCON EQU 0BH ;РЕГИСТР ФЛАГОВ ПРЕРЫВАНИЙ.

;=================================

; ОПРЕДЕЛЕНИЕ РАБОЧИХ РЕГИСТРОВ.

;=================================

SC0 EQU 0CH ;МЛАДШИЙ РАЗРЯД СЧЕТЧИКА.

SC1 EQU 0DH ;ДЕСЯТКИ СЧЕТЧИКА.

SC00 EQU 0EH ;НУЛЕВОЙ РАЗРЯД ИНДИКАЦИИ.

SC11 EQU 0FH ;ПЕРВЫЙ РАЗРЯД ИНДИКАЦИИ

ANOD EQU 10H ;КАТОД.

SEG EQU 11H ;РЕГИСТР СЕГМЕНТОВ.

COU3 EQU 12H ;СЧЕТЧИК ПАУЗЫ.

COU EQU 14H ;

;====================

; ВРЕМЕННЫЕ РЕГИСТРЫ.

;====================

W_TEMP EQU 021H ;БАЙТ СОХРАНЕНИЯ РЕГИСТРА W ПРИ ПРЕРЫВАНИИ.

STATUS_TEMP EQU 022H ;БАЙТ СОХРАНЕНИЯ РЕГИСТРА STATUS ПРИ ПРЕРЫВАНИИ.

FSR_TEMP EQU 023H ;ВРЕМЕННЫЙ ДЛЯ FSR.

;==================

; 1. ПУСК.

;==================

ORG 0

GOTO INIT

ORG 4

GOTO CONST

;==================

; 2. ИНИЦИАЛИЗАЦИЯ.

;==================

INIT

BSF STATUS,RP0 ;ПЕРЕХОДИМ В БАНК 1.

MOVLW B'01000100' ;ПОДТЯГИВАЮЩИЕ РЕЗИСТОРЫ ПОДКЛЮЧЕНЫ, К=32 ...100.

MOVWF OPTION_REG^80H ;

MOVLW B'10110000' ;РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ = ПРИ ИЗМЕНЕНИИ СИГНАЛА ПОРТВ, В0.

MOVWF INTCON ;

MOVLW B'00000000' ;ВСЕ - НА ВЫХОД.

MOVWF TRISA^80H

MOVLW B'00000001' ; RB1-RB7-НА ВЫХОД, RB0-ВХОД.

MOVWF TRISB^80H

BCF STATUS,RP0 ;ПЕРЕХОДИМ В БАНК 0.

CLRF TMR0 ;ВСЕ ОБНУЛЯЕМ И УСТАНАВЛИВАЕМ

CLRF SC0

CLRF SC1

CLRF SC00

CLRF SC11

CLRF COU3

CLRF COU

CLRF SEG

GOTO ZS0 ;ИДЕМ НА ИНДИКАЦИЮ.

;========================================

; 3. ТАБЛИЦА СЕГМЕНТОВ ДЛЯ ОБЩЕГО КАТОДА.

;========================================

SEGDATA ; 7, 6, 5, 4, 3, 2, 1, 0.

ADDWF PCL,F ; G, F, E, D, C, B, A, IN.

; ОБЩИЙ: КАТОД АНОД

RETLW B'01111110' ; B'1000000' 0

RETLW B'00001100' ; B'1111001' 1

RETLW B'10110110' ; B'0100100' 2

RETLW B'10011110' ; B'0110000' 3

RETLW B'11001100' ; B'0011001' 4

RETLW B'11011010' ; B'0010010' 5

RETLW B'11111010' ; B'0000010' 6

RETLW B'00001110' ; B'1111000' 7

RETLW B'11111110' ; B'0000000' 8

RETLW B'11011110' ; B'0010000' 9

;==============================================

; 4. ПП. ИНДИКАЦИИ.

;==============================================

ZS0

CLRF ANOD ;ОБНУЛЯЕМ РЕГИСТР АНОДА.

BSF ANOD,1

MOVFW SC00 ;ПЕРЕПИШЕМ ЗНАЧЕНИЕ НУЛЕВОГО РАЗРЯДА ИНДИКАЦИИ

CALL INDZIKL ;И ПОЙДЕМ НА ИНДИКАЦИЮ.

CALL MC4 ;ВЫДЕРЖКА 5 МС.

ZS1

CLRF ANOD

BSF ANOD,0

MOVFW SC11 ;ИНДИЦИРУЕМ АНАЛОГИЧНО НУЛЕВОМУ.

CALL INDZIKL ;

CALL MC4 ;ВЫДЕРЖКА 5 МС.

GOTO ZS0 ;НАЧНЕМ СНАЧАЛА.

INDZIKL

CALL SEGDATA ;ОПРЕДЕЛИМ ЗНАЧЕНИЯ СЕГМЕНТОВ.

MOVWF PORTB ;В ВЫХОДНОЙ РЕГИСТР ПОРТА B ПЕРЕПИШЕМ ЗНАЧЕНИЯ СЕГМЕНТОВ.

MOVFW ANOD ;ЗАГРУЖАЕМ НОМЕР КАТОДА

MOVWF PORTA ;В ПОРТ А.

RETURN

MC4

CLRF COU3

MOVLW .200 ;ЗАДЕРЖКА НА ИНДИКАЦИЮ 5 МС.

MOVWF COU3

MC2

DECF COU3,1 ;ВЫЧИТАЕМ 1 ДО НУЛЯ.

SKPNZ ;ЕСЛИ РАВНО НУЛЮ,

RETURN ;ВОЗВРАЩАЕМСЯ.

MOVLW .5 ;5х200

MC1

ADDLW -01H

BNZ MC1

GOTO MC2 ;ЗАЦИКЛИВАЕМСЯ ДО ОБНУЛЕНИЯ РЕГИСТРА.

;===================================

; 5. ПЕРЕЗАПИСЬ В РЕГИСТРЫ ИНДИКАЦИИ.

;===================================

SEC

INCF COU,1

MOVLW .80 ;ЕСЛИ УЖЕ 1 СЕКУНДА,

SUBWF COU,0 ;4 х 0,25,

SKPZ ;

RETURN

CLRF COU

MOVFW SC0

MOVWF SC00

MOVFW SC1

MOVWF SC11

CLRF SC0

CLRF SC1

RETURN

;==================================================================

; 6. СОХРАНЕНИЕ И ВОССТАНОВЛЕНИЕ ЗНАЧЕНИЙ РЕГИСТРОВ ПРИ ПРЕРЫВАНИИ.

;===================================================================

CONST

MOVWF W_TEMP ;СОХРАНЕНИЕ ЗНАЧЕНИЙ РЕГИСТРОВ W И

MOVFW STATUS ;STATUS,

MOVWF STATUS_TEMP ;

MOVFW FSR ;FSR.

MOVWF FSR_TEMP ;

BTFSC INTCON,1

GOTO S01 ;ПРИБАВИМ 1 В СЧЕТЧИК.

CALL SEC

RECONST ;ВОССТАНОВЛЕНИЕ СОХРАНЕННЫХ ЗНАЧЕНИЙ.

BCF INTCON,2 ;СБРОСИМ ФЛАГ ПО ПЕРЕПОЛНЕНИЮ ТАЙМЕРА.

BCF INTCON,1 ;СБРОСИМ ФЛАГ ПРЕРЫВАНИЯ ПО ВХОДУ RВ0.

MOVFW STATUS_TEMP ;ВОССТАНОВЛЕНИЕ РЕГИСТРОВ:

MOVWF STATUS ;STATUS,

MOVFW FSR_TEMP ;

MOVWF FSR ;FSR,

MOVLW .120 ;ДЛЯ СИНХРОНИЗАЦИИ УСТАНОВИМ ТАЙМЕР ОДИНАКОВО

MOVWF TMR0 ;С ПЕРЕДАТЧИКОМ.

MOVFW W_TEMP ;W.

RETFIE ;ВОЗВРАТ ИЗ ПРЕРЫВАНИЯ.

;=================

; 7. СЧЕТ.

;=================

S01

CLRF TMR0 ;ОБНУЛЯЕМ ПРИ КАЖДОМ ИМПУЛЬСЕ.

MOVLW .9 ;ЕСЛИ УЖЕ 9,

SUBWF SC0,0

BC S10 ;ИДЕМ НА СРАВНЕНИЕ ДЕСЯТКОВ.

INCF SC0,1 ;ИНАЧЕ ПРИБАВИМ ЕДИНИЦУ.

GOTO RECONST

S10

CLRF SC0

MOVLW .9 ;ЕСЛИ УЖЕ 9,

SUBWF SC1,0

BC SOO ;ИДЕМ НА ОБНУЛЕНИЕ.

INCF SC1,1 ;ИНАЧЕ ПРИБАВИМ ЕДИНИЦУ.

GOTO RECONST

SOO

CLRF SC0

CLRF SC1

GOTO RECONST

;=============================================

END

;==============================================

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.