Вы находитесь на странице: 1из 3

' ---------------------

[���������]----------------------------------------------------
'
' ����......proj13PBPRO.bas
' ������....PicBasic Pro
' ����......����������� ������ �� �������� ���������� PIC16F876 -> �����������
' �����.....��� ��������
' ������....1 ����� 2002 ����
' �������...
'
'
' ---------------------[��������
���������]-----------------------------------------------
' ��� ���������, ������ � PIC16F876, �������� � �������� ������-��������� �
�������������.
' �� ���� ���� ������������ ������ �������� ������, ��������� ������ � ��������.
���
' ����������� ���� ��������� ����� ������� ��������� ��������� ������, �����
��������
' ������. ����� ������ �������� ����� ������� ��������� ��������� � ��������
����������� �
' ����������. ����� ����� �������� �������. ����� ����, ��� ����� �������� ������
�������,
' �� ������ �������� �� ��������� �������, ����� ������� ����.
'
' ��������� � �����:
'
' PIC ���������
' --- -----------
' RB2 ���������� ������� ������
' RB7 ���������� ������ ������
'
' ---------------------[������ ������
���������]------------------------------------------
'
'
'
' ---------------------[�����������
��������]---------------------------------------------
'
'
'
' ---------------------[�����������
����������]-------------------------------------------
'
move var byte ' ���������, ���������� ����� ����������� ������
x var byte ' �������� ���������
'
' ---------------------[���������
�������������]------------------------------------------
'
Init:
TRISB = %00000000 ' ������� ��� ������ ����� PORTB ��������
'
' ---------------------[�������
��������]------------------------------------------------
'

define loader_used 1 ' ��� ������ ���������, ������ ���� �����������


' ��������� ���������

main:
' ***����������� ������ ������ � ������� �����
move = 100 ' ������ move = 100 � �������� ���������� ��� �������� ������
gosub fwd ' ������� � ������������ FWD, ��������� �� �������� ������
pause 10 ' ������� �������� ����� �������� ���������

' ***��������� ������ �� 180 �������� ������ � ������� �����


move = 250 ' ������ move = 250 � �������� ���������� ��� �������� ������
' �� 180 ��������
gosub lfwd ' ������� � ������������ LFWD, ��������� �� ������� ������
pause 10 ' ������� �������� ����� �������� ���������

' ***����������� ������ ����� � ������� �����


move = 100 ' ������ move = 100 � �������� ���������� ��� �������� �����
gosub revrs ' ������� � ������������ REVRS, ��������� �� �������� �����
pause 10 ' ������� �������� ����� �������� ���������

' ***��������� ������ �� 180 �������� ������ � ������� �����


move = 200 ' ������ move = 200 � �������� ���������� ��� �������� �������
' �� 180 ��������
gosub rfwd ' ������� � ������������ RFWD, ��������� �� ������� �������
pause 10 ' ������� �������� ����� �������� ���������

goto main ' �������� � ������ � ��������� ��� �����

' ***������������ ������� ������ ������


FWD:
For x = 1 to move ' ������ �����, ����������� ��������� ������ ������
pulsout 2, 100 ' ���������� ������ ������ ������
pulsout 7, 200 ' ���������� ����� ������ ������
pause 10 ' �������� �� ������������ �������� ������
next ' ��������� ����, ��������� ������ � �������� ������
return ' �������� ����, ������ ���� ������� ��� ������������

' ***������������ ������� ������ �����


revrs:
For x = 1 to move ' ������ �����, ����������� ��������� ������ �����
pulsout 2, 200 ' ���������� ������ ������ �����
pulsout 7, 100 ' ���������� ����� ������ �����
pause 10 ' �������� �� ������������ �������� ������
next ' ��������� ����, ��������� ������ � �������� �����
return ' �������� ����, ������ ���� ������� ��� ������������

' ***������������ ������� ������ ������-�����


Lfwd:
For x = 1 to move ' ������ �����, ����������� ��������� ������ ������-�����
pulsout 2, 100 ' ���������� ������ ������ ������, ����� �������� �����
pause 10 ' �������� �� ������������ �������� ������
next ' ��������� ����, ��������� ������ � �������� ������-�����
return ' �������� ����, ������ ���� ������� ��� ������������

' ***������������ ������� ������ ������-������


Rfwd:
For x = 1 to move ' ������ �����, ����������� ��������� ������ ������-������
pulsout 7, 200 ' ���������� ����� ������ ������, ����� �������� ������
pause 10 ' �������� �� ������������ �������� ������
next ' ��������� ����, ��������� ������ � �������� ������-������
return ' �������� ����, ������ ���� ������� ��� ������������