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

Здесь есть возможность читать онлайн «Юрий Ревич - Занимательная микроэлектроника» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2007, ISBN: 2007, Издательство: БХВ-Петербург, Жанр: sci_radio, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Занимательная микроэлектроника: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Занимательная микроэлектроника»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Занимательная микроэлектроника», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

out ADCSRA,temp

;установка таймера

ldi temp,0b00000010

out TCCR0,temp

;Timer0 on div 1:8 управление разрядами 2000 Гц

;прерывания

ldi temp,(1< ;разр. прер. Timer 0

out TIMSK,temp

ldi temp,255 ;сбросить все прерывательные флаги

out TIFR,temp

out GIFR,temp

;начальная установка переменных

ldi r29,1 ;YH=1, пишем в RAM, начиная с 01:00

clr count

clr countCyk

clr cRazr

clr Flag

sbr Flag,0x01 ; сначала измеряем температуру

;обнуление рабочих ячеек

clr temp

ldi r28,Tram ;Tempr

st Y+,temp

st Y,temp

ldi r2 8,Pram ;Prs

st Y+,temp

st Y,temp

;запись коэффициентов

ldi r28,tZH ;начальный адрес

;Z Tempr=471

ldi temp,High(471) ;ст.

st Y+,temp

ldi temp,Low(471) ;мл.

st Y+,temp

;К Tempr=1020

ldi temp,High(1020) ;ст.

st Y+,temp

ldi temp,Low(1020) ;мл.

st Y+,temp

;Z prs=12

ldi temp,High(12) ;ст. на самом деле = 0

st Y+,temp

ldi temp,Low(12) ;мл.

st Y+,temp

;К prs=916

ldi temp,High(916) ;ст.

st Y+,temp

ldi temp,Low(916) ;мл.

st Y,temp

sei ;разрешаем прерывания

G_cykle: ;основной цикл

rjmp G_cykle

Процедуры обмена по интерфейсу I 2С

Протокол обмена I 2С и пример его использования описан в главе 16 . Процедуры составлены для передачи со скоростью около 100 кГц при тактовой частоте контроллера 4 МГц. При другой частоте контроллера или иной скорости передачи число циклов в процедуре delay, равное 6, следует пропорционально изменить. Например, для частоты кварца, равной 16 МГц и скорости передачи, пониженной до 30 кГц, команду ldi cnt,6следует заменить на команду ldi cnt,75(приблизительно). Ошибка в ±50 % в скорости передачи обычно роли не играет. При наличии сбоев увеличивайте число циклов до тех пор, пока связь не установится.

Программа содержит процедуры для двух конкретных устройств: энергонезависимой памяти с интерфейсом I 2С (типа АТ24) и часов реального времени (RTC) с таким же интерфейсом (например, DS1307). Процедуры Write-Flash/ReadFlash предназначены для обмена с памятью, процедуры write_i2c/read_i2c для обмена с часами. Примеры их использования см. в главе 16 . Для других устройств легко построить собственную процедуру по аналогии, если использовать универсальные процедуры формирования протокола (start, write, read и stop), находящиеся в данном тексте. Исключите ненужные процедуры перед компиляцией программы, чтобы не загромождать память МК.

Текст листинга П5.3 целесообразно скопировать в отдельный файл, и назвать его, например, i2c.prg. Готовый файл i2c.prg также доступен в архиве по адресу http://revich.lib.ru/AVR/ctp.zip, где еще содержится программа для измерителя температуры и давления, обсуждаемая в главе 16 . При необходимости использовать эти процедуры в другом устройстве следует отредактировать начальные строки, которые задают выводы МК, задействованные в процессе обмена. В данном случае это биты порта D номер 4 (SCL) и 6 (SDA). Кроме этого, конечно, следует изменить регистры для переменных, если это требуется (и при необходимости число циклов, если частота тактового генератора другая). Файл подключается к вашей программе с помощью директивы . include "i2c.prg" после таблицы векторов прерываний ( см. главу 16 ).

Листинг П5.3

;файл I2С.рrg

;Процедуры чтения и записи по интерфейсу I2C

;+----------- порт D ---------+

.equ pSCL = 4

.equ pSDA = 6

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

.def DATA = r17

.def ClkA = r18

.def cnt = r23

.def AddrL = r24 ;адреса EEPROM

.def AddrH = r25

;---------------- запись EEPROM ------------

WriteFlash: ;в AddrL,AddrH — адрес, данные в DATA

;на выходе если бит с = 1 в регистре флагов, то ошибка

cbi PORTD,pSDA

cbi PORTD,pSCL

ldi cnt,120 ;120 попыток прописать

loop120f:

push DATA

rcall start

ldi DATA,0xA0 ;addr device=0,r/w=0

rcall write

brcs rt_writef ;C=1 ERROR

mov DATA,AddrH ;set HI address

rcall write

brcs rt_writef ;C=1 ERROR

mov DATA,AddrL ;set LO address

rcall write

brcs rt_writef ;C=1 ERROR

pop DATA ;set data to DATA

rcall write

brcs rt_f ;C=1 ERROR

rcall stop

brcs rt_f ;C=1 ERROR

ret

;--------------- чтение EEPROM -------------

ReadFlash: ;в AddrL,AddrH — адрес, данные в DATA

;если бит с = 1 в регистре флагов, то ошибка

cbi PORTD,pSDA

cbi PORTD,pSCL

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

Интервал:

Закладка:

Сделать

Похожие книги на «Занимательная микроэлектроника»

Представляем Вашему вниманию похожие книги на «Занимательная микроэлектроника» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

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

x