Читаем PIC-микроконтроллеры. Все, что вам необходимо знать полностью

9.2. В рамках реализации некоторой электронной игры необходимо написать функцию, возвращающую следующее псевдослучайное число из 127 чисел, сгенерированных генератором, показанным на Рис. 6.12 (стр. 206). В функцию передается текущее, а возвращается следующее число последовательности. Предполагается, что передаваемое в функцию значение отлично от нуля. Как можно доработать функцию, чтобы она выдавала через порт В всю последовательность случайных чисел, начиная с заданного числа?

9.3. Цифровой термометр на базе микроконтроллера PIC показывает температуру от 0 до 100 °C. Чтобы это устройство можно было продавать в США, в термометре следует предусмотреть возможность отображения значения температуры в градусах по шкале Фаренгейта. Напишите для этого термометра функцию, выполняющую перевод целого значения из шкалы Цельсия в шкалу Фаренгейта. Соответственно, передаваемое и возвращаемое значения должны иметь тип unsigned int. Зависимость между шкалами выражается следующим образом:

F = (C x 9)/5 + 32.

Во избежание ошибок переполнения следует использовать 16-битную арифметику.

9.4. Индикатор холодной погоды на приборной панели автомобиля представляет собой три светодиода, подключенных к трем младшим линиям порта А. Ко 2-й линии подключен красный СИД, который включается, если температура снаружи ниже 34°F. К 1-й линии подключен желтый СИД (Температура ниже 40°F), а к 0-й линии подключен зеленый СИД. Предположим, что соответствующие линии порта уже сконфигурированы как выходы и что СИД включается при подаче на вывод НИЗКОГО уровня. Напишите функцию для управления этими светодиодами, в которую передается значение температуры F.

<p>Часть III</p><p>ОКРУЖАЮЩИЙ МИР</p>

Не считая краткого обсуждения гарвардской архитектуры, имевшего место в 3-й главе книги, мы до сих пор ограничивались рассмотрением внутренней структуры микроконтроллеров PIC среднего уровня и их программного обеспечения. Только вскользь упоминались параллельные порты ввода/вывода. Последняя же часть книги посвящена взаимодействию ядра микроконтроллера со средой, физически находящейся за пределами корпуса микроконтроллера. То есть в данной части мы изучим вопросы использования портов ввода/вывода и встроенных периферийных устройств микроконтроллера. В самом конце мы разберем учебный пример создания законченного автономного встраиваемого контроллера.

На Рис. 4.1, приведенном на стр. 89, изображена внутренняя структура и цоколевка микроконтроллера PIC16F84. У этой 18-выводной модели имеется два параллельных порта ввода/вывода, причем 4-й вывод порта А совмещен со счетным входом 8-битного таймера, а 0-й вывод порта В — с входом внешнего прерывания. Помимо этого, в составе микроконтроллера имеется EEPROM-память данных размером 64 байта и сторожевой таймер.

Микроконтроллер PIC16F84 был одним из первых представителей семейства среднего уровня, в которых наряду с параллельными портами и таймерами, унаследованными от более старого базового семейства, имелась поддержка прерываний и модуль EEPROM-памяти. По мере появления новых моделей расширялся и набор периферийных устройств. В этой части книги на примере 8-выводных моделей PIC12F629/75, 18-выводных моделей PIC16F627/28/48 и 28/40-выводных моделей PIC16F873/74/76/77 мы рассмотрим наиболее часто используемые периферийные устройства. Вообще говоря, функционирование любого модуля практически не зависит от модели устройства, в которой он реализован, однако модули в более новых моделях могут иметь расширенные функциональные возможности. По мере прочтения, вы:

• Изучите сопутствующие вопросы, такие как выбор источника питания, выбор источника тактового сигнала, управление энергопотреблением микроконтроллера и конфигурирование устройства.

• Познакомитесь с параллельным и последовательным вводом/выводом цифровых данных.

• Разберетесь с подсистемами счетного и сторожевого таймеров.

• Узнаете, каким образом микроконтроллер обрабатывает аналоговые сигналы.

• Самостоятельно разработаете встраиваемый таймер со звуковой индикацией.

• Узнаете, каким образом можно протестировать и отладить созданную систему.

Микроконтроллеры РIС в различных корпусах

<p>Глава 10</p><p>Реальное окружение</p>

До этого момента мы главным образом изучали взаимодействие программы с внутренними регистрами процессора и памятью данных. Но прежде чем перейти к изучению встроенных периферийных устройств микроконтроллера, посредством которых он может отслеживать состояние и управлять окружающей его средой, т. е. реальным миром вне его выводов, нам необходимо рассмотреть требования, предъявляемые к источнику питания, а также вопросы тактирования и сброса микроконтроллеров PIC.

Прочитав эту главу, вы:

• Ознакомитесь с рекомендуемыми величинами напряжения питания, а также допустимыми уровнями входных и выходных напряжений.

Перейти на страницу:

Все книги серии Программируемые системы

PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника

Похожие книги

Электроника для начинающих
Электроника для начинающих

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

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки