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

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

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

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

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

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

Интервал:

Закладка:

Сделать
Арифметические и логические команды

Арифметические и логические команды приведены в табл. П4.1.

Команды операций с битами

Команды операций с битами приведены в табл. П4.2.

1Команды SBIи CBIдействительны для PBB по первым 32 адресам (0…31)

Команды сравнения

В операциях сравнения с регистрами производятся те же действия, что и в соответствующих арифметических и логических операциях, однако результат никуда не помещается (и, соответственно, операнды не портятся), лишь устанавливаются соответствующие флаги ( Cи Z) в регистре флагов SREG. Значением этих флагов в дальнейшем определяется работа тех команд условного перехода, которые употребляются в паре с командами сравнения (исключение составляет опущенная здесь и редко употребляемая команда CPSE, которая содержит сравнение и переход «в одном флаконе»). Описание команд сравнения приведено в табл. П4.3.

Команды передачи управления

Команды передачи управления делятся, с одной стороны, на команды безусловного перехода и похожие на них команды вызова подпрограмм (последние от первых отличаются тем, что явно размещают в стеке содержимое счетчика команд для последующего возврата из подпрограммы), с другой стороны, — на команды условного перехода, т. е. нарушения последовательности выполнения операторов по какому-то условию. Большинство таких команд оперируют с адресом в памяти (К) оператора, на который производится переход. В тексте ассемблерных программ абсолютные или относительные числа, обозначающие адрес, в команды передачи управления не подставляются, вместо них указывают метки, которые затем компилятор интерпретирует, как абсолютный адрес. Команды, начинающиеся с буквы «В» (от Branch— «ветка») предполагают предварительный вызов одной из команд сравнения. Описание команд передачи управления приведено в табл. П4.4—П4.5.

Команды безусловного перехода и вызова подпрограмм

1 Для устройств с максимально возможным объемом памяти программ до 64 К слов (128 кбайт).

Команды условного перехода

1 Значение 2 — если следующая команда занимает одно слово (два байта) и 3 — если следующая команда занимает два слова (четыре байта).

2 Команды SBICи SBISдействительны только для РВВ по первым 32 адресам (0..31).

Команды переноса данных

В табл. П4.6 приведено описание команд переноса данных.

Команды управления системой

В табл. П4.7 приведены команды управления системой.

Приложение 5

Тексты программ

Далее приведены полные тексты микропрограмм для конструкций, разбираемых в книге. Каждая программа подробно описана в указанных далее главах. Для воспроизведения сканируйте исходный текст с помощью Fine Reader, проверьте и сохраните в виде текстового файла с расширением asm. После этого программу можно компилировать и загружать в память контроллера, как описано в главе 13 .

Программа для часов

Описание схемы и программы часов см. главу 14 . Программа (листинг П5.1) занимает в памяти МК 298 слов (596 байт).

Листинг П5.1

;============== Программа часов

;AT90S2313 4 МГц

.include "2313def.inc"

;==== Управление сегментами ====

.equ segA = 5; PD5 (pin 9)

.equ segB = 6; PD6 (pin 11)

.equ segC = 2; PB2 (pin 14)

.equ segD = 4; PB4 (pin 16)

.equ segE = 5; PB5 (pin 17)

.equ segF = 6; PB6 (pin 18)

.equ segG = 7; PB7 (pin 19)

;==== Управление разрядами ====

.еqu em = 0; PD0 (pin2)

.equ dm = 1; PD1 (pin 3)

.equ eh = 2; PD2 (pin 6)

.equ dh = 4; PD4 (pin 8)

;==== Рабочие переменные ====

.def POS = r16 ;отсчет разрядов для динамической индикации

.def sek = r17 ;число секунд

.def temp = r18 ;рабочая переменная

.def emin = r19 ;число единиц минут

.def dmin = r20 ;число десятков минут

.def ehh = r21 ;число единиц часов

.def dhh = r22 ;число десятков часов

.def set_up = r23;отсчет разрядов при установке

.def count = r24 ;счетчик для мигания

.def Flag = r25 ;флаги режимов

;в регистре Flag: если бит0=1, то идет установка часов

;если бит1=1, то внешнее напряжение пропало

;======== Прерывания =========

rjmp RESET ;процедура Reset

reti

rjmp INTT1 ;прерывание INTI по нажатию Кн1

reti

rjmp TIM1 ;прерывание Timer1 по сравнению CompareA (счет времени)

reti

rjmp TIM0 ;прерывание Timer0 по переполнению (управл. разрядами)

reti

reti

reti

rjmp ACOMPI ;прерывание аналогового компаратора

;===== Программа =====

;===== прерывание по нажатию кнопки Кн1 ====

INTT1:

sbrc Flag,1 ;если бит1=1 напряжения нет

rjmp END_SET ;какая установка — на выход

clr temp

out GIMSK,temp ;запрещаем INTI

sbr Flag,1 ;устанавливаем бит 0 флага — идет установка

inc set_up ;отсчет, какой разряд устанавливаем

clr count ;очищаем счетчик мигания

cpi set_up,5 ;если счетчик разрядов

brne END_SET ;еще не больше 4, то на выход

clr set_up ;если больше, то обнуляем счетчик

ldi sek,59 ;и устанавливаем число секунд = 59

cbr Flag,1 ;сбрасываем бит 0 флага — конец установки

END_SET:

reti ;конец прерывания INT1

;===== прерывание Timerl — ход часов ====

TIM1:

sbrc Flag,1 ;если бит1=1 напряжения нет

rjmp mtime ;сразу посылаем на счет времени

sbrs Flag,0 ;если бит0=1 идет установка

rjmp mtime ;иначе сразу на счет времени

ldi temp, 0b10000000 ;на всякий случай

out GIFR,temp ;очищаем прерывание INT1

cpi count,0 ;если счетчик =0

breq CONT_1 ;то на продолжение

ldi temp,1< ;иначе разрешаем прерывание INT1

out GIMSK,temp

CONT_1: ;установка

inc count ;увеличиваем счетчик мигания на 1

cpi set__up,1 ;если первый разряд, устанавливаем его

brne mm1 ;иначе на следующий

sbis PinB,0 ;если Кн2 нажата

inc emin ;увеличиваем число единиц минут на 1

cpi emin,10 ;если число единиц минут еще не равно 10

brne END_TIM1 ;то на выход из процедуры

clr emin ;если =10, то обнуляем

rjmp END_TIM1 ;на выход

mm1: cpi set_up,2 ;если второй разряд, устанавливаем его

brne mm2 ;иначе на следующий

sbis PinB,0 ;если Кн2 нажата

inc dmin ;увеличиваем число десятков минут на 1

cpi dmin,6 ;если число десятков минут еще не равно 6

brne END_TIM1 ;то на выход из процедуры

clr dmin ;если =6, то обнуляем

rjmp END_TIM1 ;на выход

mm2: cpi set_up,3 ;если третий разряд, устанавливаем его

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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