roboforum.ruТехнический форум по робототехнике. |
|
|
#include<tiny2313.h>
#include<delay.h>
void main(void){
DDRB = 0b00000001;
PORTB= 0b00000001;
DDRD = 0b01000000;
PORTD.6= 0;
PORTD.4= 0;
while(1) {
if (PIND.4==0) {
PORTD.6=1;
delay_ms(100);
}
}
}
Мастер а зачем тебе стока разных деталей на схеме транзистор конденсаторы? я напрямую всё подсоеденил к МК и к питанию вроде пашит
#include <tiny26.h>
#include <delay.h>
char i;
main() {
DDRA = 0b11101111;
DDRB = 0b11111111;
PORTA =0b11011111;
PORTB = 0b00000000;
while (1) {
i=0;
while ( i < 15)
{
PORTB ^=0b00000001;
delay_us(14);
PORTB ^=0b00000001;
delay_us(14);
i++;
};
if ( PINA.4 == 0)
{
PORTA.7 = 0;
}
else
{
PORTA.7 =1;
};
delay_us(600);
};
}
#include <tiny26.h>
#include <delay.h>
char i;
main() {
DDRA = 0b11101111; //конфигурация портов
DDRB = 0b11111111;
PORTA =0b11011111;
PORTB = 0b00000000;
while (1) {
i=0;
while ( i < 15) //цикл подачи пачки импульсов ик светодиодом
{
PORTB ^=0b00000001; // начало импульса
delay_us(14); // задержка 14 микросекунд, чтобы получилась частота примерно 36 кГц
PORTB ^=0b00000001; // конец импульса
delay_us(14); // задержка между импульсами
i++;
};
if ( PINA.4 == 0) // проверка: если на ноге PA4 (к ней TSOP подключен) ноль (есть сигнал)
{
PORTA.7 = 0; // то зажигаем красный светик
}
else // если нет сигнала
{
PORTA.7 =1; // то красный светик не зажигаем/тушим после последнего включения
};
delay_us(600); //пауза между пачками импульсов
};
}
Вернуться в Новичкам или основы основ роботостроения.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12