#include <avr/io.h>
#include <util/delay.h>
int main(void) /* начало основной программы */
{
DDRB |= (1<<0); /* PB0 сконфигурировать как выход, светодиод */
PORTB &= (~(1<<0)); /* установить "0" на PB0 */
DDRD &= (~(1<<3)); /* PD3 сконфигурировать как вход, TSOP */
PORTD |= (1<<3); /* установить "1" на PD3, включаем подтягивающий резистор */
while(1) /* бесконечный цикл */
{
if( !(PIND & (1<<3)) ) /* проверить "0" на PD3, проверка TSOP */
PORTB |= (1<<0); /* установить "1" на PB0 */
_delay_ms(500); /* временная задержка */
PORTB &= (~(1<<0)); /* установить "0" на PB0 */
} /* закрывающая скобка бесконечного цикла */
return 0;
} /* закрывающая скобка основной программы */
Описанную задачу программа выполнит. Заодно и работоспособность схемы проверите. А для той программы схема немного другая нужна.(Отредактировано автором: 23 Сентября, 2010 - 00:55:58) |