Добавить статью
Приветствую Вас, Гость · RSS Суббота, 20.04.2024, 05:57











Главная » Статьи » Схемы

Cхема управления на 32 выхода .

Управление выходами в любом порядке .

С клавиатуры набираем нужный нам номер управляемого выхода, нажимаем кнопку ввод , выход включается. 

При повторном наборе этого номера, нажимаем кнопку *ввод , выход выключается.  

Состояние выходов (вкл. - выкл.) сохраняется в энергонезависимой памяти МК.

Возможен вариант , сброса всех выходов в состояние "выключено" для этого набираем с клавиатуры "33" и кнопку *ввод ......


Файлы к этой схеме.

Cхема управления  на 32 выхода (поочередно).

Принцип работы такой: управляем поочередным включением 32 выходов с помощью клавиатуры, например для включения выхода 13 , нужно набрать на клавиатуре число 13, оно должно отобразиться на индикаторах, после чего, нажав на ввод сработал выход №13 и удерживался до набора следующего номера. То есть в данный момент времени включен только один выбранный выход.


Файлы к схеме.

Начало этой темы здесь Управление блоком реле

Категория: Схемы | Добавил: c2 (24.10.2012)
Просмотров: 3814 | Комментарии: 4 | Рейтинг: 5.0/3
Всего комментариев: 4
4 vehvfycr  
Не выключается 14 реле по схеме: Управление выходами в любом порядке. Кто-нибудь может исправить ?

3 vehvfycr  
Не могли бы выложить исходник, схемы управления на 32 выхода ?

2 vehvfycr  
Звуковое подтверждение нажатие клавиш можно ли сделать в схеме управления на 32 выхода ?

1 C@at  
Управление реле на ATmega8 (с возможностью вкл. группы реле)

Схема

Код
Code
/*****************************************************
Version : Кнопки реле led , ..     
Company : http://c2.at.ua     
Chip type  : ATmega8
Clock frequency  : 4,000000 MHz
*****************************************************/     
     #include <mega8.h>
#include <delay.h>

     flash unsigned char led[11]={     
     0b10000000,
     0b00000110, 0b01011011,
     0b01001111, 0b01100110,
     0b01101101, 0b01111101,
     0b00000111, 0b01111111,     
     0b01101111, 0b00111111};  // Массив "led" во flash-памяти,     
     flash unsigned char pind[11]={     
     0b10000000,
     0b00000010, 0b00000100,
     0b00001000, 0b00010000,
     0b00100000, 0b00001010,
     0b00010010, 0b00010100,     
     0b00000000, 0b00000000};  // Массив "pind" во flash-памяти,
unsigned char i=1;  //  переменная     
     void main(void)
     {
     PORTB=0b11111111;  // Port B initialization
     DDRB=0b00000000;     
     PORTC=0b01000000;  // Port C initialization
     DDRC=0b00111111;
     PORTD=0b00000000;  // Port D initialization
     DDRD=0b011111111;

     while (1)
     {     
     PORTD=led[i];     
     PORTC= pind[i];     
     if (PINB.0==0) i=1;
     if (PINB.1==0) i=2;
     if (PINB.2==0) i=3;
     if (PINB.3==0) i=4;
     if (PINB.4==0) i=5;
     if (PINB.5==0) i=6;
     if (PINB.6==0) i=7;
     if (PINB.7==0) i=8;     
     delay_ms(50);
     };     
     }


Архив проекта в протеусе

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Конструктор сайтов - uCoz
Copyright MyCorp © 2024