помощью PIC16F877 вместе с L293D

G

Guest

Guest
Привет всем,

Я, имеющих проблемы с использованием PIC16F877 для включения / отключения ИК L293D чип для включения и отключения двигателя.

Я использую PORTD из PIC16F877 контролировать позволить Сцепляющий 1 L293D, но это, похоже, не контроль вообще.

Вот код:

/ / Определить компилятор ошибке.
# ifndef __CPU_16F877__
# ошибке "Эта программа специально для контроллера PIC16F877"
# ENDIF

/ / Включить необходимые файлы заголовков здесь.
# включить "io16f877.h" / / аппаратных зарегистрироваться определение файла./************************************************* ***************
Переменная timer_value проводит подсчет между двумя последовательными таймер прерывает.
Это заданное время (сек) между прерывает деленный на
срок каждого таймера кол.
Например, в этой программе, Timer1 настроен так, что каждый кол = 1,6 нами
так timer_value 60000 даст прервать течение 96 мс.
************************************************** **************/
/ / INT timer_value = 0xEA60 / / десятичное 60000./************************************************* *********************
Заявляют о функциях, которые будут использоваться в основной программе,
то естьнедействительным DelayUs (INT кол)
initialize_IO_ports недействительным (недействительными)
недействительным ждать ()

************************************************** ********************/
/ / Положить тела всех этих функций, здесь, перед ISR () и основной ().

недействительным DelayUs (INT кол)
(
INT I;
INT J;
для (i = 0; I <кол; I )
(
для (J = 0; J <5000000; J );

/ / Этот цикл имеет по 5 NOPs
И отходы 1 с нами для ПОС тактовой частоты 20MHz.
)
)недействительным ждать ()
(
Я символов;

для (i = 0; I <100; I )
(
RD1 = 0;
DelayUs (100);
)
)
initialize_IO_ports недействительным (недействительными)
(
/ / установка цифровых IO портов по требованию.
TRISB = 0xFF; / / portB в качестве вклада.
TRISD = 0x00; / / PORTD качестве продукции.

/ / очистить выходных портов в начале.
PORTD = 0x00; / / Очистить PORTD.
)недействительным Main ()
(
/ / Настройка порта D в качестве выходногов то время как (1)
(

RD1 = 1;
ждать ();

/ / Остановка
RD1 = 0;
ждать ();
)
)

 
на самом деле я только необходимость вывода Сцепляющий как я нужна PIC16F7877 чтобы иметь внутренний контроль времени тогда, когда время истекло, выходной порт будет покинуть ...Поэтому я считаю, что ввод TRISB может быть проигнорировано.

 

Welcome to EDABoard.com

Sponsor

Back
Top