Datasheet pic12f675-i/p — microchip даташит 8- бит микроконтроллеры (mcu) 1.75 кб 64 ram 6 i/o ind temp pdip8

Индикатор напряжения в электросети на микроконтроллере PIC16F676

Рейтинг:   / 5

Подробности
Просмотров: 1753

Горчу к Н. В.
Индикатор предназначен для непрерывного измерения и индикации напряжения в электросети. Индикатор состоит из цифрового трехразрядного измерителя напряжения, источника питания и датчика напряжения электросети. По сути, датчик напряжения электросети и источник питания это единое целое. Прибор питается от электросети через источник питания, состоящий из понижающего трансформатора, выпрямителя и стабилизатора на микросхеме 7805. Напряжение питания измерителя 5V берется с выхода этого стабилизатора, а напряжение до стабилизатора служит как раз и датчиком напряжения электросети. Суть в том, что при изменении напряжения в сети меняется и напряжение на выходе выпрямителя. Измеритель напряжения построен на микроконтроллере D1 типа PIC16F676, у данного контроллера имеется порт, могущий работать для приема аналоговой информации, то есть с АЦП.

Tutorial 1 : 12F675 Flashing an LED

The first
program is a flashing LED — it always is!  The reason is that there is the
least hardware to go wrong so it gives a good test of your system setup.  
This project also uses the 12F675’s internal oscillator and you don’t need a
crystal so there is even less to go wrong!Use the
solderless breadboard to
construct the following circuit:
Note: Double check your connections on the
breadboard.
Note: the plus sign on the 10u electrolytic
capacitor which must connect to the positive input voltage and have a voltage
rating stamped on it of greater than 35V (or greater than your maximum dc power
block output).  The LED must be connected with the flat side to ground.

12F675

The 12F675 microcontroller is packaged in an 8 pin chip and even though it
is tiny it is packed with peripherals. It even has a 10bit ADC built in (this
is the same ADC that you can find on the 16F877A and 16F88 used elsewhere on
this site). So learning about this peripheral is also useful for these other
parts.
The 12F675 has 1024 words of program memory, 64 Bytes of RAM and 128 Bytes of
EEPROM, an internal oscillator, timers an ADC and a comparator.Note:The 12F629 is identical except that it
does not have the ADC.

TIP: If you need a bit more memory consider using the 12F683
as this has twice the memory (2048 Flash words,128 Bytes SRAM and 256 Bytes
EEPROM) compared to the 12F675. The 12F683 additionally has a PWM module and an
extra 8 bit timer compared to the 12F675. The 12F683 also has an 8MHz internal
oscillator( 12F675 has 4MHz).

12F675 Microcontroller Power Supply

If you don’t have a bench power supply then you should use the following
standard circuit.

All you will need is a wall power supply block with dc output (greater than 8V
and no more than 35V) or a 9V battery to plug into CN1.Note: It is best to use the 5V power supply
circuit as it not only correctly regulates the dc voltage but it protects your
PIC chip.  The input voltage can go up to 35V without damaging the 7805.You would not want to use that high voltage for very long if using
reasonable current as the 7805 would have to get rid of the excess power as
heat.  Say you used 100mA dropping 35V to 5V gives P=VxI = 30 *0.1 = 3W — a
huge power output — the 7805 would get very hot and go into thermal
shutdown!

12F675 oscillator calibration value.

See this page for procedure on
12F675 calibration.

Before Programming it with your hex file make a note of the oscillator
calibration value which is factory set by Microchip.Note:The calibration value is located at the
last memory address 0x3FF
This value calibrates the 4MHz oscillator to 1%. If overwritten you have to
re-calculate it yourself.
for m ore detailed information (in a further tutorial) and then come back
here.
If you use ICPROG then it warns you that you are about to overwrite the
oscillator calibration value and asks if you use the value from the hex file —
you should answer No to keep the original value.Note: Each oscillator calibration value will
be different so you have to note down each value for each chip and not muddle
them up!  If you loose it you can recalculate it but you will need a frequency counter.

TIP: This page (12F675 OCSCAL
calibration) shows you how to calibrate the 12F675 using a frequency
counter, a PICkit3 and some code running in the 12F675.

Связанные материалы

Регулятор нагрева паяльника из диммера (светорегулятора)…
Понадобился мне регулятор нагрева паяльника, так как новый паяльник (да и старый на 80 Ватт)…

Прибор для наладки и тестирования импульсных блоков питания и сварочников…
Я занят ремонтом инверторного сварочного оборудования, стабилизаторов переменного напряжения, и т….

Съёмный фен в паяльной станции Lukey 702…
Паяю для себя, время от времени. Постепенно деталюшки становились всё меньше и меньше, стандартного…

Дополнения к статье «Прибор для наладки и тестирования импульсных блоков питания и сварочников»…
Теперь у меня обновка: вместо этого старенького С1-101 — цифровой Rigol После публикации моей…

Зарядное устройство Li-Ion аккумуляторов с проверкой ёмкости, PIC12F675…
У меня скопилось около двух десятков Li-Ion батарей от плееров, бритв, телефонов. Это и послужило…

Автоматическое зарядно-тренирующее и измеряющее устройство для 12-вольтовых герметичных аккумуляторов (PIC12F675). Часть 2…
Предлагаю вашему вниманию дополнения и улучшения к моему проекту на Датагоре «Автоматическое…

Автоматическое включение/выключение сабвуфера на микроконтроллере PIC12F675…
Проект разрабатывался для сабвуфера, предполагалось его автоматическое включение при появлении…

PIC16F876: таймер вытяжного вентилятора в ванной и электронный термометр…
Я недавно делал капитальный ремонт ванной комнаты и возник вопрос, как управлять вентилятором…

Фототчет по Project-1, ждем остатки…
ДрУги, привет! 26-03-2010 Приехали все железяки. Формирую наборы. Слава Богу! Братцы, еще немного…

Блок автоматического селектора входов и управления питанием усилителя на PIC12F675…
Хочу предложить продолжение проекта Автоматическое включение/выключение сабвуфера на…

Облегченный лестничный регулятор громкости с дистанционным управлением…
Конструкция регулятора громкости (РГ) в моей статье на Датагоре «Блок управления аудиоусилителем с…

Адаптер — муляж батарейки. Питаем от розетки 220В фотоаппарат, mp3-плеер, электронный тонометр и др….
Как-то однажды делал я снимки этапов изготовления устройства, подготавливая к публикации свою…

Восстановление калибровочной константы PIC12f629 и PIC12f675

Собрав ниже приведенную схему и установив в панельку исследуемый микроконтроллер PIC12f629 или PIC12f675 можно с точностью до 1% определить КК.

Для калибровки внутреннего генератора микроконтроллера требуется заведомо известная опорная частота. К счастью, для этого мы не должны собирать отдельно стабильный генератор сигнала. Для этого можно воспользоваться переменным напряжением электросети частотой 50 Гц (в некоторых странах частота может быть 60 Гц). Данный сигнал можно снять со вторичной обмотки сетевого трансформатора.

Частота внутреннего генератора в микроконтроллере PIC12F629 и PIC12F675 может незначительно меняется от изменения температуры и напряжения питания. По мере увеличения напряжения питания, частота его немного уменьшается. Когда переключатель  SB1 не замкнут, напряжение питания 5 вольт, пройдя через два диода, которые создают падение напряжения около 1,6 вольта, поступает на вывод питания ПИКа (3,4 вольт). С замкнутыми контактами  SB1, микроконтроллер работает от 5 вольт. С помощью данной схемы появляется возможность для калибровки либо на 3,4 вольт, либо на 5 вольт питания.

Еще раз:

  •  SB1 разомкнут — калибровка происходит при 3,4 вольта.
  •  SB1 замкнут — калибровка происходит при 5 вольт.

Два диода создают падение напряжения, а резистор R1 создает достаточный ток для стабильности напряжения на диодах.

Опорный сигнал подается с вторичной обмотки трансформатора (от 6 до 12 вольт) через диод VD3, резистор R4 и транзистор VT1. Транзистор любой типа NPN.

Внимание. Переменное напряжение на транзистор следует подавать только через трансформатор

Ни в коем случае не напрямую от электросети!

Circuit diagram

The following diagram
shows the above Plugblock circuit in schematic form. It is exactly the same
circuit but lets you view the circuit in an easier way and shows the layout of
the circuit from the point of view of the circuit block functions rather than
how you have to place the components (using the Plugblock).


Note: The LED current limiter resistor (1k) is not the ideal one it just lets
you see the led (you don’t need the maximum current to see the light from the
LED) — to use the LED at higher output replace it with 220R. This gives lots
more current so it is brighter I=(5-2)/220=13mA (most leds let you use 20mA but
you would have to check the forward diode drop, here assumed as 2V, to get the
exact resistor.  It’s only an LED I always assume 2V as the slight variations
for different colored LEDs won’t make much difference.

Using ICPROG
(you can
find a description of how to use it here)
set the
device to 12F675 and hit the read button.  Remember to note down the contents
of address 0x3FF.

Простой термометр на микроконтроллере PIC12F629 с батарейным питанием.

Подробности
Опубликовано 20.07.2013 09:50

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

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

Принципиальная схема и конструкция

В основе принципиальной схемы измерителя лежит микроконтроллер PIC12F629 от Microchip. Данный процессор выпускается в корпусах с 8 выводами и способен работать при напряжении питания от 2 до 5.5В. К его достоинством можно отнести встроенный генератор тактовой частоты и режим пониженного энергопотребления. Объем внутренней Flash-памяти программ — 1Кб позволяет легко реализовать опрос датчика и преобразование температуры.

Принципиальная схема термометра

Датчиком температуры выбран термометр с цифровым выходом MCP9800, опять же от Microchip.Эта микросхема интересна, прежде всего тем, что выпускается в компактном корпусе SOT-23. Использование  шины I2C делает ее подключение к микроконтроллеру элементарным. Опять же наличие спящего режима повышает привлекательность применения MCP9800 для систем с батарейным питанием.

Отображение показаний температуры производится на жидкокристаллическом индикаторе TIC3321. Он не требует подсветки, вследствие чего потребляет минимальный ток. Для передачи данных в индикатор необходимо подключить всего три линии.  Широкий температурный диапазон работы от -40 до +80ºС позволяет строить не только комнатные, но и уличные модели приборов.

Печатная плата Вид со стороны элементов

Конструктивно термометр выполнен на односторонней печатной плате, которая по длине и ширине не превышает размеры индикатора. Все элементы, в том числе и микроконтроллер, применены в корпусах для поверхностного монтажа. Для установки батареи типа CR2032 использован специальный батарейный модуль, также в SMD варианте.

Настройка платы EasyPIC5

Для сборки схемы на PIC12F629 требуется установить МК в соответствующее гнездо на плате. При этом все остальные контроллеры должны быть удалены.

Вторым действием должна стать перестановка перемычек линий программирования Socket Selection.

Также необходимо определить способ генерации тактовой частоты. В случае использования внешнего генератора, потребуется установить кварцевый резонатор в гнездо OSC2. Микроконтроллер PIC12F629 может работать и от внутреннего генератора частоты. В этом случае устанавливаются перемычки OSC2, в положение I/O подключающее выхода микроконтроллера к элементам платы. На этом подготовка к работе закончена.

12F675 Microcontroller Programming

You can program the microcontroller using an ICSP programmer (you can use it
for any PIC chip). ICSP connections are shown in the diagram below.
To use it you will need software running on the PC : ICPROG.  This lets you flash the hex file
generated by the compiler into the 12F675 You can find a programmer circuit here and information on using ICPROG here.

Note: Using the above programmer circuit
sometimes you need to remove the ICSP connector (this is easier than removing
the whole chip). I have used a 4 pin molex with wires soldered to the base
(these go into the solderless breadboard) making removal trivial.  Sometimes
you need to remove it as the programmer does not release Vpp (PC software
operation) and at other times you will need to remove it as you will want to
read the analogue voltage at the ICSP pin (see temperature logger in a further
tutorial).

Подробное описание

Производитель: Microchip

Описание: 8- бит микроконтроллеры (MCU) 1.75 Кб 64 RAM 6 I/O Ind Temp SOIC8

Краткое содержание документа:PIC12F629/675 Data Sheet8-Pin, Flash-Based 8-Bit CMOS Microcontrollers*8-bit, 8-pin Devices Protected by Microchip’s Low Pin Count Patent: U.S.

Patent No. 5,847,450. Additional U.S. and foreign patents and applications may be issued or pending. 2007 Microchip Technology Inc. DS41190ENote the following details of the code protection feature on Microchip devices: · · · Microchip products meet the specification contained in their particular Microchip Data Sheet. Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions. There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property. Microchip is wi

Спецификации:

  • Supply Voltage — Max: 5.5 В
  • Supply Voltage — Min: 2 В
  • Вид монтажа: SMD/SMT
  • Встроенный в чип АЦП: да
  • Высота: 1.25 мм (Min)
  • Длина: 4.9 мм
  • Доступные аналоговые/цифровые каналы: 4
  • Интерфейс: RS-232, USB
  • Количество линий ввода/вывода: 6
  • Количество таймеров: 2
  • Рабочее напряжение питания: 2 В … 5.5 В
  • Рабочий диапазон температрур: — 40 C … + 85 C
  • Размер ОЗУ: 64 B
  • Размер ПЗУ данных: 128 B
  • Размер памяти программ: 1.75 Кб
  • Разрядность АЦП: 10 бит
  • Серия процессора: PIC12
  • Тактовая частота максимальная: 20 МГц
  • Тип корпуса: SOIC-8 Narrow
  • Тип памяти программ: Flash
  • Упаковка: Tube
  • Шина данных: 8 бит
  • Ширина: 3.9 мм
  • Ядро: PIC12
  • RoHS: да

Software

The next thing to do is
to flash the LED to prove that the system you have is working as reading back
data is not very interesting.

Source code files : To get the file
software project files and c source code click here.

You can use the hex
file directly to program the 12F675 then it will flash the led on and off or
you can re-compile the files using the free compiler from Mikroelectronika. You
can find a very brief compiler tutorial here.
Some of the C source code is :

////////////////////////////////////////////////////////////////////// void
init_ports(void) {
   TRISIO = 0; // set as
output }////////////////////////////////////////////////////////////////////// // Start here void main() {
   init_ports();
   while(1) { // infinite
loop
      GPIO = (1<<4);
      delay_ms(200);
      GPIO = 0;
      delay_ms(200);
  }
}

First of all the
init_ports() routine sets up the direction of pins in the GPIO port — in common
with all the other PIC Micros you can change the port direction at any time
using  a TRIS keyword (which is just another register location).  Setting a
bit in the TRISIO register to zero sets the pin direction to an output.  Here
all bits are zero so all GPIO bits are set as outputs.
As you can see main() is a very simple easily readable program the only
slightly non obvious part is the (1<<4) statement.
This just takes the value 1 and bit shifts it left four times so the number 4
is the same as bit position 4.  Bits in a byte are labeled 7 to 0 from left
to right and (1<<0)=1, (1<<1)=2, (1<<2)=4, (1<<3)=8
etc. so this gives an easy way of setting an individual bit in a byte that is
also easy to read.  If you wanted to set bit 5 you could write GPIO = 32; (or
0x20 in hex) but GPIO = (1<<5) is much easier to read.Note: The C programming course has more on
PORT control techniques.
Try changing the
delay time (in both delay_ms statements) to a smaller or larger value and
re-compile and re-flash the chip to see the effect.

Back 12F675 Tutorial Index Next


Privacy Policy
| Contact
| About Me
Site Map
| Terms of Use

Особенности программирования

PIC12F629 имеет только один порт ввода/вывода под названием GPIO. На плате линии этого порта подключены к штыревому разъему PORTA/PORTGP и другим элементам, связанным с ним. Это позволяет производить разработку устройств и отладку программ, точно также как и для других МК. Выход температурного датчика DS18B20, имеющий возможность подключения к линии RA5 с гнездом для PIC12F629 не связан.

При запуске среды разработки открывается проект, где в первую очередь, необходимо установить используемый тип генератора частоты. Наиболее востребованным вариантом для данного кристалла будет использование внутреннего генератора. Это позволяет использовать линии GP4 и GP5 для ввода/вывода. Внутренний генератор имеет обозначение INTR_OSC_NOCLOCKOUT.  Также устанавливаются другие биты конфигурации, в зависимости от требований схемы. При необходимости установки калибровочной константы, сделать это можно после запуска программы программатора microICD.

Написание программы мало отличается от этого действия для других контроллеров при учете  особенностейPIC12F629. Главная  – название порта ввода/вывода. В IDE MicroPascal его глобальное определение GPIO, а регистр конфигурации обозначается TRISIO. Дополнительно при инициализации нужно определить назначение выводов GP0 и GP1. По умолчанию они являются входами аналогового компаратора. При использовании в качестве цифровых линий необходимо выполнить команду CMCON:=7. С ее помощью данные вывода настраиваются как линии дискретного ввода/вывода. Ну и не стоит забывать, что вывод GP3 работает только как вход. В остальном программирование PIC12F629 ничем не отличается от других контроллеров PICmicro.

PIC12F629

  • Высокопроизводительный RISC-процессор:
    • Всего 35 простых для изучения инструкции
    • Все инструкции исполняются за один такт (200 нс), кроме инструкций перехода, выполняемых за два такта минимальная длительность такта 200 нс
    • Тактовая частота:
      • li>DC — 20МГц, внутренний генератор/внешний тактовый сигнал li>DC — 200нс цикл инструкции
    • Память
      • 1024 x 14 слов FLASH памяти программ
      • 64 x 8 байт памяти данных (ОЗУ)
      • 128 x 8 байт EEPROM памяти данных
    • 16 регистров специального назначения
    • Поддержка прерываний
    • 8-уровневый аппаратный стек
    • Прямой, косвенный и относительный режимы адресации для данных и инструкций
  • Периферия:
    • 6 индивидуально настраиваемых портов ввода/вывода
    • Сильноточные схемы портов ввода/вывода
    • Модуль аналогового компаратора:
      • один аналоговый компаратор;
      • интегрированный программируемый источник опорного напряжения для компаратора;
      • мультиплицируемые входы;
      • возможность подключение выхода компаратора к выводу микроконтроллера.
    • Модуль АЦП (только для PIC12F675):
      • разрядность 10 бит;
      • 4 программируемых канала;
      • вход источника опорного напряжения.
    • Timer0: 8-разрядный таймер/счетчик
    • Timer1: 16-разрядный таймер/счетчик:
      • вход внешнего тактового сигнала;
      • OSC1 и OSC2 могут использоваться в качестве выводов LP генератора для Timer1 в INTOSC режиме тактового генератора.
    • 64 регистра общего назначения (ОЗУ)
  • Особенности микроконтроллера:
    • Сброс при включении питания (POR)
    • Таймер включения питания (PWRT) и таймер запуска генератора (OST)
    • Сброс по снижению напряжения питания (BOR)
    • Сторожевой таймер (WDT) с собственным встроенным RC-генератором для повышения надежности работы
    • Мультиплицируемый вывод -MCLR
    • Прерывания по изменению сигнала на входе
    • Программируемая защита кода
    • Режим экономии энергии (SLEEP)
    • Выбор источника тактового сигнала:
      • RC — внешний RC генератор;
      • INTOSC — внутренний генератор 4МГц;
      • EC — внешний тактовый сигнал;
      • XT — стандартный резонатор;
      • HS — высокочастотный резонатор;
      • LP — низкочастотный резонатор.
    • Программирование на плате через последовательный порт (ICSPT) (с использованием двух выводов)
    • Отладка на плате через последовательный порт (ICD) (с использованием двух выводов)
  • Технология КМОП:
    • Экономичная, высокоскоростная технология КМОП
    • Полностью статическая архитектура
    • Широкий рабочий диапазон напряжений питания
    • Коммерческий и промышленный температурный диапазоны
    • Низкое энергопотребление
      • < 1.0мА @ 5.5В, 4МГц
      • 20 мкА (типовое) @ 2.0В, 32кГц
      • < 1.0мкА в SLEEP режиме @ 2.0В
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector