Главная Гальваническое покрытие Обработка поверхности Радиотехника
Бессточные операции Гальвано- химическое производство Достижения

Самые новые
Основы организации современных гальвано-химических производств
Взаимная адаптация технологий гальванического производства и очистки сточных вод
Импульсная металлизация печатных плат
Создание высокоэффективных систем промывки деталей
Утилизация гальванических отходов как гигиеническая проблема
Получение химико-механических цинковых покрытий на высокопрочных термообработанных сталях
Переработка металлургических отходов
Последние достижения в гальванопластике
Обработка промывных вод травильных агрегатов
Экологические перспективные технологии цинкования, кадмирования и меднения
Об утилизации гальванических шламов
Технологии изготовления технологической оснастки и продуктов методом гальванопластики
Россия экспортировала продукции химической промышленности и каучука на 11,3 млн долларов
В октябре экспорт ферросплавов уменьшился на 0,03% до 108,9 тыс. тонн
Мировое производство стали за 10 месяцев 2006 года выросло на 9,2%
Производство алюминия продолжает расти
Химическое производство в России выросло на 1,2%
Китай за 10 месяцев увеличил выпуск медной продукции на 6,6% до 4,6 млн. т
"Антон" - "Северсталь"
Чистая прибыль ОАО "Ульяновский автомобильный завод"
Оценка эфф. подготовки поверхности полистирола перед химической металлизацией
"Российские металлургические компании и ЕС - особые отношения"
Аналитики расходятся во мнениях по прогнозу цен на железную руду
Evraz увеличивает выплаты
Китай вышел на ежемесячный объем экспорта стали
Чистая прибыль Borealis в III квартале выросла в 2,6 раза
"Цинк среди драгоценных металлов"
Росбанк стал держателем 29,33% "Норникеля"
"Северсталь" подорожала на 2.7 миллиарда долларов после вчерашнего IPO
Новая волна слухов на тему консолидации в мировой металлургии
Итоги деятельности химического комплекса за 9 месяцев
Стратегия развития металлургической промышленности
Инженеры в почете
Информационное обеспечение химического комплекса
Дефицит кадров
Спрос на оцинкованную сталь растет
Карта: 1 2 3 4 5 6 7 8 9
10 11 12 13 14
Главная Радиотехника


Полезные подпрограммы для PIC-контроллеров


Задержка с программируемым временем.

Задержка для этой подпрограммы задается перед обращением к ней как загрузка числа в регистр cnt1. Общее число циклов определяется по формуле: 256*256*cnt1*7. Для примера, приблизительно 1 секунда при частоте 20 МГц задается загрузкой 11 в cnt1. Примечательно, что в каждом цикле одно и тоже количество выполняемых команд.

Название: delay

Входные данные:
число, пропорциональное задержке в регистре cnt1.

Выходные: задержка.

Используемые регистры: cnt1, cnt2, cnt3.


; Delay 1sec@20MHz:

; cnt1 = Cycles/256/256/7 = (20000000/4)/256/256/7 = 10.899 = 11

;

delay movlw .11

movwf cnt1

clrf cnt2

clrf cnt3

dloop decfsz cnt3,f

goto $+2

decfsz cnt2,f

goto $+2

decfsz cnt1,f

goto dloop

return


Перевод двоичного числа в двоично-десятичное.

Для вывода цифр на индикатор (в примере на 4-разрядный) необходимо преобразовать 2-байтное двоичное число в двоично-десятичное (3-бфйтное). Вот подпрограмма, которая может это сделать.

Название: bin2bcd

Входные данные:
двоичное число в регистрах bin1, bin2. При этом bin1 - старший байт.

Выходные: единицы будут в младшей тетраде регистра bcd3, десятки в старшей регистра bcd3,

сотни в младшей тетраде регистра bcd2, тысячи в старшей bcd2,

десятки тысяч будут находиться в младшей тетраде регистра bcd1.

Используемые регистры: bin1, bin2, bcd1, bcd2, bcd3, ctr.


bin2bcd movlw .16

movwf ctr

clrf bcd1

clrf bcd2

clrf bcd3

goto start


adjdec movlw 0x33

addwf bcd1,f

addwf bcd2,f

addwf bcd3,f


movlw 0x03

btfss bcd1,3

subwf bcd1,f

btfss bcd2,3

subwf bcd2,f

btfss bcd3,3

subwf bcd3,f


movlw 0x30

btfss bcd1,7

subwf bcd1,f

btfss bcd2,7

subwf bcd2,f

btfss bcd3,7

subwf bcd3,f


start rlf bin2,f

rlf bin1,f

rlf bcd3,f

rlf bcd2,f

rlf bcd1,f

decfsz ctr,f

goto adjdec

return




Быстрый перевод 2-битного двоичного числа в "распакованное" десятичное.

Еще одна быстрая программа перевода, автор John Payson. Добавлением к каждому байту результата числа 30h можно получить число в ASCII формате.

; Binary-to-BCD. Written by John Payson.

;

; Enter with 16-bit binary number in NumH:NumL.

; Exits with BCD equivalent in TenK:Thou:Hund:Tens:Ones.

;

org $0010 ;Start of user files for 16c84

NumH: ds 1

NumL: ds 1

TenK: ds 1

Thou: ds 1

Hund: ds 1

Tens: ds 1

Ones: ds 1



Convert: ; Takes number in NumH:NumL

; Returns decimal in

; TenK:Thou:Hund:Tens:Ones

swapf NumH,w

andlw $0F ;*** PERSONALLY, I'D REPLACE THESE 2

addlw $F0 ;*** LINES WITH "IORLW 11110000B" -AW

movwf Thou

addwf Thou,f

addlw $E2

movwf Hund

addlw $32

movwf Ones


movf NumH,w

andlw $0F

addwf Hund,f

addwf Hund,f

addwf Ones,f

addlw $E9

movwf Tens

addwf Tens,f

addwf Tens,f


swapf NumL,w

andlw $0F

addwf Tens,f

addwf Ones,f


rlf Tens,f

rlf Ones,f

comf Ones,f

rlf Ones,f


movf NumL,w

andlw $0F

addwf Ones,f

rlf Thou,f


movlw $07

movwf TenK


; At this point, the

; original number is equal to

; TenK*10000+Thou*1000+Hund*100+Tens*10+Ones

; if those entities are regarded as two's compliment

; binary. To be precise, all of them are negative

; except TenK. Now the number needs to be normal-

; ized, but this can all be done with simple byte

; arithmetic.


movlw $0A ; Ten

Lb1:

addwf Ones,f

decf Tens,f

btfss 3,0

goto Lb1

Lb2:

addwf Tens,f

decf Hund,f

btfss 3,0

goto Lb2

Lb3:

addwf Hund,f

decf Thou,f

btfss 3,0

goto Lb3

Lb4:

addwf Thou,f

decf TenK,f

btfss 3,0

goto Lb4


retlw 0




Источник: disall.narod.ru

Читайте далее: Необычные профессии микросхем для часов, Применение АЦП КР572ПВ5, Экономичный преобразователь кода для семисегментного индикатора, Схема, обеспечивающая развертку по диагональной оси любого осциллографа, Мощный транзистор в лавинном режиме, Простой индикатор уровня сигнала на ИН13, Кварцевый фильтр, Повышение частоты кварца, Драйвер лазерной указки, Подставка для паяльника, Имитируем работу клавиатуры, Как удлинить ось, Как закрепить тонкое сверло в патроне электродрели, Нож для зачистки проводов, Третья рука радиоконструктора, Размещение инструмента,
Самые читаемые