Эта схема часов с функцией термометра построена на микроконтроллере PIC16F73. Время и температура выводятся на 4-х разрядный семисигментный индикатор с общим анодом. Устройство постоянно показывает время, а каждую минуту дисплей переключается на пять секунд для отображения температуры в °С.
Так же в часах предусмотрен будильник. Точность часов высокая из-за применения кварцевого резонатора на 20 Mгц. Десятичная точка второго разряда мигает каждую секунду.
Для отображения температуры используются три разряда индикатора, считая слева. Четвертая цифра показывает °С. Для этого, четвертый разряд припаян на плате вверх ногами. В результате этого точка переместилась в верхний левый угол обозначая символ градуса ( о ). Таким образом, мы используем четыре отдельных светодиодных индикатора с общим анодом.
Ниже представлена принципиальная схема часов.
Выбор пал на микроконтроллер PIC16F73, поскольку он не дорогой и достаточно функциональный. Это 28-контактный чип с портами A, B и C, а также рядом периферийных устройств, таких как Таймер, АЦП и UART. Самое главное преимущество «PIC» является простота программирования.
Порта на PIC микроконтроллерах имеют большую мощность, чем в семействе 8051. Поэтому светодиодные сегменты (катоды) могут быть подключены напрямую к выводам порта без каких-либо буферных микросхем. Таким образом, сокращается общее количество компонентов.
Так же есть несколько каналов АЦП. Скорость преобразования очень быстрая, порядка 20 микросекунд. Поэтому к нему легко подключить любой аналоговый сигнал и оцифровав его вывести на тот же самый светодиодный индикатор.
В нашей схеме таким сигналом является аналоговый сигнал температуры с датчика LM35. Микросхема LM35 — это недорогой датчик температуры может измерять температуру в диапазоне от -50 О С до 100 О С. В нашей конструкции данный датчик установлен непосредственно на печатную плату, поскольку нам необходимо измерять комнатную температуру.
Сброса микроконтроллера PIC16F73 осуществляется по выводу 1. К этому выводу подключен резистор и конденсатор для того, чтобы выполнить сброс при подачи питания.
Схема запитана от 5В, полученное от понижающего трансформатора (Х1), выпрямителя (BR1) и регулятора напряжения IC 7805 (ІС1).
Вывод 20 подключен к плюсу питания, а выводы 19 и 8 к минусу. Выводы 9 и 10 предназначены для подключения кварцевого резонатора. Два конденсатора, каждый из 15пф, подключены к концу кристалла на землю. Эта высокоскоростная частота или HS. Существует регистр конфигурации внутри чипа, который должен быть запрограммирован для HS. В нашем случае мы используем байт конфигурации 52 HEX.
Порт B запрограммирован как выход. Порт А запрограммирован на вход и вывод 2 (AN0) используется как АЦП для обработки сигнала от датчика температуры LM35.
Выводы порта С (с4 по 7) используются для управления анодами индикаторов. Вывод 11 — кнопка S1 (установка времени). Путем постоянного нажатия на нее происходит изменение времени. Вывод 14 – кнопка S2 (установка будильника).
Источник: 2016/04 | ELECTRONICS FOR YOU
Скачать прошивку (скачено: 388)
Тимофей Носов ICQ# 770008
E-mail ntv1978 (at) mail.ru
www . miliamper . narod . ru
По данной статье нам поступило большое количество писем с вопросами, замечаниями, благодарностями. Всем авторам выражаем большую признательность за теплые слова и бесценные материалы. Если вы решите самостоятельно повторить программатор EXTRA — PIC , мы надеемся, что эта статья поможет вам убедиться в правильности решения и отбросить все сомнения.
В статье рассматривается программатор EXTRA-PIC, данные о котором получены из открытых источников на www .5 v . ru (DOC Rev.1.03.00). Список поддерживаемых микросхем, при использовании с программой IC-PROG v1.05D:
PIC- контроллеры фирмы Microchip: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, PIC16C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774, PIC16C781*, PIC16C782*, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877, PIC16F877A, PIC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*
Примечание: микроконтроллеры, помеченные звездочкой (*) подключаются к программатору только через разъем ICSP.
Последовательная память EEPROM I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, AT24C512.
Расположение выводов ICSP у PIC-контроллеров.
Внимание! Материал только для общей справки. Обязательно убедитесь, что указанное расположение выводов соответствует выбранному вами микроконтроллеру. Для этого, обратитесь к Data Sheets и Programming Specifications на соответствующий микроконтроллер.
Пояснение: Вывод PGM рекомендуется "притягивать" к общему проводу (GND), через резистор номиналом 1К.
Для справки: микроконтроллеры с 14-контактным корпусом вставляется частью ножек в соответствующую 8-контактную панель.
Рисунок печатной платы (облегченный вариант) (скачать в Sprint Layout ).
Рисунок печатной платы (полная версия) (скачать в Sprint Layout ).
Фотография собранного программатора (облегченный вариант)
Далее мы приводим альтернативные рисунки печатных плат программатора EXTRA — PIC (авторство установить не удалось)
Вариант 1 (скачать в Sprint Layout ).
Вариант 2 (скачать в Sprint Layout ).
Отдельного внимания заслуживает печатная плата разработанная нашим другом markomar2005 (at) yandex.ru , которая разведена под "маркер".
Вариант от MARKO (скачать в Sprint Layout).
Считаем необходимым разместить здесь фотографии программаторов наших благодарных читателей. Если вы достигли результатов, не стесняйтесь — высылайте фотографии, мы с радостью их здесь разместим.
Автор il86md (at) mail.ru
Автор sound65 (at) rambler.ru он же greeze (at) inbox.ru
Альтернативный вариант (+ сменные модули) от markomar2005 (at) yandex.ru
Вариант от alex_vw (at) mail.ru
Пошаговая инструкция или "Как прошить PIC -контроллер"
Введение. Данная инструкция составлена на примере прошивки микросхемы PIC16F876A для сборки универсального многоканального АЦП.
- Соберите программатор (в т.ч. распаяйте удлинительный шнур мама-папа для COM -порта и подготовьте блок питания на напряжение не менее15В).
- Скачайте программу IC-PROG отсюда или с http://www.ic-prog.com/ (733 кб).
- Распакуйте программу в отдельный каталог. В образовавшемся каталоге должны находиться три файла:
- icprog.exe – файл оболочки программатора;
- icprog.sys – драйвер, необходимый для работы под Windows NT, 2000, XP. Этот файл всегда должен находиться в каталоге программы;
- icprog.chm – файл помощи (Help file).
4. Настройте программу.
Для Windows95, 98, ME
Для Windows NT, 2000, XP
(Только для Windows XP):
Правой кнопкой щёлкните на файле icprog.exe.
"Свойства" >> вкладка "Совместимость" >>
Установите "галочку" на "Запустить программу в режиме совместимости с:" >> выберите "Windows 2000".
- Запустите файл icprog.exe.
- Выберите "Settings" >> "Options" >> вкладку "Language" >> установите язык "Russian" и нажмите "Ok".
- Согласитесь с утверждением "You need to restart IC-Prog now" (нажмите "Ok").
- Оболочка программатора перезапустится.
"Настройки" >> "Программатор".
Проверьте установки, выберите используемый вами COM-порт, нажмите "Ok".
Далее, "Настройки" >> "Опции" >> выберите вкладку "Общие" >> установите "галочку" на пункте "Вкл. NT/2000/XP драйвер" >> Нажмите "Ok" >>
если драйвер до этого не был установлен в системе, в появившемся окне "Confirm" нажмите "Ok". Драйвер установится, и оболочка программатора перезапустится.
Примечание:
Для очень "быстрых" компьютеров возможно потребуется увеличить параметр "Задержка Ввода/Вывода". Увеличение этого параметра увеличивает надёжность программирования, однако, увеличивается и время, затрачиваемое на программирование микросхемы.
"Настройки" >> "Опции" >> выберите вкладку "I2C" >> установите "галочки" на пунктах:
"Включить MCLR как VCC" и "Включить запись блоками". Нажмите "Ok".
Программа готова к работе.
- Установите микросхему в панель программатора, соблюдая положение ключа.
- Подключите шнур удлинителя, включите питание.
- Запустите программу IC-PROG.
- В выпадающем списке выберите контроллер PIC16F876A.
Вот и всё. Я тоже думал, что это что-то невероятное. Попробуйте – и у вас получится.
Тимофей Носов ICQ# 770008
E-mail ntv1978 (at) mail.ru
www . miliamper . narod . ru
По данной статье нам поступило большое количество писем с вопросами, замечаниями, благодарностями. Всем авторам выражаем большую признательность за теплые слова и бесценные материалы. Если вы решите самостоятельно повторить программатор EXTRA — PIC , мы надеемся, что эта статья поможет вам убедиться в правильности решения и отбросить все сомнения.
В статье рассматривается программатор EXTRA-PIC, данные о котором получены из открытых источников на www .5 v . ru (DOC Rev.1.03.00). Список поддерживаемых микросхем, при использовании с программой IC-PROG v1.05D:
PIC- контроллеры фирмы Microchip: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, PIC16C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774, PIC16C781*, PIC16C782*, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877, PIC16F877A, PIC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*
Примечание: микроконтроллеры, помеченные звездочкой (*) подключаются к программатору только через разъем ICSP.
Последовательная память EEPROM I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, AT24C512.
Расположение выводов ICSP у PIC-контроллеров.
Внимание! Материал только для общей справки. Обязательно убедитесь, что указанное расположение выводов соответствует выбранному вами микроконтроллеру. Для этого, обратитесь к Data Sheets и Programming Specifications на соответствующий микроконтроллер.
Пояснение: Вывод PGM рекомендуется "притягивать" к общему проводу (GND), через резистор номиналом 1К.
Для справки: микроконтроллеры с 14-контактным корпусом вставляется частью ножек в соответствующую 8-контактную панель.
Рисунок печатной платы (облегченный вариант) (скачать в Sprint Layout ).
Рисунок печатной платы (полная версия) (скачать в Sprint Layout ).
Фотография собранного программатора (облегченный вариант)
Далее мы приводим альтернативные рисунки печатных плат программатора EXTRA — PIC (авторство установить не удалось)
Вариант 1 (скачать в Sprint Layout ).
Вариант 2 (скачать в Sprint Layout ).
Отдельного внимания заслуживает печатная плата разработанная нашим другом markomar2005 (at) yandex.ru , которая разведена под "маркер".
Вариант от MARKO (скачать в Sprint Layout).
Считаем необходимым разместить здесь фотографии программаторов наших благодарных читателей. Если вы достигли результатов, не стесняйтесь — высылайте фотографии, мы с радостью их здесь разместим.
Автор il86md (at) mail.ru
Автор sound65 (at) rambler.ru он же greeze (at) inbox.ru
Альтернативный вариант (+ сменные модули) от markomar2005 (at) yandex.ru
Вариант от alex_vw (at) mail.ru
Пошаговая инструкция или "Как прошить PIC -контроллер"
Введение. Данная инструкция составлена на примере прошивки микросхемы PIC16F876A для сборки универсального многоканального АЦП.
- Соберите программатор (в т.ч. распаяйте удлинительный шнур мама-папа для COM -порта и подготовьте блок питания на напряжение не менее15В).
- Скачайте программу IC-PROG отсюда или с http://www.ic-prog.com/ (733 кб).
- Распакуйте программу в отдельный каталог. В образовавшемся каталоге должны находиться три файла:
- icprog.exe – файл оболочки программатора;
- icprog.sys – драйвер, необходимый для работы под Windows NT, 2000, XP. Этот файл всегда должен находиться в каталоге программы;
- icprog.chm – файл помощи (Help file).
4. Настройте программу.
Для Windows95, 98, ME
Для Windows NT, 2000, XP
(Только для Windows XP):
Правой кнопкой щёлкните на файле icprog.exe.
"Свойства" >> вкладка "Совместимость" >>
Установите "галочку" на "Запустить программу в режиме совместимости с:" >> выберите "Windows 2000".
- Запустите файл icprog.exe.
- Выберите "Settings" >> "Options" >> вкладку "Language" >> установите язык "Russian" и нажмите "Ok".
- Согласитесь с утверждением "You need to restart IC-Prog now" (нажмите "Ok").
- Оболочка программатора перезапустится.
"Настройки" >> "Программатор".
Проверьте установки, выберите используемый вами COM-порт, нажмите "Ok".
Далее, "Настройки" >> "Опции" >> выберите вкладку "Общие" >> установите "галочку" на пункте "Вкл. NT/2000/XP драйвер" >> Нажмите "Ok" >>
если драйвер до этого не был установлен в системе, в появившемся окне "Confirm" нажмите "Ok". Драйвер установится, и оболочка программатора перезапустится.
Примечание:
Для очень "быстрых" компьютеров возможно потребуется увеличить параметр "Задержка Ввода/Вывода". Увеличение этого параметра увеличивает надёжность программирования, однако, увеличивается и время, затрачиваемое на программирование микросхемы.
"Настройки" >> "Опции" >> выберите вкладку "I2C" >> установите "галочки" на пунктах:
"Включить MCLR как VCC" и "Включить запись блоками". Нажмите "Ok".
Программа готова к работе.
- Установите микросхему в панель программатора, соблюдая положение ключа.
- Подключите шнур удлинителя, включите питание.
- Запустите программу IC-PROG.
- В выпадающем списке выберите контроллер PIC16F876A.
Вот и всё. Я тоже думал, что это что-то невероятное. Попробуйте – и у вас получится.