Юрий Ревич - Занимательная микроэлектроника

Тут можно читать онлайн Юрий Ревич - Занимательная микроэлектроника - бесплатно ознакомительный отрывок. Жанр: sci_radio, издательство БХВ-Петербург, год 2007. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
Юрий Ревич - Занимательная микроэлектроника
  • Название:
    Занимательная микроэлектроника
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2007
  • Город:
    Санкт-Петербург
  • ISBN:
    978-5-9775-0080-7
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Юрий Ревич - Занимательная микроэлектроника краткое содержание

Занимательная микроэлектроника - описание и краткое содержание, автор Юрий Ревич, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Книга на практических примерах рассказывает о том как проектировать, отлаживать и изготавливать современные электронные устройства в домашних условиях. Теоретические основы, физические принципы работы электронных схем и различных типов радиоэлектронных компонентов иллюстрируются практическими примерами в виде законченных радиолюбительских конструкций и дополняются советами по технологии изготовления любительской аппаратуры. На доступном уровне излагаются теоретические основы цифровой техники — математическая логика и различные системы счисления. Вторая часть книги полностью посвящена программированию микроконтроллеров, как основы современной электроники. Особое внимание уделяется обмену данными микроэлектронных устройств с персональным компьютером, приводятся примеры программ на Delphi.
Для широкого круга радиолюбителей

Занимательная микроэлектроника - читать онлайн бесплатно ознакомительный отрывок

Занимательная микроэлектроника - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Юрий Ревич
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

ldi ZH,HIGH(OUT_N*2) ;адрес констант в памяти — в Z

ldi ZL,LOW(OUT_N*2)

add ZL,temp ;адрес маски цифры, равной temp

lpm ;в r0 — маска

out PortC,r0 ;установили сегменты

ldi temp,1< ;устанавливаем разряд

out PORTB,temp ;установили разряды

rjmp rADC

P1:

cpi cRazr,1 ;единицы град

brne P2

ldi r2 8,TdM ;установка адреса — ср. темп.

ld temp,Y

ldi ZH,HIGH()UT_N*2)

ldi ZL,LOW(OUT_N* 2)

add ZL,temp

lpm

out PortC,r0 ;установили сегменты

ldi temp,1< ;устанавливаем разряд

out PORTB,temp ;установили разряды rjmp rADC

P2:

cpi cRazr,2 ;дробные град

brne P3

ldi r2 8,TdL ;установка Y — мл. темп.

ld temp,Y

ldi ZH,HIGH(OUT_N* 2)

ldi ZL,LOW(OUT_N*2)

add ZL,temp

lpm

out PortC,r0 ;установили сегменты

ldi temp,1< ;устанавливаем разряд

out PORTB,temp ;установили разряды

rjmp rADC

Р3:

cpi cRazr,3 ;сотни давления

brne Р4

ldi r28,PdH ;установка Y — сотн. prs

ld temp,Y

ldi ZH,HIGH(OUT_N*2)

ldi ZL,LOW(OUT_N*2)

add ZL,temp

lpm

out PortC, r0 ;установили сегменты

ldi temp,1< ;устанавливаем разряд

out PORTB,temp ;установили разряды

rjmp rADC

P4:

cpi cRazr,4 ;десятки давления

brne P5

ldi r2 8,PdM ;установка Y — дес. prs

ld temp,Y

ldi ZH,HIGH(OUT_N*2)

ldi ZL,LOW(OUT_N*2)

add ZL,temp

lpm

out PortC,r0 ;установили сегменты

ldi temp,1< ;устанавливаем разряд

out PORTB,temp ;установили разряды

rjmp rADC

P5:

cpi cRazr,5 ;единицы давления

brne rADC

ldi r28,PdL ;установка Y — ед. prs

ld temp,Y

ldi ZH,HIGH(OUT_N*2)

ldi ZL,LOW(OUT_N*2)

add ZL,temp

lpm

out PortC,r0 ;установили сегменты

ldi temp,1< ;устанавливаем разряд

out PORTB,temp ;установили разряды

rADC: inc countCyk ;обработка АЦП

sbrs countCyk,5 ;если бит 5 в countCyk равен 1, то прошло 32 такта таймера 0, будем запускать АЦП (см. readADC)

reti

clr countCyk

inc count

cpi count,65 ;если прошло 64 чтения, то сразу на обработку

breq endADC

sbrc Flag,0 ;если бит 0 флага — читаем температуру

ldi temp,0

sbrc Flag,1 ;если бит 1 флага — читаем давление

ldi temp,1

out ADMUX, temp ;установили АЦП канал

sbi ADCSRA, ADSC ;запуск новое преобразование

reti

endADC:

;расчет по 64 значениям

clr count

sbrc Flag,0

ldi r28,Tram ;установка адреса — T

sbrc Flag,1

ldi r28,Pram ;установка адреса — P

ld AregH,Y+ ;загрузка суммы из памяти

ld AregL,Y

div64L: ;деление на 64

lsr AregH ;сдвинули старший

ror AregL ;сдвинули младший

inc count

cpi count,6

brne div64L ;сдвинули-поделили на 64

subi r28,1 ;в Y опять адрес Tram или Pram

clr temp

st Y+,temp

st Y,temp ;очистили память для следующего цикла

sbrs Flag,0 ;расчет температуры

rjmp prs ;иначе давления

ldi r28,tZH ;установка адреса коэфф. Z

ld temp,Y+

mov KoeffH,temp

ld temp,Y

mov KoeffL,temp ;получили коэфф. Z температуры

;вычисление знака:

ср AregL,KoeffL

срс AregH,KoeffH

brsh b0

sub KoeffL,AregL

sbc KoeffH,AregH

mov AregL,KoeffL

mov AregH,KoeffH

sbi PortD,7 ;знак —

rjmp m0

Ь0: ;если больше

sub AregL,KoeffL

sbc AregH,KoeffH

cbi PortD,7 ;знак +

m0: ;умножение на коэфф. К

ldi r28,tKH ;установка адреса коэфф. К

ld temp,Y+

mov KoeffH,temp

ld temp,Y

mov KoeffL,temp ;получили К температуры

rcall Mp16 ;умножили

;деление на 1024

mov AregL,temp1

mov AregH,temp2 ;на 2 56

lsr AregH ;сдвинули старший

ror AregL ;сдвинули младший

lsr AregH ;сдвинули старший

ror AregL ;сдвинули младший; еще на 4

rjmp contPT

prs:

sbrs Flag,1 ;расчет давления

rjmp contPT

ldi r28,pZH ;установка адреса коэфф. Z

ld temp,Y+

mov KoeffH,temp

ld temp,Y

mov KoeffL,temp ;получили коэфф. Z давления

adc AregL,KoeffL

add AregH,KoeffH ;прибавили к величине

ldi r28,pKH ;установка адреса коэфф. К

ld temp,Y+ mov

KoeffH,temp

ld temp,Y

mov KoeffL,temp ;получили коэфф. К давления

rcall Мр16 ;умножили

;деление на 1024

mov AregL,temp1

mov AregH,temp2 ;на 256

lsr AregH ;сдвинули старший

ror AregL ;сдвинули младший

lsr AregH ;сдвинули старший

ror AregL ;сдвинули младший; еще на 4

contPT:

sbrc Flag,0

ldi r28,TdH ;установка адреса — T

sbrc Flag,1

ldi r28,PdH ;установка адреса — P

rcall bin2BCD16 ;преобраз в дв. дес.

st Y+,ResH ;запоминаем в памяти старший BCD

mov temp,ResL ;младший распаковываем

swap temp

andi temp,0b00001111

st Y+,temp

mov temp,ResL

andi temp,0b00001111

st Y,temp ;и тоже сохраняем в памяти

;установка флагов и переменных для следующего цикла

clr count

sbrc Flag,0

rjmp _F0

clr Flag

sbr Flag,0x1 ;был бит 1, устанавливаем бит 0

reti

_F0:

clr Flag ;был бит 0, устанавливаем бит 1

sbr Flag,0x2

reti ;TIME0

readADC: ;чтение АЦП по прерыванию

sbrc Flag,0

ldi r28,Tram ;установка адреса — T

sbrc Flag,1

ldi r28,Pram ;установка адреса — P

ld AregH,Y+

ld AregL,Y

in temp1,ADCL ;получаем младший

in temp,ADCH ;старший

add AregL,tempi ;суммируем

adc AregH,temp

dec r28

st Y+,AregH ;запоминаем сумму

st Y,AregL ;в памяти

reti ;ADC

Мр16: ;умножение двух 16-разрядных величин

;AregL multiplicand low byte

;AregH multiplicand high byte

;KoeffL multiplier low byte

;KoeffH multiplier high byte

;temp result byte 0 (LSB)

;tempi result byte 1

;temp2 result byte 2

clr temp2 ;очистить ставший

mul AregL,KoeffL ;умножаем младшие

mov temp,r0 ;в r0 младший результата операции mul

mov temp1,r1 ;в r01 старший результата операции mul

mul AregH,KoeffL ;умножаем старший на младший

add tempi,r0 ;в r младший результата операции mul

adc temp2,r1 ;в r01 старший результата операции mul

mul AregL,KoeffH ;умножаем младший на старший

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Юрий Ревич читать все книги автора по порядку

Юрий Ревич - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Занимательная микроэлектроника отзывы


Отзывы читателей о книге Занимательная микроэлектроника, автор: Юрий Ревич. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x