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

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

[���������]----------------------------------------------------
'
' ����......proj08pbc.bas
' ������....PicBasic Compiler
' ����......PIC -> ���������������� ���� ��������� (�� ���������������� PIC16F876)
' �����....��� ��������
' ������....9 ���� 2001 ����
' �������...
'
'
' ---------------------[��������
���������]-----------------------------------------------
'
' ���������� PIC16F876 � ������� �����������:
'
' PIC ������� ����������
' --- ------------------
' RB4 Max232 (RX) - �����
' RB2 Max232 (TX) - ��������
' RB0 ���������
' MCLR VDD ����� �������� �������������� � 1 ���
' VDD +5 �
' VSS ����
' ���� ������ DB9, 5-� ����� (Gnd)
'
' ---------------------[������ ������
���������]------------------------------------------
'
'
'
' ---------------------[�����������
��������]---------------------------------------------
'
'
' ---------------------[�����������
����������]-------------------------------------------
'
symbol Rx = B2 ' ������� ����
symbol LED = bit0 ' ���� ������� ����������
'
' ---------------------[���������
�������������]------------------------------------------
'
Init:
LED = 0 ' �������� � 0 ���� ������� ����������
low 0 ' �������� ���������

' ---------------------[�������
��������]------------------------------------------------
'
Menu:
' **********************������� ��� �� �����
���������**********************************

serout 2, T2400, ("Menu", 10, 13) ' ���������� ��� �� ������ ���������
serout 2, T2400, (#1, ") ", "send hello", 10, 13)
serout 2, T2400, (#2, ") ", "send goodbye", 10, 13)
serout 2, T2400, (#3, ") ", "toggle LED", 10, 13)
Receive:
' **********************������ ��������� ����� ��� �
���������*************************

serin 1, T2400, RX ' ������ ��������� ����� ���


RX = RX - $30 ' ������������� ��� ASCII � ��������� �����
If RX > 3 then error ' ���������, ��������� �� ����� �����
Branch RX, (zero, one, two, three) ' �������������� ��������� � ������������

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

Error:
serout 2, T2400, ("error", 10, 13, "Try again", 10, 13)
goto menu

Zero:
' **********************��� ��������� ���������, ���� ������� �����
0******************

goto menu ' �������� � ����� Menu, ����� 0 - ������������


' �����

One:
' **********************��� ��������� ���������, ���� ������� �����
1*******************

serout 2, T2400, ("Hello", 13, 10, 13) ' ���������� �� �������� ���������
"Hello"
goto menu ' �������� � ����� Menu
�������� ���������

Two:
' **********************��� ��������� ���������, ���� ������� �����
2*******************

serout 2, T2400, ("Goodbye", 13, 10, 13) ' ���������� �� �������� ���������
' "Goodbye"
goto menu ' �������� � ����� Menu
�������� ���������

Three:
' **********************��� ��������� ���������, ���� ������� �����
3*******************

If LED = 1 then off ' ���� ���� LED = 1, �� ������� �


����� Off
high 0 ' ������� ���������
led = 1 ' ���������� � 1 ����
���������� LED
serout 2, T2400, ("LED ON", 13, 10, 13) ' �������� ��������� ��������
����������
goto menu ' �������� � ����� Menu
�������� ���������

Off:
low 0 ' �������� ���������
led = 0 ' �������� � 0 ���� ����������
LED
serout 2, T2400, ("LED OFF", 13, 10, 13) ' �������� ��������� ��������
����������
goto menu ' �������� � ����� Menu
�������� ���������

Goto Menu