Page 1
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����1
Getting started C programming for PIC
microcontroller with mikro C compiler
����������� � ���� ���������������������� ���
�� ��!"#$%������+�����
�& �����'��()�'*��
����������
������� ��������������
(C) Innovative Experiment Co.,Ltd.
�������������������
Page 2
2��� ����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
Getting started C programming for PIC microcontroller with mikro C compiler
��������������� �!"�#��$���%�%&��'���&���() ��*��+,-./ ���0���'��&1$2�&1�*�
������������� ����
���������� ���������������������
�%�%��� *#��1!2&�3����
������������������������� �!"#$$�%�&��'%�&��$������������(��)'� ���$�"$#���)$�$*�)%���*���+,-�.�/����-
0���1�"�����������)�2������%�����3���%����%�&�����'4�����������*��� �*����%�*�����3�5*/�$�� ���������*����%�*����� �!$*�����*��
6��$7�����%�&��$����.*2��������� �!��������������*��� ���)$�$*�)%���*������!��"*� ������� �!'��88����
�������������� ����������������������� ���������������������� ��� ��!�"��������#�����$%�&'��� % ������ ���()������������*���������"+��� ��� ����",�"'����"��!#����������������� ,�� ! ���-�*���%��������������������.�!��$�,/�!�,�0�����1!��2 �"��,����'!�-� �!�,����)����� ����$�,.�$������ ���#����,"��#���#�������������������$ ����",�"'����"���� ������!��$�,/�3!��"�����.��������� ��*�� ����",�"'#���������
������������� �������������������������
���� ���� �����������������+�������*����������������!�� �� ������$��(4��
�9��������������� �!�9�3�:�)�$����'�&�������4�&���&��������"����6�66;<6�=��#(#���%��>�;0�1��#(#���%� (�2"�2���(�"�2�����#2%�?��>0@>)%����%���5678986855:69)%���� 5678986855;
Page 3
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����3
�� �� ��������)'� ����5&*$�$"#���)$�$*�)%���*���.�/����!��"�A2� :��/���"����3�5*�-���&23��&2
%�&��$����9�$�8*:�2�&2$5*�=*B�� ���%�&����:��$*����*���CDEFGHIJKL�3�5*��� '�)'� ��������!%9�3�.�%�&����� '�/����A2������'M�/��� *�=�"��� �.���������!��=*B�� ���*�����3��&2%�����:�� *�=�"�*��CNOOJFPIJKL�%9�3�.�%�&����� '�/��� *�=�"��'M�/���$�5&*23�5* � ��)$.�*���:*3��&2�)�%�&��' �.��� #�(*2$*����*������!Q���*� *�=�"�*��(.���.�.������5&*�3.��������)'� ���'M��'*:�2�!���� �!��(����*������%9�2���2
FHRKE-�$*����*��'M�3��&2��$*����*��%�&��.��"$��������� ���2��������)'� ���/����-�9�3��"��)$�$*�)%���*���+,-��.����� .2��%�&2:�� �!��$�5&*2�5*���"��#������%9�2������������'%��2��� :�*:�2�B����"�����CIHPKNKSL�%�&��*A:'M��9���������*2��"��"*#'��7��:*�:�23���3��� �!�.��:��(*2=*B�� ���%�&� .����������)'� ���%�&����:��FHRKE�,TU�������$�����"A�7� �!"���#$�5&*2�5*%�& :������(��)'� �����.��.*�������.�:�'M�$�5&*2�5*�����)'� ���%�&�����1��&��.���.2:�������3��&2
�9�3��"��3��2�5*�:�����!�9���*1�2����� .2�� �!��V���������)'� ���/����-��.��FHRKE-�$*����*���9�3��"��)$�$*�)%���*���+,-�)��.��'%�&"*���+,-�@WXYY� �!�+,-�@WXXY���$9�*V�"����� .2��BZ2�� �&� �!��"����%�&�9�$�8����1�2���%��*2%�2[���� ���%�&�����1 ��2�3.3��1�2Q����%9�2����.*:�2 ���� �!��"�.*2��.�)��� �:�!���%��*2�!��$9�*V�"�%��\���2������*:�2)'� ����(����*����%��*2� �!Q�%�&���(�����5&*�3.QA.��������1%9�$���(.���� �!�����*"Q����%9�2��'��"%�"��.
�FHRKE-� 'M�=*B�� ���%�2��7� �� �!�.*2��������=5�*��*:�21A��.*2����.�(*2��(��%V�]��&�$5*^HRKEJIJR_KE`HRN������1��&2=5�*��.%�&�aaa�FHRKEJ�DEF�*:�2�������%�2�^HRKEJIJR_KE`HRN�����.'4�)*����3.QA.���������1�����)3���FHRKE-��#:��0b��'%��*2� .2����.B���)���:�9�������������1� .2��$�5&*2�5*�5��c����.$�"�� .��"��)$�$*�)%���*���+,-���.%#�"*��%��2��0Wddde��@Wddd� �!��XWdddd�3�� �:�9����(���(*2�B����.%�&�0���)������� �!�5&*��������=5�*�#:���"A�7����!�����1� .2����.*:�2��:��(.*�9����
���*:�2���%��*2%�&�9���*��3��2�5*�:����%��23��������1%9�2��/���.�FHRKE-��#:�� 0b� ��.*:�2��"A�7�
(*(*"$#7�^HRKEJIJR_KE`HRN��9�3��"���Q ��:�FHRKE-��#:��0b� �5&*�3.���%��*2��.��)*�����&��.���������)'� �����)$�$*�)%���*���+,-��.�/����-��9�3��"QA.� .2��%�&�.*2���� .�#:���"A�7������1���"��#�QA.�������.�.�������=5�*����^HRKEJIJR_KE`HRN�%�&�aaa�FHRKEJ�DEF
�������A.��)$�$*�)%���*���������/����-�'M�'Z���3��&2%�&��������)'� �����)$�$*�)%���*������3�:�.*2�3.$�����������!�*�����! :���$���=�"=.*� �!#:2������������)'� ��� �.���2 :��3.����:**� �!���'��"'��&�)'� �����*��$������1%9���.2:�(���
���������������������� !"#$� %$� &�
Page 4
4��� ����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
� ���,$''�<�: ��0�"��+,-./ ��������������������������������������������������������������������������������������������������������������Y
$''�<�7 ������������������ �$2�&1�*�!"�#��$�+,-./ �%&����&�����������������������6<
$''�<�= ��������������2<&����3&�&����&1���%�%&��'���&��� () �*��+,-./ �������������������������������������������������������������������������������������������������������������������<<
'( )�% ��$*+,� -� .�)� /01�*+,#2$�%�3444444444444444444444444444444444444444444444444444444444444444444445-
'( )�% ��$*+,�����$��67��#2$�%�8�9�:�0��';��2�%�#<%44444444444444444444444444444444444444445�
'( )�% ��$*+,� ���$��67��#2$�%�8�9�:����';��2�%�#<%44444444444444444444444444444444444444445�
'( )�% ��$*+,� � *�=2)2>��?>����=� %��4444444444444444444444444444444444444444444444444444444444445�
$''�<�9 �"����!�1�*�4>1�� �<��?/@AB���������������������������������������������������������������������������������Y6'( )�% ��$*+,� �� .�)�=+�7�6��@A7����,�� �BCDE444444444444444444444444444444444444444444444444444444444��
$''�<�; &���&������������%�%&��'���&���() ���$��+,-./ �%&����&������������������YY'( )�% ��$*+,� 5� 2 ��%2$�$�'%�*+,.�� F��G��H44444444444444444444444444444444444444444444444444444444444��
$''�<�C �������3&��$���D��E F��*�4>1�� �<��&1�+,-./ �%&����&�����������������������������XY'( )�% ��$*+,� �� =>7.62"I�9=�7J�*+,K"�I�� /31� K����6@A7����,�� /LE4444444444444444444444444��
'( )�% ��$*+,� ��=>7.62"I�9=�7J�*+,K"�I�� /31� K����6@A7����,�� /LE�444444444444444444444-�
'( )�% ��$*+,���=>7.62"I�9=�7J�*+,K"�I��/31�K����6@A7����,��/LEM3CNOBP444444444--�
$''�<�8 4>1�� �<�����3&��$#�3�%����"��*&�D�&�&���&��&1���%�%&��'���&���() �������<'( )�% ��$*+,�-��*�=2)��$�.+��9�:2>��Q�>��?��"�R�.62"I�2+2+#$2"4444444444444444--�
$''�<�G 4>1�� �<�&3��%3�������D����1!�HH�I&0���&��J������&�6�&1���%�%&��'���&���() �������������������������������������������������������������������������������������f
'( )�% ��$*+,�--���$��67��@A7����,��8ELMFSTE���)�U�3-5V���44444444444444444444444444-��
'( )�% ��$*+,� -��2>��?>����K"�I��813�9))% �%>2K��%$7444444444444444444444444444444444- -
'( )�% ��$*+,� - �2>��?>����K"�I��813�9=�7J�*+,K"�I��/314444444444444444444444444444-
Page 5
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����5
$''�<�K � *1��4>1�� �<��(LM��&1�+,-./ �����������������������������������������������������������������������������6Y'( )�% ��$*+,���?�)?<"?��"�$��.27"2�%2$��6��@A7����,��UWX44444444444444444444444444444-�
$''�<� :5 �������3&�N?OPQ����D�!2<&!���*&�D��&���&�R����&1
���%�%&��'���&���() ��*�4>1�� �<��&1�+,-./ �%&����&�����������������������g6'( )�% ��$*+,�-����$$�)=>7.62"I�$:Q�>�7&"K?$?2�K*$���2$�9�:?2"# ��%2$�4444444-5
'( )�% ��$*+,�-5�=Y,2=�$.62"I�2�<�$"K����6�$:)����$*�7Z2@%�9�$�444444444444444444-��
'( )�% ��$*+,�-����$=>7.62"I�2:Z 7K?$��=�6����$�R�Q��?>�$+� =�%2$�K��%$744444444-5
'( )�% ��$*+,�-����$$�).62"I�2:Z 7K?$��=�6����$�R�Q��?>�$+� =�%2$�K��%$744444444-55
'( )�% ��$*+,� -�� ��$$�).62"I�2:Z 7K?$��=K����62 ��%2$�$�'%�44444444444444444444444444444444-5�
$''�<� :: �������3&&R���I��0$$$�!�)7 ��*�4>1�� �<��&1�+,-./ �%&����&�����������������Y�
'( )�% ��$*+,����% �%>2)2$��.�)$+�����-5��>27�[\F0/8]-5��6��@A7����,����344444444-��
'( )�% ��$*+,��-�% �%>2��)K"�I��.�"* ̂ � � %2��3XU�� ��6��@A7����,����3444444444444-�
'( )�% ��$*+,����% �%>2)2$��.�)$+�����-5��>27�[\F0/8]-5�6��@A7����,�� �B_OM��3444444444444444444444444444444444444444444444444444444444444444444444444-��
$''�<� :7 �������3&&R���I��$$�?()��&1���%�%&��'���&��� ()
�*�4>1�� �<��&1�+,-./ �%&����&������������������������������������������������������������������������fY
'( )�% ��$*+,�� �% �%>2��)�X3U����&2Z+9'�7=�̀ `�a� � %2��';�2:���2�4444��
$''�<� := �������3&&R���I��0$$$�!#�S<1!��*�4>1�� �<��&1�+,-./ �%&����&��������0>f
'( )�% ��$*+,���2>��?>�2<aQbI" ���&2Z+�1�-������6��@A7����,��BDScdeS444444444444�-�
��%T����U���0�"�%�2<&1�2&�����'��&1'�1V�������������������������������������������������������������006
Page 6
6��� ����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
Page 7
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����7
������� ��������� ��� ����������������������������� � ��!�"�"� � #$�%&'����� (��������������� ������� � ���������������)*+,-����'���.�� �(/0�(��(/����1 ����2���3������������������'�����1������"����������������(���4-)5*67,��8�&�������!��0��!8/�9'������'����:;<$�������=����8�"����8�0�������>��?�������@ ��1��.�����������'�!�A0���1?�0�������!8/�?�1"���"�3����������������
%&'�����������������B���.��!���1���90��� � ��!�"�"� ��'�"���"��C/0������2�1�� ���3���@8!8/3�'��?���D>��!�A0�8A��(/�?�1�E0�����?3�'�981��������1����>���?�9'.�����)*+,-�������B3�'��" %""��D �FG7H��'�1��� ">���810��I���81��!��3�'"�9�A���3����!��0��"0��'1?�0�����"2��" � FG7H������B�����3�'���� �(/0���������� � ��!�"�"� �#$������=����'!����?�
�������3����D>��1BC0���3�'0���"2��1"2�81�90�������!�"0.2'�0BC0�)*+,-�3���?��JK����89'.������'��9���90��" �"�0.�� ���" ��(��"0��������� �(/0�L��" ������"FG7HM��'0��?��>��J��>�"��>� ����?�N�����810���������������������������������!�"03�'0����� � ��!�"�"� �#$����(A0�'�����!�A0�������������� �� �����!��0��90��?�1�� �������>9����"N���'����1?�0�8
�������%&'3�'0��!8/!�"03�'�)*+,-���"'��8 �����3.�'0�����?����&�@ �����B�>��?��/0(A��'!8/����� 90%&'%">���������������� ����
��� ���������� ������ �� !"#$��% �&'( )*�����'��C/0��" �>���A090�)*+,-��3���?���D>��8A��8�J�!�0 (
OF�.���%?�8�8��!8/.����3����!�"0��� � ��!�"�"� �#$����(�����2����?�1�� �P-Q-R#$�:�90�*S7H
JF����� ��"���� ��/�3��?"?����!8/�.�8!8/�TTTF)*+,-7F4-)
.����A�!������>���A0���(�������������21��� 90�>�����
����+�,�&�� �!"#$%�
Page 8
8�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��) ������ +,� #��-.�� -�/0�1��2"�3(�45�6�� $UV���.��� $SW7X,YW7Z�U7[76-5)7SW�VS[*,-S)7SW����1BC0��� ��� !8/������� �(/0�(
�"2����2���"'�3��������������������'3�!8/��81�������1��13��\*+,-��$UV���2�����'�1� � �(/0�(� �(/03�'!8/����1 ����2�����0�8A
�� 4�7�#���#���% ���8 8���� �������������>��� ��������981��"2��'�9� �����������������1� '���>��� .2!������1��12��� ����/0]�������]�9'�&"����"9]���9�2��"2 ��D>��1��'�1�8� L4-6-,� � ^_SWYHM����!�A0�&������������%&'3�'0�������B�"(�������"8/1��&�����"2�8���909'�&"��?"2��>���'�0
������������ ������� ������ ��������� !��"��#���"��$����%�&�'
������������ ���
������������
��������������������������� !"�##�$��%&��"�����'���������(����
���������(����( !)��
���������*���� +�"����,-./0123456738
Page 9
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����9
)� !$2���9/0�#�:;�<5� 3��)*+,-����'���81��"����890����������������'.��������� ��(/�?�13�'������������������������� � ��!�"�"� � #$�������B!����'1?�0�����N���?�?�.2�����"����8��8/1��������>��?��?�1 ���.���������0%"9'�&"�����(/���9'�&"�������.����N�9'�&"�?�0`��"2�����8�����������>��?����@ ��1��
=� #��-.�� -�>'?@#A9@(45�6�� �!8/�?�1���0%"� �0��'�090����������������"2�a0� ��/��?�0�`���13��������
B� � �� !"#$��%� 3�'3������"�������������� �������������"8��"2%�������������������"� ��(/��"��������������8�� '�.����N�3��&������" �b7H�����=�������B3�'���� �(/0��������#$������=����'!�A0���
C� D� <#$#���%������ �(/0�(�����������.��"0���!��0��90��������3�'�&%"���!��0��90�������!8"2���N���"21�03�'�?�1.����"����!��0��90�������!8"2�?�0����BC0�&�����"8/1���"090�8.>���� �?�0�`���'1?�00?�1��1
E� #��/�����F>7��(�&GH�"/<����.�����3�'0���������!8/0?�1�"'��)*+,-��1�0��������9'�&"��������3�'0�����������"����8�?�0`��"2���1?�0���������'1?�0�����1�?�13�'%&'��>/��'������B��81��&'����981���������������.�����1?�0��'0?�19CA�
��)�� ��@$I#�9@�A��4�7�#���#���% ���8 �8����
� '���>��� 90�)*+,-�� ������>��� !8/����'�� �(/0�(�?�13�����981���������!��3�'����981�!����'0?�19CA��'�1 �@�����>�?�0�`���0�8A
��������?0�&�����890��������?�0�`���'
���"(����0��� ����/0������1����I���cPd�e�<5Y47�QY,
���&��1"2�81� ?������>��� 90��� ����/0�?�0`���'
�� �0������3�'0���!���"�� LW7)56YW7M���(�����'�0�&����� '��������>��'
�����.���"2��'�9� '�!8/�981�%>���'��1�������>
��������������?0!8/�'0�����2�����1�0���!��!8/�'0�����'
�������B������?0���3�'0����'�'�1����"(�!8/���&�J���K � LM������( ">���I�!8/��'��?�0�"��90��������N��'
Page 10
10�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
���6/��>&��0�/�.� � ��8 NKK�K�� O�JPQRSTN��U
��(/�2���3�����981����������(3���0 ��A0.����� ����/0��?��'�3�'�� 81 �"��90�(/ ����/0�"'�����I���cPde�<#:�V��L���1BC0����I���W,6� '�0��'�"'�����'�1�������I��<5Y47�QY,M�� ����/0!8/�8 81 �������!8/�"(���'1&?�'����'�.2����f���!�A0�������810�"(/�� � �� ��1�0 ����/0!8/�'0����"'����VSW7,� ����/0��A�.2B&���81�9CA���3�'0��
.�����1?�0��������"(��>�� ����/0�Lcd��"'��� 81 ��cPd��"2�<#:�V�.2����f��'��?�090 ����/0!8/9CA��'��'�1 ���?��d4Z�9CA���3�'�"(�
���>'?@6/��"��� �#���% � T����� NKK�K�� O�JPQRSV+WJRSTN��U
������� ����/0��(�a0� ��/�3���" �"����8����=��90�)*+,-�� ��(/�������(/�a0� ��/���( ����/0�"'�����'�1� �(/0���1�0�"N���g��L���(�� 81 ��cPde<b$hce<#:�V��L�� 81 ��W,6�����'�1<G*iW��"2�<5Y47�QY,M� ?������>��� 90��� ����/0��A�`�.2B&����09CA�����1�������>3�'3�'0����'!��!8
.�����1?�0��������"(��>�� ����/0�Lcd_Out_CP( �"'��� 81 � �cPde<b$hce<#:�V.2����f�����>��� �unsigned char * text 9CA���!��!8���(/�?�13�'%&'�981��������!����&������������� ?������>��� 90 ����/0�8A1?�0B&��'0
Page 11
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����11
��?;/�26$I6�7!A�0�X�����4( ��� � NY� �����
���� �@�����>������.�� ��%>���1�������>��8���!��0�� "'�1����\*4,-^-iW�j-,Z��"21�0�?�1��'�9����>�� ����/0!8/��?B&��'090%&'3�'0�����1 ����/0!8/����>�� %>��?1`���A��%&'3�'�����B��>/���>� ����/0��'���1����"(����&�J���K � LM���K�.����A��"(���!8/���9'�NY� �����
����0�1(��0�61('� Z�������
3���@8!8/��������8 ���1�����`� ��(/3�'�����2�����1�0������?0�?�0`�90���������'1?�0�����N�� %&'3�'0�������B������������?0���!��!8/�'0�����'3��k--+)Y,+�C/0�����B��2�����1�0������?0��A�`���'1?�0�����N�
������������?0�k--+)Y,+�!����'��1�����I���cPd�����'�1�<b$hc��"2 81 ����"9�.����A��������.2���0������?0�Q--+)Y,+�!8/�'0���
����9'�BC0������?0�k--+)Y,+�!����'��1�������I���cPde����"9���0������?0�k--+)Y,+
��29/:;<=14>/<?
��29/:;<=14>/<@
��29/:;<=14>/<A
Page 12
12�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�����I4��!5@���0�61('�2��[��[9.�7����� � \��Q��
��.�����3�'�Q--+)Y,+��"'��%&'3�'0��1�0�����B��2�����1�0���!���?�0`�90���������'��1��0�%?������� 81 ��cPdel�.2����f��'��?�0�l-W-d*S7�9CA���3�'�E��"9���!��!8/�'0�����2�����"'� ">���I��mK
��8 �]M���� (�?��90��'��?�0!8/��01&?!�0�'��'�1�(90�������3�'���0�a0� ��/��"2������!8/3�'
0��1&?3��������9@2��A�
Page 13
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����13
1(7��'��A��A7� <$>'?@#1$-�#�'��'?( � ^Y��� V�M �^V�M�
3��!N��?.����-Z7�VH56-,7,� ������'��?�09'�&"�?�1��"(� ��(/3�'!���BC0���3�'0���a0� ��/�!8/���.�1&?3�����������?�������81�3�'0���a0� ��/��>��?��?�1 ���.����-)5Y4W�h6Y^G������'�
��@����9@%$�� � *_`���8 Sa��Y
1&?3�������?0�!N�9�����90��'��?�0��-Z7�VH56-,7,���(/�"(��9'����.2�8��1���90 81 "���?�0�`�!8/3�'3����������?�13�'�����B3�'0�� ����/0�?�0`���'1?�0�����N�1>/09CA�
Page 14
14�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
1(7��'��6;7�X$$�"b% � cKK�d e��8��������'��?�0����������0%""��D .����� ���" �B'���� ���" �89'%>��"�����'��?�0�8A
.2���09'%>��"���'�1�����8��0�3���@8��?%>��"�����'��?�0�8A.2���09' ����8�?�0���'�!�A0�.'09�����?�1 ���.��!8/3�'�����@8�89'%>��"���������.2��?��'�0��" �G7H�%&'3�'0�������B�9'�BC0���!��!8/��>� ���%>��"����'��1��������>" ">�!8/���!��!8/���09'%>��"��� �������.2��2�����1�0������?0!8/��>�9'%>��"��!��!8
��)�) #��-.�� -�"�#fg>'?@F(���"�3(�45�6�� ��)�)�� ������1�/6�/�9� �NS�++ �a���
����� �(/0�(!8/�?�13�����981��������!8/��8/1�9'0�������������(���.�����9'�&"���<W,*SX���1����0���8A�8A�/�13�A%&A�981��������!���BC0� /�9A�&"�������8A90���������(���R�"9�!8/�>1�3�'���� (�����981�9'�&"�����0%"!8/���&"�d�U� �����'�������81�3�'0������0���8A.2��81�.�����&�J���K � NK��� �a��
Page 15
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����15
��)�)�) 65$4�7�45�6�� #5h( VJcQ ��]M�� ��8 � VJcQ�
����8 ����'0������������� ������������k6-X���(������� ��A��B'�!����� ��"��n��2� '�!8/����9' �����1?�0��81���A���.3�' ������&�@ ��'��?�!?����!8/���03���'��?�0�-Z7�VZ*W-,���0��A�B'��'0���3�'����� ���0� ��������!8/�8�&�������(����3�� '���>��� �����B��81�3�'0��� �(/0�(����8A��'��1��!8/���&�J���K ���]M�� ��8 � VJcQ
��)�)�= 1(7��'��/-.�/��A7� <$X'�("��%��(&�� � iSNPJ J������
� �(/0�(��(/�?�1����"2�?09'�&"������2��?�0��� � ��!�"�"� �"2 ��>���� �����81�3�'0��!����'��1��!8/���&�J���K ��iSNPJ J������ ��(����I���W,6ec��N��'
Page 16
16�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��)�)�B�1(7��'��/-.�/��A7� <$X'�("��%� iSZ F(41 � V+, � V+, J����������� �(/0�(��(/�?�13�����>��?�2��?�0��� � ��!�"�"� ��� ��>���� �%?���� �
o<k��C/03���� � ��!�"�"� �#$����0��� .2�8���&"�o<k��>���A01&?���?��#$�Ophqrrs������'������81�3�'0��.2�'0��!8/���&�J���K ��V+, J�����
��)�)�C 1(7��'��/-.�/��A7� <$X'�(�I22#(:�#?��%� � i,T J������
����� �(/0�(����?0��N���N�9'�&"3��2����N���>� ����1��!8/���&�J���K ��i,T J������
Page 17
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����17
��)�)�E 1(7��'��/-.�/��A7� <$��2���%�1('?@�?� ;0� � cc� ���8 J������
����� �(/0�(����������?���"2�981���� ���?�1 ���.����>��\\��%?������(/�������������81�3�'0��.2�'0��!8/���&�J���K ��cc� ���8 J������
��)�)�j 45�6�� �0�1(�;&�H�"/0�1��24 �<$���kl� Q�, � \Q�, Z���M �8���
����� �(/0�(�?�1������9'�&"�����'�0���3�'�������g��d�U�������� '�������������B3�'0���������g��d�U��"�1��� ��!>��K<sOsp]�ctutv���(����g��d�U�90�!�w��! �;-+*YvOOs�����81�3�'0��.2�'0�9'���!8/���&�J���K ��\Q�, Z���M �8���
��)�)�m 45�6�� �0�1(�A7� <$/0�1��2 Q�, ��?#$A j /'?( � Sn� Sd�� ,��8�
����� �(/0�(�?�1������9'�&"�O���� �������������0%"90�dVU�����"9�x��?��������81�3�'0��.2�'0�9'�!8/���&�J���K ��Sn� Sd�� ,��8�
Page 18
18�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��)�)�o 45�6�� /�7����?���g�#p"�I/0�1��24 �<$ Q�, � Q�, �YK�� �a������
����� �(/0�(�?�1��'�0��������>�w�3�'������&"�d�U��������������1��(/��'�0����������N.��81��'1�"'�����I��l7S7,YW7��������.2��'�0� '�3�'��1�������>������81�3�'0��.2�'0�9'�!8/���&�J���K ��Q�, �YK�� �a������
��)�)��q 1(7��'��1('?@�?� ;0�A7� <$�9�9"�� � ��TPLc �8���
3�'���0 ?��"2��'�99'�&"3���?�1 ���.��9'�&"88���90��� � ��!�"�"� � #$�
Page 19
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����19
��= #��. �7(F>7��( ��������=�� F>7��(;����?�@'��
)*+,-�� ���81����1?�0����981���������(A�=����3�'%&'3�'0��!�"0�"�1����������1�"�0.���>���A0��������)*+,-���"'�����1?�0��������?�0`�.2��N�1&?3���"��� ����������� ��������� ������������������ ����������
���������" ����.N�� ���!8/.2��g�9CA��������1?�0�8A3�'��� � ��!�"�"� � � #$�Othpxx:C/0�N (���" 90����������2��>�� LdVU�k6*S+*SXM
9�A��������g����1?�0����.N�� 9CA���3�'0����89�A�����0�8A
LOM���g���������)*+,-���"'���!8/���&�T��r� � LM� T��r�
LJM�!8/��'��?�0�m57S� �"(���"��� �� ����������� ��������� ������������������ �������������������� �!"# ������� � ��81���g���" � �!"# ������$���
Page 20
20�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
LvM�!8/��'��?�0�#,-y74W�<7Wz5� L��>��@�'��'�190.���M�.2���0��� 90��� � ��!�"�"� �#$��!8/�"(�3�'���'�!�A0 ���B8/��{{�@��|g��������B��"8/1�������� (/�!8/�'0�����'.���&���������"(���"8/1�������� �#$�Othppx��"2 ���B8/��{{�@��|g���L�6-4+M� �!?�����Js\b}
�
LqM�!8/��'��?�0��'�9���������(��-Z7�VZ*W-,�.2���0��1"2�81�90� ��������dVU~k6*S+*SXF4����0���03��������!8/�ORO
/* * Project name: LED_Blinking (Simple 'Hello World' project) * Copyright: (c) Mikroelektronika, 2005. * Description: This is a simple project. It turns on/off diodes connected to PORTC. It uses bitwise negation to toggle PORTB pins. * Test configuration: MCU: PIC16F877A Dev.Board: EasyPIC4 Oscillator: HS, 08.0000 MHz Ext. Modules: - SW: mikroC v7.0 * NOTES: None.*/void main() {
PORTC = 0;TRISC = 0;while(1) {
PORTC = ~PORTC;Delay_ms(1000);
}}
(����)���������#�*�� (����)+�,������ -.�/�0! 123�4��4567�����%� ��$���������&�)-89���/
���(�����B����� ���
����������� ��� ������������������� ��������������� ������� !��� "#�$ ��%&�'%����� ������"� � ����(��)*+,-./0���1����%2'3 �4��$��"#��� �����5������������������� �/����6����
Page 21
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����21
LrM�!����� ���" � �� '��������3�'��������� �(/0�LFG7HM���1�� 81 ��cPdehu��( ">�!8/� �� � �!8/��>��@�B��'����90����������(��!8/���&�#,-y74W��"'��"(� ����/0kz*6Z��N��'
LtM��"�0.�� ���" �%""��D !8/��'.2���0!8/��'��?�0�\7^^YX7^��'��"?�090�������C/0B'���?�89'%>��"��3�`���'��?�0�\7^^YX7^�.2���09' ����<z447^^��8�981���"2���0.�������?�1 ���.����������"2��?�1 ���.���P:\�!8/B&�3�'0��
��=�) ��?;/�2X$���[0���(A��45�6�� X'�( ,`Ydd�
��������U7QzXX7,�90�)*+,-��!��0�����(�������.��"0���!��0����(>�&�"��� ���(/�&%"�����"8/1��%"0!8/�8.>���� �?�0�̀ ���13������� � ��!�"�"� ���1��?.�������'0���� ��"�������������3�'!��0��.�>0��89�A������3�'0����0�8A
LOM���!8/�# (< Pis #$-���0�/�.� S�� ,`Ydd����( ">���I�� ���>��@�B�� �(/0�(�'����90����������(���9@% Wo� ��(/��>/��'���g���'��?�0�U7QzXX7,
��������� ����������� ��������������������������������������������� �������!"��
Page 22
22�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
LJM��������.2��g���'��?�0�jYW4G�9CA������(/�& ?��������?�0`�%?����'��?�0�jYW4Gj*SZ-T���1.2�'0�"(��8.>���� !8/�'0������.�� ?���81�?�����������������dVU~k6*S+*SX�8.>���� !8/3�'0�� (�TLPJ�� �"2�JP+S� ��>��@�B����0�B��2.0��'��?�0�jYW4G�.2���0������?090�������� �� ��� �L9@2>�&�"��� �������M����0��"�!8/3�'��(/!�� ����/0�L<W-5�TYW4GM�"2��"����0�B��2� L�8.>���� �<WzWz^M
"�������C!�(�����"�!�
D�)�� +�"����2 =EFEG=��� ������� �����������
�C����� ��
���!���� ��
LvM� 3����.��"0���!��0�������B3�'��I��?�0`�!8/1&?��>��@�'����90��'��?�0jYW4G�3�����&%"���!��0����'���(����I� 81 "����0�8A
WB ��( ����������!8/������?0� � �� ����f1&?
WC ��( �������1��">�.������
WE ��( �����1����/� ������.��"0���!��0��
Wj ��( ����������N���1�9'���3��������1?1
Wm ��( ����������N����1��?�9'���3��������1?1
���RWm ��( ����������N�.��.���������1?1
Wo ��( ��g����.��"0���!��0����(>�&�"���
���RW) ��( �g����.��"0���!��0����(>�&�"���
N�R, ���0��'��?�0�>�������"�
Page 23
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����23
LqM� ">�!8/��I�� ����(��5&t Wm���(/����������3�'!��0��������N����?��?�9'����&���!��0��3��������1?1�����I��hp�����(/1`�.�BC0 ����/0��PORTC = ~PORTC; ��0��� ?�90#mPc���?����������������������� �!"���#���$��%&%%�'(���������$��%&))���(� �!"���#���$��%&))'(���������$��%&%%
��=�= �����?;?���'�!D#��$���[0���(�7?@ S�M���a
�"(�!8/���&�u�� � ,`Yd e��8��Ku�� � ������.2���������g���'��?�0�<W-5TYW4G����(/3�'�& ?���"�!8/3�'3����!�� ����/0��(�a0� ��/�.�����������!8"2���N����(.��������1��!8/������?0k,7Y+5-*SW� � L������������?0�1�����!��0��90��������3�����>�&"�"��� M
��13���'��?�0�<W-5TYW4G����09'�&"��0�8A
OF��Y��� ��Y�����0.��������>"���!��0���"2��"�!8/3�'��A0��?��g���'��?�0�U7QzX
JF�,�������������0.��������>"90 ����/0��(�a0� ��/�!8/��>/0���3�'!��0����"?����
vF�S�M���a� ����������0.��������>"���!��0���"2��"�!8/3�'��"�0.������I�P7^7W�W-��7,-
Page 24
24�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
qF�������������'��?�0������������� ?� ���!8/�>"�"��� !8/3�'�C/0��?.�������'0���� ?���81���� ?�!8/������3���" ����.N�� �N��'� %&'()*+,-./'01,-234)35)67./889:;-+-+<8*=>0?0@)<4)2A���B��C�DEF646.G-(HI()*+,-./'01,-234)35)67./889:;-+-+<8*=>0FJ-=%,*+DK(<=
rF�5&t �� ���3�'��(/�8����|g��.����"�3�'�"������>/����!8/�s�L��?.2��?�8%"��� ?���z,,7SW��-zSW� M�3�'����������.����"��n��2�a0� ��/�!8/�'0���
?�!8/���0.2���0!�A03��&����90���>"���!��0��90��� � ��!�"�"� �"2 ���212��"�!8/3�'3����!�� ����/0��(�a0� ��/�
�"�0.���&'.������?����2��90��'��?�0�<W-5TYW4G��"'��?���������!�"0�������������>0��>"���N�� ��(/�&.��������>"�"2 ����"�!8/�������3�'� ��1!�����9�A�����0�8A
LOM����������{{�@��|g���L�6-4+M��!?�����Js�\b}
LJM�� "81� ?����>"�"2 ����"����1 ">�!8/��I���
LvM� ">�!8/��I��SM Ln�� ���(����I��hp���C/0 ��A0��������!�� ����/0�PORTC = 0C/0��"�!8/�<W-5TYW4G�3�'�!?�����v����>"
LqM� ">�!8/��I��SM Ln�� �8� ��A0� �������!�� ����/0�TRISC = 0���0���!8/���9'U76WY� ?�.2�8 ?��!?�� J� ���>"����0�?� ����/0�cP$<����s� 3�' ����"��J����>"��? ?��212��"�90<W-5TYW4G�.2�8 ?��!?�����r� ��(/0.������������ ����/0�?���'��8A�9'����'�1
LrM� ">�!8/��I��SM Ln�� � 8� ��A0� .2�������!���a0� ��/���?�0��"��O��>��!8� 3���@8!8/3�'�<W75�m[7,��������.2��?�9'������0���!��0��3��a0� ��/���A����?.2���0 ?�.��������>"90�a0� ��/��U76Y_~)^LOsssM�����L�.�'03�'��"����� �&?� M�*��+,-./��0� !12�34%5643%7�08��#�9�12��$��(�(�:���5%%;�7%��#��#:#��/��9�12�5�:#��/�,2��
Page 25
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����25
��B 1(7��'��6/��/v������F>71('?@�?� ;0��"�0.�� ���" ��������"'��%&'3�'0�������B��81��&�B>�>�?�0`�����2�����'�1
OF�c���_ YK�d ���0���3�'0����?�1 ���.����������"2��?�1 ���.���P:\C/0.2���0!�A0��>��@��?�1 ���.��!8/�?�01&?�"2��?�1 ���.��!8/3�'��
JFT���8Y�K �K�wK� ���0��>��@���3�'��?�1 ���.����?0����a0� ��/�!8/��81�3�'
Page 26
26�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
vFT���8Y�K ��������K�� ���0������?0���3�'0����?�1 ���.���������90�a0� ��/��?�0�`���13������������BC0��>��@���3�'��?�1 ���.��3���?"2�a0� ��/��'�1
qFT���8Y�K �8���K� ���0��1"2�81�90�a0� ��/��?�0`���1�8����2��������?0��������>/��'��"2�>A����90�a0� ��/�
Page 27
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����27
rFPNc� ����������0��1"2�81�90��?�1 ���.���P:\��"2�8.>���� �?�0`���1���0�(/�"2������?0������90�8.>���� �"2��?�1 ���.����"?���A�
tFPLc� ������'��?�0���0��1"2�81�����������������"8!8/��N�1&?3���?�1 ���.���������
Page 28
28�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��C [�/�2���[0���([��x��%�6?�%3����!������!��0��90��������������!8/�981�9CA���(/3�'��N�%"���!��0��.�>0`
!�0��� ���� �.2�'0�8������� ��"���" � FG7H�C/0������" %""��D 90�)*,+-�� ����"� ��1�0��?�1 ���.���������90��� � ��!�"�"� �#$����0��A�3����!����8A.2�8� �(/0�(�J����!8/��8/1�9'0 (� ��� ���� ���������������"2!�"0��� � ��!�"�"� � #$�� � �"2�� ��� �������������� ��"��������
��� ���� !8/��2���3����0�(�"?��8A��2���'�1
OF��� ������������������ � ��!�"�"� �#$��Z^#$��%?���� ��o<k��(/��?�#�RJss�90��>��!>������8�� �N����>���� �.������LTTTF*S7HF4-FWGM
JF��� �!�"0��?��;�Rpxx�56z^$$����������@8�'0���!�"0!�/�������>�>���A0��� � ��!�"�"� �#$�Ophpxx:���'���?�����B��"8/1�������� �#$�Othppx���(�OphqHHH�3���?��qs�9���'
vF�Pk�Rpxx��JFs��� � �� ����?�1�� �P-Q-R#$�:�!8/�>���A0��� � ��!�"�"� #$�Othppx���?�����B��"8/1�������� �#$�Othpxx:���(�OphqHHH�3���?��qs�9����'
�?���� ��� !8/3�' (� #$�+*WJc\�#,-X,Y))*SX�<-iWTY,7�90�\*4,-4G*5�%&'%">���� � ��!�"�"� �#$������B���� ��"���'��8!8/�TTTF)*4,-4G*5F4-)
��C�� ����������D�k�%6?�% T+���)Jc T��d������d K�y���#$�+*WJc\�#,-X,Y))*SX�<-iWTY,7������� ��� ����������������� � ��!�"�"� �#$�
�"2�Z^#$�������"�!8/�'0!��0���?������ �(/0��������#$�+*WJc\�90�\*4,-4G*5���(� �(/0�������(/�!8/�8���!��0����0����3�!8/�8A�"(�3�'�� ����������?��#�RJss�C/0�����9CA���1��>��!>������8�� �N����>���� �.������.��9'�&"!8/�%1���?�&?��D��@290� �(/0��������#$�+*WJc\����1\*4,-4G*5������������������9'�&""03���?�1 ���.���������90��� � ��!�"�"� �#$�90�� ��#�RJss�.2��������������3��0.�%?��!�0�.��� $�UJ
��C���� �������;��6X'(D9�9�� [9. ���2>&� Tz{)qq
�� ��� !8/3�'����#�RJss� (�#$�+*WJc\�#,-X,Y))*SX�<-iWTY,7���13��������3��/̀ ���A��������.���\*4,-^-iW�F;Vc���0��A�����>���A0���������(/3�'0���%&'3�'0���'0�8����>���A0�\*4,-^-iWF;Vc�h,Y)7T-,+���81�?�
Page 29
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����29
��� ��G9[9.�� "�?#���%! ' 9���������� c����K�y �s�J W������� ��'�(
�>���A0�\*4,-^-iW�F;Vc�h,Y)7T-,+���1�"(��>���A0.����"��� �#$�+*W�J�<7Wz5�[JFsOZ-W;Vc���Z-WS7WiH�3��%?�8�8��������>" ">�!8/��" �Z-WS7WiHF7H7�.23�'��"�3�����>���A0 �&?��C/0.����A�.C0�>���A0��������#$�+*WJc\�#,-X,Y))*SX�<-iWTY,7���1�"(���" �#$�+*WJ<7Wz5F)^*
�A� ��G9[9.�� "�?#���% 9���������� c����K�y �s�J W������� 6$7?
�>���A0��������#$�+*WJc\�#,-X,Y))*SX�<-iWTY,7���1�9'���!8/��"��� �#$�+*W� J<7Wz5�[JFsO�3��%?�8�8��������>" ">�!8/��" �#$�+*WJ<7Wz5F)^*
��C���) �������;��!k$%[9.��?(%41$�;��#?2!D�%A�� c�����a�M
�9'���1�0����� 90�\*4,-4G*5�!8/�TTTF)*4,-4G*5F4-)��"(����9'�U7[76-5)7SW�W--6^��#*4+*W�J�#,-X,Y))7,�U7QzXX7,
��� ��G9[9.�� "�?#���%! ' 9���������� c����K�y �s�J W������� ��'�(
3�'���� ��"���" .�����9'�#$�+*WJ�JFsO�$S^WY66�T*WG�F;Vc�h,Y)7T-,+�.2��'��" #$�+*W�J�<7Wz5�[JFsO�Z-W;VcF}*5�L����"9��� ����.��"8/1���"0�����?�!8/�8����������0"?����M��"'�!�����91�1��" !8/���� ��"���� ��N���'3���"��� � #$�+*W� J�<7Wz5�[JFsO�Z-W;Vc�.����A��9'���3���"��� �#$�+*W�J�<7Wz5�[JFsO�Z-W;Vc����Z-WS7WiH��"(������>" ">�!8/��" �Z-WS7WiHF7H7�.23�'��"�3�����>���A0 �&?��C/0�.����A�.C0!������>���A0��������#*4+**WJc\�#,-X,Y))*SX�<-iWTY,7���1�9'����"'������>" ">�!8/��" � #$�+*WJ<7Wz5F)^*
�A� ��G9[9.�� "�?#���% 9���������� c����K�y �s�J W������� 6$7?
3�'���� ��"���" .�����9'�#$�+*WJ�JFsO�$S^WY66�.2��'��" �#$�+*W�J�<7Wz5�[JFsOF}*5L����"9��� ����.��"8/1���"0�����?�!8/�8����������0"?����M��"'�!�����91�1��" !8/���� ��"������N���'3���"��� �#$�+*W�J�<7Wz5�[JFsO�.����A��9'���3���"��� ��"(������>" ">�!8/��" �#$�+*WJ<7Wz5F)^*��(/��>/��'��>���A0�������
Page 30
30�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��C���= A��(��(����������45�6��
LOM������>" ">���" �>���A0�#$�+*WJ<7Wz5F)^*�.2����f��'��?�0��>/�����>���A0� ">���I��;7HW
LJM�.2����f��'��?�0�.'0������?0��"��� !8/.2!������>���A0������?�'0�����"8/1���"0������?0��"��� 3�' ">���I��;7HW� ��(/%?��9�A����8A��
LvM�.2����f��'��?�0�.'01(�1������>���A0�������� ">���I��;7HW� ��(/����"0
Page 31
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����31
LqM���'��?�0�.'0">9�>!D �� ��� ����f9CA�� ">��$�YX,77���(/������.����A� ">���I��;7HW
LrM���'��?�0�.'0�B��2����>���A0�����������f9CA���.���2!�/0����>���A0���N.���&�@
.����A���'��?�0�.'0����>���A0����������N.���&�@ �.2����f9CA��3�' ">���I���6-^7���(/�g���'��?�0�8A� ���������'.�>A�9�A�������>���A0��������#$�+*WJc\�#,-X,Y))*SX�<-iWTY,7
Page 32
32�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��C�) ���#>-.� �'�#"-.�[�$��[��x��%�6?�%
LOM� � ��>/��'��'�1����?��1�o<k��2��?�0�#�RJss������ ��o<k�90 ��>���� �.����A���g���������#*4+*WJc\�#,-X,Y))*SX�<-iWTY,7���1�"(�!8/�<WY,W���:66�5,-X,Y)^���\*4,-4G*5��#*4+*W�J��JsO�L�"9��� ����.��"8/1���"0��'�������������0"?����M�3��&�!8/�ORJ����0��'��?�0�"��90��������#*4+*WJc\�#,-X,Y))*SX�<-iWTY,7
���� "��"���H
���*���"�!� ���'2975>4IJ:./475
�' "�����(�����
�������K)����(�����
+� �( ! ��B���D2 L1MN2( !��'�B������O'���)�'�D�D��
�������K)����(�����
��������'�D�D��B���*B������K����+����� ���
��������'�D�D��B���*B������K����+��� � ����
��������:�������� ������ (����)�;�7���<:=>�;��5�?���45�@�A<B?�C
Page 33
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����33
LJM���?��1�$�U��2��?�0�� ���������#�RJss������ ���E����1��(�� �!�"0
LJFOM ��G9F>7��22��%�[�$�� sz{mjj M�YK++
��"�����C��������� ���
,�D" �����"����8
�CP�( !"�����'�����+�(���
+��K�D� PK�
��C!�����������K"�K2 Q9R@�������2G=S
LJFOM ��G9F>7��22��%��?2�& 1&'(@(�% PZz{mjj Pn�)qqj�
���� � ����������
������ �������
����
������
����
�
���
��
�����
��� �������� ��� ��� �� ��� ��� ��� ��� ��
���
���
����
�����
�����
���
���
���
���
���
���
���
���
���
���
������
�� �
�
��
�
��
� ���
��
������������
�������������
������������������� �
�����������������1?�0�dVU~k6*S+*SX�!8/��.�����1?�03���"��� ����������� ��������� ������������������ �������������������� �!"# ������ 9����0�1(�����'�?�;�! '�����22��%� PZz{mjj Pn�)qqj ���(��(F(���[�/�2(9�;I�7��v|�2��%�[�$�� sz{mjj M�YK++ #5h(1$�� �����������1?�0���!�������� ���Pk�Rpxx�P7[FJss��&��1"2�81���>/���>�3����0�(��81��&'�"2��'�0��?�1�� �������>������ � ��!�"�"� �#$��C/0.����3�����?�1�� �P-Q-R#$�:
Page 34
34�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
LvM� .����A��� ��� .2���.�������(/��?�"2��� 90��� � ��!�"�"� � #$�!8/��(/��?�'�11?�0�������>� �"'�.2�.'0��� !8/������'��?�090�������
LqM� �"(���" � FG7H�!8/�'0�������������1��!8/���&� h*67� �"(�� $)5-,W�b7H�.2�8��'��?�0���������g���" � �FG7H�!8/�'0����������"0��� � ��!�"�"� � 3�!8/�8A�"(���!8/����������� ��������� ������������������ �������������������� �!"# ������� �"(���" �(/� �!"# ������$C��
LrM� ">�5&t e��� ��(/���� ��"����������1�0�� ���� � ��!�"�"� �#$�
LtM���?�0.���1�?9��� ����3�`��9'�����dVU
�������������������
���
�����
������
����
���
��
�����
���
�� ��
���
�
�
���
�������
��
��� �
���
���
� �����������
� ��
LxM���@83�'�� ��;�Rpxx�56z^�$$��"�0.����������"'��3�'����>�� �\mUV���3������PzS�"'�����>�� �PV<Vc���� � ��!�"�"� �#$��.2��>/�!��0����<=>�/��?"22�@"'(?#��(,�#A2�"��?"2��1�2�
Page 35
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����35
��������������� ���������������������������� !"#�!�� $�%�����&�'�� !"��(�)��"*+��,-./0�123��45�6����743��8�98�����(�'3��������������4(:�'3���'�743;8�����<��9���������� !"�!�!�����#����(54�������!����(;'3������ !"
������������ �����������45�6���������9����46
*=0�(>���������������743(��?�@��,-./�(!'��:A���3��B-C�@��,-./������D&����8�����������@��,-./�526�������?
����+�, ������������ � �����()�'*��
�� �����!"#$%������-�����
���������� ������
������������������� �
���������� ������
���� ���� ��� ���������
�!��"�#$%%�&��'(��
�������������)&�$�*&����+� ���! �� ����(�,� �$�
Page 36
36�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
����A�&��:8��8��E�#�&����8���B-C�@��,-./��4����46
*=F=0��������������(G�����A�&��;'3�� !"��(�)��"!�;'3�1��"�������� ������������� !"��(�)��"�4�����!9(G��F++.��8��� !"1��"�������4�����9!(G��F.�#�743�46�A�&��;'3��8����������
*=FH0�������������� (G�����A�&���A�&�8�� !(���"743#;�(�)<� !"��(�)��"!�1��"�������#�743�46�A�&���A�&�8����743��� ���������%?�#;���������I��:4�"�(�'3�(!'���A�&�8�� !(���"������(�����
*=FJ0� �!��"#�"�$� (G��'6�743�A�&��<��<9���!�(�4��(�43����<��(�)��"743�����526�����<9&�'���8�)���
*=FK0� �%"���(G�;8���A�&��<�A�&��(<��"���:�:���7�!(!��"743(!'��#;����(�'3��������:�:���7�!(!��"�@L���8!�(<��"�4:9$��<��M��8(&�'�������2�����(!'��(<��"5�����:�:���7�!(!��"�@L��#&�I?������#�743�46(!'��(G�(<��"��������
*=FN0�&'��(�#;��A�&��:8�:���I43��OO�$��P>��743#;���<���:�:���7�!(!��"@L���&�8��(G��QRS�#�743�46#;�:���I43(78���<���� ��
*H0��A�&��:8�:9$��<��M7��T��"���"&�'�:�� >�?(�;�3�� *.�UV�WX�Y/��U0�5�����:�:���7�!(!��"�@L�� (<��"743(!'��#;����743;8��� �%"���)'�*!��4���(!'��#&�#;����&!���?<<(;8�
+,-+./&� Z������A�(�M���OO�$��P>��<<:�M���!�:���I43��8(�M��KQRS
+0/+./&�Z������A�(�M���OO�$��P>��<<:�M���!:���I43�?��*KQRS�526��0
+1�+./&� Z� �����A�(�M���OO�$��P>��<<:�M���!�!������3A�
+2&+./&�Z������A�(�M���OO�$��P>��<<#;��������7��!����(�)<���9
+13�+.�4+13�+.))�Z�(�)�(�(<M!!��M�(�(<M!������������������3A�
+5 -+.�� 4+5 -+.))� Z� (�)�(�(<M!!��M�(�(<M!���;"�)���7(���"
+&�+.))4+&�+611�Z�(!'��&�'���8(!'��[���������8��5���?!�*��\-�@��/-./0
���������������� �� ����������������������������������������� !�� �"����#$��%���&'�����&�(����)���������������������� ��*
Page 37
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����37
�A�&��<����������(�)��":��6��46#&��A�&��:8�(G�:8���6����� ���:!M�7439]���A�&��<�@L�=^_``a�:8���6�����:'�
�� ������OO�$��P>��(G�<<�0/+./&
���M�(�(<M!���;"�)���7(���"� 75 -+.))8
���M�(�(<M!��������<<#;�������3A�� 713�+.))8
�A�&��<9]��� �(G������(!M�(:�'3��&���I?�&���&��5�����UV�W�7�6�&��
(�'3��A�&��:8�(�4�<����#&���9]��bc�(G����(��)��M6���������� !"��(�)��"#&�8������������� !"������������526���#&������������M
*J0�&!����������� !"��(�)��"(�4�<����!���%?�#;������������I���55���?!#�����A�&��:8��8��E�5��� !"��(�)��"��������743(��?�����������9:"����������&�'�:!M���:���743I<(:�'3���'�5��������������
�8I���������(!43��(<��"5�����:�:���7�!(!��"&�'�:���I43��OO�$��P>���%?����������������I�A�&��:8�������7)�@��,-./�d-/X+�743�9�!8������1���5��&����8��&!�����7��74
*K0�&!��������5(!43��!�5���?!#�� !"��(�)��"!��� ������<��72�������5���(!'��743(��?�����������/�%����������&�'�:!M�743��:��� ���)���
Page 38
38�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�����;�������<��=>�?��&��@�A�BC��"(��&�;D=�E� D���?<<�� ����5�����������4:���:!���:!2���<������� ��������e��������6�%?�743�4�'6�
e���� ������<���!��������I7A�:���(5��#�!�(54���������<�����������7��74��8��743����(�M3�(�M�:'�����7A�:���(5��#���<���7A����5�����?!7��T��"���"���#����:�:���7�!(!��"�@L�
#��?743�Hf=�(G��������8������<5��������� ����743�����<�������������<����� �����!��������g����h� i��";�3������&!��� *�Y�U�+��W�Y�0h� � i��";�3������h;9�:A���3�h�� !"(T�(���"� *R-Y\-�0�!�:A��jM<��������*.���-U/0
�8��8������743�9�#����(54��������������4�����&!���123��4!�� $�����46void main ()
{
�)����#$���}
����������� ��������������������������������������� !"#$�
����-./01/2
���345���� �� �
�$!��
�� �� ���$�
���345���� �� �
���#$�
Page 39
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����39
��F������G��H�BI<��JK>�?��&��@�A�BC��"(��&�������g����#�������� ����5����������(&�'����<�� ����7�3����4�?<<����46
Type VAR_name;
��� Type����������� �������� �������������
VAR_name�����������������������
;'3�743#;��A�&��<����&�'�;'3� i��";�3�#��� ���������I��6�;'3�743�47�6����&����'�&�'����(!5�����?8������������8������ �526�����������(G����&����'��&�'����54�(���#���k�(78���6��(;8���k\Y/=�h�Y��^K� (G����
��L�MKNO�BI� PPD�BI<��;�M����(!55������743#;���<��������:����(!��"� <8�(G��?<<&!��E����� H�<<:'�
���� !"#$%&'(�("�)*� +�,��-�./0� ��#1���� !�22"#$34(56*�+7/�.��,-0
��L����BI<��<CC�@�KIK���=� 7"$��*��'8����<<�A����(�)��4:A�����743�A���#;���8��������<�����char�8�int8�short8�long8
signed�!��unsigned� � ��������A����;8�����(!5������#������743� Hf=�����A�&��:8�<��:8��(;8� short�&�'��signed char��45�����6��8�f=H`�I2�:8��=Ha�(78����������6�(�'3��A��#;������M�#;��short�(�4����8��(�4���)���
%�������� ��� �&�' ���%��������()����*%+�
����������
char������unsigned char
signed char
short������signed short int
unsigned short�����unsigned short int
int������signed int
unsigned �����unsigned int
long������signed long int
unsigned long ����unsigned long int
���������
�
�
�
�
�
�
�
�
�������
�������
�����������
�����������
�������
���������� �����
��������
��������������� ������������
������������������
Page 40
40�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�$!������-678int a,b,c,d ;
unsigned height;
long size;
��!���"��������������#��!��$�%� ������&'�����$�������(#� � $��unsigned short
tmp, caracter, loop, loop2;
)*��+����,�����#� $��$������'unsigned short tmp, caracter, loop, loop2;
��L����BI<��<CC�BI� PQHKNR=�7)'���"$*�#�"$�8�A�&��<���������������8�8���(G�����<<�Float�h�double�&�'�����<<�long
double����4�A�����<�"(78����:'��K��<�"�!��45���;8�����(!5��6��8� =F=aNKlKJNm`H�n�=mSJ`�I2�^F`mN^KaaKKma�n��=mJ`
�����6�����<<���(!57g�M�������#;�;'3��Float� (�4����8��(�4���)���
Page 41
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����41
��T�MKNOPD�BI<��
��T����BI<��<CCIU��73�":8����<<�o��\� (G�����<<�M(g ����#;���<9&��� i��";�3�(�'3���8�������#&��4���:'�:8�
�$!������-676void print_temp(char temp)
{
Lcd_Out_Cp(“Temperature:”);
Lcd_Out_Cp(temp);
Lcd_Chr_Cp(223); // degree character
Lcd_Chr_Cp(‘C’);
}
����������� ���������������������������� !"# $%�����������&'�����(�)������*
��T����BI<��<CCDG��R�
������(��":'��!98�5������743�4;�M�5���?!(G�<<(�4������!�������#���(���743(�4���8���������4�?<<�������g��������46
type name[size] ;
������ type ������� ���������������$��-
name �������������������$��-
size ����������$�����&� �����!�����$��-
������������� ���59 �,�
������������ �
������� ������� ������� �������
������� ������� ������� �������
������� ������� ������� �������
������� ������� ������� �������
������� ������� ������� �������
������ ������� ������� �������
�����������
����������� �� ������
���� ���� ���� ���� ���� ��� ���
������������ � ������������ �
�����������
�� ���59 �,�
�� ���59 �,�
����������� ������������*�,-�.����/��0��'%'
Page 42
42�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
(�'3��������(�4��#;������������<9���;46�A�&�8�743��<9����(�M3���<�A�&�8�����6��8�m����I2��A�&�8��p�S-�f=������6�I���A�&������
int digit[5] ;
:8��\�W�/����4���;M�:'�digit[0] ,digit[1] , digit[2], digit[3], digit[4]
�$!������-67:char i ;
char digit[9]; // reserve 9 byte
void main()
{
for (i=0;i<9;i++) // Loop 9 times
{
digit[i] = 0xff ; // Load Memory with 0xff
}
}
�����������(��(� ��(��(��+��,)&�����-�.(�*��/*������'�� 0 �-��.� �-�.(�*�����( 12324 ����5���-���� 678 �,)��������-���� 0 �(�&�,)���9���� :;<< 5.���*����=��������(�+�(����&.��
��T���������@�AKO;U���NV=�KJA�BC�BI<��DG��R�
������������#&�[��:8�5���?!���7��74(�'3��4�������g:8�����:��6�����������46�������g:8��������������'6�743&�8��:����A����������<95���!��������&�'�(����8������)�����������8���8���46
�$!������-67;char digit[10]= {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
�� ���(��/*���������� !># ������ ? ���'����������( 12324 �������(�-�(�,)&����'�� @: �����(�
char digit[]= {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
�� ���(�(+��A�����(�,)����/*���������� !># ������ ? ���'����������( 12324 ������ ���=B���&'�����((+*C������,)&���� �-�.(�*D���(�-�����&��.�)������C��(+��(
Page 43
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����43
��T�F��BI<��DG��R�<CCA �R=N�N
#�<��:��6����(�)<5���?!�5���?!�������?8#��?5��������������5���?!#���(��"�M�M(�4�����������!�(5��I2�5���?!�����7A���������������'6�743��(��"�2������I����'6�743(G�<<����M�M���&�'��J��M�M����������#��?743�Hf=
�$!������-67<char i,j ;
char digit[5][15] ;
void main()
{
for (i=0;i<9;i++) // Loop 9 times
{
for (j=0;j<5;j++)
digit[i][j] = 0xff ; // Load Memory with 0xff
}
}
��(��(���&�� ���������(��(���/*���������5������(�+�(���** E �=�=
��T�L��BI<��MKNOEDRK���D��� 7��"$����3��"�W'�!8
�������(���"7A�&���743(�)<:8���(���5������743;46�A�&�8�� (�'3�(5��I2�&�8��:����A�7�����������4�?<<�������g:8���������46
Type *name ;
��� Type� ����������� �������������.��-$���-
name������������������.��-$���-
�������46�����<9��(���5��&�8��:����A�&�'��4�M�(���"743(G�:8�������6������I#;���O!�� $"�q��A�&�������(�'3���<9��(���5��������6�E����� (;8�
a = &PORTB ;
�������/������$�����'�0102�)*���(����������$��+����34567���$��
Page 44
44�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�$!������-67=char *DAT ; //���������������$�%�������''.��$���-void main(){
PORTB = 0 ; //�����������!+$���-�34567�8�0PORTC = 0 ; //�����������!+$���-�34569�8�0DAT = &PORTB ; //��������:;6�$�('������$��+����34567�)*��$�����'�0102*DAT = 0x90 ; //�+������ ����#������!+$���-���,����"� ���������:;6��<34567�8�01=0>DAT = DAT++ ; //�$.����������"� ��������&� �������������:;6�$�����'�010?*DAT = 0x80; //��+������ ����#������!+$���-�����"� ���������:;6�<34569�8�01@0>
}
!���������������������AB2�+����,�������!+�'$.�����C������������������.��-$���-� �����)��$�$���-�������!�������������')�D�-���-�EFGHI9� J:K�#� � �������"������"
<L>�$�M���������EFGHI9�+� �����$!(��-�����6NOPQ3IFRPNH�$����#����������$���-$�%$'��-3J9L2S@@?�����,��+�TT�U�VM���A0WXY�!���"����Z[�� �� $.���$���������DM�$�%�������\�
Page 45
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����45
<A>�.�.-)��-+����������������������AB2�!���"���������#.�-�!#� #D�-�]^N1
<_>�$�M�� ������:N`abbNH�����������Z[�� �!�����c� ������:N`abbNH��*"���&����dNeNfP�g/HF/`eN�hHIE�eFOP�&� $���������������:;6i�34567�����34569�$.��$� ����� ������:N`abbNH
<j>� $���������''����+��C�� <g/eaN>� &� $�%���$��\�+'��� �����'$'�����������������
<k>����� ������:N`abbNH��������Z[��� �$.��������+����������+������ ���������������$���������
$����,*�'�������DAT = &PORTB ;������( #FG ���������*���5�
$����,*�'������*DAT = 0x90 ;����������� HIJGK ����������'����'(
���$����,*�'�������*DAT = 0x80;�������"������������������-�'�L%��=��%&���� HIJG"
Page 46
46�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��X��GCC�BI� PQYVJMJK��"(��&��<<(!5e��743#;���<���:�:���7�!(!��"�4��?8� K�;�M�� ����8� ���(!5e�����h�e���h
e���M<�!�e���M<&���123�#����(54��������� ����5�������������4���<8����?<<(!5e�����#;�(:�'3��&����A�&������(!5�����4���!�(�4���8���46
����BI� PZ�K�D����(!5743�A�&��#&�(G�(!5e�������526���������mr�&�'��ms�(;8�mrmmm=mmm=� ������(!5���A�&��;�M�(G�<<� !����
����BI� PZ�K<�O����(!5743�A�&��(G�(!5e������526�����������*������ ���0�(;8�
�aaa�������(!5���A�&��;�M�(G�<<� "$�
F���BI� PZ�K�NC� (�'3�����(!5e���M<(G�:8����(!5����e����2���8�A�(G������4���526��6��6�������� �&�'���O!�� $t#�E���������I�u&��:3�5��(!5e���M<��6��6��3�fHh=KahK`Jh^K`I2��KhHlKhl^ahHlN��I��:8�743�A�&��(�M���8��46�����5��%M��!���vbX/��V��YUW-w
KF����(!5e���M<&�����(!5e���M<&���526���������mn�&�'��mx�(;8�mn_`h� mn�_Jm������(!5e���M<&����A�&��;�M����(!5(G�<<�[$!"*$�:� "$�
��\�����P�]̂PD=_ �GOBCCN��������:����(!��"���#&�%?�#;���������I(5��I2��4�M�(���"�8��E�#�����<<M��������#;��F�*�9�0
:�3���&�8��5���?!!����������_U�123��U�&���I2�<M�743�������(5��I2���4:8���6��8�m�I2��a
I����������A�&��#&��<M��m�5���4�M�(���"�@byz���4:8�(78���<�=�(54�����(G�PORTC.F0 = 1 ;
���������<:8�����<M��=�5���4�M�(���"�@byz���8��4:8�(78���<�=�&�'���8�I��#;8�#&��@byzs�<M��m�(78���<�m�(54�����(G�
if (PORTC.F1 == 1) PORTB.F0 = 0 ;
�������46�A�&��<�4�M�(���"�A�:�O%?�#;���������I��<9;'3�5��<M���6�E����(!�� *�?���!�(�4��(74�<(:4�������������;4�5�����:�:���7�!(!��"�@L��(<��"��6��E�0�(;8�
INTCON.TMR0IF = 0; (G����(:!4��" !��M�(���"���"����7(���"�mADCON0.Go=1; (G����(�M3�������7A����5�����?!!���OO�$����!��(G��M�M��!
Page 47
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����47
��`�;@��BV��YVRI�BC����BO���PD=_ <CCCN��A�&��<���#;�������:�:���7�!(!��"743�����4����8��:8�5���?!<<<M�(5��������!%!
�������4:A���3�(�'3���������5���?!(&!8���6�#&���?8#��?<<743(&������8���������!%!�(;8������A����<M�743�4!��M��v=w�#�����743�����������(!'3��<M�5���?!�����!�<�I���!��M�5��<M��(G����
��`���;@��BV<DKO��a�b�76� 8
#;�(�'3�(�4�<(74�<5���?!#�<M�743��������JAc ��dK�e�f�]�CN�QYV���YRC�QYRCQBg;_U��dK�e�f������6�#&�%!!��j"(G�� vmw��4�����:�����M�������7A��������46
� � �
� � �
� � �
� � �
� � �
�����;�"5������& :'��#;���<:8�(!5e�����#�<M�743�������#&�(G��vmw
�$!������-67>int value;
void main()
{
value = 0xAA55 & 0x00FF ; // value = 0x0055
}
�����(��(� ��( FM# ������ :;::<< �� ���(�-�5.� N *=�*��� :;FFOO ������ � P:Q 5.��.�)����������R,�+ N *=��������&� �)� :;::OO �,)���-�'�5���(+�������'�
Page 48
48�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��`���;@��BV�h�7.28
#;�(�'3�(�4�<(74�<5���?!#�<M�743�������� �ORJAc BEi���dK�ejf� �=kVDCN�QYVK@�=����YRC�QYRCQBg;_U��dK�ejf������6�#&�%!!��j"(G��=� ��4�����:�����M�������7A��������46
� � �
� � �
� � �
� � �
� � �
����;�"5������|�:'����<:8�#�<M�743�������#&�(G��v=w
�$!������-67?char value ;
void main()
{
value = 0b00110000 | 0b11000000 ; // value = 0b11110000
}
�����(��(� ��( IJ ���,)���-�5.���*=�*����������� :S::@@:::: �����=��� � P@Q '�������=��� E *=�*���&��+�� � P@Q .()� P:Q D���,B����'���)� :S@@@@::::
��`�F�;@��BV�l�7,.28
#;�(�'3�(�4�<(74�<5���?!#�<M�743���������ORJAc BEi���dK�ejf��=kVDCN�QYVJM���YRC�QYRC��dKejf�QBg;_UA�kD��dK�e�f�QBg;_U��������46��#&�%!!��j"(G��=����4�����:�����M�������7A��������46
� � �
� � �
� � �
� � �
� � �
����;�"5������^:'��#;��!�<5���?!(!5e�����#�<M�743�������(G����5����(�'3��^������v=w
Page 49
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����49
�$!������-67@void main(){
TRISB = 0x00 ; // Set PORTB ==> OUTPUT
while (1){ // Loop
PORTB = (PORTB ^ 0xFF) ; // Toggle PORTB
delay_ms(500); // Call Delay 500 ms
}
}
�����(��(� L������ HIJGK ������* !># �+�-�5.� !># �=��+,(=*��������L�� @TU ��)�������(VIJ ��5�W ���� P@Q ��& N *=� ��������5�(��������X���=*.��)� :;<< ��D���,B����'���+�� ��(����
��`�L�;@��BV�m�7�.-8
#;�(�'3��!�<�I���!��M�5��<M�743��������I��<M�(�M��4!��M�(G�� v=w����!��(G�� vmw�!�I���4!��M�(G��vmw����!��(G��v=w
�$!������-678Avoid main()
{
PORTB = 0x00 ; // Clear PORTB
TRISB = 0x00 ; // Set PORTB ==> OUTPUT
while (1) // Loop
{
PORTB = (~PORTB) ; // Toggle PORTB
delay_ms(500); // Call Delay 500 ms
}
}
��(��(���&�+�-���'������������*�-���� VIJ ����+�������� HIJGK ������������*���=�5.��L��+�� ��(������� ��������*'����D���� HIJGK ����(�&
Page 50
50�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��`�T�;@��BV� kVDKPD=_
�4��������H�:A���3�:'�
�nn��(G�:A���3�(�'3�(!'3��<M�5���?!�7��1����!��7�<M�����5���9�����!��M��vmw
oo� � (G�:A���3�(�'3�(!'3��<M�5���?!�7��5���!��7�<M�����1����9�����!��M��vmw
�$!������-6788char i ; // variable set
void main()
{
PORTB = 0x00 ; // Clear PORTB
TRISB = 0x00 ; // Set PORTB ==> OUTPUT
while (1) // Loop
{
PORTB = 0x01 ; // Start PORTB with 00000001
for (i = 0;i<8;i++ ) // 8 Time loop
{
delay_ms(500); // 500 ms delay
PORTB = PORTB<<1 ; // Shift left 1 bit
}
PORTB = 0x80 ; // Start PORTB with 10000000
for (i=0;i<8;i++) // 8 Time loop
{
delay_ms(500); // 500 ms delay
PORTB = PORTB>>1 ; // Shift right 1 bit
}
}
}
��(��(���&�� ���(�(��'��=�'����*��� HIJGK �����A����(��)����(�&�+ @ *=� ����(L�(����*��(�-���'�� ���5����(�-�����(�-���
Page 51
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����51
��p�;@��BV�����GQ@�Q� D�N�:A���3�743#;����7A�7��!��M���6���#;����%!!��j"5��������7A�������8�(G���M�&�'�(7)�
&�'�(G��vmw�&�'���8#;8� vmw� (78���6�������8��#�:8�5��%!!��j"743������������7A�7��!��M���6��E��8(&�'����<���������5���?!����<<M�����:A���3�743#;���<������7A�7��!��M�����<�����:A���3�����46
bb�*�{�W�.Y|�}B~0 #&�%!!��j"(G���M�� (�'3�(�'3���5743�A���������<(G���M�7�6�:?8
���*{�W�.Y|�by0 #&�%!!��j"(G���M�(�'3�(�'3���5#�(�'3���5&�23�(G���M�
q�*{�W�.Y|�B�/0 #&�%!!��j"(G���M�(�'3�(�'3���5(G�(7)��!�#&�%!!��j"(G�(7)�(�'3�(�'3���5(G���M�
rr (78���<
qr ��8(78���<
o �����8�
n ������8�
or �����8�&�'�(78���<
nr ������8�&�'�(78���<
�$!������-6786char sensor1 ,sensor2 ; // variable set
void main()
{
TRISB =0x00 ;
if ((sensor1>300)&&(sensor2>300))
{
PORTB.F1 = 0 ; // RB1 = 0
PORTB.F0 = 1 ; // RB0 = 1
}
}
!�����������������ONROIHL�����ONROIHA�!�� ���������������_00�!*�!����&� $����#��Fh�$�%!��
Page 52
52�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�$!������-678:void main(){
TRISB =0b11111100 ; // RB0,RB1 = Outputwhile(1){
if ((PORTB.F2==0)||(PORTB.F3==0))PORTB.F0 = 1 ; // RB0 = 1
elsePORTB.F0 = 0 ; // RB0 = 0
}}
�����(��(� L�� JKE .()� JKY *=�5�*=�.�%�.()���&�������=��� � P:Q �� JK: �+�����=��� � P@Q��L�� JKE .()� JKY �� � P@Q ��&�� JK: �+�����=��� � P:Q
���j�;@��BV;@�KIsQ�;sN�H������������ (��4��:A���3�743#;�#����:A���$7��:$M�g����"(�������8��:�<I����7�6��?<<5��
:A���3���M�A�&��<���<���!<�:?$�&����!� i��";�3��M(g 7����4��$�M�M�����46
� :A���3�<���*�}\\�/��U0
f :A���3�!<�*�dXr/�Y./��U0
� :A���3�:?$�*�QX|/�+|�.Y/��U0
� :A���3�&��� *~���p��U0
� :A���3�&��<<(��(g � *��8�����I#;���<���(!5743(G�7g�M�����0
�$!������-678;value = 12 / 5 ; /l�C���.m-$�����'�A�<value�$�%�������''�f^/H>
value = 6 * 3 / 4 ; //�C���.m-$�����'�j����!����2���U��'�_������� ����� ���j
value = 12.5 / 2.3; //���U�����value�$�%�������''�f^/H�C���.m-�����$�����'�k
value = 12.5 / 2.3; //���U�����value�$�%�������''�heI/P�C���.m-�����$�����'�k]j_j?@
value = 12 % 4 ; //�C���.m-���#� ����0�$����!���LA����� ���j��� �#��$����$ n
value = 14 % 5; //�C���.m-���#� ����j
value = -14 % 5; //�C���.m-���#� ���� Bj� $����!�����$����������!���!�������"�$+��
Page 53
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����53
�����;@��BV�EkVDJM�ENV=A�kD O;U��� #;��A�&��<���(�M3�:8�526��=�:8��*�U.�-�-U/0
f�f #;��A�&��<���!�:8�!��=�:8��*\-.�-�-U/0
�$!������--678<int j,k ;
void main()
{
k = 4 ;
while(1)
{
j = k++ ;
}
}
�����(��(������� .������-��-���� Z [ \]] �� \ ���������* O ���� Z ���������* ^��)�������(��(��-��� ���5.� Z [ \ ��� �����&��%�(+�-��-���� \]]
�$!������--678=int j,k ;
void main() {
k = 4 ;
while(1){
j = ++k ;
}
}
�����(��(������� .������-��-���� Z [ ]]\ �� \ ���������* O ��+�� Z �/�����* O ������)�������(��(��+�,=���� \ �������+�-�'������*���� Z
�������������������
Page 54
54�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
Page 55
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����55
������������������ ������������������������������� !�"�#�$�%&��'�������()��*��+,%&��$'�-.��/&!��01#� --���/�����������������2�*0�*��3����%/����������������������43����%�)�����2���0�0#���(&�()�56��0#��0.4���471������������)��*��/���(%&�����3�������8���2"*��"9����)���2��:�:��;<���� 4�����)�������"�#/������"�#9/�2�*0��9-*�������=�;��"*���� !���!�:4����3����%������������ !���2/����������>���2��0#����5�93.�?.@��31�3 2
������������� ������������������
�*��3����%�����(#�0��9"3����� �/��/������/�����������������������������4�;�!0��A'B��:��+'CD��#�/�� !���9"3=.���"9��9"3=���3���/E9��4��9"3����� ��*�� !���2%1�()�� 2�*���4� �+,,CD��2 �� !���������"--�:4�/ -��2�������� �/��/�����������������������������9* ��:4����9"3����� ��*���4�������������������3����%/ -�2�2�*0����15��4�$F��"32����/ -��2� !�"--��9"3=.���"9=���3
����+�, ������������-(�*.�*/�-���*��'������������������������ ��!"#$%�
������������ ������ ��������������� ��������������������� !
���
��
����
�
��� ���������
��
����
�
��� ����
�������
����������� ����������������
�����������
����������� ����������������
�����������
Page 56
56�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�������������� !
/������/���������������������3����%�)���2���56�/��.�� ���:�/������ ��G�2�����)���2/����56��.�� ��)��2��20���5H���(.�� I�J� ���� -��(.3����� KL�M� ��-.���4�����������)���2/����56������ ��)��2��20���5H���(.�� I,J� ���� -��(.3����� KL�M� ��-.���4�������2 �"32����15��4�$F+
������������ �"���"�#�����"
3)��� -������D�"9�������N�/�����������������$ %�&'()*�+,���&'())-./��:4�(#�0�;����� !�"��(9�)�������456�/��.�� ��9���������)�/��#���!�)�������456��.�� �2.(.����:������ �2.(.���(9����������)���2�#���4��(.3�����DO�PQ�� 3�0�#������15��4� $F$�(9"32�-.��#��R�����(.3�����DO�PQ��(9"32��#��:4���������)���2���/�������)�������456�/�2.(.����:��9����� ���������������� ����������������������������������� ����� ��!�"#�� $%$&��'��$%$(���� ���) ���������*+,-.
3)��� -������D�������N�"9�������S�/�����������������$ %�&'(()� �:4�(#�0�;�� !�"���/���456�/��.�� ��9����(9��3%��956�/��.�� ��9�����01#�����5�40�"5�3%��9/��/����56��9������:�2.(.���(9������9�)�7#����(.3�����DQMNT�"9�DQMNTU��15��4� $FV"32��)�"��#�-.�/����(.3�����DQMNT��:4����5�40�"5�/�������D�"9�������N�3#*��15��4�$F'"32��)�"��#�-.�����(.3�����DQMNTU� �:4�����)���2�#�2.(.����:��9�������� -������S
��������"�#$������%�����&'��� �� �������()*��+&$������,- .!
�����
�����
�����
�����
����
����
�����
�����
�����
����
����
���
���
����
����
����
����
�����
���
���
���
�
�
Page 57
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����57
�����
����
������
�����
������
�����
�����
����
����
������
����
����
������
�����
���
������
�����
����
������
����
���������������� ���������������������������������������� !"#$%��&��'()*+ ,!-"%$�,.'//-0
������������� ��������������������� �!�!�"#�$%&'(���)*)�$'���*+%,
� � � � � � � � � � � � � � � �
�������������� !"
� � � �
�������������� !#
������������
� �
�-����������� ��������).���/!01���� �!�!�"#�$%&'(���)*)�$'���*+%,
� � � � � � � � � � � � � � � �
����������� ���
� � � ���
����������� ���
������������
����1�����2�3������2�45�����4�2���6���������������������� !78-9:;<+ ,.'//-0=->?!-@;<ABCA=!-"%$�,.'//-0 D=-� !�$E=F�G�� �
����������� ������������������������ ��� !��"������#�$��%&���#�$'� ���(�)����*��#�+,'
���2�3�������2�H ��2�H���78-9:;<+ ,.'//-0=->?!-
� � � 2.�$3%45�66�7+�89�:�&�;��<=>?
@;#' ' � -!��.�/)"00�1��23��4����� 5�
+$�6�7
' � ' -!��.�/)"00�1��23��4���89� 5�+$�6897
' � � ��-!��.�/)"00�1��23��(��!�(��:�� 5�:�7
� ' ' -!��.�/)"00�1��23��4���;� 5�+$�6;7
� ' � -!��.�/)"00�1��23��4������ 5�+$�6��7
� � ' -!��.�/)"00�1��23��4����;� 5�+$�6�;7
- - - A��2.�$3%45�66�7+�89�B�.*B&�C?� �<C?#
����I�%�D�J�<�D$EA��*�+�F�:+��(G+����
����������#$����*�/���*� ����+&$������01!23�4�������������������� !56789:788;0<�;���=�<
Page 58
58�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
����������� � �� �� �� � �� �� �����
��������������������
������������������������
���� � � � � � � � ��� ��
���� � � � � � ���
���� � � � � � � � ���
���� � � � � � � ��
���� � � � � � � � ���
���� � � � � � � ���
���� � � � � � � � ���
���� � � � ����� � � ���
���� � � � � � � � ���
���� � � � � � � ���
���� � � � � � ��
���� � � � � � ���
���� � � � � � ���
���� � � � � � � � ���
���� � � � � � ���
�����
���
���
���
���
���
���
���
���
���
���
���
���
��� ���
���
���
�
���
���
���
���
���
���
��� ���
�
���
���
���
�����
�����
�����
�����
�����
�����
�����
�����
�����
�
�����
�����
�����
�����
�������������� ������������������� ����������������������������������� ������������������� ����!!�������� !"���""�������������#$��������������� ��%&���$�� ���#'��������������� ��%&���'
��
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
���� KL� 3L� H�%�D�M��N2OKL�N2O3L�N2OHL�N2OM� �����N����2�4P�Q������4�2�4����� ����� �� �� ����!R-S=F!-"@R-,-=+ ,+-( "*�@;<ABCA=T9F#�%$�,.'//-0 D=-� !�$E=F�G�� ������=&����=>>"����
����������#$����*�/���*� ����+&$������01!23�4�������������������� !56789:788;0<�;+�<
Page 59
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����59
��������9���*�/���*��%�#��=��&� ����+&$������03.>?�4�������������������� !56778
";G�.�� "*��U�VW�?@���(�)����*�&A��4���B�/ ����BC����D��D���*��:�'�.E��:�8F�:�G�%&��:H'�.E��:H9�! ��������
4��?@�D����������&��4�A����������*��>�(���&� I>=- ��"�����(��C�4�> 4�BC�����?@����������&��
�����
����
�����
����
�����
����
�����
����
����
����
����
���
�����
���
�����
���������
��� ��� ������ ��� ��� ������
������ ������ ������������ ������ ������ ������������
�������:X,�M����U���:X,��U�M��������� !!-"@R-,-=�$E= �=(Y� D=-� !
J'K�L��C�4�>�?@�D���*�>�(���&� I>=)����.�C�4�>�?@������4�A�����*���MN>�J�K�L��C�4�>�?@�D���*����������&��� 5�?@�- ����/������A/����O�7
��A/��&A�� 4�D��4& �����?@����������&���(��?@����=��&�����BC���� �) !�>�(���&B"��4�>����(���"�������C�4�>- �D����(�)����*�P:�$� 4��?@������>�!=
";G�.�� "*��U�VWZ�?@���(�)����*�&A��4���B�/ ����BC����D��D���*��:Q'�.E��:QG�! �������� 4��?@�D����������&��
4�A����������*��>�(���&� I>=- ��"�����(��C�4�> 4�D���*��4& ����BC�����?@�D���*����������&��
R
�����
�
�����
�
�����
����
�����
���
����
���
����
����
�����
���
�����
����������
�� ���� �� �� ��
��� ������ ������������ ������ ������ ���������
�������%�D�1���[9\ABC,-= � ��- �N>��?@��'����I�:X,�M����U�HK�:X,��U�]���������� !!-"@R-,-=�$E= �=(Y� D=-� !B\ ,���UHK�:X,��U]
J'K�L��C�4�>�?@�D���*�>�(���&� I>=)����.�C�4�>�?@������4�A�����*���MN>�J�K�L��C�4�>�?@�D���*����������&��� 5�?@�- ����/������A/����O�7
��A/��&A�� 4�D��4& �����?@����������&���(��?@����=��&�����BC���� �) !�>�(���&B"��4�>����(���"�������C�4�>- �D����(�)����*�P:�$� 4��?@������>�!=
��������@���*�/���*��%�#��=��&� ����+&$������03.>?�4�������������������� !56778
Page 60
60�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��������5�)�+�A�*4� �� ��-09����*��)��#���=����� ��&������������ ��B���C
��*���������.*�0������11�# �23#�-4567�89:;7/
/�������20� 4*�5/������������������������>>�(956�"--�1��1�3����%(#�0��9"3�2�� !�=.���"9=���3�0�*��/��LDV�(956�/������ �"--2��5W2�3����%(#�0��9"3=.����2���0��0#��2�0*�#�� !��%���������������(.��I�J�(9�����#�� *��������1� ����� -/���!
���15��4�$F��"32� �XE9*�(�@�0��/��/��LDV���0-� -/�������:4��R
Page 61
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����61
�0.��*. ���+�1�����234���+-���*�����<,=�����>��?��#����� ��!�(� ��S?B�/�T�U�� ����B>&���)����. ��N�I-�-��IB�&�&��*����*�����������4�A�������������MN>�%� �����&A�� 4�.S�������A/�BC����)����NV&*I?��(M��*>�!=
��4�� �����*>B>&���,WU����XYZ[���� 4�� �!�(�����S?B�/�T�U��%&�!�&A��N�I-�-��IB�&�&��*�?@�����������
�@A �� ��>#"��
T�R�� �?3>I?�%����\]^_`��)����NV&*I?��(M��*� I>=�&A��N�I-�-��IB�&�&��*%&�-!��.�/)"00�1��23��>"����
��!"0;ABC� "*F�U^�]���_����̀ `��&A�������������4�A�������������-!��.�/)"00�1��23���9'abc
��������
���
��
���
��
���
���
���
���
��
�
��
�
��
��
��
�
��
��
��
�����
���������
������
��������
�����
��������
���
���������
����!"
����!"
�������?�)�+���$������%���� ����������������()*���#���A�D��!���*4E(�FGHIJ!�����������
Page 62
62�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
���#������� ?��K����JIL,MNLO"PQ� ���#���A�D��!�$%������FGHIJ!� ��B����$������%���� ��������������� �������������������� � !56788:778
void main(){
TRISC=0x00; // Set PORTC ==> outputwhile(1) // loop{
PORTC=0x00; // LED OFFDelay_ms(500);PORTC=0xFF; // LED ONDelay_ms(500);
}}
���#������� ?� �K��� �JIL,MNLOPQ� ���#���A�D�� !� $%������ FGHIJ!� ��B����$������%������R�������������� ��������!� ��������������������� !56788:778
!-"@R-,-=+ ,T$"%!"9
I?�%����C�4�> 4���*�����?@�����*���I>=���?d��- ��'� 4��"�B�����D����(�)����*�P:�$��(���"��?d��- ��'�''� 4��"���+:P�� �A/� 4�� TH#�B�/� ��=S �"���*����B"��4�>>"�%&�4� !��!&��%&�!?d��- �����A/� 4��TH#�B"��4�>B�/� ��=S �"���*������>)! ���BC��= �����)&"��"�N?�= ��� ���A/��
void main(){
TRISC=0x00; // Set PORTC ==> output PORTC=0xAA; // Set Start LED
while(1) // loop{
PORTC=~PORTC; // ToggleDelay_ms(500);
}}
!-"@R-,-=+ ,T$"%!"9
I?�%���BC�����4�A���"�I?�%���B�/�T�U����=��?&�/=��S?%�����)&"�- �>�!=��� ��-C�)"/��,+P�%B�
T�R9�)����I?��(M��*�A/���`_ePf[e'��%&���*I?�%���g�h�������I?�%���B�/�T�U�
T�R8�BC����-��N&*%&�>�!�*I4&>I?�%����A/�B>)��i&&"j*���BC����
T�R;��"�I?�%���
BH�:I+�JKL�M%4M�,*:$�M%4 &�N�?�H &��N����H���5����+D(�E�*NE�+�4*
T�RG�%��NDI?�%������B�/%)>� �I?�%���B�/�T�U9��"���A/�I?��(M��*�?@���`_ePf[e'9Rk�BC����-��N&*%&�>�!�*I4&>I?�%����A/�B>)��i&&"j*���BC����
JKL�M%4 &�N�?�BHH &���:$�+��O(&�&$M%4�J-�-�:��NEA+O(&�&$BHA���2F�5�4*�P=Q��R�#��)��$��E.�A+�&5�����N)�$'��M+
Page 63
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����63
void main(){
TRISC.F0=0; // RC0 ==> Outputwhile(1) // Loop{
PORTC.F0=1; // LED onDelay_ms(200);PORTC.F0=0; // LED offDelay_ms(200);
}}
!-"@R-,-=+ ,T$"%!"9
I?�%������(�)"/� 4��TH#�B�/����:�'��������=�4&�>�>�=!
���#������� ?���K����JIL,MNLO�PQ� ���#���A�D��!�$%������FGHIJ!� ��B����$������%���� ��������������� �������������������� � !56788:778� ��*��B�����������(����� ���������*��&����*)������B��-!O
A=���6��2��7 9[(�� "*&#CABC,-=.-9-":�+C-:X,";G�.�� "*�\-,a�A="DF'����[FC�TFbABC�7"�< ,S9-b�c��GYF��7'<="DS8\-,+C 9#�%�C8�-9FC8bde,!*B'<=�4�TFb@;<�4�S9-b:X,����@;<�C ,!-"�+C-:X,�9;7\-"DS8\-,�M�:X,��
T�R���D�=�I?�%��� 4��TH#�B�/�C�%4� ��:�'��������=�4&�>�>�=!�I>=�D�=�I?�%���N>�>"�I?�%���B�/�T�U8�C�4�>�A/�I?��(M��*�?@���`_ePf[e'8Rk�BC����-��N&*%&�>�!�*I4&>I?�%����A/�B>)��i&&"j*���BC����
T�R��)C�4�"�I?�%���B�/�T�U;��?@����D"��TH#� ��S?%��B�/4&��4&�=���DE���I>= ��-C�)"/�B��-1��l�)��*%&�&�(��B�/�\]^_`��-��N�&��*����=�N!� 4�� 4�BC����)����I?��(M��*��`_ePf[e';�%&�!�%&���*I?�%���g�h������I?�%���B�/�T�U�
T�R��BC����-��N&*%&�>�!�*I4&>I?�%����A/�B>)��i&&"j*���BC����
Page 64
64�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
char i,j;void main(){
TRISC=0x00; // PORTC ==> Outputwhile(1) // Loop{
// **** Running and fill LED ****for (i=0;i<5;i++){
PORTC=0x01;for (j=1;j<8;j++){ PORTC|=(PORTC*2); Delay_ms(200);} // Use OR for fill "1"for (j=1;j<8;j++){ PORTC&=(PORTC/2); Delay_ms(200);} // Use AND for fill "0"
}// **** Running LED From Right to Left ****
for (i=0;i<5;i++){
PORTC=0x01;for (j=1;j<8;j++){ PORTC*=2;Delay_ms(200); } // Use Multiply for Rotate Left
// **** Running LED From Left to Right ****for (j=1;j<8;j++){ PORTC/=2;Delay_ms(200); } // Use Division for Rotate Right
}
// **** Blinking LED ****PORTC=0x55;for (i=0;i<10;i++){ PORTC^=0xFF;Delay_ms(200); } // Use XOR For Toggle bit
}}
!-"@R-,-=+ ,T$"%!"9
I?�%�������C�4�>�S?%��NV!�/�� TH#�4&�=�S?%��I>=���-C�)"/����(">���D���S&��>"����%&�-C�)"/�-S1%&�4���D����� !=� I>=
5�7� ��-C�)"/�-S1- �>�!=�9��A/��&A/�����D���S&N?B��O��=
597�-C�)"/�4��>�!=)��� �A/��&A/�����D���S&N?B��D!�
587�����+:�D���S&>�!=i&-S1�?@������/�&�(���J�K� 4��"�D���S&�>���I>= ���S?%��B�/! ��D���S&��� >.S��+:�>�!=�J�K�(��?@��J�K��)��
5;7������,#�>�!=i&4����?@������/�&�(���J'K� 4��"�D���S&���� >.S���,#�>�!=�J'K�(��?@��J'K
5G7�-C�)"/��W+:��?@�����&"�).���&�(��D�����B�/��������&"�).����4&"����-A����� >.S�W+:�>�!=�J�K�����"��(�.S��&"�&�(���%� .����� >.S��W+:�>�!=�J'K�- �(��?@�- ��>��
���#������� ?9��K����JIL,MNLO9PQ� ���#���A�D��!�$%������FGHIJ!� ��B����$������%���� ��������������� �������������������� � !56788:778� ��*4E(�%�$�������S&�'�$���#�/��+&���E=)*4�����%�������#������%���� mikroC
Page 65
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����65
�0.��*. ���+�5� �67�' �-���*�8��&�3���'������������������ ���19:;<<��=�-���*�� *�->*
��*����%&��H�D��N�I-�-��IB�&�&��*�����������(�BC�4���B�/�?@����������&����A/����/�( �=NV 4�-�"��%���>"��"��4���C��� ������?@���*�����*��>�(���&�(E������C�4�>- � 4��"���(�)����*��#�+,��� ��
���<,=�����>��?��#����� ��!�(� ��S?B�/�T9U�� ����B>&��
��4�� �����*>B>&���,WU����XYZ[���� 4�� �!�(�����S?B�/�T9U��%&�!�&A��N�I-�-��IB�&�&��*�?@�����������
��������
���
���
���
���
���
���
���
���
���
��
�
!
�
�
�
���
��
��"#�
���������
������
$%�����&
'����
($��($��
����
)*�����'+,
����-�
����-�
����
�������?"�)�+�$%����������$��4E(���������0�#�/�>���R��������������
���
��
����
�
���
Page 66
66�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
int dat=0,dat1=0;void main(){
ADCON1=0x07; // Set PORTA and PORTE ==> DigitalTRISA=0x00; // PORTA ==> OutputTRISE=0x00; // PORTE ==> OutputPORTE=0x00; // OFF all LEDPORTA=0x00;while(1) // Loop{ Delay_ms(100); // Fast speed delay
if (dat<64) // In Rang of PORTA{
PORTA=dat; // Show data on PORTAdat++; // Increment Data
}else{ dat=0; // Overflow PORTA
if (dat1<8) // Check data for PORTE{dat1++;PORTE=dat1; // Show data on PORTE
} else dat1=0; // Clear data aftr over flow}
}}
!-"@R-,-=+ ,T$"%!"9
���/�(���C�4�> 4�D���*����%&��H��?@�D���*�>�(���&� ���(���"��(E��C�4�> 4��?@�D�����*���� ��B�/(�!�&S?�A/�) �- ����N?%)>�i&="��TH#�B�/� ��=S �"�D���*����%&��H
���#�������?"��K����JIL0>LMNLPQ����#���A�D��!�$%������FGHIJ!���B�������4E(��������0�#�/>� ��������������������� !56788���R��������������
�@A �� ��>#"��T9R�� �?3>I?�%����\]^_`��)����NV&*I?��(M��*� I>=�&A��N�I-�-��IB�&�&��*%&�-!��.�/)"00�1��23��>"����
��!"0;ABC� "*F�U^�]���_����̀ `��&A�������������4�A�������������-!��.�/)"00�1��23���9'abc
T9R9�)����I?��(M��*�A/���`_e�Hef[e��%&���*I?�%���g�h�������I?�%���B�/�T9U�
T9R8�BC����-��N&*%&�>�!�*I4&>I?�%����A/�B>)��i&&"j*���BC����
JKL�BH�5�*2E�)*��)S�+5*A+���� �4$2E�)T,+D(�E�*NE�+�4*��NEM%4�JKL�)*)� &�N�CUV�BHD$EN��5.E�*�+�4*B��WX?-Y<Z[[�)��CUV��(G+)����2���I�N&��(9��3��:�N�*�&A:��JKL�M%4�CUV�N��5.E�*BHN�*NEN�.N��+M�+2E�(&H$�7�-\ � '��(��D.�� � �4A:�D����N� ]N�B���-����*A+.*�$)*&'(M%4�J;�-
mikroC
Page 67
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����67
�0.��*. ���+�, 67�' �-���*�8��&�?���'����19:;;<��=�-���*�� *�->*
)C�4�"�N�I-�-��IB�&�&��*�����������B�/��*����%&��Q�(�.S��C�4�> 4��?@���*����������&���)����A/����/�( �=NV 4�-�"��%���>"��"�� �����C��� ������?@���*�����*��(E�����������C�4�>- � 4���(�)����*�#�+,��� ���)��
���<,=�����>��?��#����� ��!�(� ��S?B�/�T8U�� ����B>&��
��4�� �����*>B>&���,WU����XYZ[���� 4�� �!�(�����S?B�/�T8U��%&�!�?&�/=�N�I-�-��IB�&�&��*�?@�����������
���������
���
��
���
���
��
���
���
���
�
�
��
��
�
��
��
�
��
���
��
�����
���������
������
��������
�����
��������
���
�������� !
����"#
����"#
���
���
��
���
���
���
��
�
��
��
�
��
�������?��)�+���$��4E(���������0�#�/�T� ��������������������� !56778���R��������������
Page 68
68�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
int dat[14] = {0xC0,0x1E0,0x3F0,0x7F8,0xFFC,0x1FFE,0x3FFF,0x3F3F,0x3E1F,0x3C0F,0x3807,0x3003,0x2001,0x00};
// LED pattern arrayint buff;char i;void main(){
ANSEL=0b11100000; // PORTA ==> digital IOANSELH=0x00; // PORTB ==> digital IOTRISA=0xC0; // PORTA ==> outputTRISB=0x00; // PORTB ==> outputwhile(1) // Loop{
for (i=0;i<14;i++) // Loop for get data from array{
buff=dat[i]&0x00FF; // Clear high bytePORTB=buff; // Show low byte ==> PORTBbuff=(dat[i]&0x3F00)/0xff; // Clear low byte and shift rightPORTA=buff; // show high byte ==> PORTADelay_ms(100); // Fast Delay
}}
}
!-"@R-,-=+ ,T$"%!"9
I?�%������)�����"!%?��mne�DE�����?@��"!%?�%������=*�A/���M�- ��S?%�����%)>�i&D���TH#�) !����BC����4&"�(����/�(���C�4�> 4�D���*����%&��Q� �?@���*�>�(���&�I>=�C�4�>- �B�/��(�)����*��,$HT%&���,$HTb�(���"���C�4�> 4��?@���*�����*��
(���"��BC����!�&S?�A/��C�- �(������=*N?) ����B�/D���*�����*���I>=�����%� �D���S&�?@�N��*& �������)C�4�"�%)>�i&B�/��*��Q�%&���������)C�4�"�%)>�i&B�/��*���
���#�������?���K����JIL,MNL778PQ����#���A�D��!�$%������FGHIJ!�������������B��4E(��������0�#�/�T� ��������������������� !56778���R��������������
�@A �� ��>#"��T8R�� �?3>I?�%����\]^_`��)����NV&*I?��(M��*� I>=�&A��N�I-�-��IB�&�&��*%&�-!��.�/)"00�1��23��>"����
�� �&A��N�I-�-��IB�&�&��*�?@������������-!��.�/)"00�1��23���9'abc
T8R9�)����I?��(M��*�A/���`_ePf[e����%&���*I?�%���g�h�������I?�%���B�/�T8U�
T8R8�BC����-��N&*%&�>�!�*I4&>I?�%����A/�B>)��i&&"j*���BC����
T8R;��"�I?�%���
JKL�BHN��5.E�*B�N&*��*��D(M�*���+)��*M�,*5*���+��H���B�NF��:+E*N&*��*D(BH �.E�M%4)� &�N�CUV�)*D$O2&2+OM&���&��WX?-Y<ZZ[�BH5�$�&3)���JKL�D��� O��D$EN�*NEN�.N��+M�+ '��(� �4$� M�,*+%,�+�4*B�)� &�NM] &�N)*D$O2&2+OM&���&�� WX?-Y<ZZ[� �(G+��� ]� '�
mikroC
Page 69
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����69
�0.��*. ���+�@�������/ ��/ A � .*7����<,=�����>��?��#���
��S?B�/� T;U��%)>�!�(�D��N�I-�-��IB�&�&��*�����������B�/������ �)!���*�>��>?& �=>"��D��B�/D�:�;�%&��:Q'��%&������� ��"!����B��S&�"?- ���'^ �N!��A/��C�4�>)g�!�&�(���J�K� �D1�B�/N� ������>)!���*���A/�������>)!���*�?&�/=�).����?@�&�(���J'K�) !�B�/��*����.S��C�4�> 4��?@���*�����*��� ��"��TH#�A/� ��%)>�).������BC����
�� ��!�(� ��S?B�/�T;U�� ����B>&��
��4�� �����*>B>&���,WU����XYZ[���� 4�� �!�(�����S?B�/�T;U�
�������?9�)�+���$������%���� ��������&�������������&+&��� ��������������������� !56788A�*4�(����)�����()*���#���A�D��!����4E(�FGHIJ!�����������4������U�����#���
������
� �
� �
� �
� �
� �
� �
� �
� �
���
��
��
��
��
�
��
��
��
���
��
�����
����������
�����
��������
� ���
�� ��� �
����
����������
��� !
��� !
�"���
������
����
������
���"�
����� ��
�� ��#� !
�
��
��
��
��
��
��
��
Page 70
70�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�@A �� ��>#"��
T;R�� �?3>I?�%����\]^_`��)����NV&*I?��(M��*� I>=�&A��N�I-�-��IB�&�&��*%&�-!��.�/)"00�1��23��>"����
��!"0;ABC� "*F�U^�]���_����̀ `��&A�������������4�A�������������-!��.�/)"00�1��23���9'abc
T;R9�)����I?��(M��*�A/��Qn[]k$o]ekp'���%&���*I?�%���g�h�������I?�%���B�/�T;U�
T;R8�BC����-��N&*%&�>�!�*I4&>I?�%����A/�B>)��i&&"j*���BC����
T;R;��"�I?�%����BC�����>)!���*�$��B�/� ��"�D���*��:Q'�)"�������BC����D���TH#
�$�4D$E�5.�N���JKL�M%4NE�'E�� &�N�?����M�,*:$�
�$�4�5.�N���>-�M%4)� &�N�C^��MF�A:��JKL�M%4NF��:+E* &�N�C?��N��5.E�*
T;RG�)����I?��(M��*�A/��Qn[]k$o]ekp'9�%&���*I?�%���g�h�������I?�%���B�/�T;U9
T;R��BC����-��N&*%&�>�!�*I4&>I?�%����A/�B>)��i&&"j*���BC����
T;R��="�-� ��!�(� ��S?B�/� T;U�� ����B>&���(���"��BC�����"�I?�%�����>)!���*�$��B�/� ��"�D���*��:Q'%&��$9�B�/� ��"���*��:�;�)"�������BC����D���TH#
�$�4�5.�N���>-�M%4 &�N�C^��MF�A:��JKL�N��5.E�*N�$2E�)*��)S�+5*�O��BH� �4$2E�)T,+�$�4$%�&�5.�N���>-��E�*NE�+�4*
�$�4�5.�N���>;�M%4 &�N�CUV�MF�A:��JKL�N��5.E�*N�$2E�)*��)S�+5*��NE2E�BH���*� �$�4$%�&�5.�N���>;��E�*NE�+�4*
void main()
{
TRISC.F0=0; // RC0 ==> Output
while(1)
PORTC.F0=~PORTB.F0; // LED at RC0 On when key press
}
!-"@R-,-=+ ,T$"%!"9
I?�%����C�4�>D��:�'� �?@�����*���) !�D��:Q'�B�/ ���?@�)!���*�?@�������=S %&�!��A/�( �=NV-�"��%���(���"���?@����!�&S?�A/��C�- �(������>)!���*�:Q'�%)>�B�/� TH#�:�'� I>=(�%)>�>�!=����&"�- �&�(����A/� 4��>)!���*%&�!�TH#���>)! ��
���#�������?9��K���TVNGQ.WGLQXOPQ����#���A�D��!�$%������FGHIJ!��������������B����$������%���� ��������&������������ �������������������� � !56788
Page 71
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����71
!-"@R-,-=+ ,T$"%!"9
I?�%������(� ����*����B"����*��A/�%)>�i&D���S&B�/N>�(������>)!���*� I>=.���>)!���*�C�%4� �:Q'�(��?@������/�- �D���S& ���(�)����*���*����%� .���>)!���*�:�;�(��?@����&>- �D���S& ���(�)����*��*�����4! ������>)!���*%� &�-�"��(������4� !��!&��9''���&&�!���B��A/�&>i&(��4���)"�i")D��)!���*�B�/BC� 4����>- ��>)!���*O�C�DE��4&�=�q�-�"��
���#�������?9"��K���TVNGQ.WGLQXO"PQ����#���A�D��!�$%������FGHIJ!��������������B����$������%���� ��������&������������ �������������������� � !56788� ��*�%����4�(������ 0#�/�T���R��&�����&+&����$=)�������!���R����������&+&���
void main(){
TRISC=0x00; // All PORTC ==> Outputwhile(1){
if (PORTB.F0==0) // Check SW at RB0{ PORTC++; Delay_ms(200); } // Increment PORTCif (PORTA.F4==0) // Check SW at RA4{ PORTC--; Delay_ms(200);} // Decrement PORTC
}}
�������������������
Page 72
72�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
Page 73
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����73
���������� ���������������� ���� �������� �!������"#�$%��$$�&��'��("��(����� )��������*��+�%�"$ ��&���$��� ��#�$��+$�����$���
���������� �Sound_Init
�,-�����������"#�$��������*��+�"$ ��*'.���&��/�/��� %���� �!�����
������������� ������void Sound_Init(unsigned short *port, unsigned short pin);
�����������port ������������ ���������������������� ������
pin������������� �� ����������������� ������
������������� !Sound_Init(&PORTB, 2);
������������� ������ ���� ������� ����������������
����+�,� ��-�����'�� �./'�0�+�� 1%234
Page 74
74�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
���������� �Sound_Play
�,-������������������ �!�����
������������� ������void Sound_Play(unsigned freq_in_hz, unsigned duration_ms);
�����������freq_in_hz �!"�# �#$�����%��������� &�������� $��!"��' �(��������)���!"��$�!����
*+,-.+/0�)������&# �1&��2�� � 3����� 45565� �&��!�����1� �)��%��7 &���&� � $�#$�������������1&�)� ���2�#��$81&�)��
�� ���"������#$�9�:;<=>?@3A6B�9�:;<=>CD3
�� ���"�������#$�9�:;<=>?@3AC55B�9�:;<=>C3ED33
�&�# �#$���������F������%�2��!"�# �!�G��8�������&)��HI��������Delay_Cyc�(�����)�� ��)��# �#$�����������)� ���J�����
����������� ���������������������
������� �!�"��#$�!�����%��$�������&'&&&'&&&(�)&�*�+,',,,�-./0����� �!$�!�����%�/����������1���$�!0!��������&'&&&-.��2���&3-.
������� �!0!���#$�!�����%��$�������&'&&&'&&&(�&')&&�*�4+&�-.
duration_ms��������&�G�G�$����������� &�������� $��!"�� �� $ ������!"��$�!����*+,-.+/0�)������&# �1&��2�� �3�����45E565
������������� %�������������KK�8#$������CLMN��!"��$���O�$ ����������%����!"��!�����1&�&����2
Sound_Play(2000,1000)
Page 75
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����75
�5-��*- ���+�6��������'�� �./'�0�+��1%234���������������������
�����$�)����F!����P5QO�������&�������������1��#�#�����������������RS=O4:@TT������RS=O4:@@T��J1&�� ������������F�������������������1H���!��)J��&�$�
������������&�UVWQ@TT�U/XYC33T��������&���1&������&������1��#�#������������!"�������RS=O4:@@T
������������&�&����ZWQ@TT�[\*,�SS���� �$�)����F!����P5QO����$�����1��#�#������������!"��RS=O4:@TT
��� �� ��������
P5YO� �!]&�!������^-L_`=������1H���!��)J��� �&������1��#�#�������������G#$�������KK�8��a]��&����2
����&������$�'() *++�',-.%//+�������RS=O4:@@T�#$�������KK�8��a]���C3bMN
����&������$�0) *++�1234�55�������RS=O4:@TT������RS=O4:@TTc�#$�������KK�8��a]���C3bMN
������� ���� ���������������� �������� !��"�"�#��������$� %&'�()**+� ,-���� %&'�()*++./������01� ������ �#2� 34 �$���#�Sound 5#�������#601�77�8�1�� 2� ��������
���
������
����� ��
�����
�� ��
������� ��������
���
���
���
��
��
��
���� �
������� ����
����� �
����
���
��
����
��
��������
��
��
����
���
���
Page 76
76�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
void main(){
Sound_Init(&PORTC,0); // Make pin RC0 ==> Speakerwhile(1){
Sound_Play(2000,1000); // Make 2kHz every 1 secondDelay_ms(1000);
}}
���������6��7������
�!���������&���� �%��U=3��!"�%������d��������� ����������)����2���G�����$��F!� ������#$������CLMN����1!�d�e�O�$ ����
P5YC������1H���!��)J�������<`*+0f/,g����G� ����!�����h�i��=����!���������P5QO
P5Y6������#��1�����G&�$�����&�!�����������&���7����j���������
P5YD�����!�����
56%��7���������� �!���� ����"��8��2!��5�������� �!��3-.9������5����������:��;����5���6��$#�<=��7��$�
P5Y5��&������1%�!�����������!�����# �#$�����%����KK�8�������&�#$�����&������ ��#$������G�$ ���OLMN����6LMN�������)�������������������&�UVWQ@TT���G�ZWQ@TT��!"�������!k��(��# �#$���������O4�����6C��������������KK�8� ��#$������������� $��OLMN�����6LMN� ����#$������F��������$ ���2� ��)1� 1&�� �����1&�� ������
���9����������!3�$�:;<=>?@ABCD����9���E�F��'�1��-�� �GHIJ;'����������#60�1�� ���2����$�%'K�2� !��"�"�#��������$�%&'�()**+�-����%&'�()*++.�2� ��������
�������������������
Page 77
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����77
�������������� ������������������������������������� !"!#$��%��&�'()*+%���!,�-��+!.�/+0'�'��0��1�1��*+#.�+2� 31���&�'()*+%���!,+!%�%��*��'4�#2��+���+�,����/+0'�'��0��1�1��+�*�-����%%'�%'(+��0�+���*����%/+0'�'��0��1�1��� 56789:;<=�*�+��>�������31���%*��������������������/�->?�� 8@�3�12����!A
�� ����/��+���B�3�12�'����������'2���������0�����0C1�.�/��+���D�31�/��+���8��!�3�12���?,����'2��!,��2����������.�/��+��� E
�� ���������!#���2�#'��+����-�+$1�!�!"��+�*�F�*+%$�)�8�3�12�
������0+�$1���!#%��!#%G�����%*44�)�31��5HI������775�E�3�12�
������0+�$1*�,�*����(��+� JKLMN��E�3�12�'������������������+�,��%31�*2��-�+$1*+%$�)
�������������!#%��!#%3��������1���8�3�12�� �O"��.��56789:;<=L�
������"����P�E�3�12�'������*44�)����������Q�#����!,���MPDR6SN�31������1!,#�3�1�1�����!,���MPT�>?��MP<
�� � ���0+�$1�U�,�+�2���(��+3%% ��0'��*� E�3�12�'��� ���������������0+�$1�U�,�+�2���(��+3%% ��0'��*V� �������U�������-�+$1.�*2���U�,�+�2���%%%*� 6E7
������0+�$13�1�*44�)����1����&�������1�8�3�12�
������������������"��������*��+� 5K5��8�3�12�� �O"��.��56789:;<=��(2��TD����
0�#�+�,����,��/�����������������������&��������+!���� �3C1������������������A�W��?A� U�,����3C1���1��-�#�-�#����X��:������A�������*�%�2��+!�����F����%�1��������������A�W����/+2� U�,���������F����%�1�����������������+����%U�,�3C1�3�21��-�#�-�#����X��Y�� �U2��������*44�)�����������!,���MPDR6SN�3C1��6SN:���� ��31�>-�+!�����F����%�1�������������
����+�,�-��*������*�.������������������� ���
���!"#$%������/�����
Page 78
78�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
3%%�!A� ?,�����*�%���%��� 6SNY�31�+!�����F����%�1���������������+� Z6Y�� /�-� �F�����������������������?A�.���%%���3*��.��$��!,�@G8��,��+�#'��+�2�������������.�-���������������?A�/�-��-��+!������!#+������!A
8����F����%�1���������������+�0�#���� �%���Z6Y�.��!��*�����6SN7[S����%���!A/+2+!���� ����/+2+!���������������������?A�/�-��3+-�2����,��/�.���������������������3�12���������2��W�����&������31�+!�����F����%�13�12������������������31-��F��+
E�� ��F����%�13�12������������������
B����!#�C\��U,�%����������������*����%�]�^�_7�������U�,�/�-��&��void interrupt()
T����'�#.�-���,��/���������������������.�1�X)��2��W� �����?A�
@�� �+�,��%�A����.�C\��U�%���������������31-����-���'1!#�3C1������������-�#
����������� ������������������������ ���� +!�-�#���@����'��
8`� ������� ��&��!��*����'�%'(+��������������1�
E`� �!�� ��&��!��*������F����%�13�12����������������������(���)�"����C��1
B`� �!"����&��!��*������F����%�13�12����������������������(���)�"����C��1���!,�E
T`� �#����&��!��*����3*��*>������,��/����3�12����������������������(���)�"����C��1�������2�+�%�56Y8
@`� �#"���&��!��*����3*��*>������,��/����3�12����������������������(���)�2�"2�����!,�E���������2�+�%�56YE
G IE
EEIF
T 0IF
R BIF
IN T F
EEIE
T 0IE
R BIE
IN T E
IN TER R U PT
����������� ������������������������������������������������ ���� ��!"#�����#��$�$�� �%&'
Page 79
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����79
*����%��#1���!#��A��+�����!��*�����A�� @���+!���!A
������������� ���������&��!��*�����!,+!�#*��'4*$�*(�*����%��������������*�+��>�2��31���!#�/�-�(�%���.U-��F�
���%�1���������������+31��������������"�A�a�����/+0'�'��0��1�1���567�+!��#1���!#����!A
�����
���
������
�����
����
������
�����
����
������
�����
����
������
����
���
������
����
���
������
�����
���
������
�����
��
������
���
����$�%�&�!�'&()*+(��,-.//01-�!,+*(.�*2-3�4�����5����6��������� ���� ��7������ ����� ��������������������������������
� ���� ��������������������������������������
����8�%� !�!�' ./219./+(��,-.//01-�!,+*(.�*2-3�4�����5����6��������� ���� ����:���; �<�=<���!���"��� �� �#�$�%���&���������������'&&���
������%��>�!�'�?#>��@./A()B��,-.//01-�!,+*(.�*2-3�4�����5����6������ ���� ���C���� CD6����E�7�� �>�!���"��� �� �#�$�%���&���������������'&&���
����F�%����!�'#G�H����!I-./,+(��,-.//01-�!,+*(.�*2-3�4�����5����6������ ���� ���J�����������#G>H����!���"��� �� �#�$�%���&���������������'&&���
����K� %�#G�!� ' )/-�G��9+,L.��,-.//01-�!,+*(.�*2-3� 4�����5����6������ ���� �������6����M�6�6�������=�� ��G����#GF%#G$
�!���"��� �� �#�$�%���&���������������'&&���
����"�%��>�N�'�?#>��@./A()B��,-.//01-�N(+L�*2-3�4����MO����C���� CD6����E�7�� �>����������������� ���(�)��(*�)
� �������������(�)��(*�)���+���������������������%���&���)���,��-�����!*��')��
������%����N�'#G>H����!I-./,+(��,-.//01-�N(+L�*2-3�4����MO���������� ���� ���J�����������#G>H������������ ��.�//�0�����������1�2�-����������$���34�5678
� �� ����.�//�0�����������1�2�-����������$���34�5678��+����������������������������%���&���)������,��-����"��������)-�9&)������!*��')��
����>�%�#G�N�' )/-�G��9+,L��,-.//01-�N(+L�*2-3�4����MO�����6����M�6��PO��6����������#GF%#G$�������� ��������$-�'������������$���34:�34;
� �������������$-�'����9��&�1����������$���34:�34;�- ����-� �����+����������������������������%���&���)������,��-����"��������)-�9&)������!*��')��
Page 80
80�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
����"�������� � �!���&��!��*������F����%�13�12��������*44�)��������������(���)�2�"2��.�3�12��2��W
*�+��>��-�>?��"�,��2��31���!#�/�-.����%%��� �+!��#1���!#����3�21�%�����!A
�����
�����
������
�����
����
������
�����
����
������
�����
��
������
����
�����
������
����
������
������
�����
�� ��
������
�����
�����
������
��
����$�%� Q �!�' +/+((.(�Q(+@.� )/-�#.+RHS/2-.��,-.//01-�!,+*(.�*2-�3�4�����5����6��������� ���� �T����������<��M6P�������7U6���=�� �������7V�T�� Q
�!���"��� ���#�$�%���&���������������'&&����<����"������19��"��������.��&��
����8�%�WX�!�'WHX��),@./-./��,-.//01-�!,+*(.�*2-3�4�����5����6��������� ���� ���C7OU6�WHX�!���"��� ���#�$�%���&���������������'&&����<����"������19��"��������.��&��
������ %�#��!� 'YQW#��#.Z.2@.� �,-.//01-�!,+*(.�*2-3� 4�����5����6��������� ���� 7T�����������7U6���C7OU6T�������7U6��:��7�'YQW#�3� � �5��[�7�U�;
�!���"��� ���#�$�%���&���������������'&&����<����"������19��"��������.��&��
����F� %��\�!� 'YQW#���/+,]^2-� �,-.//01-�!,+*(.�*2-3� 4�����5����6��������� ���� 7T�����<����7U6���C7OU6T�������7U6��:��7� 'YQW#�3� �5��[�7�U�;
�!���"��� ���#�$�%���&���������������'&&����<����"������19��"��������.��&��
����K� %� QQ �!� 'Q_,Z9/),)0]�Q./2+(� )/-� �,-.//01-�!,+*(.�*2-3� 4�����5����6��������� ���� ���C7OU6`T��7�<���:��7M��a��Cb���� '?QQ 3
�!���"��� ���#�$�%���&���������������'&&����<����"������19��"��������.��&��
����"�%��� ��!�'�� ���,-.//01-�!,+*(.�*2-3�4�����5����6��������� ���� ���C7OU6��� ��!���"��� ���#�$�%���&���������������'&&����<����"������19��"��������.��&��
������%��?#"�!�'�?#"�-)� #"�^+-Z9��,-.//01-�!,+*(.�*2-3�4�����5����6��������� ���� ���������b<����E�7�� �"�M6P������� b���6��"�' ./2)R�/.L2]-./�"3��<����
�!���"��� ���#�$�%���&���������������'&&����<����"������19��"��������.��&��
����>�%��?#��!�'�?#���@./A()B��,-.//01-�!,+*(.�*2-�3�4�����5����6������ ���� ���E�7�� ���C���� CD6��!���"��� ���#�$�%���&���������������'&&����<����"������19��"��������.��&��
Page 81
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����81
����K�������� � �!"
��&��!��*������F����%�13�12��������*44�)��������������(���)�2�"2��.�3�12��2��W���!,� E�*�+��>��-�>?��"�,��2��31���!#�/�-.����%%���+!��#1���!#����!A
�����
�
�����
� ��
�����
�
�����
����
������
����
����
������
����
�
�����
�
�����
������
������
���
������
����$�b��� �=�����+������"�����
���� 8� %��?�!� '�)^1+/+-)/� �,-.//01-�!,+*(.� *2-3� 4�����5����6��������� ���� ���C7OU6���������M��O���P��6��
���������.��&���������������'&&���
� ������%���&���������������'&&���
������b��� �=�����+������"�����
����F�%�!!�!�'!! #�?�S/2-.��1./+-2),���,-.//01-�!,+*(.�*2-3�4�����5����6��������� ���� 7T������������7U66�c�V�<��b��7�d����7U6����=��7�5�7�U�;
���������.��&���������������'&&���
� ������%���&���������������'&&���
����K� %�G�e�!� 'fG0]� ��)((2]2),��,-.//01-�!,+*(.�*2-3� 4�����5����6��������� ���� ���`����������7U6c�����d�������C7OU6`T��7�<���:��7M��a��Cb���� 'QQ 3� 7T���d����c�CV7O��"��7����
���������.��&���������������'&&���
� ������%���&���������������'&&���
����"�M6P���b��� �=�����+������"�����
����>�%��� "�!�'�� "��,-.//01-�!,+*(.�*2-3�4�����5����6��������� ���� ���C7OU6��� "���������.��&���������������'&&���
� ������%���&���������������'&&���
Page 82
82�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
����F�������� � �#�
��&��!��*����3*��*>������,��/���������������������,������(���)�2�"2����������2�+�%�!��*�����56Y8��+�,����,��/�������������������&��������� �%��*>���.��!��*�����56M8�����A�����*�%�2�+!�����F���GG�%�1��������������A�W��!,�!��*�����56Y8�����/+2�>-�+!�F������*�%�2��%��5Y6Y�31��Z6Y�.��!��*�����6SN7[S�� �/�-�A�'$2����/+2�>-����� �/�-��F��������������������?A��#2��*+%$�)� �*�+��>�2��31���!#�/�-�(�%��#���-�%���T�31��@� %���Nc6:�31��M76:���!,�2��/�-�#2����!#��+!��#1���!#����!A
�����
����
������
�����
���
������
�����
���
����
�����
���
����
����
����
������
����
�����
������
�����
� ���
������
�����
� ���
������
���
����$� %� Q �N� ' +/+((.(� Q(+@.� )/-�#.+RHS/2-.� �,-.//01-�N(+L�*2-3� 4����MO�g��P����<��V�T��������7U6���=�� �������7� ' Q 3
�������� ���� ������-��������
� �� �� ���-���� �����>��&#��������.����.�%1�����,��-����)-�9&)������!*��')��
����8�%�WX�N�'WHX��),@./-./��,-.//01-�N(+L�*2-3�4����MO�g��P����d�������C7OU6�WHX��������'���.�//�0-���� .�&>�0�
� �� ����'���.�//�09�����"���1����.�%1.�&>�0�
������%�#��N�'YQW#��#.Z.2@.��,-.//01-�N(+L�*2-3�4����MO�g��P���������7U6���C7OU6�YQW#�������&�*�*����)��&��)�1��?@A38�) ��
� ����&�*�*����)��&��)�1��?@A38���%���������&���>�.�&>�0�
����F�%��\�N�'YQW#���/+,]^2-��,-.//01-�N(+L�*2-3�4����MO�g��P���<����7U6���C7OU6�YQW#�������&�*�*����). ���)�1��?@A38���%��-���� �����. ����>�
� ����&�*�*����). ���)�1��?@A38�) ���'.��) ���. ����>�.�&>�0���+����������������������������%���&���)�
����K�%�QQ �N�'Q_,Z9/),)0]�Q./2+(� )/-�'QQ 3���,-.//01-�N(+L�*2-3�4����MO�g��P����d�������C7OU6�QQ ���� ���� �����$����������+������(��>��B@@C���$�+����������������������"�1���� �� �� ������$�����$�+��������������������1����+������(��>��@@C� ��"�1�����+�������
�������������������%���&���)�� ���$�����$��"�1��������+����'� �9(���,�(����@C6
�������&���. ����>�����- ��.�&>�0�
Page 83
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����83
(����6DE���.������ �������&���. ����>�����- ��.�&>�0������.<��9���$��������- ��.�&>�0�&�&�.�6DE�(�-(��>��@@C�����.<��9�-F�����- ��.�&>�0�&�&�.�6DE�(�-(��>��@@C�����.<��9���$����!�+�����- ��.�&>�0�&�&�.�6DE�(�-(��>��@@C�����.<��9��&�>��GHIJKLMNOPQOR�����- ��.�&>�0�&�&�.�6DE�(�-(��>��@@C�� ���.<��9���$�����������09��$(��>��@@C�-> ��.2�)9) �����������GSPNOR�����0�.������"��9&&�������.���������.<��9�-F��������09��$(��>��@@C�-> ��.2�)9) �����������GSPNOR��0������.������"��9&&�������.����
(����6DE�.��*�������&���. ����>�����- ��.�&>�0�
����"�%��� ��N�'�� ���,-.//01-�N(+L�*2-3�4����MO�g��P����d�������C7OU6��� �*�+��>3%2�3#���+0�+�������������0+�$1�7758�/�-���!A
(�����)11�&.�//�0���',��1��� GIHTUVWO�XLPOR�������� ������)11�&.�//�0���������$��1�.�����8B3 � �����������)11�&.�//�0���������$��1�.�����8B3 ��+�������������������������%���&��
�)������,��-����"��������)-�9&)������!*��')��
(�������-&���-&.�//�0�GILXTHWO�XLPOR������������-&���-&���>���$��1�.�����8B3 ��� �� �������� �������� �� � �� ������-&���-&���>���$��1�.����� 8B3 � �� �������������� �+���������
����������������������%���&���)������,��-����"��������)-�9&)������!*��')��
/+2+!���.U-���%���!A���������.�-�7758�������.�0�+��5HI
������%��?#"�N�'�?#"�-)� #"�^+-Z9��,-.//01-�N(+L�*2-3�4����MO�g��P�����O������ ���� ����T���7����b<����E�7�� �"�M6P����66�� �"��<����
�������, ����������D�'�9��1�.����,�&�)���D�GCOWSLP�WOQSYUOW�DR��� �� ���� �����, ����������D�'�9��1�.����,�&�)���D�GCOWSLP�WOQSYUOW�DR� �� �����+������������������
�����������%���&���)������,��-����"��������)-�9&)������!*��')��
����>�%��?#��N�'�?#���@./A()B��,-.//01-�N(+L�*2-3�4����MO�g��P�����OC���� CD6����E�7�� ���������������� ��� ���(�)��(*�)
� ������������ ����(�)��(*�)��+�������������������������������%���&���)������,��-����"��������)-�9&)������!*��')��
Page 84
84�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
������������� � �#"��&��!��*����3*��*>������,��/���������������������,������(���)�"����C��1���!,�E�������
�2�+�%�!��*�����56YE� �+�,����,��/�������������������&��������� �%��*>���.��!��*�����56ME����A�����*�%�2�+!�����F����%�1��������������A�W��!,�!��*�����56YE�����/+2�>-�+!�F������*�%�2��%���5Y6Y�31��Z6Y�.��!��*�����6SN7[S�� �/�-�A�'$2����/+2�>-����� �/�-��F��������������������?A�
�����
�
�����
� �
�����
�
�����
���
������
����
���
������
����
�
�����
�
�����
�����
������
���
������
����$�b��� �=�����+������"���������8�%��?�N�'�)^1+/+-)/��,-.//01-�N(+L�*2-3�4����MO�g��P������������M��O��
���� ����#F���)�1�����-&���-&'�����9����� ���������$-�'���
� �� � ����#F���)�1�����-&���-&'�����9������������$-�'���
������b��� �=�����+������"���������F�%�!!�N�'!! #�?�S/2-.��1./+-2),���,-.//01-�N(+L�*2-3�4����MO�g��P����������7U66�c�V�<��b��7�d����7U6����=��7
���� �������-����>������� )-,)��1+����>���#��-���� .�&>�0����-���� ���$�������-�
� �� �������-����>������� )-,)��1+����>���#���.�%1.�&>�0�����K� %�G�e�N� 'fG0]� ��)((2]2),� �,-.//01-�N(+L�*2-3� 4����MO�g��P���`����������7U6c�����d�������C7OU6`T��7�<���:��7M��a��Cb���� 'QQ 3� 7T���d����c�CV7O��"��7����
��������� ����=��������>�����
� ����������=��������>�&�&�.
����"�M6P���b��� �=�����+������"���������>�%��� "�N�'�� "��,-.//01-�N(+L�*2-3�4����MO�g��P����d�������C7OU6��� "��7��gM�<�M����7CV7O����d�������C7OU6��� ��EO�O����[
0�+������%*44�)����3'������ de������]_f���������� ������)11�&.�//�0���������$��1�.�����8B3 � �����������)11�&.�//�0���������$��1�.�����8B3 ��,��-����)-�9&)������!*��')��
0�+����!#%��!#%*44�)� d_]�e���]_f��������������-&���-&���>���$��1�.�����8B3 ��� �� �������� �������� �����������-&���-&���>���$��1�.�����8B3 ��� ������������������,��-�����!*��')��
/+2+!���.U-���%���!A���������.�-�775E�������.�0�+��5HI
Page 85
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����85
�0-��*- ���+�1�.2�' ��-��*������*�3 � �4567�89
���`T��7�<����h�� OM�� ����������� ���������������������������������� !"�#$%%����&'� �(&)����*+,-�*�./0���1�.23
��4��+*�&'�&,�&�*��*�5���,��56��+7*��� 8*�1���(+��9��:�;���6����'��+*�+� �(&)����6����+*�+� �(&)��1�����4� <*�1��9����(+�:3;� '��5���&�"�+7*��������9�5���&��*&�5=&&'�+,-��>?��56��� �� 8*�1+*��7*�*�
+*�&'� �(&)����*����*5���&�.23� �56���)� ��*� ,@@*A�(��&����,�&��*+8*4��+�BC����+*��������D�1�)���*� *�*�<���+*���9��*�(�5=&�,- ,@@*A�(��&����,�&��*+8*4��+� E!FGH�����*5���&�.23� ��9���,+
���)�������������������+*������
���*+�)�-����������FI$%%�JKLM�!!����&'�����&*����������
������� ()� �*���+������������ ���� *��,�-���.������/��0123&45�/��!"#�����#��$�$�� %&')6788�,�-��9���� ��:"�9 -#�����",�;��'�����<9�=>?@A'���"!��$�� �������B��#�����"
��������
���
���
���
���
���
���
���
���
���
��
��
��
��
��
��
��
��
���
��
����
����������
�����
�������
�� ��
��������
����
!" ����#$
����%&
����%&
�'���
������
�"��
������
���'�
���"� ��
�� ���(� &
��
��
��
��
��
��
��
��
Page 86
86�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��[��������O6���N�� ��O�����+���PQRST"� ��*��U��������+&�� ��4��6�+�������������������1��*�<�� ,@@*A�*VO+*�,���D
������������� ����������������6�+� !"�#$%%���6�� !"�#$%%/���*�<�� ,@@*A�*VO+*�W3XYZ�NW� ��*�������+&�)6���2[MQ\!]^_SSLJ^����15(�5�����+��8*`*�"�&*�����+���������Na��7*+*�����5����1�*�����������+���56���� �-b��,5c�+*��7*�*��N0��,�����+��
����������� ������������������ ����������� ���������� !"� �#$%�$��� ��������� ���&�'��()*+,-.�������� !"���/��%�&��0��%%��1���$��&�21�����3������������������������������� ����3���$����30�������&������� ��$� �� 2&/&30���������������&��������3��3%��������� ����$� ��$��&
char i;void interrupt() // Interrupt Service Routine{
for(i=0;i<10;i++) // Blinking LED when interrupt {
PORTC=0xFF;Delay_ms(100);PORTC=0x00;Delay_ms(100);
} INTCON.INTF=0; // Clear Interrupt flag
}void main() // Main program{
TRISC=0x00; // PORTC ==> OutputINTCON.INTF=0; // Clear Interrupt flag before useINTCON.INTE=1; // Enable interrupt from INT/RB0 PinINTCON.GIE=1; // Enable Global interruptwhile(1) // Main program{
PORTC=0x55; // Running LEDDelay_ms(200);PORTC=0xAA;Delay_ms(200);
}}
�����������������
��(��&������+�����4Ud�+�),��� Q]^_SSLJ^�BC����6���+(��(��&����,�&�����+���1+�1����*�7*�*��������,�����4����+���� '����D�1��9�+*�+15�(-��>?����1����--+,-����+����,+���1��6���-�*��� '��-�(+*��(��&����,�&������1&�������4���U�+�(��&����,�&�+'����+�*+�(��&����,�&�� ���� 7*��,-����+����,+��1��(���*++*�����4���U�+�(��&����,�&�� �*+�,D��������-(�+*��(��&����,�&��*+�*� !FG���1�������-(��(��&����,�&�����+'����������7*�*��+&(� ����+�'*�1�+(��(��&����,�&�
#�����"����()�!C$ �1DE>F&GHI@@JKHLF�#�����",�;��'�+�������=>?@A'���"!��$�� �������+������������ ���� *��,�-���/��!"#�����#��$�$�� � %&')6788MNO �������������������
Page 87
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����87
����������� ��������������������������� ���� ��� �!�� "���#!��!�!�$%�� �����������&�'���&!����(�!�!�$������������� )*!�!����+�,�'��-�.$�� ���/�������!-!'�&��� ��
����������..���������)012320453����6789:5,����&� ��(��.;������ �/
<=��&� ��������� ��>�;���):?@9?8�03AB42:,�����C!�;�;D ������%�('������!E�����#!�*!� �����#C! � ����������/���&�F����������<�.������'�# $>��GH����������G�.�������I& ��� ���� ��!�����I��� �I& �<J����������K�.�����
K=��&� -�.-I���� �����.%�����#!�*!� ��L"��� �-�.-I��!��C!�! %���������� & ��!��.#�*!L��!��������������;�"��!��"�� -��MN��M� � �� �� ����-�.-I�#(� � ��-�.-I����OL!(�.��M����� �!��P! -"��QGGRFH�� �S##I.� ���!�� �.��M�"� T����� ���&����..�!�����&���������..��M�QGGRFH
����+�, �*-�*.������/��0�1��� �
23'�4�+���'�!"#$%������5�����
��������������� ������� � ������ �������� ��������� ������������������������
����������� �������������������������� ��������������������� �!�������"#���������$%&'(�)*+,-./�����012����3�4����$���5������.������� 67 6!�3�����������"#��������
Page 88
88�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
������������ ��������%!����< ��� �&�����!��M
%!����K �� �&�%�!��.'U��/���VWX
%!����Y �� �� %!��.�� LI������ L"�����.-�!���&!�
%!����G �� �� %!�� LI�L"����� ��%��%�����-C!����;�"�%����������������������� ���������������������������������������������������������������� �
%!����W ��� �� %!�� LI����� �L"���"���!��&! ;�"�%�� %�������.��������� �� ��!�"���#����������� ��!�"����������!$%!��&������ �� ��'�����!!�"()����!$%��!��*����!�"�������
%!����J � �� %!�� LI�� �L"���!��D �.���!�����&���.��������
%!����R�$>��<G ��� !���" �� %!%�����%����������&�!$���!�"$%�$���++�,�+%$���()����������"+�����,���&�!$���!�"$%�$���++�-�+%$���()����.-��/��0
��������4��� �3��089�������� ������� � ��: �;<=>??�;@AB4CC?�DE�����3� #F�3:8�����'GHIJ*-$.
���
�����
������
����
���
��
�����
����������
�
�
��
�
�� �� �� �� � � �� �� ��
���
���
��
��
������
�����������
��
�� � � �� �� � � � � ��
�
��
��
��
���
���� ������
��
��
�
���
���
���
����
�
�
�
���
��������
��
���
���
���
�!"#$%&
�!'�(#)�"
��*+
� ��
�
�
Page 89
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����89
��#�$%�&'(�)*+,�+-�&�. ���������/..��+01�*� �6?Z37����US��M �� �!��P! �C!;��.����&���.���������L"���C! ��-�!��(���� �!�!
L�[ !������������ US��M �� �!��P! �/ #(�"���!�����&���.����������..�G�.���#>�� �%!%������G�$>��R��&! �/ ��&� %!L��M�%��'��-�-� ������M�\]������&���.���������#(�������&*!�� L��M�������
��#���$%�&'(�)*&�02+034�&�0+,�+-�&�. ��������
��#�����$%�&'(�)*�Lcd_Init
US��M �� �/�� �!��C!; �-&!������ �;���.�!�����&��������������C!; ��C!�; &�%!�&!��T�!'��������!����.����� -&!���.����� '��OL!(�C!�; &�L��M����� � "����&��&! �/ �����!��(�����C!�; &�%!���� � "����&��(;�&!������������.%!L��M�%��'��-�-� �������M�\]�� �� ��� �/
�" "����&���.%!L��M�.���R
�� "����&���.%!L��M�.���J
�5 "����&���.%!L��M�.���W
�6 "����&���.%!L��M�.���G
� "����&���.%!L��M�.���Y
��� "����&���.%!L��M�.���K
������ ��!"#��$%&�'()�void Lcd_Init(unsigned short *port);
*���+,-./�0port ������������ ������������������������������������� �� !��"#��$%&
.(1/23��45)��6�Lcd_Init(&PORTB);
������������ �����������������������������
Page 90
90�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��#���#�$%�&'(�)*��Lcd_Config
�C!; ��C!�; &�L��M���(�C!�; &�%!�&!�T����� � "����&���.���������L������/��C!; �US��M �� �!��C!�! L"/ P! �;���.��������� �����C!�; &�%!��/�;������C!; ��!�!�$�"��'����&!�����(���&���"�� '%�&!������!#!�L��M������� �N>������&!�#!�US��M �� �Lcd_Init()�����C!; �%!L��M�'��������&���
������ ��!"#��$%&�'()�void Lcd_Config(unsigned short *port, unsigned short RS,
unsigned short EN, unsigned short WR, unsigned short D7, unsignedshort D6, unsigned short D5, unsigned short D4);
*���+,-./�0*port ���������������������������������'(%���������� �� !��"#��$%&������������ ��
������������������������������������������ � ��������!�� ���������
RS �)*����� �!+���������������� �� !���,-������"#��$%&
EN �)*����� �!+���������������� �� !���./������"#��$%&
WR �)*����� �!+���������������� �� !���,01������"#��$%&
D7,D6,D5,D4��)*����� �!+���������������� �� !���&2�����&3������"#��$%&
.(1/23��45)��6Lcd_Config(PORTD,1,2,0,3,4,5,6);
��������!�"���"� ��� �����#��$�%&��������������������� '��� (�������'���)�'���������� '��� *�������'��+,'��� -�������'���./'��� 01�� 21�� 31�� 4�������'�� 51� 41� 31� 2�����!����
Page 91
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����91
��#�#�$%�&'(�)*�-��7����/���8�
��#�#���$%�&'(�)*�Lcd_Out
� ��C!;��.�&�%��������'����������������������#(�����(.I�C!�; &��$�� )37^,� ���(�C!�; &����������)07:,��&� ���#(�&�%��������'����������..%��%�����#(�� ���������������;�"��� %��-�!��D'�������&� � ��! US��M �� �/#(�������!�����US��M �� �Lcd_Init�;�"��Lcd_Config��&�
������ �� ��!"#��$%&�'()�void Lcd_Out(unsigned short row, unsigned short col, char *text);
*���+,-./�0row ������������ ���4�����"#��$%&col ������������ � 4� �5�����4����6!7*text �������� 4� �5���������4��������������)�8"�9�
.(1/23��45)��6�
Lcd_Out(1, 3, “Hello!”);
�������6��'�78���9:;;<����=�>6��?�%&�@���� ������%��%&��(���A��%&��!�>"�����8���B���8%&��0
��� ��
Page 92
92�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��#�#�#� $%�&'(�)*�Lcd_Out_Cp
�� -C!��������C!�! ;�"� ��.-C!�����LCD_Out ��&-C!���� �/�� �!��&�%��-�!�'���������C!�; &�-��MN��M�S##I.� � #>�'�&#C!�� �����(.I�C!�; &�-��MN��M�&� � �US��M �� �/� ��&!�'��D�!��&� � ��! US��M �� �/#(�������!�����US��M �� �Lcd_Init�;�"��Lcd_Config���&�
������ ��!"#��$%&�'()�void Lcd_Out_Cp(char *text);
*���+,-./�0*text �������� 4� �5���������4��������������)�8"�
.(1/23��45)��6�Lcd_Out_Cp(“Here!”);
�������>6��'�78��������%&��������� ����!�>"����7��$�C��$�D@@E���
��#�#�9�$%�&'(�)*�Lcd_Chr
�� �!��&�%�����L���'.�M�����������������������������&� �!��&�#(�������!��C!; ��C!�; &��$��)37^,� ���(��C!�; &����������)07:,� ��&� ���#(�&�%��������'����&!�'��D�!��&� � ��! US��M �� �/#(�������!�����US��M �� �Lcd_Init�;�"��Lcd_Config���&�
������ ��!"#��$%&�'()�void Lcd_Chr(unsigned short row, unsigned short col, char
character);
*���+,-./�0row ������������ ���4�����"#��$%&col ������������ � 4� �5�����4����6!7character �������� 4� �5��:��!�������������)�8"�
.(1/23��45)��6�char i ;void main(){
i = 0x30 ; // Start i with 0x20 in ASCIITRISC = 0; // PORTC is outputLcd_Init(&PORTC); // Initial default on PORTCdo{
Lcd_Chr(1,1,i); // show i on LCD
Page 93
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����93
i++ ; // Increment idelay_ms(500);
}while(i < 0x3f) ; // Loop Until I more than 0x3F
}
��������!�7���F�=�>6��?�%&��������� ���G�&����#A��7��'����8>���F�@���-H0-�=�@�IJ��7���-H0K�!�>"������>6��?�@L7�%&��G��%&�>I8%&��(�7�����$%&��(
��#�#�6�$%�&'(�)*�Lcd_Chr_Cp
�� �!��&�%�����'.�M�������'���������������������&'�&���!��(.I�C!�; &���������!��&�%������ ���#(�&�%�����'���������C!�; &�-��MN��M�S##I.� ���&!�'��D�!��&� � ��! US��M �� �/#(�������!�����US��M �� �Lcd_Init�;�"��Lcd_Config���&�
������ ��!"#��$%&�'()�void Lcd_Chr_Cp(char character);
*���+,-./�0character��������� 4� �5��:��!�������������)�8"�
.(1/23��45)��6�char i ;void main(){
i = 0x30 ; // Start i with 0x20 in ASCIITRISD = 0; // PORTD is outputLcd_Init(&PORTD); // Initial default on PORTDLcd_Cmd(LCD_SHIFT_RIGHT);do{
Lcd_Chr_Cp(i); // show i on LCDi++ ; // Increment idelay_ms(500);
}while(i < 0x3f) ; // Loop Until I more than 0x3F
}
@����8�G���%!����=������&G8���7!�6����LCD_Chr� >��@L�"M�8��� ������������7��$�C��$��8���B�%&��G����"��@��������� ��M@L��&G�������������=��������
�������� ��� � �
Page 94
94�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��#�#�5�$%�&'(�)*�Lcd_Cmd
�� -C!����L"��-�.-I��!��C!�! %������������ �;���&!�T��!��(����%��-C!�����&!��T������ �!�!��&�'� �/
������������ �� ������������ ��������� ��!"��#�$%�&�����!�$&�����
�����'��(����� �� ������������ ���������)��!"��#�$%�&�����!�$&�����
�����*������� �� ������������ ���������+��!"��#�$%�&�����!�$&�����
�������,�*���� �� ������������ ���������-��!"��#�$%�&�����!�$&�����
�������'.� ��!� ��/&��0�
������',�(�*�1' �� ��%2��/&3���#�$%�&�4���� ���!�$&�� �5�6��$7!8&��.1��$3��!�� &
������,������� �9:;���<:�=!����������
�����,(�'���('��( �<:��������������>&�<�&?#:6�@!3���������
�����A��(B��,�����( �<:������������@@;"C�#@
�����1�D'��,�����'� �!E��&���������������:��&��� �6��$7!/&3� ���$02���.1��$3��!�� &
�����1�D'��,������F* �!E��&���������������:��&6���6��$7!/&3� ���$02���.1��$3��!�� &
�����,�(��( ��9:;���<:�=!6��0�����
�����,�(���� �9:;���<:�=!6��0�����
�����*����'��GHIJ �!E��&6��$7!�������� ��6��$7!/&3� ���$02���.1��$3��!�� &
�����*�����F* �!E��&6��$7!�����6���6��$7!8&/&3� ���$02���.1��$3��!�� &
��������� ��� ������
������ ��!"#��$%&�'()�void Lcd_Cmd(unsigned short command);
*���+,-./�0Command�����������8 �������8 ����������"#��$%&�����������" ���;
Page 95
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����95
�6-��*- ���+�7��.'����/���'8���+���/��0�1
���94�23'�4�+��0:;&�02(:)��+-�;��<�0'�/=0'�����4�<����#)����$3=:�������"����8��������������������������!����'(%:>?@33������'(%:>?@@3��A�"�� ������������#��������������8�����B���)��<A��"�4�
��������!���"�,CD=@33�,EFGHII3�8������"����"������"������������������������)*��!����'(%:>?@@3
��������!���"�"����/D=@33�JKLM�((���� �4�<����#)����$3=:����4�����������������������)*��'(%:>?@33
��>*+�*&�0;����$3G:��)N"�)������OPQRS%�8�����B���)��<A���$&%TEMTI:���6�+����)�����U�5��%����)���������$3=:
$3GV���������������6"�4�����"�)�����������"8�!9�� �W���������
$3G2�� ��)�����
@L�"M����>6��?�'�78����@�>6��?�'�������� �� �%�N�� *����%�������>������O�"���"��G=��8��@L���������P��P�"��@�� ������'����� �������7��$�C��$� >6��'�����8���B��>6��'������8��'
��������?�7�/�� ����� �K� ��� ������� L7M#F�3:8�����'G�����N*(OP��6��"10���:
���
�����
������
����
���
��
�����
����������
�
�
��
�
�� �� �� �� � � �� �� ��
���
���
��
��
������
�����������
��
�� � � �� �� � � � � ��
�
��
�� ��
���
���� ������
��
��
�
���
���
���
����
�
�
�
���
��������
��
���
���
���
�!"#$%&�!'�(#)�"��*+
� ��
�
�
Page 96
96�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
char *text1 = "Innovative";char *text2 = "Experiment";char txt[4];char i;void main(){
Delay_ms(1000); // Start up DalayTRISD =0x00; // PORTD ==> OUTPUT for LCDLcd_init(&PORTD); // Initialize LCD connected to PORTDLcd_Cmd(LCD_CURSOR_OFF) ; // Turn cursor offfor (i=0;i<4;i++) // Blink lcd{
Lcd_Cmd(LCD_CLEAR); // Clear displayDelay_ms(500);Lcd_Out(1, 3, text1); // Print text to LCD, 2nd row, 1st columnLcd_Out(2, 3, text2); // Print text to LCD, 2nd row, 1st columnDelay_ms(1000);
}for (i=0;i<11;i++) // Shift data left{
Lcd_Cmd(LCD_SHIFT_LEFT);Delay_ms(200);
}for (i=0;i<11;i++) // Shift data right{
Lcd_Cmd(LCD_SHIFT_RIGHT);Delay_ms(200);
}for (i=0;i<4;i++) // blink lcd{
Lcd_Cmd(LCD_CLEAR); // Clear displayDelay_ms(300);Lcd_Out(1, 3, text1); // Print text to LCD, 2nd row, 1st columnLcd_Out(2, 3, text2); // Print text to LCD, 2nd row, 1st columnDelay_ms(300);
}Lcd_Cmd(LCD_CLEAR); // Clear Screeni=0;while(1){
i++; // IncrementLcd_Out(1,1,"Counter "); // Show textByteToStr(i,txt); // Convert Data to StringLcd_Out_cp(txt); // Chow Lcd at cursorDelay_ms(400);
}}
����3�������?��� �3��67 6!�3������������� �������Q����� ����R
��4&���$�/�7��� �+
:G��� 4��4���:�4+��������4����"��������&��)*������7������+" �� !��"#��$%&HG�����"� ���+�������� !��"#��$%&���6 X�� ����)N"����8"�9����������Y���VG�4��#)�2���!������8"�����4�������"#��$%&�9#�������<6��A�����4�������"#��$%&�+"�6��+!2G� 4��#)���������������4���)���Y�������48 ������������4���� !������� X��<��� X�8 ���6��+!����4��ZG� 4��#)��� � 4� !������8"������"#��$%&� ����������A�4 ���"#��$%&�8������8"�� � 4����"�� <6����)������ � 4��������# ���#)����� 8��8��X� ��� �"����B[���� ���C\TE]S-TR
mikroC
Page 97
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����97
��9�$%�&'(�)*�Lcd8�+,�+-�&�. ���������/..�?�.,+������������������%!���� � "����&���.'��-�-� �������M�<<�%!������ -"�
%!%�������H�$>��R�����F���
%!�_`a��C!;��.�!������&! ;�"�%�� %�������.��������
%!�_b��C!;��.�"���!�%�� %�����;�"�-C!����
%!�c��C!;��.�D �.���!�����&���.��������
��� �/ US��M �� �����C!;��.�!�����&���.����������..�F�.��#>�����&!�#!�US��M �� ����!��P! � "���#!����!��&�� ��! �!���dd!e-�.�I���
��� ���
����
���
��
������������
����
��
�
�
�
��
��
���
���
���
���
��
���
�
��������
�
��
���
��
�� ��
�� �� ��
� ��
�� � �� ��
�� � � �
��� �� �
� �
����
��
���
���������� !"#���
�����$
���������
�
�
�����
�
����$
�%%
�%%
&��&���
��
'()���*+
, ,
�
�
��
���
��
���
���
��������S��� �3��089������"��6�6������0���:�TI��3� �� �������� �>� 2�
Page 98
98�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��9���$%�&'(�)*�Lcd8_Config
� ��C!;��.�C!; �-&!�C!�; &�L��M����� � "����&���.������(�C!�; &�%!�&!��T����� � "����&�L������/��C!; �US��M �� �!��C!�! L"/ P! �;���.�����������!�!�$���.�C!�; &�%!'���!������!�
������ ��!"#��$%&�'()�void Lcd8_Config(unsigned short *ctrlport,unsigned short *dataport, unsigned short RS, unsigned short EN,unsigned short WR, unsigned short D7, unsigned short D6,unsigned short D5, unsigned short D4, unsigned short D3,unsigned short D2, unsigned short D1, unsigned short D0);
*���+,-./�0*ctrlport ������������������������ �� !���4!�7������"#��$%&
*dataport ����������������������������� �� !������#������"#��$%&
RS ����������������� �� !���,-������"#��$%&
EN ����������������� �� !���./������"#��$%&
WR ����������������� �� !���,01������"#��$%&
D7-D0 ����������������� �� !������#��&I�����&3������"#��$%&
.(1/23��45)��6�Lcd8_Config(&PORTC,&PORTD,2,3,0,7,6,5,4,3,2,1,0);
��8�G����&N������� ���������#��$�6!�"���������'�78�7E��>�L�� ��� �����#��$�6!�"���������'�'�����>�L�!�"��'������������>6�������%&��4Q0�����7��
'�#��$����*�������'���)�'����������
'�#��$����0�������'��+�'����������
'�#��$����-�������'���./�'����������
'�#��$��� -�IJ��� 5�������'�� -�IJ�� 5�'����������
Page 99
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����99
��9�#�$%�&'(�)*�Lcd8_Init
� ��C!; ��C!�; &�L��M���(%!%��'��-�-� �������M�\]������ � "����&���.��������� �..� F�.���L������/��C!; �US��M �� �!��C!�! L"/ P! �;���.������ ��� & ������.-C!����Lcd8_Config /+-@�-+7��&A�B*�+A�/B*-���C�0'+;3)D(72(:)��+-��0E.F2C34�C�0'+;3)D(7D*&�02(:)��+-�&�. ���������2;-�*�>*
������ ��!"#��$%&�'()�void Lcd8_Init(unsigned short *ctrlport, unsigned short *dataport);
*���+,-./�0*ctrlport �������"������������������������������������ �� !���4!�7������"#��$%&�Y���
���������"���� ��4�" ���X
���.������"#��$%&� �� !�������4!�7�!+�>
���,-������"#��$%&� �� !�������4!�7�!+�2
���,01 �����"#��$%&� �� !�������4!�7�!+�Z
*dataport � �������"����8��� !������#�� �"����������"��������� ��4�" ���X
���&3������"#��$%&� �� !�����������������������!+�3
���&>������"#��$%&� �� !�����������������������!+�>
���&Z������"#��$%&� �� !�����������������������!+�Z
���&2������"#��$%&� �� !�����������������������!+�2
���&V������"#��$%&� �� !�����������������������!+�V
���&H������"#��$%&� �� !�����������������������!+�H
���&:������"#��$%&� �� !�����������������������!+�:
���&I������"#��$%&� �� !�����������������������!+�I
.(1/23��45)��6�Lcd8_Init(&PORTC,&PORTD);
��8�G����&N��� �����������'�78�7E�'���������� �>�L�� ��� �������'�'��������6��7�����"��G�R��!�"��� �����>�L� ��� �������@���������L�EIJ�>�����6'��#��$�8�@������������6!�"���7!�6����&N>6�������%&�� 4Q0
Page 100
100�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��9�9�$%�&'(�)*�Lcd8_Out
US��M �� �/� ��C!;��.�&�%��������'����������; �!#�����#(�����(.I�C!�; &��$�� )37^,��(�C!�; &����������)07:,��&� �&�%��������'����������..%��%�����#(�� ���������������;�"��� %��-�!��D'����&� � ��! US��M �� �/#(��������US��M �� �Lcd8_Init�;�"� Lcd8_Config��&�
������ ��!"#��$%&�'()�void Lcd8_Out(unsigned short row, unsigned short col, char *text);
*���+,-./�0row ������������ ���4�����"#��$%&col ������������ � 4� �5�����4����6!7
*text �������� 4� �5���������4��������������)�8"�9�
.(1/23��45)��6�Lcd8_Out(1, 3, “Hello!”);
�������6��'�78���9:;;<����=�>6��?�%&�@���� ������%��%&��(���A��%&��!�>"�����8���B���8%&��0�������
��� ��
��9�6�$%�&'(�)*�Lcd8_Out_Cp�� -C!��������C!�! -��!���.-C!�����Lcd8_Out ��&-C!���� �/�&�%��-�!�'���������C!�; &�%��
-��MN��M�S##I.� �#>�'�&�����(.I�C!�; &�-��MN��M��&� � ��! US��M �� �/#(��������US��M �� �Lcd8_Init;�"� Lcd8_Config��&�
������ ��!"#��$%&�'()�void Lcd8_Out_Cp(char *text);
*���+,-./�0*text �������� 4� �5���������4��������������)�8"�9�
.(1/23��45)��6�Lcd8_Out_Cp(“Here!”);
�������>6��'�78��������%&��������� ����!�>"����7��$�C��$�D@@E���
Page 101
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����101
��9�5�$%�&'(�)*�Lcd8_Chr
�� �!��&�%�����; >��'.�M'�������������������#(�����C!; ��C!�; &��$�� )37^,���(�C!�; &����������)07:,��&� �&�%��������'���&� � ��! US��M �� �/#(��������US��M �� �Lcd8_Init;�"� Lcd8_Config��&�
������ ��!"#��$%&�'()�void Lcd8_Chr(unsigned short row, unsigned short col,char character);
*���+,-./�0row ������������ ���4�����"#��$%&
col ������������ � 4� �5�����4����6!7
character��������� 4� �5��:��!�������������)�8"�9�
.(1/23��45)��68char i=0x30; // Start String 0
void main()
{
Delay_ms(1000); // Start up Delay
Lcd8_Init(&PORTC,&PORTD); // E => RC6 : RS => RC4 : R/W => RC5
while(i<0x3A) // Loop until i > 9
{
Lcd8_Chr(1,5,i); // Show i => LCD
Delay_ms(1000);
i++; // Increment i
}
}
@����8�G�����������!�7���F�=�>6��?�%&��������� ���G�&����#A��7��'����8>���F�@���-H0-�=�@�IJ�7���-H0S�6�8��!�>"������>6��?�@L7�%&��G��%&�>I8%&��(�7�����$%&��3
�
Page 102
102�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��9���$%�&'(�)* Lcd8_Chr_Cp
�� �!��&�%�����; >��'.�M'�����������������������C!�; &�-��MN��M�S##I.� ��&� � ��! US��M �� �/#(��������US��M �� �Lcd8_Init�;�"� Lcd8_Config��&�
������ ��!"#��$%&�'()�void Lcd8_Chr_Cp(char character);
*���+,-./�0character��������� 4� �5��:��!�������������)�8"�9�
.(1/23��45)��69char i=0x30; // Start String 0
void main()
{
Delay_ms(1000); // Start up Delay
Lcd8_Init(&PORTC,&PORTD); // E=RC6:RS=RC4
while(i<0x40) // Loop until 16 character
{
Lcd8_Chr_Cp(i); // Show i => LCD
Delay_ms(1000);
i++; // Increment i
}
}
@����8�G���%!����=������&G8���7!�6����LCD8_Chr��������������7��$�C��$���8���B�%&��G����@�>6��?��M@L��&G�������������=�� ������
��� ����� � � � ��
Page 103
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����103
��9�"�$%�&'(�)*�Lcd8_Cmd
�� US��M �� ���.��#I-C!����-�.-I��!��C!�! %������������ �;���&!�T��������� �!�!��&�'� �/
������ ��!"#��$%&�'()�
������������ �� ������������ ��������� ��!"��#�$%�&�����!�$&�����
�����'��(����� �� ������������ ���������)��!"��#�$%�&�����!�$&�����
�����*������� �� ������������ ���������+��!"��#�$%�&�����!�$&�����
�������,�*���� �� ������������ ���������-��!"��#�$%�&�����!�$&�����
�������'.� ��!� ��/&��0�
������',�(�*�1' �� ��%2��/&3���#�$%�&�4���� ���!�$&�� �5�6��$7!8&��.1��$3��!�� &
������,������� �9:;���<:�=!����������
�����,(�'���('��( �<:��������������>&�<�&?#:6�@!3���������
�����A��(B��,�����( �<:������������@@;"C�#@
�����1�D'��,�����'� �!E��&���������������:��&��� �6��$7!/&3� ���$02���.1��$3��!�� &
�����1�D'��,������F* �!E��&���������������:��&6���6��$7!/&3� ���$02���.1��$3��!�� &
�����,�(��( ��9:;���<:�=!6��0�����
�����,�(���� �9:;���<:�=!6��0�����
�����*����'��GHIJ �!E��&6��$7!�������� ��6��$7!/&3� ���$02���.1��$3��!�� &
�����*�����F* �!E��&6��$7!�����6���6��$7!8&/&3� ���$02���.1��$3��!�� &
��������� ��� ������
������ ��!"#��$%&�'()�void Lcd8_Cmd(unsigned short command);
*���+,-./�0Command�����������8 �������8 ����������"#��$%&�����������" ���;
Page 104
104�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��� ����
��
���
��
������������
����
�
��
��
��
�
�
��
��
��
��
��
��
�
��������
��
�
���
��
�� �
�� �� ��
�� ��
� �� �� ��
�� � � �
�� � �
� �
����
��
���
���������� !"���#�
����$
���������
�
�
���
�
���$
�%%
�%%
&���&���
��
'()���*+
��,� ��,�
��
��
��
��
�
��
��
��
��������>�7�/�� ���3��089�������� �������� �>� 2����"��6�6������0���:�TI�
�6-��*- ���+�<��.'����/���'8���+���/��0�1
���94�23'�4�+��0:;<&�02(:)��+-�;��<�0'�/=0'�����4�<����#)����$@=:�������"���
��������!���"�"����/D=@33�JKLM�((���� �4�<����#)����$@=:����4�����������������������)*��'(%:>?@33
��>*+�*&�0;����$@G:��)N"�)������OPQRS%�8�����B���)��<A���$%&@TEMT���6�+����)�����U�5��%����)���������$@=:
$@GH���������������6"�4�����"�)�����������"8�!9�� �W���������
Page 105
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����105
char *text1 = "Innovative" ;char *text2 = "Experiment" ;char text3=0x30,i ;
void main(){
Lcd8_Init(&PORTC,&PORTD); // Initial default on PORTCLcd8_Out(1,1,text1); // Show string from memoryLcd8_Out(2,1,text2); // Show string from memoryDelay_ms(1000);Lcd8_Cmd(LCD_CLEAR); // Clear LCD displayLcd8_Out_Cp("Show Number 0-9"); // Show text on first rowLcd8_Cmd(LCD_SECOND_ROW); // Set cursor to second rowwhile(text3<0x3A){
Lcd8_Chr_Cp(text3); // Show number 0 to 9text3++; // Increment numberdelay_ms(300);
}for (i=0;i<16;i++){
Lcd8_Cmd(LCD_SHIFT_LEFT); // Shift display leftdelay_ms(300);
}for (i=0;i<16;i++){
Lcd8_Cmd(LCD_SHIFT_RIGHT); // Shift display rightdelay_ms(300);
}Lcd8_Cmd(LCD_CURSOR_OFF); // Off cursor
}
��4&���$�/�7��� �+
�)������! ���������" ���X
:G�����"�����&��)*�����8��� !��������#������"#��$%&�8 4������%��)*������4!�7�
HG�������4���Innovative Experiment��8"������"#��$%&
VG��� 4��4���:�4+�������4�����������<��8"�9��������8"�����4���Show Number 0-9����!��� "���
2G����������Y����)�8"����!��� "����H�^!��� "� ��_������������8"�9����!��� "����H
ZG�4��#)�8"�� � 4����I�����`��"��8"��!!�� ��" !�)�� �� �������
>G�8 ������������4���)"���Y�����6�� !��������� ��"+����������#��4�� ���4)N"����8"�9�������Y���
����3�������>�"#�:����>-@U-B'�����3��V�W����019��67 6!�3���� �K��� ������� L7M#F�3:8����'G>�����N*(OP��6��"10���:
Page 106
106�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
$@GV�� ��)�����
@L�"M����>6��?�'�78��
� ������ ��
����� ��
�
>�8���&�G�����
� ����� �� � � �
�������� ��
mikroC
Page 107
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����107
��6�$%�&'(�)*�Lcd_Custom� �A�B0�.&A�B*�&�02(:)��+-� �������� B���6�.,+�/..&A�B*���2��@�7
�C!;��.�!�����..��#�� .!�-��/�'�&�!�!�$�C!; �%!L��M��;�����!�'�.�!��� ������'��� �6?Z37��'�������US��M �� �Lcd_Custom� L"�� &���;��!�!�$�C!; �%!L��M�%��'��-�-� �������M�\]���;��!�!�$ "����&���.���������'����&!�����(���������.�!� "����&��..G�.���%!L��M����� ��&���.%!%�����#(�������&� L��M���I&������� ��&� %!L��M����� ��&���.%!-�.-I�%������������D�������&� L��M���I&������� & �� ���&%!L��M���/��K���I&� �/�!�!�$� �- �(��I&�'��
��'����'�!()�12�!3)���������4�"3$���()����&"�+$%�$��!�+5�����67.���$���!��&��(&�����4�"3$���$348$!����"�#!()����12�!3)������
��6���$%�&'(�)*�Lcd_Custom_Config
US��M �� �/� ��C!;��.�C!; �L��M���(%!L��M����� � "����&���.��������� �L������/��C!; �US��M �� �!��C!�! L"/ P! �;���.������ �����!�!�$���.�C!�; &�%!L��M����� � "����&�'���!������!�
������ ��!"#��$%&�'()�void Lcd_Custom_Config(char * data_port, char D7,char D6, char D5, char D4, char * ctrl_port, char RS,char WR, char EN);
*���+,-./�0*dataport � �������"����8��� !������ �� !������#������"#��$%&
D7-D4 ������������ �!+�������������#������� �� !���&3�����&2������"#��$%&
*ctrlport �������"������������������������������������ �� !���4!�7������"#��$%&
RS ������������ �!+����������4!�7�������8��� !���,-������"#��$%&
EN ������������ �!+����������4!�7�������8��� !���./������"#��$%&
WR ������������ �!+����������4!�7�������8��� !���,01������"#��$%&
.(1/23��45)��6��Lcd_Custom_Config(&PORTD,7,6,5,4,&PORTC,4,5,6);
�������������� ��� � ����#��$�6!�"���'�'����� >�L�� � ����� ����#��$�6!�"���'�78�7E���&����!�"��'���������>6�������%&�� 4Q2
Page 108
108�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��6�#�$%�&'(�)*�Lcd_Custom_Out�� US��M �� �/�&�%�����'������������������������(.I�C!�; &��$�� )37^,���(��C!�; &�
��������� )07:,��&� �&�%��������'�� �����..%��%�����#(�� ���������������;�"��� %��-�!��D'������� �!�� ��! US��M �� �/#(��������� �US��M �� � �Lcd_Custom_Config��&�
������ ��!"#��$%&�'()�void Lcd_Custom_Out(char row, char col, char *text);
*���+,-./�0row ������������ ���4�����"#��$%&col ������������ � 4� �5�����4����6!7*text �������� 4� �5���������4��������������)�8"�9�
.(1/23��45)��6��Lcd_Custom_Out(1, 3, “Hello!”);
�������6��'�78���9:;;<�=�>6��%&��������� ������%��%&��(�T���%����U���A��%&��!�>"������B���8%&��0
��� ��
��� ���
����
���
��
������������
����
�
�
�
�
�
�
���
���
���
���
���
���
�������
�
�
���
��
�� �
�� �� ��
� ��
�� �� �
� �
��&&
��
���
�������,$�-./!,��0
������
���������
�
����
�
�����
�''
�''
1��1���
��
23����*+
4 4
��������X�3��089�������� �������0�L�3� �TI��Y>??����#F�3:8����Lcd_Custom_Config()
Page 109
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����109
��6�9�$%�&'(�)*�Lcd_Custom_Out_Cp�� US��M �� ����C!�! -��!���.US��M �� �Lcd_Custom_Out� ��&-C!���� �/�&�%��-�!�'��������
�C!�; &�-��MN��M�S##I.� ��� �!�� ��! US��M �� �/#(��������� �US��M �� ��Lcd_Custom_Config��&� ������ ��!"#��$%&�'()�void Lcd_Custom_Out_Cp(char *text);
*���+,-./�0*text �������� 4� �5���������4��������������)�8"�9�
.(1/23��45)��6�Lcd_Custom_Out_Cp(“Here!”);
�������>6��'�78��������%&��������� ����!�>"����7��$�C��$�D@@E���
��6�6�$%�&'(�)*�Lcd_Custom_Chr�� US��M �� �&�%�����; >��'.�M'�����������������������&� �&������C!; ��C!�; &��$��)37^,
��(�C!�; &����������)07:,�� �!�� ��! US��M �� �/#(��������� �US��M �� ��Lcd_Custom_Config��&�
������ ��!"#��$%&�'()�void Lcd_Custom_Chr(char row, char col, char character);
*���+,-./�0row ������������ ���4�����"#��$%&col ������������ � 4� �5�����4����6!7character��������� 4� �5��:��!�������������)�8"�9�
.(1/23��45)��6��char i=0x30; // Start String 0void main(){
TRISC=0b10001111; // Bit 4-6 as OUTPUTTRISD=0x0F; // Bit 4-7 as OUTPUTDelay_ms(1000); // Start up DelayLcd_Custom_Config(&PORTD,7,6,5,4,&PORTC,4,5,6);while(i<0x3A) // Loop until i > 9{
Lcd_Custom_Chr(1,5,i); // Show i => LCDDelay_ms(1000);i++; // Increment i
}}
��������!�7����F��=�>6��?�%&��������� �>�8�#A��7��'���F�@���-H0-�IJ��7���-H0S��G>6��?�%&�>I8%&��(�T���%����U�7�����$%&��3
Page 110
110�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��6�5�$%�&'(�)*�Lcd_Custom_Chr_Cp
�� US��M �� �&�%�����; >��'.�M'�����������������������C!�; &�-��MN��M�S##I.� � � �!�� ��! US��M �� �/#(��������� �US��M �� ��Lcd_Custom_Config��&�
������ ��!"#��$%&�'()�void Lcd_Custom_Chr_Cp(char character);
*���+,-./�0character��������� 4� �5��:��!�������������)�8"�9�
.(1/23��45)��6��char i=0x30; // Start String 0
void main()
{
TRISC=0b10001111; // Bit 4-6 as OUTPUT
TRISD=0x0F; // Bit 4-7 as OUTPUT
Delay_ms(1000); // Start up Delay
Lcd_Custom_Config(&PORTD,7,6,5,4,&PORTC,4,5,6);
Lcd_Custom_Cmd(LCD_CLEAR);
while(i<0x40) // Loop until i > 9
{
Lcd_Custom_Chr_Cp(i); // Show i => LCD
Delay_ms(1000);
i++; // Increment i
}
}
@����8�G���%!����=������&G8���7!�6����LCD_Custom_Chr ������������7��$�C��$� ��8���B�%&��G����@�>6��?�'���������� ��M@L��&G�������������=��������
�������� �� � !" #$
Page 111
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����111
��6���$%�&'(�)*�Lcd_Custom_Cmd
�� US��M �� ���.��#I-C!����-�.-I��!��C!�! %������������ �;���&!�T��������� �!�!��&�'� �/
������������ �� ������������ ��������� ��!"��#�$%�&�����!�$&�����
�����'��(����� �� ������������ ���������)��!"��#�$%�&�����!�$&�����
�����*������� �� ������������ ���������+��!"��#�$%�&�����!�$&�����
�������,�*���� �� ������������ ���������-��!"��#�$%�&�����!�$&�����
�������'.� ��!� ��/&��0�
������',�(�*�1' �� ��%2��/&3���#�$%�&�4���� ���!�$&�� �5�6��$7!8&��.1��$3��!�� &
������,������� �9:;���<:�=!����������
�����,(�'���('��( �<:��������������>&�<�&?#:6�@!3���������
�����A��(B��,�����( �<:������������@@;"C�#@
�����1�D'��,�����'� �!E��&���������������:��&��� �6��$7!/&3� ���$02���.1��$3��!�� &
�����1�D'��,������F* �!E��&���������������:��&6���6��$7!/&3� ���$02���.1��$3��!�� &
�����,�(��( ��9:;���<:�=!6��0�����
�����,�(���� �9:;���<:�=!6��0�����
�����*����'��GHIJ �!E��&6��$7!�������� ��6��$7!/&3� ���$02���.1��$3��!�� &
�����*�����F* �!E��&6��$7!�����6���6��$7!8&/&3� ���$02���.1��$3��!�� &
��������� ��� ������
������ ��!"#��$%&�'()�void Lcd_Custom_Cmd(char out_char);
*���+,-./�0Command�����������8 �������8 ����������"#��$%&�����������" ���;
Page 112
112�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��� ���
����
���
��
������������
����
��
�
�
�
��
��
���
���
���
���
���
���
�
��������
�
��
���
��
�� ��
�� �� ��
� ��
��� �� �
� �
����
��
���
���������� !"#���
�����$
���������
�
�
�����
�
����$
�%%
�%%
&��&���
��
'()���*+
, ,
�6-��*- ���+�=��.'����/���'8���+���/��0�1
���94�23'�4�+�� 0:;>�?@A%!&�02(:)��+-�;��<�0'�/=0'�����4�<����#)����$`=:�������"���
��������!���"�"����/D=@33�JKLM�((���� �4�<����#)����$`=:����4�����������������������)*��'(%:>?@33
��>*+�*&�0;����$`G:� �)N"�)������OPQRS%�8�����B���)��<A��� $%&aLMTSO]EMT���6�+����)�����U�5��%����)���������$ =̀:
$`GH���������������6"�4�����"�)�����������"8�!9�� �W���������
������� �Z�7�/�� ���3��089�������� ��� ����� 3���� ��1��:��2������"��6�6������0���:TI�� 019��� �� 3�����������#F�3:8����Lcd_Custom
Page 113
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����113
char *text1 = "Innovative" ;char *text2 = "Experiment" ;char text3=0x30,i ;void main(){
TRISC=0b10001111; // Bit 4-6 as OUTPUTTRISD=0x0F; // Bit 4-7 as OUTPUTDelay_ms(1000); // Start up DelayLcd_Custom_Config(&PORTD,7,6,5,4,&PORTC,4,5,6);Lcd_Custom_Cmd(LCD_CLEAR);Lcd_Custom_Cmd(LCD_CURSOR_OFF);Lcd_Custom_Out(1,1,text1); // Show string from memoryLcd_Custom_Out(2,1,text2); // Show string from memoryDelay_ms(1000);Lcd_Custom_Cmd(LCD_CLEAR); // Clear LCD displayLcd_Custom_Out_Cp("Show Number 0-9"); // Show text on first rowLcd_Custom_Cmd(LCD_SECOND_ROW); // Set cursor to second rowwhile(text3<0x3A){
Lcd_Custom_Chr_Cp(text3); // Show number 0 to 9text3++; // Increment numberdelay_ms(300);
}for (i=0;i<16;i++){
Lcd_Custom_Cmd(LCD_SHIFT_LEFT); // Shift display leftdelay_ms(300);
}for (i=0;i<16;i++){
Lcd_Custom_Cmd(LCD_SHIFT_RIGHT); // Shift display rightdelay_ms(300);
}}
��4&���$�/�7��� �+
��+����"�4��������"�������������������)*��������7�<��� X�����"� ���+����� !��"#��$%&��"���������&� �)*�����8��� !������ �������#����6�����%� �� !���4!�7������"#�� $%&���" ! ��)�)�����8 ���8 �������������<��)N"����8"�9�������Y���� ���4�8"�9�����4��� (bbSFcTPFE�.dJERPOEbT���<��8"�9���� 4��4���:�4+�������4�����������<��8"�9��������8"�����4���-eSf�/LOgER�I=`����!��� "!�
<��� X�����"���������Y����)�8"����!��� "����H�̂ !��� "� ��_������������8"�9����!��� "����H��)����������4��#)�����8 �� � 4����I����� `� ������8"�!���"#�� $%&� �"�����8"��!!�� ��" !�)�� �� �������<��� X�8 ������������4���)"���Y�����6�� !��������� ��"+�
����3������ �Z� "#�:� ���'[U-PN\@U-B'� ����3��V�W���������� � ���3��089�������� ��� ���� 3���� ��1��:��2������"��6�6������0���:� TI�� 019��� �� 3�����������#F�3:8���Lcd_Custom ����N*(OP��6��"10���:
Page 114
114�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
$`GV�� ��)�����
@L�"M����>6��?�'�78��
� ������ ��
����� ��
�
>�8���&�G�����
� ����� �� � � �
�������� ��
�������������������
Page 115
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����115
��������������� ������������������������������������������� �������������!"��#�����$%��������������!"��#����&���&'(�� "&$�!"��#��'��)����*��%+���(����#�����'(���������,�%� -$%�$,����*.-*��&'(������/!���!"��#�$�������������!"��#������,�0%�1��.(%��(����&��� $,�-�&0%����/�23456���)�-"*������������������$�������%����,��"-"��
���������� �Eeprom_Read
�1��7%�� $(������$��������!"��#��������������!"��#����&�������/�8*������%� ���/����%���!����/����!"��#�/*"�%����%������%�"���9:��..�.�����&'(���"���!���!"��#��)����#�;�
������������� ������unsigned short Eeprom_Read(unsigned int address);
�����������address ����������� ����������������������� ��������� ������
���� �����!�" �address��"#��!�" �$%&�'()�*+�,������������!����-���� ��+����!*�������������������� �.����������/0)��������
������������� !unsigned short take;
...
take = Eeprom_Read(0x3F);
����������� ����������������������������������������������� ������!���"#$%�!����������&����'�(���!���take
����+�,-.'�/�+�*0�*1�����1 �� �2� ����3�
����4�����'������������������ ���
Page 116
116�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
���������� �Eeprom_Write
�1��7%�� $(����!���!"��#���$%������������!"��#����&�����-�����!���!"��#*"�%������-.���.������%��!�%�.�*����$�*���������&'(������"�.-�.�*����$�*���!$-�$%��/���!���!"��#���$%������������!"��#����&����-"�����������.*�<�=������.�*���� �>?�@>
���!���!"��#�/*"�%����%������%�"���9:��..�.����&'(���"���!���!"��#���#�;��������(�/�������!"��#�$�
������������� ������void Eeprom_Write(unsigned int address, unsigned short data);
�����������address ����������� ����������������������� ��������� ����������data ��������������������� �����."�!��������������������� �
������������� "EEprom_Write(0x3F,0);
����������� ������������ "� ������������������������� ���'�(!�����)� "#$%
Page 117
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����117
�50��*0 ���+�67 ����� ��1 ��&�������1 �� �2� ����3�����4���
���������������������
��12���� 1� �"����3(45(�1��� ��������� �12�.�6� ��6� ��� 7�* 7�89:();<==�� >�89:();<<=�� .���������>�1����������>������ � ���.?�76" �� ��7����
�����12�* 7��@AB5<==�@CDE/44=����� �����.������6����>�.�6� ��6� ��� 7�"#��* 7�89:();<<=
�����12�* 7������FB5<==�GHIJ�99�1������� ��� �"����3(45(������>�.�6� ��6� ��� 7�"#��89:();<==
��� �� ��������
3(4E(��"K�6" � ��L$MNO:�� ���.?�76" �� ��7�PCGNOLQCJ&����+��76" � �R�S��:����6" � �����3(45(
3(4E/������ ��.��7������76���6" � ���>����*T��!�U7�� ������
����������� ������ ������������������������������������������� ������!� "����#������$%����&' �()*���� �+,-./$����0 ����(
���
�����
������
����
���
��
�����
����
������
�
�
��
�
�� �� �� �� � � �� �� ��
���
���
��
��
������
�����������
��
�� � � �� �� � � � � ��
�
��
��
��
���
���� ������
��
��
�
���
���
���
����
�
�
�
���
��������
��
���
���
���
�!"#$%&
�!'�(#)�"
��*+
� ��
�
�
Page 118
118�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
char i,j=0x30; // J = Ascii[0]
void main()
{
Lcd_Init(&PORTD); // Use LCD show data
Lcd_Cmd(LCD_CLEAR); // Clear screen
Lcd_Cmd(LCD_CURSOR_OFF); // Cursor off
for (i=0;i<16;i++) // 16 Byte writing
{
Lcd_Chr_Cp(j); // Show writing data on LCD
Eeprom_Write(i,j++); // Write EEPROM
}
Delay_ms(20); // Delay after write
Lcd_Cmd(LCD_SECOND_ROW); // Goto Line 2
for (i=16;i>0;i--) // 16 Byte Reading
{
j=Eeprom_Read(i-1); // Read Last byte first
Lcd_Chr_Cp(j); // show on LCD
Delay_ms(500);
}
}
���������#��$������
6" � ������ ����"�()�� !-���>��������������!�����!-���� 4���� *�()��!�."�!��������������������� ������!-���������!*� 6��� +�������������� ���!��V�����������T��!�U7."���T����* �!�����/�'* �!�����,���6�����3:W
#�������������0&�(�123./+425678�#������9�:��$���!�;������������������������������������������� ���<�0�#�����#�������(�=>$�����&' �()*���� �+,-./$����0 ����(
3(4EX� !�6" � �
���'�����*�+�,����� -./� �����!)�0�����������!�1��������������������������������� ���,�����'������,�����-./��1!)�������'�(������)�����'�����1!)�������'�(����������,��!)����������)2�'������
�������������������
Page 119
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����119
���������������� ��� ���������������������� �!�����"��#��$�$%�%$�%�&����'(���� "���'���'�)�*+��� �!�����"��"������& ��%,����"��"-�����'����.�&�%���%' /0123� ��,�%����45�"�6�7� Adc_Read()� ����8,�*97���,�����:�'���'���"��������� �!�����"��#��$�$%���,��'���'�� �
���������� �Adc_Read�-���7���& "-������,��������� �!�����"��#��$�$%�-�����,8�8���"-���$��� �!
��;<"���� =� (���� 6'�������"�7%,��"���'���'���&�.>&����'"�������.������������������� �%'�%�8 �������,��"��%,�6�%.���������������� ��� �������&� �
������������� ������unsigned Adc_Read(unsigned short channel);
�����������channel������������ ��������������������������
��� �� ������������ ��� !"������#�� ����"������!�� ���$��� %������ &'�()�*������+,�!��-�,$�.���
� ���������������,)!)��� ���)�/0�������������(0!��� �.���channel
������������� �����������
"'���6,��������� ?@� %,��"-������,.�*���%�7�6,�����,��#��$�*A%����"'�� �"%�8��'��%,��"���6,.� ?BC D>7���#�.�*���% ? �$% C �>�%,��"-������,*���% ? �$% C ��#��$�*A%����"'�� E��'����"F%���"%$��97��6,������&���" .���&����#��$�*A%���'�,8G
�����+�,-.'�/�+��0 ��0 1 ���2���'��33 4
�&� ����5��616*����'������������������ ���
Page 120
120�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��������������������� �� !���� ��%�8��'������"��%'�����&��#�"���'���'���"6'�� ?BC ���"F���%�8��� HI/J D>7����*9&��7
�8,��#���� 0KH ��97����".,���)�*+���.��� LC �$%�>�%,���"F���%�8����7��.��� LM �$%int temp;
void main()
{
temp = Adc_Read(0); // read analog value from channel 0
}
�����"#�$����%"���"���&������'��()*+)�$�,,�-�. �)���+/ ��#���)&��0�'���� '%�)�)���123�45�66789
"���6,����-���7��7�"�7�8.,��"����������� �!�����"��#��$�$%�.�� /0123� ����*������,��,�����6������A� �8���,��""�����$��%����7�"�7�8.,��"����������� �!�����"��#��$�$%�����"'�� �-������������������������ ���LMNOPQ �� ���LMNOPQ? ����������������A������&
�����������
���� ���������� �
���������
���
����
�������������� ��
�����
�����
������������
������������
����������
����������
�� ���
�� ���
� ���
�� ���
�� ��� �����
�� ��� �����
�� ���
��������
���
��
��
�
��
�
�
� ��
����������� ����
������� �� �� ��������������� ���������������� ���� ������� �! �"��#$%&'�()
Page 121
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����121
�������"#�$�����8:;<=>�*).��"#�$�����8:;<=?��#����$��%��� O �$% �6,�"F�)�*+��7��,��""������� �! "���6,���45�"�6�7� Adc_Read()
��'%,���,��:>����$��%�����& �%'�����"����"�6,���45�"�6�7� Adc_Read() �'��7��,��""��������"F��8,�7���$��%����&����%�8��&
�������"#�$�����8:3@AB��.��� O �$% ��#����$��%�����"�7�6,�8��A�"��-����.����������� �!�����"��#�
�$�$%� ���������"���6,����������&
�����
�����
���
�����
�����
���
�����
����
���
�����
����
���
����
����
���
����
�� ����
���
�����
�����
���
���
�����
����6�*).�4�C�8:3=�D�8:3=B��78E:�3FGHIJKLFG�3MFNO�=IMINP�QLPK9 � R�����) ������S"�&��$�,,�- �TU��%"���� ���*+)�$�,,�-�. �)���+/ ��#���)
������������ ������������������������������������� ��������������� ������� ������������� ���������������!��������!���������"#$����� �����������%���&%��'����'��
��"��"��&�����6,�'8�"���$% ?@�RS E�$% M �����$��%��� ?@�TBLG �U*������A"�� ���LMNOPQ? �*97��9�"�8��:�7�� �!��;<"���,��".>&�
���� VD� W� *).� X� C�3>=�D�3>=�D�3>=B� 78GYMFZ�3[YGGIM� =IMINP� QLPK9� R� ����) �����$�,,�-�. �)��
��������#()&����*+��'*����������#()&����*+��'*����������#()&����*+��'*����������#()&�!��*+!�'*!���������#()&�,��*+,�'*-���������#()&�-��*+-�'.���/(�"��0(��� �1���������#()&�2��*+2�'.���/(�"��0(��� �1���������#()&�3��*+3�'.���/(�"��0(��� �1�
Page 122
122�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
������C�\@E:@A<�78E:�3FGHIJKLFG�=PYP]K�QLP9�R����*$��$S� .���*+)�$�,,�-�-�����'8�"���$%?@TB
"�!��$% ?@TB ��#� VLW���������456& �����7 �8% 9:��;���<)=�&/(7�>����456& �����������=�&)=:("��?��(�&���456& �����
�$%��&��������:��������%����%$��97�"��������F������!� ����������97����"�"$��*��8���������D%
�������R�0������ ����� ��+/ �^B_
����B�C�8:@A�78E:�@G�QLP9�R�����+U����%���� &��'��()*+)�$�,,�-�. �)���+/ ��#���)
������5�@���AB�&��������75�@���AB�&��
����X��"#�$�����8:3@A�
��#����$��%����8��A�"��-����.����������� �!�����"��#��$�$%��7-�����'8�"��?@�TBC ��.��� O �$% ������$��%���%�8��&�6,"-����"��-����.��.�*���%�7�"�7�8.,��"����������� �!�����"��#��$�$%� ���6,�9�"������.��.,���)�*+��7��,��""������� �!
�����
����
������
�����
������
�����
�����
����
����
������
����
����
������
�����
���
������
�����
����
������
����
����6�C�8:5`�78E:�;IK]MP�5FJaYP�=IMINP�QLP�C�����69�R�����) ���(+*��b))�cd&�����*+)�$�,,�-
������76<)�C66�DE;499#>@F$�=��GHIJ�KLMJNINHO����:54991)&1$):6@�&��P
� � � � � � � � � � � � � � � �
����������� ���
� � � �
����������� ���
������������
� �
������76<)�C66�DE;499#>@1����QNRSJ�KLMJNINHO����:54991)&1$):6@�&��P
� � � � � � � � � � � � � � � �
����������� ���
� � � ���
����������� ���
������������
Page 123
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����123
����4�C�8:3=��78E:�3FGHIJKLFG�3MFNO�=IMINP�QLPK9�R�����) ������S"�$�,,�- �TU��%"���� ���*+)�$�,,�-�. �)���+/ ��#���)
�$%��&���U*������A"�� ���LMNOPQ? %,���6,�'8�"���$% ?@�RL �� ?@�RC �����$��%��� ?@�TBC
��������������� ����� ������ �������������
� � � ����� ����������������� ��������� � � ����� ��������������� � ������ �� � � ����� ���������������!�� ������!��� � � "#$����� �����������%���&%��'�� ��'��� � � ����� ���������������,� ������,�� � � ����� ����������������2� �������2�� � � ����� ���������������2,� ������2,�� � � "#$����� �����������%���&%��'�� ��'��
����V�*).�W X /("#$&����B���@75T�����
����XD��D���*).�BC�135\XD�135\�D�135\�D�135\B�78E:�1FJP�3FGeLZ]JYPLFG�3FGPJFM�QLPK�C�9�R�������� ����%���� &��&�c���%"���� '��()*+)�$�,,�-�. �)���+/ ��#���)�����������������&
����������� � �� �� �� � �� �� �����
�������� ����������������� ��������������
���� � � � � � � � ��� ��
���� � � � � � ���
���� � � � � � � � ���
���� � � � � � � ��
���� � � � � � � � ���
���� � � � � � � ���
���� � � � � � � � ���
���� � � � ����� � � ���
���� � � � � � � � ���
���� � � � � � � ���
���� � � � � � ��
���� � � � � � ���
���� � � � � � ���
���� � � � � � � � ���
���� � � � � � ���
�����
���
���
���
���
���
���
���
���
���
���
���
���
��� ���
���
���
�
���
���
���
���
���
���
��� ���
�
���
���
���
�����
�����
�����
�����
�����
�����
�����
�����
�����
�
�����
�����
�����
�����
�������������� ������������������� ������ ����������������������������!������������������� ����""�������� !"���##�������������#$��������������� ��%&���$�� ���#'��������������� ��%&���'
��
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
Page 124
124�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��X�����) ������S"�$�,,�- �TU��&��'��()*+)�$�,,�-�. �)���+/ ��#���)&��0�'���� '%�)�)���123�45�66789
"���9�"�8��:�7�� �!��;<"�.��"������� �!��&���8���-��� ��" ��97����"��)%'��'��8��8���"������� �! �������������� �!�����"��#��$�$%�.�� ���LMNOPQ%,���6,�8������ �!�����"��#�.,����$�$%� LC �$%�'�"�� LSY?@ ����'��8� Y?@ �9��'��8��7�6,��"������� �!%'��$% ���(��U*V�A���$)=A�� 0@A��=�&�&"�$C6���456& �����A��:�W$)&�<)��X2�/Y���>��A�� ������&�"���9�"�8��:�7�� �!��;<"�%,���-��>�:>��5������&�,8�
"���9�"�8��:�7-���,���"-����.,������$% ?@�RL �� ?@�RC ����A"�� ���LMNOPQ��%�Z�� �������:�6,�$% ?@�RS �*$7���"�!�����������������A"�� ���LMNOPQ? ��%�����7 O[L ����:>��8�����*��+�.��"���9�"����8��� �!��;<"�.����������� �!�����"��#��$�$%�"���8��:�7����A�.���� �!��;<"���"�*97���,��,�'� Y?@ L\M �����8$���
�"%�8��'���6'��7�8��:�7���D$��%��� SC ]^_ �'� M`YTR� ���'��'�"�� a\S �����8$���D>7����'���"�7�A� �����&� ��97��6,�8��:�7 SC ]^_ �8��6,�'� M`YTR� ��9��6,���D$��%������ =�
����������������������� !"���# ����������������� ��� $�%�"��&!���������������'���()�*+
����� �������
����� �������
����� ����
������ �����
������ �����
������ �����
������ ������
����������� ���������� ��������
��� ������ !"#$� %� &�� '�( )*+$������, - .�/&�"+���0 1*�2����3�0&��.4!��5"��# 67� .�/&�"+���0�6� 3!�5�&"��30�2�88�9��:+�5;���"�� �<=> &"�� !2�88�9��:+�$�"#$� %� ���90�?�#����/5�42;0)
!�������� ������*+�����,��-.� �*�/�+����������01��� ���������������� ���� ������� �! ����/*+��2������3�� ���������01��4���� �� #$%&'�()567
Page 125
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����125
������� 8� +� � 9��*9������� ���� �����:����� 8;<� =� �+�� ����*�* ������� �.#$%&'�((���>"?@AB��.?����Adc_Read�� ��CDEFG%�* ��,�� �.
�76��*6 ���+�88� �9/�' �-.'�/�+��:;<=>?@;AB������8CD,EE:
���� ������%��f���*����1���!�1��$�����2&&3&�1�����,���
�����1�(��4,�,����563788�9:;<�==�1������!�����$�����2&&3&�.��������+�-�����-�������4�����>=?&@A788
&�! �� ���%�)��2&&B&���C,-��.����DEFGH?������+I�4-���!#��4�JK?LM<L�.��/)�/4-��.���N�O��?����-��.�������2&&3&
2&&BP��"�������+/�4.��,���4-��,-��.����/����,��(Q�� /R4����"����
Page 126
126�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
unsigned int temp_res;
void main(){
ADCON1 = 0x80; // Configure analog inputs and VrefTRISA = 0xFF; // PORTA is inputTRISB = 0x3F; // Pins RB7, RB6 are outputsTRISD = 0; // PORTD is outputwhile(1){
temp_res = Adc_Read(2); // Get results of AD conversionPORTD = temp_res; // Send lower 8 bits to PORTDPORTB = temp_res >> 2; // Send 2 most significant bits to RB7, RB6
}}
�������������������
�����1����-�,$��JK?�!������"���,1�� �/��4����1������)�/0�����/��4������������ (�2SK����/��4�K�.��/��4��T�()��@�.��()��8�� U�������"���,1����������4/0�
��������!��-�,$�.���� ���������������,)!)���!����������#(+��1�� �.���temp_resV����� �.��.((�EWLMGXMG�&@�()�Y�!��� U��"����7�()�,�������Z��1��� (/��4��T�.���������()�+���� ���P�� U���/���1��()��7�.���[� ��� �.���temp_res��$�����������$����"�.���()��@�.���8�������!������.�,����()��@�.���8� ��/��4��T�!��� U����$��"�*U"�������������
����������� 8� �A�.� 6<%HIJHKL� �������M�N��%����4��/��� /��� 9��*9������� ���� �������:�����8;<�=��+�� ����*�* ������� �.�#$%&'�((���>"?@AB��.?����Adc_Read�� �CDEFG%�* ��,�� �.
2@B\��,����� (��� ���������� (��+,��]^&�� ��������������.���������2SK
���������� ����������������������������������������� ����� !�"�"#��$ ���%&�����'���(������������'$)*+$��� �,,-��#�%��-.����$��/�������-�����$01$,"#��%/$)*+$01$�%�
2@B_��"�������� %����������$1��$��2SK��������4/0� ����!��,���1��������� ��� �������'�����&`'P\
mikroC
Page 127
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����127
��W��"#�$����%"���"���&������'��()*+)�$�,,�-�. �)���+/ ��#���)&��0�'���� '%�)�)���123�45��6
45�"�6�7� Adc_Read()��.,��-�"����97��6,"������������������������'� �6'� ����� ���LMNOOP E���8���6�������" P\C\C\a �����"���",�5 ����&G �c �����$����S���� ���0�'���� '%�)�)��0��%g������ %��%"��"%"�$g��h� �����&"� '+�*������������'��()�8:3������ ��� ���-�������������������� ���LMNOOP ����#�%�8��'����"���.�������"�� �����&��>�%,�����8����,�"�7�8"�����$��%������������������� ���LMNOOP �7�"�7�8.,���,8�
��W����"#�$�����8:;<=>�*).��"#�$�����8:;<=?
��#����$��%���.��� O �$% �6,�"F�)�*+��7��,��""������� �! ��"���6,���45�"�6�7�Adc_Read() ��'�-���#�%,���,��:>����$��%�����& �%'�����"����"�6,���45�"�6�7� Adc_Read() �,8�'��7��,��""��������"F��8,�7���$��%����&����%�8��&�,8�
��W����"#�$�����8:3@AB
��.��� O �$% ��#����$��%�����"�7�6,�8��A�"��-����.����������� �!�����"��#��$�$%� ���������"���6,����������&
�����
�����
������
�����
�����
������
�����
����
������
�����
���
������
����
����
������
����
����
������
����� �����
���
������
���� ����
������
����6�*).�4�R�8:3=��*).�8:3=B�������� �$�,,�- �TU��%"������'��()�8:3����
�������������� �����������Z�="������
������������ � �����������Z�="�����
������������!�� �����������Z�="�����!�
��������'�� �����������%���&%��'��Z�="���(� :& 0@�-���[\]
Page 128
128�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
����V�Si����R�3>=X�Si��3>=B�����) �����$�,,�-�. �)��%"����������� ���
���������*+�
���������*+�
���������*+�
���������*+!
���������*+,
���������*+-
���������*+2
���������*+3
���������*+
���������*+^
���������*+��
���������*+��
���������*+��
���������*+�!
����������_'.�� �4�&@��)$�&)>&499Y5�4��/@$ B����9Y@:6�)D�7�7W)�;�
���������4�&@��)$�&)>&�&A������X2_�
������R�\@E:@A<����������� ���%���� &��'��()�8:3
VCW b "�����.,������F��$&�
VLW [ ��#�"����$7�%,�"�����.,���
��������������� ��!" :,��$%��&��#� VLW ����8'����'�����8'��.�&�%��"����.,��� �$%��&����#�VCW ��%����%$��97�.�&�%��"�����.,������F��$&�
����B�R�8:@A������h �����)'��()*+)�$�,,�-�. �)���+/ ��#���)
VCW [ ���� ?@� :�"�$�����$
VLW [ ��F�����$���� ?@�
Page 129
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����129
��W�X��"#�$�����8:3@A�
���$��%��� ?@�TBL �6,�*97�"-�����'��������,���$���,"������ ?@� ��"-����������.��)�*+����%�*A%�7���$��%��� ?@=cR^ �� ?@=cRd
�����
����
������
�����
�
�����
����
�����
����
����
�
������
����
�
����
�����
�
�����
�����
������ ���� ���� ��������
������ �!"#$����%�&������'((��)��*��*+��������!",-./��(0�!",-.1
213$4$��5������678�,,9"�:��/$;<=>?$@AB?C>C=DE$��� �,,-��-���������
� � � � � � � � � � � � � � � �
����������� ���
� � � �
����������� ���
������������
� �
������76<)�C66�DE;499#>@1����QNRSJ�KLMJNINHO����:54991)&1$):6@�&��P
� � � � � � � � � � � � � � � �
����������� ���
� � � ���
����������� ���
������������
����2� 3����������(��� !$213
����4� �56#78����(������&���������9(�:
213$4$FGG203$4$$-�$$FH*I4
����;� 56#7< ����(������&��������� 9�=�:
213$4$F++
203$4$-�$FH*IJ����>�?@��<� �3����������(��� !$213
Page 130
130�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��W�W��"#�$�����8A=<?
��#����$��%����-������9�"��,.�*���% =?C :>� =?ae =?f �� =cC :>� =cS -������#�.�*���%�$�*A%�����"��9��$�$%� �"%$:,���'��,"-�����'� .���'���&����#�.��$�*A%�����" D>7��%"%'����" ���LMNOPP �7��%,��"-����.���'���&�7���$��%��� ?@�TBL
�����
����
�����
����
�����
����
�����
����
����
����
����
���
�����
���
�����
���������
��� ��� ������ ��� ��� ������
������ ������ ������������ ������ ������ ������������
��W�V��"#�$�����8A=<?>
��#����$��%����-������9�"��,.�*���% =gC :>� =gf -������#�.�*���%�$�*A%�����"��9��$�$%� �"%$:,���'��,"-�����'� .���'���&����#�.������" .,���8�� %-����'�.��6'�������"�%'�6'����'��,�����-����%��%-����'�.�*���% �6'� �$�*A% ?BO ����#�.�*���% =gS ��#�%,�
\
�����
�
�����
�
�����
����
�����
���
����
���
����
����
�����
���
�����
����������
�� ���� �� �� ��
��� ������ ������������ ������ ������ ���������
��V�&�! �� ����&"� '+�*����c �����������'��()�8:3ELG "-����.�*���% ?@� �7%,��"��%$�%'���,��#�.��$�*A% ���"-�����7���$��%��� Y=�R
ESG "-�����'���,"�����$��%��� ?BRcd �� ?BRcd^ �*97�"-������,.�*���%�7%,��"����#�.��$�*A%�����"
EaG "-�����'��������,���$���������.��)�*+���,6$�D,����9�.8���"���$��%��� ?@�TBL
E`G �9�"6'���$�*A%�7%,��"��%$�%'� ����F�����$"��-����.������ ?@� ���"-�����'��7���$��%��� ?@�TBC
EfG "-�����$% hTi@TBc �����$��%��� ?@�TBC ��,��#� VLW �*97���$7�%,�"�����.,���
EMG �����$% h3i@TBc ��#� VCW D>7�����:>� "�����.,��������"���F��$&� ��"��&��'���'�.,�����"���$��%��� ?@=cRd �� ?@=cR^
Page 131
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����131
�76��*6 ���+�8F �0 ��0 1 ���2��:G���� � �����������*6�*0����*�'
���� ������%��f���*����1���!�1��$�����2&P3&�1�����,���
�����1�(��4,�,����563788�9:;<�==�1������!�����$�����2&P3&�.����������+�-�����-�������4�����>=?&@A778
������� 8O� +� � 9��*9������� ���� �����:����� 8;<� =� �+�� ����*�* ������� �.#$%&'��(��@+>������>���������,P� !��!9 ��/��������������� ���� ������� �! ���>!��
���������
���
���
���
���
���
���
���
���
���
���
���
��
��
��
��
��
��
��
��
���
��
��
��
�� ��
���������
���
��������
������
��������
� ��
������
����
����
��� ����!"
���#$
���#$
�� ��
�� ��%� $
����&'(��) ��*
����&'(�
����&'(�
����&'(�
����&'(�
����&'(�
����&'(�
����&'(�
����&'(�
�����&'(��)���*
Page 132
132�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�����������8O��A�.�6<%QRIJHKL��������M�N��%����4��/��� /��� 9��*9������� ���� �������:�����8;<�=��+�� ����*�* ������� �.�#$%&'��(��@+>������>���������,P� !��!9 ��/��������������� ���� ������� �! ���>!��
void main(){
TRISA = 0xFF; // PORTA => inputTRISB = 0x3F; // Pins RB7, RB6 are outputsTRISD = 0; // PORTD is outputANSEL = 0xFF; // PORTA => AnalogADCON1 = 0x80; // Select Vref and Right JustifyADCON0=0b11001001; // Select Analog1 RC_Mode and ADONwhile(1){
ADCON0.GO=1; // Start conversionwhile(ADCON0.GO); // Waiting conversion done?PORTD=ADRESL; // Load Low Byte to LEDPORTB=ADRESH*64; // Load High Byte and shift left 6 bit to LED
}}
�������������������
-��.���!��"���,1��/��4��J� �����)�/0�� ���� U��"���,��1����!)�����4�J5aS2� �/���1�� �/��4��J�����������,����!��� U��"���,1��/��4��K�.�� ��^T@�� (�^T8���������4/0��/���.�,�Q��2SK����,�������"���,��1��� (��!)�����4�JK?b5'�.���JK?b5&��/��������1�������)�/0��J5P
!��� U��"�������$����)��������.��� ���$�-,��*�()��cb� ���JK?b5'������d&e���!����� ��()���U��������� d'e�.�,�������.������#!��($��4� 1���"���Q�� /R41���!)�����4�JK^Sa2��Z��1��� (��!)�����4>b^fK�.����Q�� /R41���!)�����4�JK^Sag�������()�!��()��'�.���&�+�����()��@�.���8�,�������$�,���@_�!��� U��Z��+�� ���!)�����4�>b^fT��/���.�,�Q�����"������� �/��4��^T@�.���^T8
&�! �� ���%�)��2&PB&� ��C,-��.����DEFGH?������+I�4-���!#��4� -,������+�-�����-�������4.���������� ������hC��, ���U
����A*�����&�BCDE���FGHI�JJ�������>=?&@A788������>=?&@A788J��������� ������hC���P'igj2&PBP������+I�4-���!#��4����JK?kfM<L�.��/)�/4-��.���N�O��?����-��.�������2&P3&2&PB\��"�������+/�4.��,���4-��,-��.����/����,��(Q�� /R4����"����2&PB_��,����� (��� ���������� (��+,��]^&�� ��������������.���������2SK
)*+$����$01$�%�� �9����%�����/-����-.����$01$,"#$:�'�� !����678������� ��������� ����� !�"�"#��$��/$)*+01$�'#����,6��8#$HKL$� ��,"#����678�'��/�&��������M�$;NGKE$��5�,"#$O�����(��#���&���,����$)*+0$�'#����,6��8#$H+1$� ��,"#����678�'��/�&����#'&��M�$;)GKE$��5�,"#$12&PBl��"�������� %����������$1��$��2SK��������4/0� ����!��,���1��������� ��� �������'�����&`'P\
mikroC
Page 133
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����133
������� 8S�+� ���� ���� 9��*9� ���� � ��!�+!@��������/*9���@������:���������� 8%<
�76��*6 ���+� 8H �0 ��0 1 ���2��:G����'I���+���2��J�G
����,�����U����� �����1�����"�Q����+,�!����������!��-�,$�.���� ���������������,)!)��� ��+�-�����-�������4�>=?&@A778���.�,�� �-�,$��2?K�-,����� ���-��.����/����),��� (-�,$��2?K�� U������1�Im��4 ���2?K� ���DEFGH?�������,$���������,���� ���-��.����/)����)�+,�!��� ��������1����Im��4 ��2?K��"��� ( ���$�� ��� ���+,�!�����.���� ����������!��"�+�.�,�Q����-�,$��2?K�!�����.���1����$1��$�.(( ���� �.����U���� -,����������!"������#�!�1�Im��4 ���WordToStr()� 1����.������.��1�Im��4 ��FloatToStr()� 1����.����� ���$���������� �n�)��
���� ������%��f���*����1���!�1��$�����2&\3&�1�����,���
�����1�(��4,�^T63788�^MoBP''8��������,���+,�����-,������+�-�����-�������4�����(��4�>=?&@A778
�����1�(��4,�,����563788�9:;<�==�1������!�����$�����2&\3&�.����������+�-�����-�������4�����>=?&@A778
Page 134
134�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
int dat=0; // Save ADCfloat volts;char txt1[6]; // Save Stringchar txt2[13];char *text1 ="DATA="; // Show Textchar *text2 ="Volt=";
void main(){
TRISA = 0xFF; // PORTA => inputANSEL = 0xFF; // PORTA => AnalogADCON1 = 0x00; // Select Vref and Right JustifyADCON0=0b11001001; // Select Analog1 RC_Mode and ADONLcd_Init(&PORTD); // Init LCD PortLcd_Cmd(LCD_CURSOR_OFF); // LCD cursor offLcd_Cmd(LCD_CLEAR);while(1){
ADCON0.GO=1; // Start conversionwhile(ADCON0.GO); // Waiting conversion done?dat = (ADRESH*4)+(ADRESL/64); // Sum highbyte and lowbyteWordToStr(dat,txt1); // Convert Raw Data to StringLcd_Out(1,1,text1); // Show Line 1 TextLcd_Out(1,6,txt1);volts=(dat*5.0)/1023.0; // Convert to VoltFloatToStr(volts,txt2); // Convert to StringLcd_Out(2,1,text2);Lcd_out(2,6,txt2); // Show LCD Line 2Delay_ms(300);Lcd_Cmd(LCD_CLEAR); // Clear LCD
}}
�������������������
&B����������-�,$��2?K�����.((����%��� (/��4��K�!��+�����������"���, �/��4�����������1�-��.���PB�Q�� /R4!��-�,$�.���� ���������������,)!)����$������1�����$�.(( ���$�),,���*����VJK?b5&�p'q''Y\B����$������!���,$�.���� ���������������,)!)�����"��� ���JK^Sag�.���JK^Sa2������� �-,����������!�����������()� ����!)�����4�JK^Sag�+����*����P�()��V�$��_Y�.��������()� ����!)�����4JK^Sa2�+���� ���@�()��V����@_Y_B��"������+,�.��������� �.����UQ��Im��4 ���WordToStr� -,�����!��/�U������������!"��@� +(�4�"��� (��#(Q�� /R4�����"���+�.�,����-�,$��2?KlB��"������������+,������1��$� ��.��, ��'�����l]�-,�1����Q�� /R4������ �n�)��@B�.����� �n�)��1�������� �.����UQ��Im��4 ���FloatToStr�-,�!�����!��/�U������������!"��&\�+(�4�"��� (��#(Q�� /R4�����"���.�,����-�,$��2?K
�����������8S��A�.�6<%HIJH8%<KL��������M�N��%����4��/��� /��� 9��*9������� ���� �������:����������8%<
Page 135
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����135
&�! �� ���%�)��2&\B&� ��C,-��.����DEFGH?������+I�4-���!#��4� -,������+�-�����-�������4.���������� ������hC��, ���U
����A*�����&�BCDE���FGHI�JJ�������>=?&@A778��������� ������hC���P'igj2&\BP������+I�4-���!#��4����JK?LM<L2?K�.��/)�/4-��.���N�O��?����-��.�������2&\3&2&\B\��"�������+/�4.��,���4-��,-��.����/����,��(Q�� /R4����"����2&\B_��,����� (��� ���������� (��+,��]^&�� ��������������.��������-�,$��2?K
��5'���� �����$���%����� ��,���-��#�%#����$�'�����$)P+$����������
� ����� �
������ �
�
����
�������������������
Page 136
136�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
Page 137
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����137
������������� ��������������������������������� !�"�#��$%$����%����%&��'��%(�)*+�!,���-�.!���"�+!%/%011)*2)33!45���%��*����*2)33!4�6�(+7!��8�2)33!4������ 9:���;<�=��< 9�;�>��-%?�2)33!4�����@)���!,$0!�+0.!,A�,B)�2&�27!-%)*"�*���C1(+��!0DE,���������"�+!%�7!,!�2%.!,2)33!4��������"@.FG,+&@)�������������!B%.��+)*��;H����$��#B���%&
"�%������I�J�62�,/)0���!,A�,2)33!4����������$0!�+0.!,6/+/�!,+)���)�2�,"-.�+8�6%,�)��K����#�����!+)��.0�� ���D.!�8�,2)33!4�������$0!�+0.!,���!"��6%,�)�#F/%,���#�.1(�!+���!�)C�1E,2!�!%D�7!2)33!4�����#�"@."�+!%$0*$L�$0!��%M0A�,���/�%&#F/%,#�.
����+�,-.�' �/0'�.�+���12���'�!"#$%�
����������� ��������������������� �������� ���������� !�"#$�%�&��'����((�)*+,��%�&�"#$��� �-,��*.���/�012�%�&�"#$��� �-,��*.���/�302�%�&�"#$��� �-,��*.���/�402
��� ���
��� ���
4 .8V
3 .6V
4 .8V
1 .2V
��������
��
��������
��
����� ��������� ������������������� ����������������
���� ����
����
��������
��������
�� ��
����� ���� ���������������
Page 138
138�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
/)0���!,1!+%������ I�J� A����$�!�80/�C#N�+8��OPQ�-�!�DE,�$0!�+0.!,A�,B)�2&@�0,*0+��$0!�+0.!,�����OPQ�A�,$0!�+0.!,�)C,-����),�)C�6%,�)��K�������#�.���!+)*�OP���RST��UJPP�V�WSRX�27!-%)*%������I�J�$��6�(�,������+!%+7!-��$�!�80/�C#N�+8��YOQ�6�(�WOQ�/!��7!�)*
"�+!%$0*$L����/�%&����+/8�)C�1(�Z��6%,�)�#F/%,"-.+)*���/�%&����/�%&+M1(�7!,!��/M�+7!�),�NE�,�!11(��$0!��%M0�!+�+8�#����),�)C�+!%�%)*$0!��%M0A�,���/�%&1E,"@.08[���6%,�)�#FFZ!����Z��"-.+)*���/�%&��08[�����8��$?��+!%�Z��B)�2&#�A)*���/�%&6���6�.0�%)*$0!�+0.!,B)�2&@�0,*0+��B?��"-.#�.$�!6%,�)��K����/!�/.�,+!%��08[�+!%��C�%��+0�!������������� � ��������������$0!�+0.!,B)�2&@�0,*0+��?������*+)*$0!�+0.!,B)�2&�)C,-���%��+0�!��80/�C#N�+8�����1($8�$�!�80/�C#N�+8��������%&�NM�/&A�,$�!$0!�+0.!,B)�2&�)C,-��
"���;H����$��#B���%&#�.�/%���FG,+&@)�������#0.%�,%)*+!%"@.,!�����������"��-��2%.!,2)33!4�����27!-%)*#��$%$����%����%&��'�J\]TTY��������������!++0�!�J�@L���),�)C�+!%"@.,!�FG,+&@)�������1(6*�,��������J�6�(����W��@����^�J_`���������/.�
���������� �Pwm_Init
����$7!2)�,+7!-��$�!�%8��/.�"�+!%�7!,!�"-.6+�����������6�(+7!-��$�!�80/�C#N�+8����!+)*P�FG,+&@)����C1(/.�,D�+�%��++���"@.,!�FG,+&@)���?��a
���� �!�"#$�!�void Pwm_Init(unsigned long freq);
%!�!&���'�(freq����������� ���������������������
��'�)!�*���+,-Pwm_Init(5000);
���������������� �������������������������������� ��� !"#$
Page 139
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����139
���������� �Pwm_Change_Duty
����$7!2)�,+7!-��$�!$0!�+0.!,A�,2)33!4�����-%?�����%��+0�!��80/�C#N�+8�
���� �!�"#$�!�void Pwm_Change_Duty(unsigned short duty_ratio);
%!�!&���'�(duty_ratio ����������� !!�"���#$%���&�'�()*��&+�������,��-������������.���$%���&�'�()*��&+/0�����-
�������.���$%�, 1�&�'�()*��&+�.���$%�!�-2+0����.���$%� !!����&�'�()*��&+/0����,��-��#3�����4)�/��
-�&�'�()*��&+�5�6789:;<=9>?�@� !!AB,��
��'�)!�*���+,�Pwm_Change_Duty(192);
�������������� ���%&'�� ��(!)����*������+����+�,,�-����
���������� �Pwm_Start
����FG,+&@)���%8��/.�+!%�7!,!�A�,+!%2%.!,2)33!4�����"�+!%"@.,!�/.�,�%��+FG,+&@)��Pwm_Init 6�(�Pwm_Change_Duty�+���
���� �!�"#$�!�void Pwm_Start(void);
��'�)!�*����,.Pwm_Start();
���������� �Pwm_Stop
����FG,+&@)��-�L�+!%�7!,!�A�,���������
���� �!�"#$�!�void Pwm_Stop(void);
��'�)!�*���+,/Pwm_Stop();
Page 140
140�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�34��*4 ���+�56�� ��7�� ���8 ��'���*����� �/0'�.�+���12"�+!%����,��C����/)0���!,+!%2%.!,2)33!4����� �B?���7!#�$0*$L�$0!��%M0A�,���/�%&
#F/%,�����7!,!�%�0�+)*0,1%A)*���/�%&���"@.#�N�A)*�-��+%(622�,6**��@*%8�1&�b�c�;<d����*�%&eWIfg
���������������������
�������/#�#C�.���D,EF,����#.+��
��������%�#G�HIJFK11�HLMN ��1�"� �#�.+��)��+��O��+3��) O�#��O.#+�+�#G����%�#G��PQ,RSKK1
��������%�#G.+���TJFK11�UV8W�PP����'����/#'� #C�.���DXF,�2+���+3��) O�#��O.#+�+�#G�����PQ,RSK11�#3���PQ,RSK11Y���� ���"$ZZ�4�[\��� �����"���#$%�D]^�.�����2"�_+��#.���������/#�$% ��'�#G$(����D]^� �"��62�B�����A� ����"��2#�$�`ab����2#�$)c�+�(��"���#$%��/#�$% ��'�#G�*���'���2�����/��)c�+�(�����) O�#��O.#+�+�#G� �PQ
���
���
���
���
���
����
�������
�����
�� ��
�
�
�
�
��
��
��
�� �� � �
���
�����
��
��
����
��
��
� �
����
��
��
��
��
�
�
��
��
��
� �!���
�����
!�������
"�#�$"�#��������
"���$"���������
���
� �
������
������
������
������
�
�
�
�#
%��
��
��
��
��
%��
���&��'� ��
���&��'���
�#
�(� )*���
��
�(� )*���
�����������
���
�� �� ��
�(� )
���
���
���������
������� 56�-�7��-��8��-����9-������,��:*+,��� ; �� !��((�)�"#$������!������7��*�;�����;��/�/��:�"<=>?@3A@@3� !-�+B��: ����PWM�����CDEFG=����*H�/��:
Page 141
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����141
void main(){/* Initial port for control motor */
ANSELH.F0=0; // RB1 ==> Digital IOANSELH.F2=0; // RB2 ==> Digital IOTRISB.F1=0; // Motor B 2ATRISB.F2=0; // Motor B 2BTRISD.F0=0; // Motor A 1ATRISD.F1=0; // MOtor A 1B
/* Initial PWM module freq = 5 kHz */Pwm1_Init(5000); // Initail PWM 1EPwm2_Init(5000); // Initail PWM 2EPwm1_Start();Pwm2_Start();Pwm1_Change_Duty(190); // Motor A 75% SpeedPwm2_Change_Duty(190); // Motor B 75% Speedwhile(1){
PORTD.F0 =0;PORTD.F1 =1; // Motor A ForwardPORTB.F1 =0;PORTB.F2 =1; // Motor B ForwardDelay_ms(2000);PORTB.F1 =1;PORTB.F2 =0; // Motor B BackwardPORTD.F0 =1;PORTD.F1 =0; // Motor A BackwardDelay_ms(2000);
}}
�!�*0!�!��'�1�����&
O�#2�# ������� ������"$ZZ�4d$+"G�&eG �C�+�$��#3������)��.���!f���_�����"$���Pwm_Init()/��$(�#&� '���#.�������O C+����������#"�����"$���Pwm_Start()� 2+0���������� ��������"$ZZ�4�����������"$���Pwm_Chage_Duty()�.���(�������)���.���$%�,X��*���� 3������4������������#G�*'G�/0 �����#0 �4�1!-�� 3����)��$% ��'�#G� ��'�#G/0� g)��.&h.��'#�� ��&�.��2+0� g�+$% ��&�.�"+$%�$)��#3����i
;����������56�*+/:�"#$IJKILM�;������N�O��=��P�Q���� �������-��8��-����9-������,��:*+,���; �� !��((�)�"#$������!������7��*�;�����;��/�/��:�"<=>?@3A@@3� !-�+B��: ����PWM����CDEFG=����*H�/��:
Page 142
142�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��� �� ����� ��
D,EN,���\O�#2�# �b>f<?Q�"#���)c+GO�#�/j�'G����9LW9�2+0d& dGO�#2�# k�l��Q�'� O�#2�# .���DXF,
D,EN �.����#�� )d+G2+0��GO�+O�#2�# �d3��."�%_++$deG��#.����
D,ENm��� ��'�#G)c'#��Ra�/���� �'$� �'�������$%���'Gdg'�����/#�$% ��'�#G
D,ENE�/��$(/���)c���2����/#
6�A����������%�#G�HIJFK11�HLMN ��1�"� �#�/���)c�g����2+��.+��)�.$.�
6�A�������%�#G.+���TJFK11�UV8W�PP��#3�'����/#��(����'�����2�+��/���)c'#��`Ra�"���#$%��/#�$% ��'�#G/���2�����'���������20��������2%'�'�#��2%%�#0/g)���#3�2%%'0�$��F�#�����������$+��)+G���/.+��)����+�) ��$�� �3���/��2%'�'�#��2%%�$+��)+G"� �#�/����#02")ccn�)�) � ��$�� � 3���� �����$% ��'�#G� *���'�����#�#02")ccn����#.���� ��d�" ��#� 6 ��bY���()�A��#3����'�����#����02��'�#G)c'#���#�+3��2%%.�� ���� "� �#����#/����#02")ccn��,���bY���()�
D,EN!� #$O�#2�# �2+��"$���'��#.������� ��'�#G
�.��.�/��%�+.����01&�������2�����3�&���� 4�������5�� ������6+����&�0��&7*+����������'8��01����+��2�6���%�����0����%��3������ 4����5�� �����&7*+����������01�����6�����+�*����&����������%������������2�%��.��.�/0���1����� 4�������3� ����.�
�������������������
Page 143
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����143
����������� ������������� �� ��������� ������������ ������� ��������� ��������������������������� ��������������������� !����"�����#�$ ��%&����������'���������!���������(�#������ �"������ )*+,-.+/01�$�������(�#������ �"�����2��
���������� ������������������������������ !"#$$ %#&$'( )*+,-./0,0#*1�3��������� �"������4��&5���2��#�������'�������6���6�7� �#8��&��"��� 7����������������7&������!��������9�������&��$ �� �
���������� !"#������� $%&"'�())!*+,�-.'/01'#2�)/3**�0140$%15�6�:;���8� ��<=>?@�����ABC.DE����27����������#8��� 2���������������FGE��� �����
<=>?@��'"H�'#��������&�FGEIJKLMM)>1N�FGEIJKLLM� ����������':;���8� ��<=>?@����!����$ ����� ��������$ �LOI�����3����� &������L� &�� &�!'��!��� &��&6�����I� &��$�2�"��������3�� 7��&��6���':;���8� ��<=>?@�������� ��� ��� '����������6
�������Usart_Init( )
#8��7� ����!���"�����������(�#�����"�'�������!��� ������)P+,-�.+/01�#!��� ����� �����������������'���!���"� ������2�2����'�����"� �����3��������$��8�&�� �QDRS� )���"�� T�U��VN4WVNWJMN4WX� 1�$�"������!���"������������3�&�2�"���������!��2���U��"������������$��8�&��QDRS� ��� ��3�����3�������� �������� #�������������2��������������
�����+�,- �*.�*/��01234����5��(+�� �����5�
6���*��7����'������������������ ����� �89'�:�+���'�!"#$%������6�����
Page 144
144�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�����6��"��� �&'������#8���������"��4VTTN�WJTTN�IW4TTN�XMJTT������������ ����!���"� ������� ���2��������������������"�#���� �����9���'���%U ��������� �����������'3��������!���"� �����#!����������'
���!����������!���"� ������� ��YY�9��Z[�����2���������������FGE�2�"����������� 2��� �!��3�����27����$����ABC.DE����27����3�$3�����\&�7�������������� �IT]I
���#8����:;���8� ��Usart_Init( )�3��������'�#8�����"��:;���8� ��� ��� '������� ���#8��������<=>?@������ �^� ��� ��3��:;���8� ���6#8����!�� ���!���"���& ����#����������
�������������void Usart_Init(const long baud_rate);
�����baud_rate������������ ����������������� ��������������������������������
���������������Usart_Init(2400);
�������������� ���������� �����������
�����7�Usart_Data_Ready
:;���8� ���6#8����3�� �"������#� �:�:���7�������!�� ����"���"�!���2�"�:;���8� ���63�����"��_I`��������#� �:�:���7�������!�� �"���"�2���$�����"��_T`����2�"�������'"#� �:�:�������'�"��3�#8����:;���8� ���63��������'�:;���8� ��Usart_Init()��U6����"��
�������������unsigned short Usart_Data_Ready(void);
������� ����� ������ ��� ���������� ��������� ! � "�������#�����" ��!����$���%��#���&''�(!�)*��"��� ��+��
Page 145
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����145
�����8�Usart_Read
:;���8� ���6#8��"���"�����3�� �:�:����������<=>?@� ���'3�����"����������I�2 ��������39,:.(;!�</,/=-.'/01�3�����"��_T`��� �������"�����#8��������� ���63��������!���"���& ����#!��� 7�������������'#8������ ��Usart_Init() �"���$��7� �#!�����"���"������������������3�� �"���������"������"�����':;���8� ��Usart_Data_Ready
�������������unsigned short Usart_Read(void);
���������������if (Usart_Data_Ready())
{
PORTB = Usart_Read();
}
�������������������������� �!��"� #$�$��%� "������&'���(� )*+,-
�����>�Usart_Write
:;���8� ���6#8��"��"����2�'��7�������������23 ���� data �4��5 �6��783 ����3�� 9 ��:��"��#8��������� ���63�������������!���"���& ����#!��� 7�������������'#8��Usart_Init( )��"��
�������������void Usart_Write(unsigned short data);
�����data������������������������� ���!�"��#���
���������������Usart_Write(DAT); // Send data via USART
'�����������.���#�&���/0,����1�!#�2��%���3���
Page 146
146�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�;.��*. ���+�,< �����/'����5��&� / '������������������&���6. �*���
����� �$����$���%��"�&'()*+,--./0���1�!�"������ %2������ !�"��#�����1��3(*4567���1��3(-4367� � %������%2������ ��!8�%��"9����2�����:���3;<=>=�?������ 9���������������� %��������� ������������@1������% �"�A/B=>=�����'(C=>=�$������?�%2������������D�����C)E<)
�()$ &"'/9,'?(�@()�43A)����2���?����D�����C)E<)����������
������2� �"������FB<,--�GHIJ�''��������?�����D�����C)E<)�����%��� �$����$���%��"%�K��&'()*+,--
������� ,�-��%�$��.�������"�/����!/�������0�123�45677��&������%����0���!���0��!8���
Page 147
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����147
���� � !"#$%&'� (�����)���*��+�)�,��-��)��.�)/0�1 ��2+���#$3"45.�)6/1,��2
����� ��!8�%��"%!��� ������1��D��?������$�������������������� ������1��D��������%�������$������%��"�8��� .L;/35�5MNOPQRH0�OPSNT(��� !%��" ��?�%�����$�������5MNOPQRH� %� ������$�� ����%��D�5TTHJ���L;/35�5MNOPQRH�������#U��(53CV5������8���� ��� � �8%�W�� %��������������1�����X �������� ������1�$�������L;/35�5MNOPQRH��������D�
��$����������C)E<)� ����������� �$����$���%��"� ���1��D����� �%���Y*ZZ� 8����8����[�, 8�1��D��,� 8�[� ���2�!��8��@�����)� 8��\�������� 8��8@��#�����@����$�������L;/35�5MNOPQRH�?����������!����8%��"����2�������������1��D�������������
�7��+�)�,1/8��*��
�*9�+�)�,
18��) ��
��1,0����18��) ��
�:�;�9.����91�
Page 148
148�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
-!B#9'#�()?41'�C)E])� %�\�$�������OPSNT(������ ^�"$��%?X��"� $��%��� �$����$���%��"�����������__�W�� \̀������@
����<�����29�=>�?@@�A'BC�DD�%����&'()*+,--�����&'()*+,--/���������__�W�� \̀���=ZAabC)E]=������$��%?X��"2���L;/35cMJc����!8�!"$������d�e��(����$����������C)E<)C)E]>��������� !�"�������"$���$������%!����� f��!g"���������C)E]h����$�������OPSNT(��� !%��"�%�\�$�������L;/35�5MNOPQRH�$�� ����%��D�5TTHJ���L;/35�5MNOPQRH������#U��(53CV5������8���� ��� � �8%�W�� %��������������1�����?���@���������������������!�"��#���������������� �%��%���� �Y*ZZ� 8����X��)� 8�� ����!��8��@���?����� 8�1��D��,� 8�C)E]E����#U�� �%!��%�\�����������#���
C)E]*���8�%!����%����������D����������1��;MQi�RJ�QIOjMN�%!��%���������1��D�%�K���%�1
C)E]-� ��$���������klm� �$����$���%��"�������%�\��\� ^%��@����������@���������8�2"�3n;n5
void main(){ Usart_Init(9600); // Initial Serial Commucation [RC6,RC7] TRISD=0x00; // Set PortD==> output while(1) // Loop { if (Usart_Data_Ready()) // Check Data From Serial { Usart_Write('O'); // Send "OK" Usart_Write('K'); PORTD = Usart_Read(); // Show Data from PC ==> LED } }}
/���������� ,�-�� "9�0� :;<=>?@A?BC� /������D�E�� 3� ��� �&�� ������F.���!/� ��� :;<=>���"�/����!/�������0�123�45677G<H�/ IF.�9J��0.&�!�:;<=>�����KLMNO3����"�����0
����:����+��(�����)
.)0����������%�8��������� ���������1��D��#���%�K��Y*ZZ�,F)������������Usart_Init(9600);
.=0����������!�"��7�%�K�%��"!#�
.>0����D����?� ������1��D��D��������� ��������������if (Usart_Data_Ready())
.h0������1��D��������������e��EF�� �� �
.E0����������� ���������!�"��7
Page 149
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����149
C)E],��o���%�1�)=,����2���o�1��D��?���@����#U�� � %!�����1��D�� ����%���������f�1�Cn7������������� 1��D��#���1��L;/35�5MNOPQRH
��(� 45/����&���� +/6� .7���2�!����&�����!������#8�� ���(��.������ 9�:� ���(�&����������;��'��.7�������<���9��������=>(����2�!� ���6������#8���(����������?9@
��(��������# ��������3���.7&'���������+ABACDAEF�*G�#������2�(�&.�����1��# �������� ��# .��1�H�����H�������%&���
C)E]Y��������1��D�������p�%2���=EE�.7���"��45/����3���������������%�1:���8 ���$��!8�!"�Z6�������������%�1:���8 ���������������%2���Z6//����"��45/���# '�# �#��%�K����
mikroC
Page 150
150�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
���7������ !"#�Soft_Usart���!�� 2���������������FGE��� 2�"������<=>?@��'"H�'#����!�������<=>?@��� ��
�'"2���� ���3�����2�$������#!�3����������#8���7�������&�� ���'"��3�����������7�������!�� �� ��������������� ��'#8�������'����$�������8"�'� $�:;���8� ��� ���!����� ����Soft_Usart� ��:;���8� ��� ��� '������� �����������6
���7���Soft_Usart_Init
����� ���6#8��7� ����!���"���& ����#!��� ����� �����������'�������'�#8������ ��Soft_Uart_Init��6��"��#8��������� �!���:;���8� ��� �^��� ��� '������� ����� ��������\"����7����#�^���6
�������������void Soft_Uart_Init(unsigned short *port, unsigned short rx,
unsigned short tx, unsigned short baud_rate, unsigned short inverted);
�����port�����������������!�"�1� �$����$���%��"����2�������������$���@�1��56����1��36�?����
�D� �!�"�%������
rx�����������%�1����� #��������1�1�1�� 1��D���������� ���@�����Z�����-
tx�����������%�1����� #��������1�1�1����1��D����������� ���@�����Z�����-
$��1��N6�����c6�����������%�K�1�%������
baud_rate���������������%�X���� ������1��D��9����������������D��#���������#��X1�@��D�� ����%�X�1��__�W�� \̀������2���1W��@��������������?��2�����������=hZZ�[�Y*ZZ�[�)Y=ZZ�[�E-*ZZ�%�K����
inverted���������%!���� ������?8����?����� ���!�"��#�������������%�K��Z�?� ��������� ������������%�K��������p���� ���2��Z�?�%�K������ �����
��������������GSoft_Uart_Init(PORTC, 7, 6, 9600,0);
�����������������(����"��# '�(�'����������3����H!"I����+J6��������# �������K+LM�&�7"I����+JN������'���������K,LM�H! ������("I�"�������������ON��� ������������ 1���������# '���7������
Page 151
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����151
���7�7�Soft_Uart_Read
:;���8� ���6#8��7� ��� ����\"������� ��������������$���0..D.�3����"������T���� ������ ������ �9����'���������3�� 2���"�2���� ����!���2�"���'���3�� �� ���$����error��"�����'�#8�:;���8� ���63��������'�#8�:;���8� ��Soft_Uart_Init��"��
�������������unsigned short Soft_Uart_Read(unsigned short *error);
���7�8�Soft_Uart_Write
:;���8� ���63��"�����#����$���data�2�'��7�����������#����$!�"��� �����!��3�����@a�"�����'�#8�:;���8� ���63��������'�#8�:;���8� ��Soft_Uart_Init��"��
�������������void Soft_Uart_Write(char data);
Page 152
152�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�;.��*. ���+� ,=��(+�� �����5���7�����>:�� �&� � �� '?�8*� ��
�����������@���%�����������1��D��#���� ��!8�%��"$�� ���2�$��D��L;/35���������� �$����$���%��"� &'(����?��2����%1���$������%!������������ ���1��D�������%��������;TqcrRNM�L/35�@���@%!��%�K�������������2����1�!�"���p�1� �$����$���%��"�&'(������������1��D��#�������W����$��D��L;/35��D�?���� ��2���������������������������������1��D��#���� #���W"�������%�K������������%!8��?�����1�!�"�������1��D��#������%�
char *err ; // For serial Data Bufferchar DAT ; // Save Datavoid main(){
Soft_Uart_Init(PORTC,7,6,9600,0); // Initial Software serial portTRISD=0x00; // PORTD ==> Outputwhile(1){
DAT = Soft_Uart_Read(&err); // Read Serial dataif (err==0) // Check Data tranfer complete ?{
Soft_Uart_Write('O'); // send "OK" To PCSoft_Uart_Write('K');PORTD=DAT; // Show Data ==> LED
}}
}
����:����+��(�����)
.)0����������%�8��������� ���������1��D��#���%�K��Y*ZZ�,F)�����������Soft_Uart_Init(PORTC,7,6,9600,0);
.=0����������!�"��7�%�K�%��"!#�
.>0����D����?� ������1��D��D��������� ��������������DAT = Soft_Uart_Read(&err);
.h0������1��D��������������e��EF�� �� �
.E0����������� ���������!�"��7
/���������� ,�4�� "9�0� ;OP?:<=>BC� /������D�E�� 3� ��� �&�� ������F.���!/� ��� :;<=>���"�/����!/�������0�123�45677G<H�/ IF.�9J��0.&�!�;OP?Q:RN?�����KLMNO3����"�����0
Page 153
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����153
�()$ &"'/9,'?(�@()�43A)��������2���?����D�����C)E<)����������
������2� �"������FB<,--�GHIJ�''��������?�����D�����C)E<)�����%��� �$����$���%��"%�K��&'()*+,--
-!B#9'#�()?41'�C)*])� %�\�$�������OPSNT(������ ^�"$��%?X��"� $��%��� �$����$���%��"�����������__�W�� \̀������@
����<�����29�=>�?@@�A'BC�DD�%����&'()*+,--�����&'()*+,--/���������__�W�� \̀���=ZAabC)*]=������$��%?X��"2���;TqcL/35����!8�!"$������d�e��(����$����������C)*<)C)*]>��������� !�"�������"$���$������%!����� f��!g"���������C)*]h����$�������OPSNT(��� !%��"�%�\�$�������L;/35�5MNOPQRH�$�� ����%��D�5TTHJ���L;/35�5MNOPQRH������#U��(53CV5������8���� ��� � �8%�W�� %��������������1�����?���@���������������������!�"��#���������������� �%��%���� �Y*ZZ� 8����X��)� 8�� ����!��8��@���?����� 8�1��D��,� 8�C)*]E����#U�� �%!��%�\�����������#���
C)*]*���8�%!����%����������D����������1��;MQi�RJ�QIOjMN�%!��%���������1��D�%�K���%�1
C)*]-� ��$���������klm� �$����$���%��"�������%�\��\� ^%��@����������@���������8�2"�3n;n5
C)*],��o���%�1�)=,����2���o�1��D��?���@����#U�� � %!�����1��D�� ����%���������f�1�Cn7������������� 1��D��#���1��L;/35�5MNOPQRH
��(� 45/����&���� +/6� .7���2�!����&�����!������#8�� ���(��.������ 9�:� ���(�&����������;��'��.7�������<���9��������=>(����2�!� ���6������#8���(����������?9@
��(��������# ��������3���.7&'���������+ABACDAEF�*G��2�(�&.�����1��# �������� ��# .��1�H�����H�������%&���
mikroC
Page 154
154�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
���8�1C�'=�#D4�!*)=ED+$9')�?="$�=";A-.'��!*F/401���������3�����#8�:;���8� ����$���H�b��E��� �ABC.DE����27��������'���#!�$���\�7�c��
���$������������'����$���H�b��E� �7� ����!������������������<=>?@�2�����'�������$�"3�������� �U����������$�������!�������3&�������� ����� ��� '������� ����<=>?@� ���'�"��
���!�� 2���������������FGE��� ������<=>?@�����3&������!���� #8��� ������������d�����$���3&��������( �����4��������
Ie��G����)@.+RfAB/�f/+/,f�+R-�gDR/.Dh�.0SBf/0.1��#8��� ���$�$������������"�����
4e��H����)?0g0Bi0�f/+/,f�+R-�gDR/.Dh�.0SBf/0.1��#8��� ���$�$������������� ����
de��IJ�K�)=0.B+h�jD./�P+,-�.+/0�S0R0.+/D.1�#8����!���������(�#�����"�'�������
Ve��G�LK�)@.+RfAB/�-+/+�.0SBf/0.1��#8���( ������ ��������"�
Xe��H�LK�)?0g0Bi0�-+/+�.0SBf/0.1�#8���( ������ �� ������
���8����G����)=ED+$9')�3+4�+:(#M31MNA*N2/�()+,�-.'/01�����
����
������
�����
���
������
�����
����
������
�����
���
������
����
�������
����
���
������
�����
�� �
����
�����
����
������
���
*D9�O�P�H�����H���Q� ������ ������R���S� &�����$!"������&���YY�9��Z[���������������� ; <�6�4�5 ����:4=������������ ;
>?@ A ������78�B7��C����� �������6���������DD�C�EF��G�2��>H@ A ������78�B7��C�����:��� �5 ��6���������DD�C�EF��I���6J��������:��������
��:�����J����K6�2���3 ����G�2�<��������������� ;LMN*D9�T�P��GU��UPR������ ������R���R���S� &���������"�����$ �W� &�
>?@ A ���������6�3 ������� 9 ��:>H@ A ���������6�3 ������� O ��:
*D9�V�P��GLW������ ������R���R���S� &���������������������"�>?@ A ���������:�J�6�3 ����>H@ A ���������:�J�6�3 ����
Page 155
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����155
*D9�>�P��XWH����������Y�� ������R���S� &������!������������������<=>?@>?@ A ������������������>H@ A ����������������
*D9�8��] <�6�4����5 �� �6��6��78 >?@ !������ PQRHST9U(1*D9�8�P��LWZJS����Y�J���Q�H���������R��S��+,�*D9�J���Q��)���!�� �FGEIJKLLa1
�������������� ;>H@ A �6� V/')W ����������6�3 �������=�:6�<7 !��:4=I�K�����42�����X�����J��1>?@ A ����6���: V/')W ����������3 ���������C�
������������ ; <�6�5 ����:4=*D9�7�P�J�K[��[\��R��Y������ ������R���S� &������!������������(�#�����"�'�������
�������������� ;>?@ A �������:�����J����K6�2���3 ����:��� !��:�������������::���1>H@ A �������:�����J����K6�2���3 ������� !��:�������������:���1
������������ ; <�6�4����5 ����:4=*D9���P���]������� ��� �^����\ ���� ���� �R��S�*D9����S� &�$����������3&������ �:�:����"�
>?@ A �4I���:����������� !YZM1 �:�� ���<�6J6��>H@ A �4I���:����������� !YZM1 J6��
*D9���P��GUZ��U���R���^����� ���Y�����S� &���( ���� &��� �W��������"�����$ �W� &���:4=�5 ���IB3 ������:�4� O ���C4�4����������6�3 ������� O ��: ��2�����:��: Y[O ���2�������K
�5 �78��:����:4=3������������3 �����B���<�
���8�7��H����)=ED+$9')�3+4�+:(#M31MNA*N2/�())!*-.'/01
�����
����
������
�����
���
������
�����
����
������
�����
����
������
����
��
������
����
����
����
�����
����
����
�����
���
����
� ��
*D9�O�P��ILW��������_�������R���R���S� &���������������������<=>?@>?@ A ���������>H@ A ���������������5 ������� \Z]MY ���� 3� MLU^M(_ ��� MLS^Y(_ �5 ����������
\Z]MY ������������3 �����B��� �������: U ��� S 3���4I���:��� YMQZR K����:�78 >H@
Page 156
156�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
*D9�T�P��GU��UPR�����������R���R���S� &���������� ����$ �W� &�>?@ A �����������3 ������� 9 ��:>H@ A �����������3 ������� O ��:
*D9�V�P���LW����\������������R���R���S� &���������� �������6����'��3����'��!��3���� ������ �9��������������� �����������A���� ; <�6�5 ����:4=������������A����:��� ;
>?@ A ���������������3 �������=���42J>H@ A ���������������3 �������=���42J
*D9�>�P�H�LW��H������ ����������R���R���S� &���������� �����"���� ��>?@ A ���������������3 ����:6������>H@ A ���������������3 ����:6������
*D9�8�P��ZZLW���YY�� �Y���������R���R���S� &�����������33� $�������5 ���C4�����������3 ������� O ��:��6��=
>?@ A ������������:�JII��������� 3 ����I�K�������=��� �����:�4� O �5 �78��:����:4=<� >H@ A ������������:�JII��������� �6�`�� �������������������:�����7:� ����4���K6�2���
3 ����<72�����������������: MZM K����:*D9�7�P�`L����`����\�������R���S� &�$3������\&�7������:������
��:�78 >H@ ������4�J��`�������������3 ��������3a=*D9���P�aL����a������������R���S� &�$3������\&�7����� ��3�����8�����������
>?@ A <�6�4�J�� �̀���������3a=>H@ A �����J�� �̀�����3a= �����K���42����:4=<� � J2������42����: RMbc
*D9���P��GUZ��U���R���^������Y�Y�����S� &���( ���� &��� �W��������� ����$ �W� &���:4=�5 ���IB3 ������:�4� O ���C4�4������������3 ������� O ��: ��2�����:��: M[O ���2�������K
�5 �78��:����:4=3������������3 �����B���<�
Page 157
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����157
���8�8� �+,A#�b($#D4'!9)($)5Ac#�():,(;?'4-.'/01d)&'*'4$)9$E$#'$)$9')�
#�����<=>?@�#8��"�������&��������(�#�����"�'�������!��� ������3����������7�'�8�����'������������� ��6����������#��!����%&�������$�%&����������'����������'��L� &���3&�������� �����������������IJ�K� ��'3��� ����� ������2�������&��������L� &��7� ������&��������(�#�����"�'�������� ��� �������#��!����%&������������������"���� ������ &�*?kl�) &��4������3&�������@m=@>1��7� ����!��'"������������(�����$ � ��$�������$����������7��n�#�������� �deVeI�%U �#������2��$���������!�� �����9!��"��������(�#�����"�'�������!��� �����#�$�"���� ��2�2�����'
���!�� �"��������#���3&�������=F*?k�%U �#8�#�������!���������(�#�����"�'������������������92��3������� �� �#�������� � IT]I�$�"3����"�\&�7����&��U6���������'"���"�2���6
���!��#!������� ��YY�9��Z[��!��� )!��������� �����&���1� ��"��� �IJolp�������� �������"��� �WNJTT� &��"��&����� ����'"�� ������ �������������$ ��%&�������������������������7��n�����9&�5�����2�������6
.����91� ��s�������
��
������
�������� �
�
�������
��'�� �"��m�����"������3&�������=F*?k�$�"��� ��3������#���3&�������=F*?k�����������3�������(���"�����=F*?k�3U������4X�����"��4X�$���� ����2�#����!��"� ������3�2��
��������� ����� �����������!%( �����&�����S%F!���#��I�� ������ ����� ���� / I�������T�����������$������0� ;1U=V
������������� ���������������
����������� �������������
��
���������� ������������
��
�������������� �����������
��������������������
��
Page 158
158�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
������q��������
����� �
�q�WNJIX� &��"��&����
�� ������&��"�\&�7���IX� &��"��&����������������9����������%(�������\&�7��2��3��
e�NA(/fD4%1(4�q�) ������� �����9] ������� �������1r� ������� ���������aITTs
����q��TeIXJ4Xs
�'"��2��(����#� ����9������������\&�7��2����'������!��#!������ ������ �����'������(���$�����'���!�� &��*?kl������_I`
����
��������
��������������
����������
����� �����
���������� � ������
�������� �������
�������� �����
��������������
����������
����� �����
��������������
����������
����� �����
��������������
����������
����� �����
����
������� ����
������ ����
����� �� ��� ����
������������
��� � � ��� � � ������ ��� �� ���� ����� � ����� ���� ������ ��� ��� ���� ���� �� ���� ��� � ��� ��� � �� ��� � �������� ���� �� ����� ���� �� ����� ��� �� ����� ���� �� ��� ��������� ���� �� ���� ��� � ���� � ��� � ����� ����� � ��� �������� ��� � ���� ��� ��� � � ��� � ��� ����� � ��� ���� �� ��� � �� ��� ��� � � ��� � � ��� ��� ���� � �� � ��� � � ��� � � ��� � � ��� ������� ��� � ��� � � ��� � � ��� � � ��� ������� � � ��� � � ��� � � ��� � � ��� �������� � � ���� � � ������ ����� ���� ���������� � ��� ����� � ��� ����� ��� � ������ ��������
�����������
� �� ���
� �� ���
����
��������
��������������
����������
����� �����
���������� � ������
�������� �������
�������� �����
��������������
����������
����� �����
��������������
����������
����� �����
����
������� ����
������ ����
����� �� ���
����� ����� ��� ����� ����� � ����� ����� �� ��� ����� �����
������ ����� � ������ ���� �� ������ ����� �� ����� ���� ������
���� ���� �� ������ ��� �� ���� ����� � ����� ���� ����
������ ���� �� ������ ���� �� ���� ����� � ������ ���� ����
������� ���� �� ��� ����� ����� ����� � ������� ���� ������
��� � ������ ����� � ��� � � ������ ����� ����
��� � � ��� � � ��� ��� ���
���� � � ��� ��� ��� ����
��������� �W��� ���I�+���I ��������$������0� ;1U=VX� ����� ���$���� ��+����0�YS!�0�%���� ��� �������� ! F �/� ���:;<=>������!F!/ � �+Y��/��!&��&�����S%�����G�U=VZ�[�\]H
��������� �^��� ���I�+���I ��������$������0� ;1U=VX� ����� ���$���� ��+����0�YS!�0�%���� ��� �������� ! F �/� ���:;<=>������!F!/ � �+Y��/��!&��&�����S%����G�U=VZ�[�\�]H
Page 159
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����159
������6��� ���!���"� �����#!�"��'���'������#���3&�������=F*?k�3����#!��"����2�������&���H�'#��"�������&� ����������%�����'���"�����5�'�������6���� �����������!���������(�#�����"�'�������!��� �����#!�"����!'������������������<=>?@���6�"������ ����!���"�#!�"���' ���'$��3U���& ����������#!�"� �7� ����������#����#8����3U�2�������"������3&�������=F*?k��� ������"��^������6��"�����\&�7������ ���������6�#��!��%&�������$���%&�������2��#�������� �IT]4��$�IT]d� � �\�#8��������������"�#������2�#8�2���'��'2�"�������'��������9#!�"
���>��()?b(�(#-'�F/401�������c#Fd/4'M6D�FN)#!+���>����()+,�-.'/01c#Fd/4'M6D�FN)#!+
#����� �IT]4�$���2���$�������"�����#��!����%&��������!��#3�����Y�������������'"�� 8&:����3&����������"��)/.+RfAB/�ftBu/�.0SBf/0.�v�@=?1���'#�8&:����3&������ ��3������� 2����3����3&��������( �������!�� ����"�!����@m?wk������� ��������"�3������'���'���@m?wk�3����6�3��"�'����"�2�'��8&:����3&�������@=?� ��� �������"� &��[����'�������#�8���"��!������2�$��
!��3���� ������"� &��[����'���2��@=?�3�2���� ����#!�"3����3&�������@m?wk�%U ���&��U6�H�'#�2%��&������������'����3&�������@m?wk�3��"���$� &��@mGK�) &��V������3&�������FG?I1�3��%�!���������(���� &�&�����������2����(3���&�����&������������U6�� &��@mGK�3����'��2���(�"���� �������"�'�������#!�"�#���3&�������@m?wk��"����������8&:����3&�������@=?�3�$���\"�� &��@?o@�) &�I������3&�������@m=@>1� ��� ��@=?��"��3��%� &���6������6�\�#8�������������'����$������33� ������ '�$���� &���6�7� ���& ��������"������(2��
����
����
������������
�����
��� ���
���
���� ���� ���������������
����������������
���
���������������������������
���� ���
� ������ �
������ �!"!���
����
���
��������W�" �+����������������F!/ � �+Y��/��!&����/� ���:;<=>�F!�123�4567_
Page 160
160�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�����& �����"��������3������<=>?@� ��&��U6���� ��%� &��@mwO� ) &�� X������3&������@m=@>1�$�"�����& ����3�&�#�����x& ��&3���&��U6�!��3���� ��3&�������@m?wk�2���� ������'�����$� ������3�����������������YY�9��Z[���������"�'��������U6��)����� �IT]4������ 1�����3���@m?wk�3��"�2�'��8&:����3&�������@=?�$���'�'�"����2������7�����?EJr@ayrEz���'�� ��7����'������3� �:�:���$���YY�9�� �������I��������� &��=FwO�) &��M������3&�������?E=@>1%U ������%� &���6��&{���6�����3�2�"�������"����2�2��
����� ������3���& �������' &���& �����"����'���� &��T�3��U����� &��M�!����L��U6��'"�� ������!��������������"���������"�$ �L�!����W� &��$��"� &��[����'����I� &�������'� ��������� �I�8���������� &��@?o@�3�$3���"�8&:����3&������2�"�"����6�$�"��& ��"� &���& �����$�3��%��7� �$3���"��"��!��3���� �"����� &�������'��"���"� &��[����'������������ �IT]d������
+)2g-!B#9'#�()�b(d#4cd.F/401�������+,�-.'/01c#Fd/4'M6D�FN)#!+<4.4!�#=B
)I1����!����������� ������#��=F*?k�!��#8� �����������(��������%� &�*?kl����'
)41�����:;���8� �����&��"�\"��7����������$����!��#!�������#��!����%&���������'����%� &��=FwO�$����'�� &��=|OE
)d1�����������#!���&��&����������������������%� &��@mGw
)V1���(���� &����"�������'�%� &��@mwO��"�\#!�$:��@mGK����%����2����'
)X1����!�������#���3&�������@m?wk��7� ���& �����"�����
��������^�" �+�����%��������������/ � �+Y��/��!&����/� ���:;<=>�F!�123�4567_
������������ ������������
�������� �����������
�������������� �!" �#
�$�%���� �&'(����)*
���������������� ����������$�%���
� �&'(����+�
� ��� �,�- � ��. � ��/ � ��0�1�2��3 � �45��-�
t tt tt t
t tt t
t t
������ ���������
Page 161
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����161
���>�7��())!*-.'/01c#Fd/4'M6D�FN)#!+2���$������������$���#����� � IT]V����!��#!������ ����$ ��%&�������#����
<=>?@��������������%� &��E?wO�) &��V������3&�������?E=@>1��"������3����"������������7����?EMr?ayry@���� &��\"����3� �:�:��������"�"�����'���������)-+/+�.0gDi0.}1�%U �H�'#���������� ������������(������������ ������(��IJ���"���� ��������6���6�7� �#!�����<=>?@��������� ����������$��"�'����"�2�'��8&:����3&����������� !����?=?�).0g0Bi0�ftBu/�.0SBf/0.1�2����(��U6���"�\#!��������� ����2���'"������"����$��� ������������ �� ������3���& �3�� &���& ������"����'���� &��T�3��U� &�M�!����L��U6��'"�� �������$�������'��� &��[����'
����������������
���� ���������������!#$%
����������������
���������������������������
����
���� ����*
+�)�,
�?��0
���
���
�����
�����&'��(����� �)*+,+!-./01.-23
���
���
��
�����
���� ��
���� � ��
���
���
������
�����
���
�� ��
����
����
��4�������56���������������� �
��*+�
)�,�?��0
������ �!"!���
��� ���
���� ����
��������`�" �+��������&�������F!/ � �+Y��/��!&����/� ���:;<=>�F!�123�4567_
Page 162
162�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
!��#3�������� �������8&:����3&�������?=?�!��3���� ���33� &��[����'�������� ����2�������#��?=?�3��"�2�'����3&��������������� �?E?wk�!��3���� �"�'����������(3�� �9� &�$:��?EGK�) &��X�������3&������� �FG?I1�3����%��!���������(���� &�&�����������2���(3���&��&������������U6��$:��?EGK�3����'����� �����#���3&�������?E?wk����"�����2�$��"���
��3&��������������� �?E?wk����4�8�������$ �KGK~���������� �����"��3����"�����"������#!��� ����2�������(���7����� �����d�2 ��2���"���� ���#��9��� ������"�'���������6��4�2 ��3����3&������?E?wk�����#�2 ���� ���������������"����<=>?@�2����������'����3�����( 2���� �?=?��"��
#���9��� ���������33� &��[����'2���$�"#���3&�������?E?wk�'���������'"�3���&��!�����9�8���������������'��"��F'$A')�)!#���������������� &��~w??�3����%��7� �$3������\&�7������"���"�\#!�����#��?=?�!�'2��$�����"�'�������3���?=?�2�'����3&�������?E?wk�3���'� '�6�2����� ��"��� &��~w??�'�����%��'"� &��~w??����������'��2�����'��� ��������%�:��$���
����\&�7�����$ !�U ��� ��3��&��U6�2������NA(/fD4%1(4?(�$�)/-.'/01� �^����\�������3���&��U6���� �������33� &��[����'7 �"������3&��_T`�%U ������ �������� &���& �����������#�8�����2���"�\#!�2�"������������2���"��2���� �����'"���� �9��"��!�����6!���2�"� � ��� �������33� 7 �"�������3&��_T`������ ������������ �(3���& �����"�2���"�\#!���&�����"������ &�$������_T`�%U �$���� 3�&�$�������� &���& �����������8���"�2�����#!������� �� ������\&�7��� &��Kw??�3����%��7� �$3������\&�7������"������ �������"���"������3&�������?E?wk� &��Kw??�3������ ������'��������&����!������� �������6�#!�"������� &��Kw??�3���'�����_T`���'��������&��'"��2��(���!����&�����\&�7������:�������U6��$���������� ����$ �W� &��3�������'"��'& ��� 3������������"������3���?E=@>��U6����"���7� ����b����� &��� �W����2���3����6�3U��"���"������3&�������?E?wk�7� ��"������#��L� &��� �!���7������ ��� �����"���� &��Kw??����'
+)2g-!B#9'#�()�b(d#4cd.F/401�������)!*-.'/01c#Fd/4'M6D�FN)#!+<4.4!�#=B
)I1����!����������� ������#��=F*?k�!��#8� �����������(��������%� &��*?kl
)41�����:;���8� �����&��"�\"��7����������$����!��#!�������#��!����%&���������'����%� &��=FwO�$����'�� &��=|OE
)d1�����������#!���&��&�����������������%� &��?EGw
)V1������������� ����$ �W� &�#!��%� &��?mW
Page 163
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����163
)X1� ��(���� &����� ������'����%� &��E?wO
)J1� &�$:��?EGK����%���� ��� �������(3�&6��3���&��&�����������!����(���� &2��
)M1��"�����������3&�������?E=@>��7� ��"������ &��� �W����!����������� ����$ �W� &��$����3�� ����\&�7���� ��3��&��U6���!�"������� ����
)L1��"�������L� &��� �� ���������'�"��\"�������3&�������?E?wk
)W1������&�����\&�7���U6��#!����'�� &�$3������\&�7��!��� &��E?wO
���V��()c .'D#$9')�)!g9�$%&"')!*-.'/01����� ����������$ #8��&n���������3���"�3����������"���������3���"�������
������$��������������2��������"���� ��^�$���� ���� ����2�"���������� �"�����3�Y!�'2��
���$��2�����#8�����&�����������������8"�'����#!����$���2�"3������������������3�� ����� �����������2�������#��"���� ��^�2��� ��3���"�3�������������3���&��������������6�!�U �3U���������������#����$���'"�' �&����&������������������� ������������"�\#!������ �������������������'& ��U6�
���!�� 2���������������FGE�2������'��"�� �&����&��������������!�� ����� ���������������<=>?@�2��$�����'#!���������(���� &����&�������������6���'����%� &��?EGw�#���3&������FGwI���� ����������"�������� &��?EGK�3����%����� ���&�����&������������%�7�'3�������2�'��:;���8� � �&����&�����������������$�������#����$���'"�' �&����&�����������3����(3�"���� 3��� �����������$������&�"�2�
#�:;���8� � �&����&�����������3������������ ���"���"�3����3&�������?E?wk�%U ���� ��"���"�$��3�����������'��$:��&������������?EGK���'��������&
Page 164
164�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�;.��*. ���+�,@ � ��/'����5����&?.'��������� ����/ ��A.��*������*�'
�����������@%�K�������%�����%1���$������d�e��(� %!���� �#���� �$����$���%��"� &'(������������1��D��#���� ��!8�%��"f���!�"��#��� ���$�� ���2�̂ l��"2����� � ����!8%ue1��OPSNT(�� !%��"� ���?�%�K����%1������������?8�%��"���%�����1�����
����� �����������@%�K�����������1��D��#���?�� �$����$���%��"� &'()*+,--� �����f�������������L/35�5MNOPQRH�1��OPNST(��� !%��"
�()$ &"'/9,'?(�@()�43A)��������2���?����D�����C)E<)����������������2� �"������FB<,--�GHIJ�''��������?�����D�����C)E<)�����%��� �$����$���%��"%�K��&'()*+,--
-!B#9'#�()?41'�C)-])� %�\�$�������OPSNT(������ ^�"$��%?X��"� $��%��� �$����$���%��"�����������__�W�� \̀������@
����<�����29�=>�?@@�A'BC�DD�%����&'()*+,--�����&'()*+,--/���������__�W�� \̀���=ZAab
char dat ;void main(){ SPBRG = 129; // 9600 bps TXSTA.BRGH = 1 ; // Baudrate mode set High TXSTA.TXEN = 1 ; // Enble Transmitter RCSTA.SPEN = 1 ; // Enable Serial Port while(1) { dat = 'A' ; // First Character while(PIR1.TXIF) // Test Buffer Blank { TXREG = dat ; // Send dat delay_ms(500); // Delay 500 ms dat = dat++ ; // Increment dat } }}
����:����+��(�����)
%�K�$���������������e��.�������@0�1����e��/�%�K���� ���� �����f�f���!�"��#����$��%���2������e����Z]E��8�����$�������W��� �%�� ��%���� �Y[*ZZ� 8����8����
/����������,�7��"9�0�>_:<=>BC�/������D�E��3���� �&�� ������������������!/� ���:;<=>����"�/����!/�������0� 123�45677G<H� �%I������ ! ���"�I&���$������0�%��8���������!/ I���
Page 165
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����165
C)-]=������$��%?X��"2���56L/35����!8�!"$������d�e��(����$����������C)-<)C)-]>��������� !�"�������"$���$������%!����� f��!g"���������C)-]h����$�������OPSNT(��� !%��"�%�\�$�������L;/35�5MNOPQRH�$�� ����%��D�5TTHJ���L;/35�5MNOPQRH������#U��(53CV5������8���� ��� � �8%�W�� %��������������1�����?���@���������������������!�"��#���������������� �%��%���� �Y*ZZ� 8����X��)� 8�� ����!��8��@���?����� 8�1��D��,� 8�C)-]E����#U�� �%!��%�\�����������#���
C)-]*� ��$���������klm� �$����$���%��"�������%�\��\� ^%��@����������@���������8�2"�3n;n5
��(��������# ��������3���.7&'���������+ABACDAEF� 0� &����>8� ���#"���2�(�&.������# �#�P��-QJQ�/QRRR�1��!���������(���#����
mikroC
Page 166
166�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�;.��*. ���+�,B ��������5����&?.'��������� ����/ ��A.��*������*�'
�����������@%�K�������%�����%1���$������d�e��(� %!���� �#���� �$����$���%��"� &'(� 1��D��#���?����!8�%��"��������?��$�������L/35�5MNOPQRH�1��OPNST(��� !%��"�%!������f�f����Cn7�������D�� !�"��7�$������8���� $��D��L;/35��@�?�%�K����%1���$������%!����������� �����?8�%��"�� �#�1�$��D��L;/35�$�����
�()$ &"'/9,'?(�@()�43A)������2���?����D�����C)E<)����������������2� �"������FB<,--�GHIJ�''��������?�����D�����C)E<)�����%��� �$����$���%��"%�K��&'()*+,--
-!B#9'#�()?41'�C),])� %�\�$�������OPSNT(������ ^�"$��%?X��"� $��%��� �$����$���%��"�����������__�W�� \̀������@
����<�����29�=>�?@@�A'BC�DD�%����&'()*+,--�����&'()*+,--/���������__�W�� \̀���=ZAab
char dat;void main(){ TRISD = 0 ; // PORTB ==> output SPBRG = 129; // 9600 bps TXSTA.BRGH = 1 ; // Baudrate mode set High RCSTA.SPEN = 1 ; // Enable Serial Port RCSTA.CREN = 1 ; // Enable Continuous receive dat = RCREG ; // clear buffer data dat = RCREG ; // clear buffer data dat = RCREG ; // clear buffer data while(1) { while(!PIE1.RCIF) // Test Received data {
PORTD = RCREG ; // Show data on PORTB } }}
����:����+��(�����)
%�K�$�������� 1��D�?��!�"��#�������������?� 8��3('+� %�����1��D�%1������ ̂ %^�" 8���@?�%�K��v)w�?���@����1��D����� ����� ���!�"��7���������������%�8���������������@����?�����%X�%% 8����������1��D��#��������������� �%�������?�������1��D��>���@�%!��%�����"����� ̂ %^�"
/����������,�6��"9�0�=_:<=>BC�/������D�E��3���� �&�� �������&����������!/� ���:;<=>����"�/����!/�������0� 123�45677G<H� �%I������ ! ���"�I&���$������0�%��8���������!/ I���
Page 167
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����167
C),]=������$��%?X��"2���36L/35����!8�!"$������d�e��(����$����������C),<)C),]>��������� !�"�������"$���$������%!����� f��!g"���������C),]h����$�������OPSNT(��� !%��"�%�\�$�������L;/35�5MNOPQRH�$�� ����%��D�5TTHJ���L;/35�5MNOPQRH������#U��(53CV5������8���� ��� � �8%�W�� %��������������1�����?���@���������������������!�"��#���������������� �%��%���� �Y*ZZ� 8����X��)� 8�� ����!��8��@���?����� 8�1��D��,� 8�C),]E����#U�� �%!��%�\�����������#���
C),]*���8�%!����%����������D����������1��;MQi�RJ�QIOjMN�%!��%���������1��D�%�K���%�1
C),]-� ��$���������klm� �$����$���%��"�������%�\��\� ^%��@����������@���������8�2"�3n;n5
C),],��o���%�1�*E����2���o�1��D��?���@����#U�� �%!�����1��D�� ����%���������f�1��Cn7
��(�45/����&��� ���N�&�7 �����.7���=>(������# ���;��'��������9�����9������L�9�������;��'� �����(��.������NS���('��������#8��������;��'� ����(�1�H�����H�������%�# 1�.7�������������;��'�����;��'� ��=>(�����NS�;��'� .7�����# ��9�����9�;��'���&�7��L�9�;��'� �
����45/���� �����'����>(�����45/���������% � ��%�����TUV:66�WXYZ� [[���("I��������"����������8
mikroC
Page 168
168�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�;.��*. ���+�,C ��������5����&?.'���������>:��.��*������*�
���������@���%�����%1���$������d�e��(�%!����� #���� �$����$���%��"�&'(�� 1��D��#���� �2�����8�%��"���"�$����������� �$����$���%��"�&'(�1 �Cn7����1�!�"��37-��8���!�8 ������%�������d������8��� �������� 1��D�����%��������� 1��D�%1������X?��������1�1��D��@�����!�"��7����
�()$ &"'/9,'?(�@()�43A)������2���?����D�����C)E<)����������������2� �"������FB<,--�GHIJ�''��������?�����D�����C)E<)�����%��� �$����$���%��"%�K��&'()*+,--
-!B#9'#�()?41'�C)Y])� %�\�$�������OPSNT(������ ^�"$��%?X��"� $��%��� �$����$���%��"�����������__�W�� \̀������@
����<�����29�=>�?@@�A'BC�DD�%����&'()*+,--�����&'()*+,--/���������__�W�� \̀���=ZAabC)Y]=������$��%?X��"2���'QcMNNIGcL/35����!8�!"$������d�e��(����$����������C)Y<)C)Y]>��������� !�"�������"$���$������%!����� f��!g"���������C)Y]h����$�������OPSNT(��� !%��"�%�\�$�������L;/35�5MNOPQRH�$�� ����%��D�5TTHJ���L;/35�5MNOPQRH������#U��(53CV5������8���� ��� � �8%�W�� %��������������1�����?���@���������������������!�"��#���������������� �%��%���� �Y*ZZ� 8����X��)� 8�� ����!��8��@���?����� 8�1��D��,� 8�C)Y]E����#U�� �%!��%�\�����������#���
C)Y]*���8�%!����%����������D����������1��;MQi�RJ�QIOjMN�%!��%���������1��D�%�K���%�1
C)Y]-���$���������klm� �$����$���%��"�������%�\��\� ^%��@����������@���������8�2"�3n;n5����%���������f�1��Cn7
45/���(2��%��+/6����72��
C)Y],��o���%�1�*E����2���o�1��D��?���@����#U�� �%!�����1��D�� ����%���������f�1��Cn7
��(�45/����&��� ���N�&�7 �����.7���=>(������# ���;��'��������9�����9������L�9�������;��'� �����(��.������NS���('��������#8��������;��'� ����(�1�H�����H�������%�# 1�.7�������������;��'�����;��'� ��=>(�����NS�;��'� .7�����# ��9�����9�;��'���&�7��L�9�;��'� �
Page 169
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����169
����:����+��(�����)
?��$������%�K�����2�8�%��"���"%1����2�����������?� ���� 1��D��%��������� 1��D�%1����?�%�8����8�%��"���"� ����9�!��D?����$�� ���������� l̂��"2�� �8���8�%��"���"� 9���?�������1�1��D����� �� ������!�"��7�������1W���� �������8�%��"���"�$������?���������� �$����$���%��"���1��D�v)w�����vZw� ���1�!�"��37-�9������Cn7� ����������Cn7�%�8������!�8
l̂��"2���enable_int()� �2����������%�8���������� ���8�%��"���"� $��?�%X�%% 8����������1�8�%��"���"�>������%X�%% 8�8�%��"���"���� 1��D��#����%X�%% 8�8�%��"���"?��#���W"��!�������%X�%% 8����8�%��"���"���
char dat ;void interrupt(){
PORTD = RCREG ; // Receive Interrupt}void enable_int(){
PIE1.RCIE = 1 ; // Enable receive interruptINTCON.PEIE = 1 ; // Enable peripheral interruptINTCON.GIE = 1 ; // Enable Global interrupt
}void main(){
TRISD = 0 ; // PORTD ==> outputSPBRG = 129; // 9600 bpsenable_int() ;TXSTA.BRGH = 1 ; // Baudrate mode set HighRCSTA.SPEN = 1 ; // Enable Serial PortRCSTA.CREN = 1 ; // Enable Continuous receivedat = RCREG ; // clear buffer datadat = RCREG ; // clear buffer datadat = RCREG ; // clear buffer datawhile(1){
PORTD.F7 =0; // Blinking LEDdelay_ms(500); // ON RD7PORTD.F7 = 1;delay_ms(500);
}}
/����������,�a��"9�0�2b?@NNcd?:<=>BC�/������D�E��3���� �&�� �������&����������!/� ���:;<=>���"�/����!/�������0� 123�45677G<H� �%I���F.���!����0�&��0
�������������������
Page 170
170�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
Page 171
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����171
��������������� ���������������������������� �� ��!"��# $�����$"�%�%����&������#�'�(%��)*+,-���� #.�%����/ �#%����(%�01���2��"�����������"3�����'�4�$�4(������������(�5��#%�����3���# $�����$"�%�%����&���"�� �$ �6%�5�����7'� 6%�����89:;<=+�9>>&?(%�#%�����3���# $�����$"�%�%����&���"��# � �$ �6%���%�����5��� �7�.����7��$ �6%�����# ��.�4�.������� �'�����@2'���
������������������ ��
�����������������I2C_Init
@2'�3����������� �'�(%���� !���AA� ��BC��7����������� 5���'�����������$ �6%�����D��'�����4�@2'���01���2����E������ �
������������� ������void I2C_Init(unsigned long clock);
������clock����������������� �������������������� �� ��������������� !��"#� $����%%� � &'(
��)�*����'�+��,�����+��,������-�)$��.//0"#�1�2+��,������-� ���3//�0"#
����������������I2C_Init(100000);
���������������� ��������������� ���� ������������ ��!"���������#����$#����� %&&'()
�����+�,, �*-�*.��/��0��&������ �1�
�� �23'�4�+���'�!"#$%������5�����
Page 172
172�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�����������������I2C_Start
@2'�3����@�'������(%�����AA� �><:+<����#������@2'����'�����4�01���2���I2C_Init������
������������� ������unsigned short I2C_Start(void);
��� �� �����4������56,7��,89��:����;<2�������/����%��
����������������I2C_Start();
�����������������I2C_Repeated_Start
01���2����ED�����AA� ���� �'���5��><:+<���E�"��������#��$�44�# � ��������AA� �4����5��><-F
������������� ������void I2C_Repeated_Start(void);
����������������I2C_Repeated_Start();
�����������������I2C_Is_Idle
����01���2��"������� ������������.�'� "������7'� 6%���#���5�# �
������������� ������unsigned short I2C_Is_Idle(void);
��� �� �����%� �����<2�������=.>����%���������?�<2�������=/>
����������������if (I2C_Is_Idle())
{
I2C_Start();
...
}
Page 173
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����173
�����������������I2C_Rd@2'����7'� 6%7����G�#��D������� ���%0@���������$�4D��'�� ��������AA� ���6'
8HI,J-KL=MN=�O�H�P?���5��# ���6'�8Q-<�HI,J-KL=MN=�O�QH�P?����#��'�4������@2'���01���2����ED��'�����4�@2'���01���2���I2C_Init�(%��I2C_Start�����
������������� ������unsigned short I2C_Rd(unsigned short ack);
������ack������ !��=/>�<24�� ���@A0BCDEFGHF����� !��������?�<2 �� �������%��������@A0BCDEFGHF
��������������� unsigned short take;...take = I2C_Rd(0);
�����������������I2C_Wr����01���2���3������7'� 6%7����G�#�����#�4����� ���� �����@2'���01���2����ED�
�'�����4�@2'���01���2���I2C_Init�(%��I2C_Start�����
������������� ������unsigned short I2C_Wr(unsigned short data);
������data�������������,�.�4%):�)����������4 ����2%%%� �&'(
��� �� ���������=/>�����4������56,7��,��6,�I;�
���������������!I2C_Write(0xA3);
�����������������I2C_Stop����01���2���3�������AA� �><-F�@�'��������
������������� ������void I2C_Stop(void);
���������������"I2C_Stop();
Page 174
174�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
������������� ���������������������������� ������������ ��������������� �������������������� !����"�#��$�%&�'��()�������$�*�)(��+),-.�/-
'��012�3�4�567�8�9:;��*#�<��<������2)�= ���*����>�*$�%&�� �'��?2������������)!��-�@2"=#(=<�A�>�*���)BBCD+&�����D�*-�D�*-�-�!�= ����.*��?2��&�D�*-�-�!�= �����)BBC-E1�F&!>G*>-���H�-�)��#"��FH�-��������#��)-.���<3��C4(-()������FH$�*������D+&�������.*��?2@2"���)BBC-E1�.���<3��C4@��2"�)#.--�)-$3���#-���H�-�@��D����H��)(�������<3��C4@��2"�)#� ">G*��)�.*��?2��#��)(���H�-��A#"2���F&!.@��D���
��.*��?2(-()�������&G !�D�&������D3I-F���#����������!��"����� ������������������ ���#-���)BBC-E1��&G !�D�&��#�������##�$��%&����"����� �� ���� ������ ����� ��� � � >-���J�(����$3-&/"D�&�����)BBCF)/����#�����'()�!�' *
�"$�����+,-����./������ �� ���KLM�@2"�K�N� D3I-���)BBC���F�OF�� 5P��Q���� ����8� 8���;��*���&������)#�*-F-+?2�)3�)(@���)-
RST� $#*�2��D#2� D+ !�>�*���&��-"2����?�>-.C"F&!$���&��������>G*�-�F)/��)�G�#�>-��3U���)-�)BBC�(�#-F&!��&D.*�>-���)BBCF)/����#��D��4+<�� .���<3��C4F&!�����?�(-()�� �����*���&2)�VC"D3I-#��D��-D31�� 5�9���Q����;���� �=�2D2W�D���4D31��5�9�����88�� ��;��)�@�����2"D�&��>-�?3F&!�MX�Y
�)�������F��.*��?2(-()�� ���� �?����� YZZ���'2(�����#�-F&>-'���3���� 5: ��Q��Q���Q�;� @2"�?����� [ZZ��'2(�����#�-F&>-'���=#�D�W#�?�� 5\�: ���Q�;� 5��=<C��()��F�DF=-�=F&!�67�8�9:��H�-�;��<3��C4F&!�����#���?�(-()������"�*���&=�=#�<$00U�#�F&!D���.�/-�"�#�����KLM�@2"�K�N�$��D��-�[ZZ9]����D.*����<3��C4(-()�����>G*.*��?2�H��)(��D.*������=�= ��^�(���5^�P� ��QQ��::��_;��� ��YZ�(���5YZ�P� ��QQ��::��_;
0!����������� �� ()������3�"��(�*#����)BBC���D�*-��)�F&!$�*�2�#�@2*#= ��KLM�@2"�K�N��<3��C4F&!���+�#�(-()�����
�&$�*������)�-)/-���*���&���H�-��?3@((.����������(-()���� �D�&��#��'3�'�=�2�59�� ���8;� � D+ !�>�*̀ ?*>G*�-F�(#��.C"-&/�<3��C4>��������)-��?��@2"�<3��C4�)#>�D3I-�)#�)(�� ��)#�������$3-&/".��J�(�2)�VC"��-*F&!�@2"-���.���<3��C4F&!�����?�(-()�� ���� D+ !�D3I-.*���2�+ /-a-���-F&!"�J�(���FH�-.��()�� �������$3
�<3��C4F&!D3I-`?*��*�.*��?2�� ����.*��?2� D�&��#���)#���� 5 ���:�� ��;�<3��C4F&!D3I-`?*�)(.*��?2�D�&��#���)#�)(�5�����b��;>-�<3��C4(-()�� ���� ����D3I-$�*F)/��)#�)(@2"�)#���� (��<3��C4FH�-*F&!D3I-�)#�)(D+&������D�&�#� "$���&
�<3��C4>�(-()�� ����F&!FH�-*F&!D3I-�)#���D+&������D�&�#
��������
�����
����
�������
����� ��
�����
����
���� ��
���
����������������������
�����������������������
�������������� ����� �������������� �����
�� ��
������� �� ��� ���� � ���� ���������� ��������������� � !
�<3��C4F&!FH�-*F&!=#(=<�)��#"��FH�-�� ���������(-()������D�&��#���������123456789
�<3��C4F&!�?�=#(=<��� ��<3��C4F&!���+�#�D.*$3(-()������D�&��#����!:25;4<79
.*��H�-�.����������(-()�� ����= �5Y;� �����F��.*��?2"D���.�/-D� !�()�#��DF�-)/-5�;�>-�"�#�������F��.*��?2�D� !�>��W��F&!��
K�N��&��-"D3I-2����?����.*��?2�*���)�V.*��?2$#*�����>�*D�����D32&!�-@32�.�/-D�W�.����c"-)/-��)BBCF&!D���.�/-"$�*�)(��@32=#����D3I-�)BBC=#(=<�@F-
Page 175
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����175
�=�������+-�>������� �� �&�*#��)-�S��A#"��)�-&/5Y;�����?�� 2@A5BC6DA5E9� �A#"-&/D���.�/-D� !���-"2���(-���KLM� @2"�K�N� D3I-2����?�F)/�=?�� � -)!-
���=#�#�� �����F��.*��?2����D��!��*-.�/-$�*5�;� D�+�������F?����-�����! 256486G464 684B5H789� D���.�/-D� !����KLM��&��D32&!�-@32��"�)(2����
�?�$3�!H�>-.C"F&!���K�N��&��-"2����?��D�&���A#"F&!D���.�/--&/#���A#"D��!��*-�5KdMed;5X;������!-I������?�����2G464<4;JG9���A#"-&/D���.�/-�)���A#"D��!��*-�'����-"2���F&!D���.�/-(-��
KLM��W= �.*��?2F&!FH�����F��� D� !����K�N� D3I-2����?����-"F&!���KLM��*��=�F&!� D+ !�>�*�<3��C4�)(�?*.*��?2>-)��#"-)/-#�� D3I-� fZg��� �� fYg�.*��?2�D�����D32&!�-@32�$�*>-.C"F&!���K�N� D3I-2����!H�@��D� !�>��W��F&!�*����>�*D��������F��.*��?2������(?�C4���-"2���F&!.�KLM��*��=�F&!�2��G�#�D#2F&!���K�N��&��-"2����?���D�����D32&!�-@32���-"2���>-.C"F&!���K�N��&2����?���?�-)/-� �<3��C4��D���4F&!FH��=#(=<�����F��.*��?2"@32=#����D3I-�A#"��<��� ��A#"D��!��*-�W$�*� � FH>�*.*��?2F&!FH�����F��-)/-D���=#�`��+2�.�/-
5[; �����������! 24KLBCM;7GN79� � D���.�/-�2)��F&!�����F��.*��?2��)#�����)��)#�)(D���.�/-������(?�C4'���)#���"FH�����.*��?2��Y�(��D�&��#��(���)(�?*� 5��h��i8�Q_��P� ;��&��-"D3I-2����?���2)�����.*��?2�=�(�*#-���#-�<3��C4��D���4"FH������)BBC�)(�?*+�DOV%�!��)�+)-J4�)(�)BBC-E1���<3��C4�D20F&!�?��*����>-���������� ��H2) ���������?� >-.C"-)/-�W"�H D-��(���)(�?*F&!�&��-"2����!H D+ ! ���(�-��>�*F�(#�$�*�)(.*��?2>-@��2"$(�4D�&�(�*��@2*#
5S;�0�"-���F?����-�����!256COG464684B5H789� D���.�/-D� !����KLM��&��D32&!�-@32��"�)(2�����!H$3�?��>-.C"F&!���K�N��&��-"2����?��D�&���A#"F&!D���.�/--&/#���A#"��<��5Kdj6;
>-�?3F&!�MYY����D3I-$��"@���D#2F&!@��������D����A#"���k�(-()������$��#�"D3I-�A#"()�#��lD��!��*-l���F��.*��?2l� �)(�?*� @2"��<������F��.*��?2
����I��������� �� ���-F&!"D��!��*-�����F��.*��?2�"�#���<3��C4���k�F&!�����?�(-()���*���&���*�����<3��C4D�&����-�'����
�*�����<3��C4(-()������-)/-">G*���*����@((�^�(���� ��YZ�(���>-��C&F&!�&�<3��C4�����?�(-()�$�����>G*���*����@((�^�(���WD+&��+��@���*�&�<3��C4�����?�(-()����#��Y�^�@��D����HD3I-�*��>G*���*����@((�YZ�(�����2)��F&!�������<3��C4@��2"�)#$�*D�&�(�*��@2*#� �W"D��!��*-�����F��.*��?2�)-���$3
���������� ����������������������������������������
��������� �
���������� ����������������������������������������
���������
�����������������������������������������������
����������� ��������
������������������������������������
���
���
�����������������������������������������������
����������� ������ �
�������� ��"#��$��%��&�$�# �'�(��)� *��(�������� � !
Page 176
176�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�������F>����P�+�2P�DJ64GG8755JBN9.*��?2$(�4@��F&!D���.�/-�2)���A#"D��!��*-= �
.*��?2F&!>G*>-���*�����<3��C4F&!�*����������� '���&�?3@((@���>-�?3F&!�MYY�X�>-�^�(��(-�#�F)/�(���mKn��*#�"D3I-.*��?2@��D���.���<3��C4�D20F&!�*�����������'��
� � � � �� �� �� ���
����� ����� ����� ����� ���� ���� ����� �����
��� �������������������� ������������
���� �� �!
������� �+����$�����%�&,(������ $�#�#��@(��D3I-�(���H�-�@��D���=�F&!� 5\�o�Q� �QQ��::� P� ;� H-#-� [�(���%�!�.*��?2-&/�<3��C4@��2"�)#"�?��H�-���`?*`2��� $������D32&!�-@32�@�*$.$�*� �)���&�� X� (��D3I-(���H�-�@��D���F&!����'3�@���$�*� 59��_�����P8��QQ��::� P� ;� '��`?*>G*�-�*���H�-���-"2���>�*@��.� MZ�M�� .���<3��C4F&!�&��DG !�����@((()�� ���� ��#->-(��NKn�D3I-(��F&!>G*�H�-�����-�� �D.&�-.*��?2�)(�<3��C4�D20�)#-)/-k����(���NKn��D3I-�fZg��������*����D.&�-.*��?2$3�)��<3��C4-)/-��*D3I-� fYg�"D3I-����-.*��?2��<3��C4�D20
.*��?2>-$(�4����= �� .*��?2=#(=<�� 5��� ��8� Pp �;� >-�<3��C4@��2"�)#�&���H�-�.*��?2=#(=<�F&!@������)-$3����)#����� $�%&.��+��4��&.*��?2=#(=<�F&!>G*�H�-�#�� (��>�D3I-��-+<��(��>�D3I-D��4+<�� >-.C"F&!$�%&� ML�qLM���*����.*��?2=#(=<�D+ !��H�-�>�*FH�-D3I-#���ML���� ��LM��D3I-�*-
.*��?2>-$(�4����= �� .*��?2F&!FH�����F������ 5Q� �;�2)��F&!�&�����F��.*��?2>-@��2"$(�4��<3��C4�D20F&!$�*�)(���������*������)BBC�)(�?*��(�2)(��*#�F<�
=�)/���>-�?3F&!�MYY�[�@����?3@((.*��?2�-<���F&!D���.�/->-��������(-()������.�����*����@((�^�(��
�������F>�����Q�+�"�&.*��?2D+�!�D���.�/-�D2W�-*���'��>-$(�4@���2)��D����A#"D��!��*-��*���H�-�>�*� �S�(��(-�&.*��?2D3I-
YYYYZ���#-�&����(���)��D3I-(��@��D���.���<3��C4F&!�*�����������>-(���NKn�.��.*��?2$(�4@���)�=�D3I-���H�-�#�� �*������-�� �D.&�-.*��?2�)(�<3��C4�D20�)#F&!�*�����������*#�� .*��?2$(�4����D3I-.*��?2@��D���>-$(�4F&!� �.���<3��C4F&!�*�����������*#��.*��?2$(�4�)�$3��D3I-.*��?2=#(=<��.*��?2�2)��-)/-�W"D3I-.*��?2���F&!>G*>-��������
DG�-D�&�#�)(���*����@((� ^�(����2)�����F��.*��?2=�(F<�$(�4� �*���&�A#"�)(�?*D���.�/-� D+ !�>�*��"(#-�����F��.*��?2�����HD-�-���$3$�*� >-�?3F&!�MYY�S�@����?3@((.*��?2�-<���.�����*����@((�YZ�(��
��������-����$�����%�&,(������ '. $���/��0�
��������1����$�����%�&,(������ '. $���2��0�
��������
���������� ����������������������������������������������� �������
��������!��"����#$
�������� ����� �����
���������� �%!&��������'��(�����)���#
����(*��+�� ��������&�,����-./01.2�3.14
�����
��������&��*�/���$
������5����� �������&� ���
�����!����"��#$���%�&�'���������� ��
�����!����"��#$���%�&�'���������� ��
����� ����� �
���������� �"������������!
6����&��
��� ����� ����� ����
�����
���������� �����������������
�������� �������������������� ��!"#��������$���# ������!#%
�������� ���� ����� ���
���������� �&���������'(�'������)���#����������� ���������� ���
*+,-.+/�0+.1
���� ��
�������������$,���%������������ ������2��!���
���� � ��
�����������������3�� �)����������(!
�����
�����������������3�� �)����������(!
Page 177
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����177
�6-��*- ���+�17 *-�*.����������������,8�4.�'9:;<=>?@,8��� �23'�4�+���1�
[email protected] �� !�%��:,��%����:�.Q��������%�R�5����2%%%� �&'(�+,�%�)��%��:,���4�S����7��:)5����2%%%� �&'(��%��:�T(U'V/.Q��$��������%�R�����$������;���,��� ��O'/L.�1 ,�����)����%��:,�[email protected] � ����� ��O'/L'�� !���<� �%���:���%��:,�[email protected] ������<�����4�S��$����5����2%%%� �&'(<I��$���� �����)��7���%��:,��%����:�[email protected] � ����$�����������4,�����I��W�%��:,� +,���� �� �����XY@�1�2�X(O��7���R,�,���1�2�$���,1�,�,� ���1)��2%��:,���1)�)������,�����������<�Z�� ��:%�%��:,
���� ��!"#$��$��%�&'()*+,-�������4�S�T(U'V/.Q�����T[A\CA][^�� !�4�S����7��:)�'��6_����`�6�7R)a���):7R)b�5����2%%%� �&'(
����%����:�.'c�4,��.Q�)���7����481 ,� ���2����$����
��)��7������4,��W�%��:,��$���� �������%����:4,��.'W�)��,��� �� �������%�R��7�� ��� ��
��<R,)������ ��5� ����:� !�����:�6���%�-������%��;�<R,)�� �)6� �,��<��̀ deb�1�2 �)6)����<��̀ d(b ��������4�����7��)������ �, ��)��4,�����
��76��,���� ��5� �������:�''/cfAag@���%+��,4,� �� R,�Q//���)):)������
��<R,)���2%%%� �&'(�1%%�&Y(�)��5��a)�����1�21%%�hXi�V���
�����,%��:,�.gjW��S�)6��)�
��������3 2�$�# 4(������ �56783�9:�����#������&;��:�<)� =)�(��������� !
#$%�&'(�������)#*#+,�&'(�������)#*
&�-./���0/1�����(/(��2�����0( &'(�������3$+����4�5���/.��
Page 178
178�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
���
��
���
�
��
��
� ���
� ���
�
��
���
���
�������
��������
�� ������
���
�
���
��� ���
������
�����
������
������
��
��
���� �
�
���
��������
� ���
� ���
� ���
��
��
�
��
�!
!
��� ���
���""
�""
�##
������
�������
�� ��
�� ��
�
��
�!
��
� ���
� ��!
� ���
� ���
��� ���
�
�
�
�
!
�
�
��
��� ��
�!� ��
�"� ��
�#� ��
��� ��
��$� ��
���� ��
�� � ��
�%��
�%�
�%�&
�%�'
�%��
�%�#
�%�"
�%�!
�(�
�(
�(&
�('
�(�
�(#
�("
�(!
���
���
���
���
���
���
���
���
��
��
�!
��
��
��
��
�
��
��
�
��
��
��
��
��
�!
��
�
$�
$�
$�
$�
$�
$!
$�
$
��%�� ��
�
�
�
�
!
�
�
����
��"� ��
��#� ��
���� ��
��'� ��
��&� ��
��!� ��
���� ��
� $� ��
�%��
�%��$
�%���
�%��
�%��&
�%��'
�%���
�%��#
�(�
�(�$
�(��
�(�
�(�&
�(�'
�(��
�(�#
���
���
���
���
���
���
���
���
��
��
�!
��
��
��
��
�
��
��
�
��
��
��
��
��
�!
��
�
$�
$�
$�
$�
$�
$!
$�
$
� ���
� ���
� ���
� ����
�
�
��
��
��
��
�
� ���
� ��!
� ���
� ���
��%�� ��
��
������
��
������
��
������
��
�����
��
�����
���
������
���
������
��
�����
��
������
���
�������
���
�������
���
�������
���
�������
���
������
���
������
��
�������
������ ��
����&���
����������
�����
����&!��
��� �����������
�'����
������
��(��������)*�
�!������
���&�!�
��
����� ��
!���&!��
����&�!�
��������3 2 �� ���%������� ����#�56783�9:�>.� %�"�>�������?!@ +2:���A(4��,�
Page 179
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����179
.�/��0����$1#2�23$��!$"�3�!4$�!�3�!56��������� ��T(U'V/.Q� � !�4�S����7��:)�6�7R)���):7R)���,�.Q�%6)�5����2%%%� � &'(�� ������$���,���
� !��6�7R)�������):7R)4,�������6 �2� +,���R� �%�)6���� ��<,���;
����7��:)� !�1%%�'��6_������%�R�� !��6�7R)�������):7R)4,�)��,����� k��2��6�)��� !��6�7R)�� �� ��,����2%%%� �&'(�,���+��,������-� ��4,�����������1�,�,� �V�����7����� �����)��7���4�S4,��W�)��+,����%� �&'(��,���������7��:) �������%��21 ��;�S��: 1�2S6��:4,�� �'gl@�)����������6��)��:�� ):1%%�,��� �,��$������������� ���1 �����7��:)�6�7R)����<6 �)��: $����%��-%�����7��:)�6�7R)���6,�6��)��:�� ):�� ����������)����%4�+�����+�������:��,�6��4,��R�)��
#�7�!$����!"%!6$����$��%�&'()*+,-�����)6,)����%%��:,�[email protected] ��-������)6,)����%4�S�T(U'V/.Q��������+,�)�������+ �1����7��
�$���,����T(U'V/.Q��$�����7���$���,���7��:)��;���,� !����):7R)�<����;�<I� �����������4 �����7��:)��;���,�-<2�$���� �������%�R�����:��;�� .Q�)��4,�����;�)�����)6,)��+,� �R ,���;
`.b� ���$� ��)6,)����%4�S�T(U'V/.Q� �7���$���,� !�+��,����������`'b� ���$� ���7��)6,)����%�<6 �)��:�&eY&M/�`1�,�,� �/j/Qb`Vb��$���,�����7��:)�W�%6)����� !����):7R)�+,���������=/>������%�R�%6)����<6 �)��:�&eY&M/`3b� ���$� ���7��)6,)����%�<6 �)��:�&eY&M.�`1�,�,� �/j/mb`gb��$���,�����7��:)�W�%6)%��� !����):7R)�+,���������=/>������%�R�%6)����<6 �)��:�&eY&M.`Qb� ���$� ���7��)6,)�� ����������%�<6 �)��:�����7��:)4%):�����1�,�,� �/j//`mb� ���$� ���7��)6,)�� ����������%�<6 �)��:�����7��:)4%):%��1�,�,� �/j/.
<����;�)�����)6,)����������1��� ������$�������� !�+ �1���k�n��(� �7���, �%����$����,����+ �1�����O'/L.
Page 180
180�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
char I2CInit_=0;char y;int i,j;void Relay16(unsigned int x){
if (I2CInit_==0){
I2C_Init(100000); // Call initial L2CI2C_Start(); // Start communicationI2C_Wr(0x40); // Address MCP23016 and Write CommandI2C_Wr(0x06); // Command for access IODIR0I2C_Wr(0x00); // Set DIR0 to OUTPUTI2C_Stop(); // Stop communication
I2C_Start(); // Start communicationI2C_Wr(0x40); // Address MCP23016 and Write CommandI2C_Wr(0x07); // Command for access IODIR1I2C_Wr(0x00); // Set DIR0 to OUTPUTI2C_Stop(); // Stop communicationI2CInit_=1;
}y=x%256;I2C_Start(); // Issue I2C start signalI2C_Wr(0x40); // Send byte via I2C (device address + W)I2C_Wr(0x00); // Send byte (data address)I2C_Wr(y); // Send byte (data address)I2C_Stop();
x=x/256;I2C_Start(); // Issue I2C start signalI2C_Wr(0x40); // Send byte via I2C (device address + W)I2C_Wr(0x01); // Send byte (data address)I2C_Wr(x); // Send byte (data address)I2C_Stop();
}void main(){ while(1) // Loop { i=1; // Start value while(i<32768) // End loop value {
Relay16(i); // Send Data to ZX-relay16Delay_ms(500);i=i*2; // Shift left
}Relay16(i); // Send Last bitDelay_ms(500);
}}
���$��%����3 2�"B&��� !CDEFGHDIJKL����$��%M�N��!��O�4������,<� �("&������P L��� �QPRCS!��%"��&���� ��T���0#�)�����%#�&�������� � !��� "%�����(���&�&����@�!:UV//WVV/
���������2��6�����.+ �1�������<2�$����� [����$���������%6)4 ���S����1��� �������%89��:����MFEfo.Q� `b�SI��$������
)6,)����%%��:,�[email protected] �� $����%89��:����MFEfo.Q`b�<2�$���,�����7��:)��;���,� !����):7R)�<����;���%���)��1 ��j��������1��� !��W�%6)����1�2�W�%6)%���$�����W�%6)���� ��4 ���1�,�,� �/j//��7����%�MNO@P.�I��W�1�2�$�����W�%6)%� ��4 ���1�,�,� �/j/.��7�� ��4 ��%�MNO@Pp��I��.Q
Page 181
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����181
���4�8�$ !6$9��:���%;<���������<����� ��O'/LV�������,�����������%��:,�,����dKLWmm�^Eqr�&&����)����<�)���� ��O'/LV��������%��:,�MsKLWmm\Ftu'//m����)����<�)���� ��O'/L3
#�7�!$����9%�$�O'/u.� � �,+ �1����l[0\C(� ����48�:+ ��<-�):� +,������4�+�����+�������:1�2����� �����������,���;
����7�����0(�89�:""�;<=>�33�������U&(.QvWmm������U&(.QvWmm@������ ������������'/T"#
����7�����0(�?@9�:""�ABCD�EE"�������U&(.QvWWm������ ������������'/T"#
��� ��
��� ��
���
��
��
���
��
�����
����������
���������
����
��� ��
����
� ��� ��
����
���������
����!"
����!"
��
�� ���#� "
�
�� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ���
������� ������� ������ ������ ������� ������� ������� ����� ������ ������ ������ ������ ����� ����������� ������
������
(��!�)��"��$�*���!��� �
�� ��
���� ��������
� � �
���
��
��� �
������
��������3 2+�� ���#&� ,<� �(�%#�&��������� !��� "%�����(���&�&����@�!:UV//WVV/
Page 182
182�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ���
������� ������� ������ ������ ������� ������� ������� ����� ������ ������ ������ ������ ����� ����������� ������
������
(��!�)��"��$�*���!��� �
�� ��
���� ��������
� � �
���
��
��� �
�����
��� � ��� �����
�� ������ �����
����
������
����
����
��
����
� ������� �� �� �� �� �� �� �� ��
��
������������
�����
��
�����
� ���
�����
����
���
������
�����
�
��
�
�
�����
��
�
������� �3 2-�� ���#&� ,<� �(�%#�&��������� !��� "%�����(���&�&����@�!:UVV/�����,<�����#�7X6V//�CDYK 22/
O'/u'� ����+ ��<-�):����&'(\FEfoiFrw�1�276�7:+ �1���k�n��(�)��+ �1�����O'/L.
O'/uV��$�������47�:1�2,���:+��,+ �1����7���, �%5���7x:����$����
O'/u3�<���48���1��%��:,�[email protected] �1�2%��:,�,���4�+�����+�������:
O'/ug����+ �1���� ����)����$��������ONY�1�2����:%�%��:,�[email protected]
��*����$��+,-�./�������*�0,+12%�� 3�������3�4�56*�0,+12%7� ����3�8 ���/8*������9��:;*�/��8<����;3����������3�;8��*��;��=�;*
mikroC
Page 183
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����183
�6-��*- ���+�1,*-�*.������A���B��-C�-D-*���E�F7G��� �23'�4�+���1�
+�,����-��6_,6<6)���(TUX/V� ����� �� ����%4�+�����+�������:4,�5������)��<<�%���������7�� :1�25����2%%%� �&'(�+,���2%%%� �&'(�<2 ����� �����������)$�1���������������2���, �� R,�/u.��_�+,�4��<$�� !�)��������$������������$����1 ������,�?���
���� ��O'.L.�1 ,�����)�1�2���<�,�����+�,���(TUX/V� ������� ��O'.L'�1 ,����������%��:,�����)���@YKL(TUX/V�SI����1%%�7���$�������� 2,�������)�������������$�����,�����%%��:,�MsKLWmm� \Ftu'//m� ����������)��������%�����-��)��:1%%�hXi� 4,������������)���,�����%%��:,�,����dKLWmm�^Eqr�&&������� ��)����<�)������������-��)��:�&Y(�)�����
#�7�!$����!"%!6$���= %>���./?0������<��)������)6,)��5����2%%%� � &'(�<I�)������%�I�1�,�,� ���+�,���(TUX/V� �SI��-����F+E
���G���������2�.�1�1�2�F+�����G���������� ��2�.�1�+,���;�)�����)6,)����%+�,���(TUX/V��,���;
����(04��)���������4��)��������������H� �������(
/���0I'������JJ�7I�1�0/���0I'�2������������� ����(
#$%����G���/���.���4����K������ 3�+#+,����G���/���.���4����K������ 3�+L M
������� 3 �$�# ����)� $&��O�$4() ���O�4�������)�,<� �(�%#�&�!?@Z2+
������&&�����.�.�/G1N�� OPQ �R.6 � ��6��1/1��0G1�����G�����K.�141
�ST/G���
Page 184
184�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
���
�����
�������3 �$�# � ���� ����#��[6!?@Z2+�$&�����<T��%�)�����%#�&�!?@Z2+
��
� ��
�� ���
�����
�� ���
�����
���
���
���
���
�������
���
�
�
! �
��
� ��
��
���
"�
���
"�
���
"�
���
���������� ��������
��
���
� �
���"�
#��$��
��������
%�� ���
������
&'()*
��/�N�/���0�U+@�2����JJ�7�K������ 3�+
&'(�����JJ�72���K������ 3�+���G���/������������&�/I����������0(�(1��G����4������&�� V/��(���0(W ��/�N�/���0���/.��
���G����S(��H�6.(�1+PU#E�
��/�N�/���0�U+@�2��/���0I'���JJ�7I�1�0
��S�0�(�S(�1���(�����G�����������/I���G�����G�������S�� VXY<Z[AY\Z]^W
A7 A6 A5 A4 A3 A2 A1
1 2 3 4 5 6 7 8 9
D 7
1 2 3 4 5 6 7 8 9
D 6 D 5 D 4 D 3 D 2 D 1 D 0 A C KA C KR /W
1 1 0 0 0 0 0 0
S ta rt B it �������������� ������������ ������������� ������!���"� �#$%��!��&'#(!�� )�����"���
�*+,*�-.*
A7 A6 A5 A4 A3 A2 A1
1 2 3 4 5 6 7 8 9
D 7
1 2 3 4 5 6 7 8 9
D 6 D 5 D 4 D 3 D 2 D 1 D 0 A C KA C K
1 1 0 0 0 0 0 1
S ta rt B it ���������������"���������$�)�������������/�������0��%!'#(���"���$�)�������
�*12�-.*
R/W
�������3 +�$�# "#��$��%��&��� ����0#�)�����%#�&�!?@Z2+�=)�(��������� !
Page 185
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����185
`.b� ��%6)��6�)���`Xwf\wb��7��1<������2%%%� �&'(��)���7������%������
`'b� �����1�,�,� �y(/��7���2%R����)������)6,)���7��������������%+�,���(TUX/V
`Vb� �����)$�1�����<6 �)��:����(TUX/V��)��������������SI�����2���,�<6 �)��:)���?�1 ,���)������O'.L.
`3b� �����1�,�,� �y(.��7���2%R����)�������������������<��+�,���(TUX/V
`gb��������������<��+�,���(TUX/V�����-%4�������������<$�
`Qb� ��%6)��R,� `XwC^b� �7���R)6��� �� ���������1�2�$���,���%� ������ k��2%� ����
<����;�)�����)6,)����������1��� ������$�������� !�+ �1���k�n��(� �7���, �%����$����,����+ �1�����O'.L.
���������� ���� ��������
� ��������� ���������������� ������������������������ !!"
#������������������$��%�&����������'��(������!))"�*��+�,������-./�����0�����!)1)���0�2&3����
4#!���������5�����6��7��3�5$��������*�������89:;<=���,>���������'��(�����(���./���*��
'#?���������5�����6��7��3�5$��������*�������89:;<= ��,>���������'��(�����(���./���*��
@#)�����������A��,�������6��7���BCDEF=CGE<:�HCDI9�"�,>���������'��(�����(���./���*��
��#�������������A��,�������6��7���BCDEF=CGE<:�HCDI9 "�,>���������'��(�����(���./���*��
� #�� 2*�7J&����������2&�,>����4 2*�7J&����2*�2&A�������2�&
�!����/�������A��,�����������3��*./��&��A��,�����������&����%���&�*K�� !!���&�L%/�%5(��������������%M
���� ����3 ���;&����;#�� ���0��������\ 4%#�� �%#�&�!?@Z2+
Page 186
186�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
���$��%���� 3 �"B&��!?@Z2+JDIJKL� ���$��%M�N��!��� �QPRCS!����,<��#�������O� �(�� "&������� !�#��;����0#�)�����%#�&�!?@Z2+���T���)�(�)��� �0]
int Dat,Dat1,Dat2,High;char Version,Unused,Low;char *Text1="CMPS03 Ver.";char Text[6];void show(){
ByteToSTr(Version,Text); // Convert data to stringLcd_Out(1,11,Text); // Show LCD line1Dat=(HIGH*256)+Low; // Sum low byte + high byteDat1=Dat/10; // Convert to degreeDat2=(Dat%10)&0x0F; // Convert decimal notationWordToStr(Dat1,Text); // Convert to stringLcd_Out(2,1,Text); // show compass degree ==> LCDLcd_Out(2,6,"."); // decimal pointLcd_Chr(2,7,(Dat2+0x30));Lcd_Out_Cp(" Degree");
}void main(){
Lcd_Init(&PORTD);Lcd_Cmd(LCD_CURSOR_OFF);Lcd_Cmd(LCD_CLEAR);Lcd_Out(1,1,text1);while(1){
I2C_Init(100000);I2C_Start(); // issue I2C start signalI2C_Wr(0xC0); // send byte via I2C to cmps03 addres 0xC0I2C_Wr(0x00); // send byte (register adres)I2C_Repeated_Start(); // issue I2C signal repeated startI2C_Wr(0xC1); // send byte (request data from EEPROM)
Version=I2C_Rd(1); // Read revisionDelay_ms(5);Unused=I2C_Rd(1); // Read unusedDelay_ms(5);High=I2C_Rd(1); // Read High byteDelay_ms(5);Low=I2C_Rd(0); // Read Low byteI2C_Stop(); // Stop I2CShow(); // Show on LCDDelay_ms(500);
}}
���������2��6�����.
+ �1���1%������$����� !��'� ���� ���1��� !����)6,)����%+�,���(TUX/V�5���%� � &'(� �7����������<6 �)��:1)��24%):�����)��������+,���6��<6 �)��:1 ,��R�����%��:,��<6 �)��:1 ,����1%%���%�`������1)�4��4,�������b��<6 �)��:���������_�1%%�2���,�`.Q�%6)b
�����'� � !�����$���������4,�<��+�,���(TUX/V���1 ������������� )�����n��7���$�4 1 ,�5��+�,���O(Y� � +,��R�����%��:,<2�$�4 1 ,��%����,%����+�,���O(Y�<����;��$��������6_��������4,���4%):%�1�2��������<6 �)��:�������1%%�2���,������������,����./��7�����4,�����6_���<�6����������_� ����_n�4,�<���������$���1 ,�� !�����_�6������������_�
Page 187
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����187
���@���;!6��6�9"A9��$B��$"�;�6= %>���./?0��7����������,�6_������+�,���(TUX/V������1����$����� R,�<I���6�7R) $����% ��%1)������6_���
�����6����;��;7�� �2+���:������$���,�6_��������6��z7�2 $����%5���������+,�)��� {�� �������<6��=/>� ��������6�7R) $����% ��%1)��+�,����(TUX/V�SI��-������Q�������%��:,�@YKL(TUX/V���%+�,���(TUX/V�<2� �6)�:�,)6, ����,�%)6,)�;�4�����1������� ��%1)�����;�)��,���;
`.b����+�,���(TUX/V�������%7�;�����,����������+�,��4 ����6_�������, �6)�:�.����;�
`'b����+�,���(TUX/V�������%7�;�����,����������+�,��4 ����6_)2��������, �6)�:
`Vb����+�,���(TUX/V�������%7�;�����,����������+�,��4 ����6_�)���, �6)�:�.����;�
`3b����+�,���(TUX/V�������%7�;�����,����������+�,��4 ����6_)2���)���, �6)�:
� !���� 6;� R,��� ��%)�;�����6_��������6����+�,���(TUX/V� +,�+�,��<2��-%��������6��;4�������������<$���7���1�24��)��� ��%)�;��������������<���48��;�����;�����
�!
� ��
�"�� � �
���
�!
�� ��
�#��
����
������
�
�
�
�� �� �� � �� �� �� �� �"
�!
���
!
!$
%���&
'(���������
��
� �� �� �� �� ) * � � �� �
�
�
��
��
�
!�
���� ������
��
��
��
��
��
��
��
� ��
�*
�)
��
����� ����
��
�+� ,
��!
��
�-.�/��
-0$1��$.
��#23
�� �
��
��
���
���
���
�
���� ��
���
��
��
���
����������������������
�����
���
� �
���
��
��� ��� �
�
� ������
�!
�*������
�������3 2-�� ���#&� ,<� �(�%#�&��������� !��� "%�����(���&�&����@�!:UV//�,(����0#�)�����%#�&��̂%�0]�!?@Z2+
Page 188
188�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
���4�8�$ !6$9��:���%;<���������<����� ��O'.L3�������,�����������%��:,�,����dKLWmm�^Eqr�&&����)����<�)���� ��O'.L3��������%��:,�MsKLWmm\Ftu'//m����)����<�)���� ��O'.Lg
#�7�!$����9%�$�O'.u.� � �,+ �1����l[0\C(� ����48�:+ ��<-�):� +,������4�+�����+�������:1�2����� �����������,���;
����7�����0(�89�:""�;<=>�33�������U&(.QvWmm������U&(.QvWmm@������ ������������'/T"#����7�����0(�?@9�:""�ABCD�EE"�������U&(.QvWWm������ ������������'/T"#
O'.u'� ����+ ��<-�):����(TUX/VwFrw�1�276�7:+ �1���k�n��(�)��+ �1�����O'.L.
��������3 2-�� ���#&� ,<� �(�%#�&��������� !��� "%�����(���&�&����@�!:UVV/�����,<�����#7X6V//�CDYK 22/
������ �����
� ������� ����
����
������
����
�
���
��
����
� ������� �� �� �� �� �� �� �� ��
��
������������
�����
��
�����
� ���
�����
����
���
������
�����
�
��
�
�
�����
��
�
�
���
��
��
���
������
��
��
��
��
�#(�4���������5�$/6�00
�����
���
� �
���
��
�� �� ���
�
�
�
�
Page 189
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����189
O'.uV��$�������47�:1�2,���:+��,+ �1����7���, �%5���7x:����$����O'.u3� ��%1)���6_�����;�1�����-�+�������6����1��+�,���(TUX/VO'.ug� ���+ �1����<����;��,������%+�,���(TUX/V� ������4 ���6_���)���?�1���)��< �%5�����$����5������+�,���O(Y
./������ +�-�4���*��8��:�#;�<>��:;*������?@AB&C�./����.����4����D���*������*;*E�:;*������?@A&C���: ���D��./8����. E��=;./����.�������*��*���
� ����� ���
��� � ��
�
� ��
mikroC
Page 190
190�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�������������?CDEF ���!"%!6$$�@����������� ���=%2� 6G�B= %>����� ���3���# $�����$"�%�%���� &���"��# � �$ �6%� �����46�R�4@��/�� ��!������������ �
���� ���� #�'�'�4���@2'#%����� >-S<T���� @��)*,+-���� #.�%���� $�4D�"3����@�$� � �������(%�# ����������������( %�� �������
@����"3����7��#%������E@2'U����%�R�4@�# $�����$"�%�%����.5���3������%�@������'���!�������V�7�����������E����@2'���#%�������ED��'��4��%�����@2'��������������������� �
�����������������?CDEF ��F�CHDIJ
@2'@�����3����������� �'�@�'�������������������(��7�.����"���3� �@2'����D��'�����4�@2'�������"��D�@2'���01���2���5��V�7��#%�����>-S<T���
������������� ������void Soft_I2C_Config(unsigned short *port, const unsigned short
SDA, const unsigned short SCL);
������port������7��:)���4�+�����+�������:�����$���,� !��XY@�1�2�X(O
SDA�����)$�1���������4�+�����+�������:�)������������� !����XY@������/��I��m�`������������;�b
SCL�����)$�1���������4�+�����+�������:�)������������� !����X(O������/��I��m�`������������;�b
���������������:Soft_I2C_Config(&PORTB, 1, 2);
��������� ��������F;�<��G� �F=�;� ��;������� �����8������:��0G%�����:��A-1����:��0G�����:��A�+
�����������������?CDEF ��F?EKLE
@2'��'���AA� �><:+<�����"3����������5��7�4�7'� 6%�����������������4�@2'���01���2����ED��'�����4�01���2���I2C_Init�����
������������� ������void Soft_I2C_Start(void);
���������������_Soft_I2C_Start();
Page 191
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����191
�����������������?CDEF ��F)MKN@2'����7'� 6%7����G�#��D������� ���%0@��������������@2'���01���2����ED��'�����4�
@2'���01���2���Soft_I2C_Config��(%��Soft_I2C_Start������������������ ������unsigned short Soft_I2C_Read(unsigned short ack);
��� �� ���������.�4%):<���R ���: ��8�)6,)��,���������ack������ !��=/>�<24�� �� �������%����`@A0BCDEFGHFb����� !�������?�<2 �� �������%���
����������������Etake = Soft_I2C_Read(0);
�������;������:�;���4��;H��� <���I����$�3#�./���#���� JK'L
�����������������?CDEF ��FOLIEM����01���2�����7'� 6%7����G�#�����#�4��������������@2'���01���2����ED��'�����4�
@2'���01���2���Soft_I2C_Config��(%��Soft_I2C_Start�����
������������� ������unsigned short Soft_I2C_Write(unsigned short data);
������data�����������.�4%):�)����������4 ����2%%%� �&'(
��� �� ���������=/>����4������56,7��,��6,�I;�
�����������������Soft_I2C_Write(0xA3);
�:/8�:�;����&M1C��*3����������
�����������������?CDEF ��F?ECP����01���2������AA� �><-F�@�'������������������� ������void Soft_I2C_Stop(void);
���������������Soft_I2C_Stop();
Page 192
192�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�6-��*- ���+�11 *-�*.��9:;<=>?@,8���������������,8�4.�'�� �23'�4�+��F%HIJ�1�
�� |6%�)6�����'/�� !����)6,)��4�+�����+�������:�U&(.QvWmm`@b������U&(.QvWWm���%�[email protected] %��:,��%����:�.Q�����5����2%%%� �&'(�+,����+�,��%� �&'(�k����4�+�����+�������:5���������M(3aXY@1�2���M(VaX(O�1�������������89��:����['A
�$
�
���
�
��
���
��
�����
������������
���������
����
��� ��
����
� ��� ��
����
���������
����!"
����!"
��
�� ���#� "
�
�� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ���
������� ������� ������ ������ ������� ������� ������� ����� ������ ������ ������ ������ ����� ����������� ������
������
���������� � ���� ���
�� ��
���� ��������
� � �
���
��
��� �
������
������� � 3 �� ���#&� �0#�)������������������� � !� �#;,<��������,#*�$&�B_ ��<��(� ZS`JaP L�� �QPRCS!���%"��&���
Page 193
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����193
�� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ����� ���
������� ������� ������ ������ ������� ������� ������� ����� ������ ������ ������ ������ ����� ����������� ������
������
(��!�)��"��$�*���!��� �
�� ��
���� ��������
� � �
���
��
��� �
�����
��� � ��� �����
�� ������ �����
����
������
����
�
���
��
����
� ������� �� �� �� �� �� �� �� ��
��
������������
�����
��
�����
� ���
�����
����
���
������
�����
�
��
�
�
�����
��
�
������� � 3 �� ���#&� �0#�)������������������� � !� �#;,<��������,#*�$&�B_ ��<��(� ZS`JaP L�� �QPRCS!���%"��&��������,<�����#�7X6V//�CDYK 22/
$����%������,����;<21)�)���<�� |6%�)6����� '/�)���� ���89��:����XC}w~&'(�1����$���� �������������7��:)�,?����4�+�����+�������:�U&(� �����)6,)����%�R ���:�2%%%� � &'(� $����%������,����;�����������M(m� � !����XY@�1�2������M(Q� � !����X(O�,��1 ,���<������)������ �� O''L.� ���)�������+ �1���k�n��(�����������, �%����$����1 ,���+ �1����� O''L.
���4�8�$ !6$9��:���%;<���������<����� ��O''L.�������,�����������%��:,�,����dKLWmm�^Eqr�&&����)����<�)���� ��O''L.��������%��:,�MsKLWmm\Ftu'//m����)����<�)���� ��O''L'
Page 194
194�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
���$��%����3 2�"B&��ZS`J� !HDIJKL����$��%M�N��!��O�4������,<� �("&������ZS`JaP L��� �QPRCS!��%"��&������T���0#�)������������� !�#��;�������,#*��� "%�����(���&�&����@�!:UV//WVV/
char I2CInit_=0;char y;int i,j;void Relay16(unsigned int x){
if (I2CInit_==0){
Soft_I2C_Config(&PORTC,7,6); // Call initial L2CSoft_I2C_Start(); // Start communicationSoft_I2C_Write(0x40); // Address MCP23016 and Write CommandSoft_I2C_Write(0x06); // Command for access IODIR0Soft_I2C_Write(0x00); // Set DIR0 to OUTPUTSoft_I2C_Stop(); // Stop communication
Soft_I2C_Start(); // Start communicationSoft_I2C_Write(0x40); // Address MCP23016 and Write CommandSoft_I2C_Write(0x07); // Command for access IODIR1Soft_I2C_Write(0x00); // Set DIR0 to OUTPUTSoft_I2C_Stop(); // Stop communicationI2CInit_=1;
}y=x%256; // y=low Byte of dataSoft_I2C_Start(); // Issue I2C start signalSoft_I2C_Write(0x40); // Send byte via I2C (device address + W)Soft_I2C_Write(0x00); // Send byte (data address)Soft_I2C_Write(y); // Send byte (data address)Soft_I2C_Stop();
x=x/256; // x=high byteSoft_I2C_Start(); // Issue I2C start signalSoft_I2C_Write(0x40); // Send byte via I2C (device address + W)Soft_I2C_Write(0x01); // Send byte (data address)Soft_I2C_Write(x); // Send byte (data address)Soft_I2C_Stop();
}void main(){
while(1) // Loop{
i=1; // Start valuewhile(i<32768) // End loop value{
Relay16(i); // Send Data to ZX-relay16Delay_ms(500);i=i*2; // Shift left
}Relay16(i); // Send Last bitDelay_ms(500);
}}
���������2��6�����.+ �1�������<2�$����� [����$���������%6)4 ���S����1��� �������%89��:����MFEfo.Q� `b�SI��$������
)6,)����%%��:,�[email protected] � � $����%89��:����MFEfo.Q`b�<2�������89��:����XC}w~['A� �7���$���,���)6,)����%�R ���:�2%%%� �&'(����1����7��:)�������������<����;���%���)��1 ��j��������1��� !��W�%6)����1�2�W%6)%���$�����W�%6)���� ��4 ���1�,�,� �/j//��7����%�MNO@P.��I��W�1�2�$�����W�%6)%� ��4 ���1�,�,� /j/.��7�� ��4 ��%�MNO@Pp��I��.Q
Page 195
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����195
#�7�!$����9%�$�O''u.� � �,+ �1����l[0\C(� ����48�:+ ��<-�):� +,������4�+�����+�������:1�2����� �����������,���;
����7�����0(�89�:""�;<=>�33�������U&(.QvWmm������U&(.QvWmm@������ ������������'/T"#
����7�����0(�?@9�:""�ABCD�EE"�������U&(.QvWWm������ ������������'/T"#
O''u'� ����+ ��<-�):����XC}w&'(iFrw�1�276�7:+ �1���k�n��(�)��+ �1�����O''L.
O''uV��$�������47�:1�2,���:+��,+ �1����7���, �%5���7x:����$����
O''u3�<���48���1��%��:,�[email protected] �1�2%��:,�,���4�+�����+�������:
O''ug����+ �1���� ����)����$��������ONY�1�2����:%�%��:,�[email protected]
��*����$��+,-�./�������*�0,+12%�� 3�������3�4�56*�0,+12%7� ����3�8 ���/8*������9��:;*�/��8<����;3����������3�;8��*��;��=�;*
Page 196
196�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
Page 197
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����197
����������� ������ ������������������������ ������!"��#�$�%���&������'()���*�+,�-./0��123�45��6�6��/������� ��7�89�9�:�,����*; �����/03�48928*<<9��=�����>�892�9��9��?9��@�$�AB������������5�4���2/C9)9�D923�48�1�61;6 ���*�/0��1�9������������ ������������� ���������������� !"��#$%&"'$'(���!")�*��'" �+',(*!-�D923�������@����;��E 8�1������� ������F�G;;6���������������������� ���������������������������� !"���� �G�H��#$��� ���%� ��&���'�$���(�������������������� )***+���#$
8928*<<9�/03�43��9��,���G;;�������H�;�412�892I4����I49��J�"���!%K�892I4�����J�"��AL"%K�8928*<<9��9MN�9��O������$�A$P�Q��7R%�G�H892���� ������8��'��O��S��O���$"�Q���%��23��H;;�=�892EH�1�I9I4����I49�412�*�
�*12�9)I) �����/03�4�9��,���G;;�0T5�4G���5U0���12619�EC900+��3�� ����FVW7XXXK5U0G��)8*<<9�H�9����&��,E,���������YZ�[\>]�I)�^�X�O��!O"�L_�!"%K�5U0G��)8*<<9��,E,����&�H�9���������@7�>`FF�I)�@�$�A$ ��%K�5U0�������6��I�920�/����a���9/,�b7cF\dFI)�@�$�A$ ��%K�5U01*� ��D��,�������Z�]dFe�I)�Z����O���_�$A!JL$"A�%K�5U0G8�)f��*1��I�[8�1���92��*��������@Yg[F]`�I)�@�X�_%���&��4�
�����+�,- �*.�*/����0��1�����'������������������ ���
�� �23'�4�+���'�!"#$%������5�����
Page 198
198�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
./0.��1�231�1 4���������5���!")�*��!")6&!"�*�5$ !"7�%!-����a���;,�3�4������@����/C9)9�3����������I98*<<9�/03�4��&���*��0�=�I96�
]h�I9I4����G;;� ������������Z�"��iL"�Q��Zi%���,-. +*/�01 1��02 3�3� "��$4567889778���:�;-2<��F>
Fh�I9I4����I49G;;� ���� ��������Z�"�� �!� Q� �Z�%��,-. +*/�01 1��02 3�3� "��$4567889778���:�;-2<��#=
=h�I98*<<9��9MN�9� ���� ��������7�A$P� Q� �7R%��,-. +*/�01 1��02 3�3� "��$4567889778���:�;-2<��]\
:49�9���������8��'�EH�0I98*<<9�/0�4)3�4)9��+,�0�� ]�I96��I9���� �����8��'����S������$"�Q���%��,-. +*/�01 11��02 3�3� "���$4567889778���:�;-2<��[
3��9�/C9)9�I)������@����3����������89�9�:�������G;;/C9)9�5�4��9���92���2�C9���5�4E9�;,�61;6 �3��0E,8��������7ic�;,��e�:j)� V�G�H�0E,8���������^Y^�;,��d�G�H�[8C9��*;�C9�*;�9�����3�4)9����������89�9�:8� �5�4�*)�0T
�]%� ���������98�������8��'�������������98�����I9��7R���&�I9�9��+ �8*<<9��9MN�9�:49��&�����8��'�I9��7R���&�I9,�+ �8*<<9��9MN�9
�F%� ����I*T1I)8*<<9��9MN�9
�=%� �����9�8 ��8*<<9�I4���,�+ �� ��j)��9)�����1)��92%
�>%� ����I;I98*<<9��9MN�9� �I;I9IjT�����)%
�V%� ����*��98*<<9��9MN�9�3����0/C9)9�3������98����
�d%� ��������I) �����8��'�3����0/C9)9�3�����8��'
3����/0�]Fk]�G8�)5�HG����9�/C9)9�I)������@�������/C9)9�3���������
������@������H�;�412�,'���0E,8�����*18�)G�H�*;I4�����������l�G�H�0E,8����;*'�'�����mno��,'���0E,8���������l�3�48C9��*;����I4����I49�E9��*1 ��������2����;,��@�m����3����0�*;I4����I4���� ���EH/22:��8�)�I49�9/9)I9��Z���I498�������l�E�6�;�\�;,�����]�5;���aEH:�92/�5�2*)�0E,8��������mno�3����08�)I4����I4���/0�4)�9�8�)E9�;*8I4���EH:��8�)�92*)�0E,8��������mno�G�418�)���92*)�����l�E9��*T������l�EH����I4����/9)I9��Zi�G;;� ���
Page 199
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����199
������������ ��
������������������
������������ ����
������������ ����
��������������������
����� ���������
���������� !"
#�$%�&�'()��*+�, *�����-����.-/��0��01$&�2&�*
����3�������4
.���
�����51�(��.�-66
��
� ������789:;78<=�>?@:?@�"A<B=7
����4 � ������������'��#�$%�
� ������,�� ��������
� �#�$%�C�,D�
����������
�����
���������
������ ����
������������ ��������������� ���������������� ���������������
Page 200
200�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
���I4���3�;*'�'����a��G'���mo��;,��e�3��0E,8��������ZY^%�EH�U��+�4�p��*;G'������o��;,��=�3��0E,8�������l]%�Uj)/C93�4��,��9�,������*���IjT���9��0�9��a���;,�514�Ej)89�9�:3�4��H�2���E9�G'��/*T)8)3��9�61;6 �E*)�1H�9��I02�G�H�9�I4�����+�5��3�4��,��9����*�I)I4���IjT�
�49�619�:0I)8*<<9��9MN�93�����������0T89�9�:����5�4:j)�>�6�96�
]h�619�:08*<<9��9MN�9��*�q>�Uj)�/�9�*;619�:08*<<9��9MN�9D923�� �^7r%
Fh�619�:08*<<9��9MN�9��*�q]d
=h�619�:08*<<9��9MN�9��*�qd>
>h�6�9I)�0E,8�����^@lFqF
�*)�*T�619�:08*<<9��9MN�98�)8 �3����������6��V@st�/06�,8���Fe@st
E9�I4���I49)�4��89�9�:8� ���&�I*T����9�3�4)9�������@���� �+�/C9)9�3���������5�4�*)�0T
�]%��C9���3�4I9� �l7>q�Z�� ��&�,�+ ��I9�l7Vq�Zi�G�H�l7=q�7R� ��&��9��+ �+�4�/*T)�C9���3�4I9+���/03�4�a���;,� �����8��'��&�I9+����9��+ �
�F%� �C9���619�:0I)8*<<9��9MN�9/03�4�C9���E*)�1H�9�/C9)9�E9�;,����@=Q���@e�G�HI*T1I)8*<<9��9MN�9E9�;,��7R��3��0E,8��������7ic�3�4��)�*;619��4)�9�I) �����8��'�8C9��*;619�:0�4)����3�4�C9�1�9619�:0/C9)9�I) �����8��'
�=%������'8I)8*<<9��9MN�9E9�;,��7Rb�3��0E,8���������^Y^�3�4��)�*; �����8��'
�>%� �a���;,� �����8��'
�V%��a���;,� ������98�������2�9��U�;,�����bc�3��0E,8��������7ic
�d%��I02�I4���5�/0�0E,8��������mno��+�8*)3�4������������,��4�/C9)9�
�[%� �3�4�9��*;k8�)I4����8�aE8�;����� ��2�9���1E8;G'���mo� 3��0E,8��������^Y^��:49;,��0T�U���&��u]v�G8�)1�9�9��*;8�)I4���3�5;���*T�p��8�aE8�;����G�41
�\%��9�I4���/0�*;5�4E9��0E,8��������mno�Uj)�9��9�I4���/0�0E,8�����*1�0T�EH��&��9��6�02��G'���mo���2*����*�,
�`%��C9I4���5���H�1�f����/C9�9��*;k8�)�I4���3�5;��:*�5�
Page 201
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����201
./0/���8����1�������3����0/0�C9���3�45��6�6��/������� ��7]do\[[q\\[�/C9)9�3�����������98����
�����/0�C9�9������/*T)���Ej)��&� �����8��'�G�H3�4)9��+02)�=�I96���ZiK��Z��G�H��7RG�H�412619�89�9�:I)������@����3����������89�9�:/0EH�C9���3�4/C9)9�5�4/*T)�98����G�H8��'�3����/0�]FkF�G8�)�9�������5��6�6��/��������1��*����/C9)9�3������������2�*1��j)EH��&� ������98����G�H0��*1��j)�4)��&� �����8��'
������������ ��
������������������
����������� ���������������������
���
���
��������������������
�����
������������ ��
������������������
��������� ���������������������
���
�����������������
�����
���
���
�������������!�� �"# ���$�$ ������� �%��"&'��(��(')�&���)�!(��������
Page 202
202�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
./09�:���1�;�������8��<= ����>�����5
./090.�?@��=�� �Spi_Init��&�'()���*��C9���6�9��,��4�G���9�������G;;������9��?9����26�9�9��?9���H�;�412
]h�/C9)9���&������98����
Fh�619�:08*<<9��9MN�9�oAO$q>
=h�8:9�H�2 ��,)I)I98*<<9��9MN�9�E,�� uev
>h��9�8�)I4�����,�IjT�/0I;I9IjT�
Vh���1E�*;8*<<9�,�+ ��I49�9/0�C9G���)�j)��9)I)���6���
8C9��*;�9���*;G��)6�9/05����&��9��9��?9��0TEH�4)��02�3�4'()���*��Spi_Init_Advanced
������������� ������void Spi_Init(void);
����������������Spi_Init();
./090/�?@��=�� �Spi_Init_Advanced��&��9��C9���6�9��,��4����2/C9)9���&������98������619�:08*<<9��9MN�9�oAO$q>���1E
�*;8*<<9�,�+ ��I49�9/0�C9G���)�j)��9)I)���6���� �8:9�H�2 ��,)I)I98*<<9��9MN�9�E,�uev���G�H�9�8�)I4�����,�IjT�/0I;I9IjT�
������������� ������void Spi_Init_Advanced(unsigned short master,unsigned short data_sample, unsigned short clock_idle,unsigned short transmit_edge);
������master� ������������ ���������������������������
MASTER_OSC_DIV4 //���������������� �����������������!���"�#$%&'(MASTER_OSC_DIV16 //���������������� �����������������!���"�#$%&')*MASTER_OSC_DIV64 //���������������� �����������������!���"�#$%&'*(MASTER_TMR2 //���������������� ������������������+��,���� �-SLAVE_SS_ENABLE //� ��.���"/��� ��0����������� � 0����1SLAVE_SS_DIS //�/����"/��� ��0����������� � 0����1
Page 203
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����203
data_sample� �23�� ���������!���� � 4++�"�������/56�� �7DATA_SAMPLE_MIDDLE //�� 4++�"�������89�����!�������� :2;�09DATA_SAMPLE_END //�� 4++�"�������89�����!�2��7�6��� :2;�09
clock_idle� �23�� �����<���76/9�����������������CLK_IDLE_HIGH //���=�4��76/9��23��+/��>)?CLK_IDLE_LOW //���=�4��76/9��23��+/��>@?
transmit_edge� �23�� ������"������ �"�� �!�����:����,2LOW_2_HIGH //�����:�<:��!���09�������������2�897+���>@?�,2�23�>)?HIGH_2_LOW //�����:�<:��!���09�������������2�897+���>)?�,2�23�>@?
����������������Spi_Init_Advanced(MASTER_OSC_DIV4, DATA_SAMPLE_MIDDLE, CLK_IDLE_LOW,
LOW_2_HIGH)
90./09�?@��=�� �Spi_Read��&�'()���*�8�)6�93��*1G���buffer �5�+�4�8*<<9��9MN�9�G�H��*;6�9I4�����*;�9
������������� ������unsigned short Spi_Read(unsigned short buffer);
����������������short take, buffer;
...
take = Spi_Read(buffer);
������������� ������������������������������� ���take
90./0A�?@��=�� �Spi_Write��&�'()���*�8�)I4���5�2*) ������������2I4���3��*1G���dataEH:���I02�5�2*)�0E,8����
���mno�G�H��,��4��9�8�)I4���
������������� ������void Spi_Write(unsigned short data);
����������������Spi_Write(1);
�������!"��� �������#������$�"�����������
Page 204
204�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�6.��*. ���+�-7 *.�*/����8��9:--���;���'��<< =�.>.*����?��&� ��
��� ����8A�����<B�4/C8�� ����������4�7!���� ��09���!���"�62� � �89����� �/�!��""������62� � �89��������23��4�7!��;0��DE�(F--�,�G8�2��������/+/����23�������HIJEK�;4������87�)-�"/�
��<������4���B�AC//�:�;�8����DD1<��E����8F G 1����;4������87��� �2���������:�<B��)-�"/����8���� 56��-��!������� <��0�����������587��!���874,����/�!�L!� �"""�������;4��<89������������:��6�-@DMN������ <���� ���� 56�,���,1��8A7��O-PQ�<B��ORPRS :2�89� T-UV)������ +������ �7����87����:�� 8+/���� ������ ������,�G8� �DE�(F--
������� *+�����,&�������( ���� ���,-.�" �%���������������� �� /���0�12
��
��
��
��
��
�
�
�
�
�
�
�
���
�������
�
�
���
�
� �
�
�����
�����
����
����
����
����
���
������
���
����
������
���
����
������
��
����
�����
��
����
������
��
����
�����
��
����
�����
����
�����
�
����
����
�
�����
�
�����
�
�����
�
�����
�
����
�
����
�����
�
����
����
�
�������� ���� ���� ���� ����
����� ���!"#�$%!&!"%!&#�'()(*+�,-+.�/����012����3���1���44�5�����������6���6��
%&'�(���$���� ���$�"�)*+*
%#'�(���$���� ���$�"�)*+,
���������#78�$9:;8�<=>?+�#?@@(A�&B=+AB)�,-+.�/����012����C0C��D�E������FG����6��������
%&'�(�����-��./��"����0�0���%#'�(���-��./��"����0�0���
���������H!�$I?+>?+�HJ-=�K()(*+�,-+.�/����012�������L�����44�50���DFG�
%&'�(�$�$�1���������2-�� �"3�������4���������1�5�6789�5���� �3:�:���;<&=>%#'�(���$�$�����2-�� �"3�������4���������6789�5���� �3:�:���;<&=>
���������KM%N�$I?+>?+�OBP(A�%BP=�&B=+AB)�,-+.�/���� �� GQ���3���F1����������3�0���DFG�
%&'�(�3:!����:��"����0�0��������4����?�.@�������4�����:�4� 3�A�! "%#'� (� 2��2��.@�������������$4��""�� ��"�������4��
����R�ST�������%R�ST��%���$%!&�%J+J�,-+'.�/����L�Q�16�3���1�������
Page 205
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����205
�������*+��� ������'�������������� �� /���0�12
��� ��� �� ���� ��� �� � �� �� � �� �� �� �� �� �
������������������� �
��
���
���
���
� � � � � � � � �� �� �� �� �� ��
���������� ���������
�;E�����=�4;H �31���4���B�AC//DE�(F--��8 8+/���� ���� �"������ �������� �"����:�/+/����587���4�874��������!�7�!��� �����
�9;0�� 8+/���� ��87;����9��HWXYZ�E[DDJIK
� :2�89�T-UV-����,���� ��4������� ��87����:�,27�� 8+/���� ;����9����,�G8�DE�(F--�+���.,�4!���� � /9����/�!���"�DE�(F--��������������E���23�>@?�+���A2\�����������������89����E]��!��47��87����:������� ������ 0��E$^_`a�b`c�(�"/�"��!��47"/�����:�/+/����8��)-�"/�������874���������������TIJE��23�>)?�;���,4�+�4!�+��!�����:�; "����4�2�897�23��+/��>@?��89���E���.�����2�897�23��+/�>)?��47�� ��������+B�<:��!����,2����S$dc
+�� :2�""�� �/�!���������89��!�4�����4����� <���DE�(F--�������� !4���"���E)*#eQQ�,������� :2�89� T-UVU� �7+�������89�!�������587��U� �����!��A�����I��GB9��23�� �"����:����� �"�� �/�!���"�DE�(F--� ,�!+���23���������� ����� �"�2 �� ��509���9�������DE�(F--�������A�����2 �� ��89T-UV)��7�+��23�� �!�;!�����:�,27���DE�(F--���A��!���J�����f��7+��5/9�;!�� ���BA�6�g�U�4/��8��� �5/9�� ���23�� �5/9��""�48;:�;!��BA� 09�7�g���� � 4+��"L���5C +����4/C8�� ������/�/��� 4��89������ 56����,�G8��DE�(F--
�1�������21�I1�=��J�=�����4�+ � :2�89�T-UVU���� ����
4�K � �1�2���T-UP)� �2��2 �� ��h`ij$E�� ���,1� �2 �+.�� � �7��0��,��; ;��� ���� ���;4��<89�������������8A
����5�����D6�NU�VWW�>)?'�<<���0�����E)*#eQQ�� 0����E)*#eQQJ�;4��<89������������-@DMN
Page 206
206�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
#include <built_in.h>char i;int vout; //***********************************' // MCP4922 Configuration Constants ' //***********************************'const char A_B1_G1 = 0x70; //Channel A Buffered x1Gainconst char A_B1_G2 = 0x50; //Channel A Buffered x2Gainconst char A_B0_G1 = 0x30; //Channel A nonBuffered x1Gainconst char A_B0_G2 = 0x10; //Channel A nonBuffered x2Gainconst char B_B1_G1 = 0xF0; //Channel B Buffered x1Gainconst char B_B1_G2 = 0xD0; //Channel B Buffered x2Gainconst char B_B0_G1 = 0xB0; //Channel B nonBuffered x1Gainconst char B_B0_G2 = 0x90; //Channel B nonBuffered x2Gainconst char SHDN = 0x00; //Channel A & B Output = High Impedance
void DAC_OUT(char config,int output){
PORTC.F0=0; // Enable Chip SelectSPI_Write(config+Hi(output));SPI_Write(Lo(output));PORTC.F0=1; // 'DAC output refreshed at this point
}void main(){
PORTC=0x00; // clear portCTRISC.F0=0; // Chip select line set to outputSpi_Init(); // Initial SpiPORTC.F0=1; // Disable Chip SelectDAC_OUT(SHDN,0);while(1){
for (i=1;i<13;i++) {
vout=(1<<i)-1;DAC_OUT(A_B0_G1,vout); // Output on channel ADAC_OUT(B_B0_G1,vout); // Output on channel BDelay_ms(3000); // 3 Second delay to watch output on mulltimeter
}}
}
����������� *+���3�%��� 456478��������9�:��0�.����&;�<=>?@0�$ ��A�� �%�A�� "-�"# �&;� /��0�12���)�!(3B��%!&����� �� ��<=>?@0
���������L��X�����Q
1k�� ��9�DAC_OUT��������89�!�����:��-�,"� ,27��,�G8�DE�(F--��7� /9�+����.���"/��� �/�!���"DE�(F--�+���A�!�����:������� �����,25 �����"����:��(�"/�"���;!�/+/����89������ �!������47����:��e�"/��!���H�� �7��(�"/�"�����e�"/��!��+����1k�� ��9�l`�����m$����!47��7��09������1k�� ��98A+������`^&mdno�,1� �bd`mnp`^Pl��5/9���/��������47K
���� �"�2 �� ������+�������5� ��XE@� �23���� 56���!4���09�g�+�<:�����+��1k�� ��9Spi_Init()�+���A��9�����2 �� �4�!�����:�,27���DE�(F--�GB9�����������������,�!���"�1�1� ��� ��7�7��!���"�)��7��� �!�����:�/+/����89������ �2��;!��23� ��+��5/9�;!��BA; �A����-���!�� ��!+���@��23�-q�(q�e��23��
Page 207
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����207
�������*++�'�,���� �����!�� �"# ���$�$ ������� �%�� 0�CDEFF��&; G���H%��� �/I���������J$� � /��; �%��0�12
���
���
�
������ ������
���
������
�������
�
�
��
���
��� �
����
��
���
���
�
�
���
�
���
�������
�
��� ����!
���"
����"
�
��� �
����������
����
���#��
�� $%&"%&�
���#��
�� $%&"%&�
���
���
���
�
������ ������
���
������
�������
�
�
��
���
��� �
����
��
���
���
�
�
���
�
���
�������
�
��� ����!
���"
����"
�
��� �
����������
����
���#��
�� $%&"%&�
���#��
�� $%&"%&�
���
T-UP-�� ����2 �+.�� �09�����Yo%c����5/�5 �2 �� �=�r��E�����2 �� ��89�T-UV)
T-UPU������ ;��,5� ����4 ����2 �� ��509����"L���5C �� �����
T-UPU��� 87��� �!����������/���� ��7��0��7!�4�� ���O)@Sn&��BA,2����4�!���7"4������89���)(����,�G8DE�(F--��!4��7�"�!���"� �4
T-UP(� ��2 �� ��������L��� �����L!�����/�/���
�B!�"����@��2� �"3���4:��CD��$�"����-��"�����&���EC"�FG6HI������D���������:���������&6����2��D"J3$��������$� ��" �"3���B��:3CD����K�L� �:����
Page 208
208�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
Page 209
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����209
���������������� ������������������������������������ ������������������� !���"#�"�$��%�&' ��! �(%�����&&�)*+",��� *���*-.���#��/�.0��,�"����&&�)��123��$��4�5�,6$�3��7.�-������� *6����3���������������43��!������8�*����,5�3����&&�)��#�5�-9�6���-"�*:;�����&&�)��123�(�0�$��.$��.���,����� +�5��)�5�3 �3<)���,��:��&&�)-"�:��3=����(�!0. �%.�,��,*$ �6���*�"3$.��������� �������������>����*$ �0�9��4�! ���,�4���,�7���0.�,8(�3�������������� (�!0. �/-�?� @�0�"3��39�6�����*�0/$��.�,%��*5��3��7.�-������� 5�*3���A#�(�!0. �/-�?� @�0��#��3��7.�-������� *:;�!����B�,>�����(��������0
�� ��!"��#� ��$%����&%�'###��(�)*%�$+����&&�)����������"#*:;�����&&�)!����,-�C-�,�!0.����� �����7*���-�,/��(�-�C
-�,*�"$D�(�%.$,*$ �6�A�,8��4:3�)?���������0��,�"3�����4�.�,%��*5�$.�0�$(�*:;����*0��?�0�$(�*:;��* E� >��.$�(6&.�4:3�)?���*0��?���/�>�����>-� * ��?� �.$��4:3�)?�* E/��!3.�/�B"$���4)6D���F6�.$�$��59�!���*:;�0����4:3�)?���*0��?*:;�0�$5��*0�"��$��+����! ��$��4�3��7.�-������� ������&&�)��#������� -�#,6��5�7�3�., ,������&&�)-"��"��.*+",*���*�"$�"#-�#,6���(���6$.�,3��-9�,���4:3�)?���*0��?! ��* E�����7*:;�/��-�#,0�$�.,! �0�$�����A#���.3��*,����/���,3��-9�,��(��)���#��30�$�.�,�7��6�3�"3��*�"������ 5�3�4:3�)?���*0��?/:�,�4:3�)?�* E�0�$�.,����4:3�)?���*0��?�0�$�������4:3�)?�* E�(�-�,0�,�����6�3*:;�3���.������� 5�3�4:3�)?�* E�0�$�.,5�3 �*:;��4:3�)?�* E�! �0�$�������4:3�)?���*0��?��(���������������0��,�"�4:3�)?���*0��?*+",0�$*�"$*-.���#�
����&&�)��,��������"#0��,39�6���D�$�:30�/$�-"� �5�3��,�-9�/��>�3��0.�0�$0���-���.����7A,�GHIJ �+� ��:3��/E* "#,�KLM���,��#��4:3�)?-"��9�*�����0.�����������"#5A,0��,��3!��(6�*��0?+40-"�0��,0.�3������&&�)�" �3<)�*:;��� * @3*0��?*:2�6���*���*:2��(���:-"���N���!��,/���!3��3�������������� !��6�A�,��*��#�,0��
�����+�,- �*.�*/��0��1��&������,�� �
�� �23'�4�+���'�!"#$%������5�����
Page 210
210�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�� ,�!"��#� �&%������� �4:3�)?���*0��?*:;��4:3�)?*+",0�$*�"$���������-"������7����*%" ����&&�)/���>�
5�39�*���54�*����0����,/-�?� @�0��$3��-9�(6�����&&�)*:;� �5�30�9�(�%.$,*$ �6�A�,�5�3��#�-9�(6�3 ����*:;� �5�3��,�7��6�3�4:3�)?�* E0��,3���.,����� 3 �����,���*0��?��4:3�)?�* E5�*:;�0�$�$��4��D�$���,����&&�)0.�/:5�*��@5��#�3���$�3���!0.7��6�3�4:3�)?���*0��?0��,3���.,����� 3@5������7�9�*���3��0.�/:/��*
EO,3?%�����,/-�?� @�0-"�39�6��>��4:3�)?���*0��?�"��$3���G�EO,3?%�������������� &%�$��-�� ��./0/1�2��$�3$�&4�5���./67�7616�2��$��&-+�&4�5��8�9��:.;1/�<=/��! ��$��&-+�&4�5��8>9��:.;1/�?/.<��/-�?� @�0�"*B0(%�(�3��*����0��0��0.�3���4:3�)?�* E�(��)�-"�/-�?� @�03���.��5��9�6����.������� -"��.,��5�3�4:3�)?�* E��.$�/-�?� @�03��*�"������ �P�Q! ��PRQ�(%��9�6���*�"������ /:�,�4:3�)?�* E�.������&&�)��,����
-�,�����4:3�)?�* E�"EO,3?%���-�#,��#��N�EO,3?%�������������� &%�$� #��%��@./0/=A/�2�$��&-+�&4�5��8�9� �:.;1/�<=/��! ��$��&-+�&4�5��8>9� �:.;1/�?/.<��/-�?� @�0��,3��0�����,(%��9�6���0�����,3��0��0.�5�3�4:3�)?���*0��?�>��4:3�)?�* E0�$-"�7�3* ��35�0��,�.,��&&�)0�����, ,������&&�)*+���!5�,(6��4:3�)?���*0��?-���$.���)��"#0��0.�3��/��! �$��.$�/-�?� @�03��*�"������ �P�Q�! ��PRQ�(%��.,����� /:�,�4:3�)?���*0��?�.������&&�)��,����BA�,5����+��S?3��/-�?� @�03���.������� ��,�4:3�)?���*0��?�3��!3!�EO,3?%�����,!0. �/-�?� @�05�(%��$���$��,���*$ �! � �3<)���,��:��&&�)*:;�0�$39�6���! �-43���#,-"��"3��*: "��!: ,EO,3?%���0��,-9�(6�����&&�)��.(��D�$�$.�,*����BA�,3@���3��-9�(6�����&&�)*:;� �5�3��,�.�,�����/�>��$���-"
������������� �������������������������
���
�������������
�������� ����
�������� ����
�������� ����
���
Page 211
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����211
�� , �� ������� �$��-�� B�' #��%
�4:3�)?���*0��?-9�(6�*3��3���"*B0������&&�)*+���!5�,!3.�4:3�)?�* E�>�3��-9�(6�����&&�)*:;� �5�30�9�0.�*����,�.�,����GTR�/�>��$���-"�! �5�0��,-9�(6�����&&�)3 ����*:;� �5�3��,D�(��GTR�/�>��$���-"6 �,5�3��#��7��6�3�"�4:3�)?�* E0.���.������&&�)5��"3��0�����,��&&�)�"*B0��#���$������������ � ��������� >�3��-9�(6�����&&�)*:;� �5�30�9�0.�*����,���:����)�UR�VGR�/�>��$���-"�6 �,5�3��&&�)�"*B0:��3=:����)��L�UR�/�>��$���-"����:-"���N�V�!��,/-�?� @�0��,3���"*B0! �3��0�����,
�� , ,�������� �$�3$�&4�5�&%!C��"��$�� ��B�'�$��&-+�&4�5�&%!C��"����D
*����0��,3���.������� 5�3�4:3�)?�* E��4:3�)?���*0��?5�-9�(6�����&&�)*:;� �5�30�9����:����)����L�/�>��$���-"�5�3��#�0��,-9�(6��7�����,��3 ����*:;� �5�3��,��4:3�)?�* E5��.,����� ��(6��4:3�)?���*0��?>�7������� *:;�� PRQ��4:3�)?�* E5�-9�(6�����&&�)*:;� �5�30�9����:����)�GL�/�>��$���-"� ! �$-9�(6�3 ������.�D�$� �5�3��,�"3���#,�!0.7��*:;������ P�Q��4:3�)?�* E5�-9�(6�����&&�)*:;� �5�3��,0.�*����,/:�"3�GL�/�>��$���-"��$�*$ �-�#,6��(�/-�?� @�0�"#:����)�UR��VR�/�>��$���-"� ��������(�/-�?� @�0�"#(%�*$ ��$�/�.*3����VR�/�>��$���-"��(��)�-"��4:3�)?���*0��?5�(%�*$ �(�3���.������� ��.��6$.�,��L�! ��UR�/�>��$���-"6 �,5�3*����0��/-�?� @�0�"#� � (���:-"�� �N�N�!��,��:��&&�)��,/-�?� @�03���.������� ��,�4:3�)?���*0��?BA�,�" �3<)�*6����3��3��*�"������ ��,�4:3�)?�* E�! �/-�?� @�0-�#,��,5�*3���A#�(�*$ �*�"$3���3 .�$���� *�����4:3�)?���*0��?�.����4:3�)?�* E3@0��,*�"�
����������� �����
���������������������� �!�"����#�
�����
$%������ �����
���������������������� �!�"���&'
���������!(�������� �!�"����#�
���������!(�������� �!�"���&'
������
���)������ �����
������� ��� ����� !������� "�# ����������$���%���&������������������
Page 212
212�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�������������� !���������$'��� $����� �����"�������������� !����� $���$'��� $���%���&�� (
����������� ����
�������� ����
����������������������� �!�" ���#�
����������������������� �!�" ��$%
&������� ����
�� �!�" ���#��'�����������!(�)%*���$!�+�+
�� �!�" ��$%�'�����������!(�)%*���$!�+�+
���������������",�������)����-)�%��!���.
���������!(���%�������� �!�" ��$%�!/%"���)%*���$!�01!��
�� , �� ������� �$��&-+�&4�5�&%!C��"��$�� ��
*�����4:3�)?���*0��?0��,3��*�"������ ��4:3�)?���*0��?5�-9�(6�����&&�)*:;� �5�30�9����:����)����L�/�>��$���-"�5�3��#�0��,-9�(6��7�����,��3 ����*:;� �5�3��,�! �$*�"������ /��(�-��-"�7������� -"�0��,3��*�"�/:�,�4:3�)?�* E*:;��PRQ��4:3�)?���*0��?5�-9�(6�����&&�)*:;� �5�30�9����:����)�GL�/�>��$���-"�! �$-9�(6�����&&�)3 ������.�D�$� �5�3��,�"3���#,!0.7��0��,3��*�"������ � P�Q��4:3�)?���*0��?5�-9�(6�����&&�)*:;� �5�3��,0.�*����,/:�"3�GL/�>��$���-"��$�*$ �-�#,6��(�/-�?� @�0�"#:����)�UR��VR�/�>��$���-"� � (���:-"�� �N�G�! ��N�L!��,��:��&&�)��,/-�?� @�03��*�"������ ��,�4:3�)?���*0��?BA�,�" �3<)�*6����3��3���.������� ��,�4:3�)?�* E�! �/-�?� @�0-�#,��,5�*3���A#�(�%.$,*$ �*�"$3���3 .�$���� *�����4:3�)?���*0��?*�"���4:3�)?�* E3@0��,�.�������
Page 213
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����213
��������)������ !����� $���$'��� ���$���%���&���� �����"�������������� !���������$'��� $���%���&�� (
��������*������ !����� $���$'��� �+,-�$���%���&���� ����
����������� ����
���������� �
������������������������� �! ���"�
������������������������� �! ��#$
����������� �
��������� %!&�������'����('�$�� ���)
����������� ����
�������� ����
����������������������� �!�" ���#�
����������������������� �!�" ��$%
&������� ����
���������!'"(�������)����*)�%��!���+
Page 214
214�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�� ���5CB##&%�$��E*�$�&4�5�B##(�-*%�$+����:�F�1G�H���IJ�HK���JLF���H���
(�3�������������� �������6�A�,����4:3�)?���*0��?�����70��0.��4:3�)?�* E/�����#, ����0�$*-.���#���4:3�)?�* E!0. �0�$5A,0��,�"����� 39�6��!��*���*'+��0�$�>�*3@�/$�(�6�.$�$��59����D�(��4:3�)?�* E0�$��#�8�>�:30��4:3�)?�* E(��������!���"#5��"6�.$�$��59������UG���06����T�/�0?��9�6���*3@������ 0.�,8�-"��9���&��,�4:3�)?!0. �0�$�BA�,:��3����$
�H��6����,0��3� �59��$��T���0
VH�* �6��:��59�0�$���� WX�Y�Z�����59��$��GT���0
NH��6��0�$5����$�����+ ���[\[�]�[^_X _WX�\�`�Y`WY_^�[a�_J��59��$��T���0
���(%�,�������7�.������� :��59�0�$��,�4:3�)?�* E/�����$3��(%��9����,�.��6�.$�$��59����\�W`�\bc�]�dNN���(�3�)"-"�������"�4:3�)?�* E0�$*�"$/�.59�*:;�0��,���,!��*���(�3��0��0.�
��:!��3��0��0.����������6�A�,��5�*����0���A#�� *�����4:3�)?���*0��?-9�3���"*B0! �39�6��!��*�����,�4:3�)?-"�-9�3��0��0.��7��6�3�"�4:3�)?�* E*+",0�$*�"$�����7������#�0��3��0��0.�3��6�.$�$��59����(��4:3�)?�* E/���5�*�"3$�S"3����,3 .�$��$���3 �� 3(�3M+M$�NO$���6������C����0P�L�.<G�Q�d[[��5�3��#���3��0�����5�3�4:3�)?�* E�*����3��0����������)?3@5������7*����0����#�0��3���.��6���*�"������ /��0.�/:
�� R���#�$�-�'###��(�)*%�$+� ��J�S�F��/ ����"�eY�f �����3!����*+����������3���������������! ��"���39�6��(�*����,�$��7"�
��,��&&�)��123�-"�(%�3��/�>�����>-� * ��?�gh[�0��,/�.���3$.��Gcij
�"EO,3?%���0.�,8�(�/ ����"�eY�f ���(6�(%�,����,�"#
Page 215
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����215
�� R ��DT%��U�*��Ow_Reset
(%��9�6����"*B0�4:3�)?�eY�f ���-"�*%����0.���.3����+��?0-"�39�6���!0.EO,3?%����"#5�(%�/��*'+��3��/�B"�kl�TVR�*-.���#�
������������� ������unsigned short Ow_Reset(unsigned short *port, unsigned short pin);
������port� ���������� �����������������������������
pin� ������������ �����������������������������
��� �� �� �� �������!�"����#$ ��%���&��'()*+,)� �� �������-�"��.�� ��%���&��'()*+,)
����������������Ow_Reset(&PORTA, 5);
����������� ������������������� ��������� ���
�� R ,�DT%��U�*��Ow_Read
*:;�EO,3?%����.������� 5�3�4:3�)?���������6�A�,��
������������� ������unsigned short Ow_Read(unsigned short *port, unsigned short pin);
������port� ���������� �����������������������������
pin� ������������ �����������������������������
��� �� �� �� ������/0��-�.����������.1�$���%���&����2�����
����������������unsigned short tmp;
...
tmp = Ow_Read(&PORTA, 5);
���������� ���!�"�#�$�%���&�� ������������������������'(��)� ���������%(!%*!���� *+���tmp
Page 216
216�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
� �� ��DT%��U�*��Ow_Write
*:;�EO,3?%����.,����� /:�,�������6�A�,��
������������� ������void Ow_Write(unsigned short *port, unsigned short pin,unsigned short par);
������port� ���������� �����������������������������
pin� ������������ �����������������������������
par� ��������/0�-�.����������������.�������������
����������������Ow_Write(&PORTA, 5, 0xCC);
��������� ���,-..�%�� ��/��� ���������������� ������������
Page 217
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����217
�6.��*. ���+�78 �/ ��/ �01��9�.: ��;�� <=,>?7@�� �23'�4�+��%ABC"$B
&4�5��$%����V�+��!C&%��- �MNN�#!"(W5���70�XY,>����.�3���#$$���%&4/�5����������51������2���������������������������6���� ���78�������������
����2�����9������.:�0�;��4������02�����#1���� #��02����1������0��%&4/�5��/�����-<��5��=1�����#0�������0� ���%&4/�5�/��%1�>?!��5005#5����
�/�������/0����7@-AB<!�����1����;
� � � � �� �� �� �� �� �� �� ��� ��� ��� ����
������ ������ ������ ����� ������ ����� ����� ����� ���� ����� ����� ����� ����� ���� ����� ����
����������� �������� ��
�����������C<DE-��1��5�����/0���1�-<��5������%&4/�5�������.1�$���7@-AB<!
��������
��� �� �����
������ �������
��������
���� ���� ��������
������ �������
�����������
���� �����
���� ���� ��������
���� ���� ��������
���� ���� ��������
���� ���� ��������
���� ���� ��������
���� ���� ��������
���� ���� ��������
���� ���� ��������
���� ���� ��������
�����
����
����
�����
�����
�����
��� �
� ���
����
���
��������
�������
����
�
����
�������
��������
���
����������.�)��$'��� /010�� ���23�� � ���/�����0����2���%&�4��0���3�/�/'$���56�78�,
Page 218
218�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�$�N��(�3M+M$�NO$Z��70�XY,>���/�����C<DE-��1����$�1��#� #��$��� �F��� 1���7@-AB<!�$2�F�.1�#������#� #��$������ ���
�������������F� ���������%&4/�51����/�� GHIJ9� ���������%&4/�51�������� GHCJ�02 �������$5����������1���������� GK'(L+MN,OP+'(� ,)M+QP),J� =1��������5�����$���.:�����7@-AB<!� ������HI9�HC�02 ����$5����������1���������$2"/����������$����#� #��$������ ���=1����=����5�R/������������"��.�02������0������.����� �������1 �������������5��������������.1�
A�J[�\IFK���J�F�\����F�Q��-N��� ���O$(���$��O$%$�����������0��� �� #��02����1����%&4/�5����7@-AB<!�����.1�����/������$�1����/01����;
� �� �� � � � � �
����� ����� ����� ����� ���� ���� ����� �����
��#�����0��� �� #��02����1$2��2���R����5��S-�02�S!�1����;
�� �� ��������� ������� �� ��������������
� �
� �
� �
� �
������
������
������
������
�� !"����������#�$%*+,-&'(
�'! "����������#�$%*+,-&)(
�!"����������#�$%*+,-&�(
!"�����������#�$%*+,-(
����� ����������� �������
����������� ������
��������������������������
��������������������������
������������ !"#$%&!��
� �����'��())�*
� �����'��(+��*
� �����'��(�+�*
�,�
��������������������������
��������������������������
������������ !"#$%&!��
�����
����
����
�����
�����
�����
�����
�����
���� ����!���"�"#$��
���� ����!���%�$&�'�%#(
������� .�)��#�/����1�/���9�:����$�����3�23��1;�4��<��56�78�,
Page 219
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����219
�$��UE*� 3�$%]$���BM�������#�$����/�����C<DE<�������10����=1����.�3��7@-AB<!���������� �����ST!�3����������������;$2���������#��������<U<V ����.#�1�#������������1�R0$2�1�R���=�1/0�CT7�3��������� �����7
&�^� ��$����%C<DU-� ��W1=������X+V,'T������.:0�=���$F���� =1��0���.�= � ��=��0�0���02 #��"����YY�&��ZW��1����;
���������� !�"#�$%%�&'()�**��0����[\T-]^A>>�����[\T-]^A>>_� #��"����YY�&��ZW���<!`Ia
C<DU<������=���$F��������7@-AB<!H)QP�02 5� �=�����4�b��T����=���������C<DE-
C<DU6������� ��. 0�021�#��=01=������ ����1���R00� c����������
C<DUD����=������1/R0������������=�1/0�CT7
���'"(�#�0.1�+�(� �����2�"3�������%(!&��14$567,�( ���8
� ��� �� �� � �
C<DU?� �� #��������.�3��7@-AB<!� � ���1/�����0�����0� ���%&4/�5
�������.�)��3�1��/ ������0/����%���&����������������$����=2�2��=�� ����>?@�AB7CCD77C�/'3�(E��������FGHIJKH�$���LJMKF@�2���9 ���
������������
��
����
������������� ����������������
�
�
��
�
�� �� � �� � � �� �� ���
� �
���
��
��
������
�����������
��
�� � � �� �� � � � �
�
��
�
��
������
� ������
��
��
�
���
���
��
����
�
�
�
��
� � �
��
� �
�������
�
�
��
�������!
��
� ���
"��"���
�
#!����$%&
�'�
��
�'�
Page 220
220�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
=��#������� .�)���( ��56�78�,NHOPQR� =��#���4�S��@��;������LJMKF@�2���9 ��� 9����/������<�'(E��������FGHIJKH�<�����0/2������%���&����������������$����=2�2��=�� ����>?@�AB7CC
int Temp; // Save temperaturechar Temp1; // Save lowbyte temperaturevoid Display(int Dat) // Function display temp on LCD{
int Dat1; // Internal variablechar text[6];
Dat1=Dat/16; // Integer valueDat%=16; // Decimal point valueDat*=625; // Convert to 4 digit point valueif (Dat==0) Lcd_Out(1,13,"0000"); // Leading zeroelse if(Dat==625) Lcd_Out(1,13,"0625"); // Leading zero if namber < 4 digitelse{
WordToStr(Dat,text); // Convert decimal point to StringLcd_Out(1,12,text); // Show string on LCD
}WordToStr(Dat1,text); // Convert Integer value to StringLcd_Out(1,7,text); // Show string on LCDLcd_Out(1,12,".");Lcd_Out(1,4,"TEMP="); // Show Text
}void main(){// Initialize LCD on PORTD and prepare for output
Lcd_Init(&PORTD);Lcd_Cmd(Lcd_CURSOR_OFF);while(1) // main loop{
Ow_Reset(&PORTC,0); // Onewire reset signalOw_Write(&PORTC,0,0xCC); // Issue command SKIP_ROMOw_Write(&PORTC,0,0x44); // Issue command CONVERT_TDelay_us(120);
Ow_Reset(&PORTC,0);Ow_Write(&PORTC,0,0xCC); // Issue command SKIP_ROMOw_Write(&PORTC,0,0xBE); // Issue command READ_SCRATCHPADDelay_ms(400);
//Format DS18B20 [S][S][S][S][S][D6][D5][D4]==[D3][D2][D1][D0][D-1][D-2][D-3][D-4]Temp1= Ow_Read(&PORTC,0); // Get temperature LSBTemp = Ow_Read(&PORTC,0); // Get temperature MSBTemp <<= 8; // Shift to highbyteTemp += Temp1; // Form the resultDisplay(Temp); // Format and display result on LCDDelay_ms(500);
}}
���������+��,�����-
�������������#����=�����0����5��$��
-U�����1 ����5����������=�1/0�CT7��������;�0������ �����7
Page 221
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����221
<U��51�����������������=1������YY�&���3�.�����7@-AB<!
6U������ �������@d\[�Se`�� ���������������5��1�1������7@-AB<!
DU���� �������TefghSH�� ������7@-AB<!���5����;��������0� ���%&4/�5
?U� ��5�������;�������� � ������ ������$���7@-AB<!� #��� ����������� ��$����#� #��$��@TS_HTI[_7�3�����F� ���%&4/�5����0� �����F$0�#���.#�
]U� ��5����;����������� ���%&4/�5� =1����� ��.������������0�#���1�#�����/0.����/�
>U��������/0�������.1���F�.#�����#���P)Xi�$����;������������:j��������Display()� � ������ ���1�R0������$��CT7
������������:j��������Display()���1����;
-U���� ���%&4/�5�������� ���%&4/�5$���#���F���� ���%&4/�5��������0��k�5��
<U��0� ����#�0��k�5�������=1� /&1�#��]<?�3���$2.1� ����#�0��k�5�����1�D��5� �1�
6U��������0� ������/����/������#���b�� ������.��1�R0���=�1/0�CT7
DU�"�� �����.1�$������0������!� �������0� ���GWordToStrJ�$2�� �������!�3�����������.��1�R0$2��51��������#����$��������� �������if�����#��02��5��0�k/�������&���� �����.1������!�����]<?
?U��� ��$���#���F����0�������#���b��0�#���.��1�R0���=�1/0CT7
=��#������� .�)���( ��56�78�,NHOPQR� =��#���4�S��@��;������LJMKF@�2���9 ��� 9����/������<�'(E��������FGHIJKH�<�����0/2������%���&����������������$����=2�2��=�� ����>?@�AB7CC
Page 222
222�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
Page 223
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����223
����������� ��������������������������������� �!������������ ����������������������������� ����������������������� �������
����! ���������"����"��������#$%&'()*+�� ��!���,��"����������, ��"������!� ���������� "������"!����������� ��,�-.�����/��.�������� ���������"����"�������#$%&'()*+���01����23�1�������4�����4������� � ��������#$%&'()*35)*&5)*25)*265)**5)**6�7�� �!� �.�1����������4���8��������������/� �������4��,����7�����69&
��������
�&�� ���(+�'�(�,� �����'� '- ��� ��
������������� ���������������������������������� !"�� �����#$�%&'�"( )$�*+,����-./�01��!�2��03454��67��89�-��".��'!&'�"1:�;���<����=>?��'!�����89�-��"@#$��A1��"�<���"�����B��'01���C)�"����<���������"�<C)�DC)�D�����"E/ ���/C��8."�F=G-/HFIJF7*��'!D'K���<���"�2-D�0D(��H��'01��:���K�D�LL�M<�/D�&'�"( ) +,# N+, ��D'K������K�9/��!������' ��OPQ"��K�����R$���0��-./�01��!-�0���9���&������#45D:�.�����/�0'01�7%Q���� ��/:�8<0�9S!8T ��'01���C)�"���8"�E/O�Q���-;0���'01�����$U4���KV'1:��'�1��������1�����OPQ��'�/��D�'�R./�� ��'01�D'K����"��K�T���R1��
����������� ���������� ����� � ��������������
NX-877 PlusII ������������� ��������� ��������������������������� ������������������ ����������
������������ ��� ������� ��������� �������������� !��"��� �#!$�%&'(�� ��������)
Page 224
224�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��������!�"�#��$"%&'()�)�%(�������*
�������
���������
�� �� ��
� �������
���
�������
�������
��
����
������
���
����
�� �����
�� ��
�� ��
����� ���
�����
��
�
!���
!��
��
�������
�"�
�"��
�#
�"�
�"
�"�
�"
�"�
�"�����
��
��
��
��
�
��
��������
����
����
�
��
���
���
���
��
���
��
���
���
�
�
���������
���������
������$�
���������%&'�
�� ��� ��%&'
�������
�������
� ����
�"�
�"�
�"�
�"
�"����(
�"
�"�
�"�����
�"�
�"�
� ����
� ��
��
��������
������������������
�"�
���
�"�
����������)
���������$)
������!
����������
������$����
�� ���(�������!�����( ������!�!����
� ����
�� ���
���
��
���
��
���
���
���
����(�(�
����(�(�
����(�(�
���(�(
����(�(�
�� �(�(
����(�(�
����(�(�
� ����
���
���
��
���
��
���
���
���
#
�
�*
�*�
�*�
�*�
�*�
�* �������
�*��������
�*��������
� ����
��
��
�
�* ��
�
�
�
��
��
��
��
��
#
�
�
�
�
�#
�*� ���
���
��������
�*����
���
���
����
Page 225
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����225
�������"#�$��%#�&��'()�*�$+�,-("�.�,�,����������������� ����������'()������������������
!����,����:�7 �����"����"��������#$%&'()*+������������������������ ������������������������������������ � �������!"#�$$��%�&�'�������(�� ��)*+�,��-��(./&��� � ;�7�����������!��1 �6&<=>��,����?����"!�����!��"������� ��,�-.���@ABC��/��.�������
/��.�������.�����! ,��!����������������0�D�/��.�;����8��� �4 ��23�1�>����/��.�6'��-.�;E639E6D>F�/��.�G�)��-.�;EG39EG*>F�/��.�%�)��-.�;E%39E%*>F�/��.�B�)��-.�;EB39EB*>���/��.�C�H��-.�;EC39EC=>�!���� ���4 ��=)�1������ ,����?�� ���4�. /��.��B�����C���
, ����������-�,�::�8��IJ���� ��-,.�����?���=3�@KL�����0�������1���"������. ���!����-�1��������-�,�::�8��IJ����������KM
,��!����!� � ���N��������OP9)**�#QRS$$����!� � ���N,��!�������&��4����TDU����0���� �N���0��! 4���8���0!������������ ��
������/�012����3�-��������(���������������1������������������VCB���-�.��WX���?X�H=�� �"���� �����=
, ���, �����&'�� �������7�����69H��4�� . .��. ������/������������,�� ������ ��� �
������4�)�5�6'��7��012�-8)��&��'()��������������.����, ���,�Y�.����1�*�, ���� �H�!�������������"��� ���������
. �Z���-��[3\��1 ����1�� ��1�VCB��X������! �VCB�.-�,� ��� ����. ���1�. ���W����.�����������.-�/�]�W�� "����.��. ���������������,. ���. ���W����.��� �! � ��
��������+�"�#��,-.�'�%/�0��*�+!��$��
���������
������
������� �
�����
������������� ��������������������
���������
������
�� �����
�����
���
��
��
���
���
���
���
��� �
��
��
��
��
��
��
�����������
������
���������
�����
���������
������
���������
�����
���
��
��
���
���
���
���
��� �
��
��
��
��
��
��
��
������������� ���������������!"���
Page 226
226�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
������9�6:�(�5("#6���8�*�8,�("��;'<":�8,)�5�6*��'8==">�$�"��+�*?��353-���/���! ���������������������,�::�8����������-�-.�^�����#$%&'()*+��,����?
�������� "��,���������������OP9)**�#QRS$$��X�� �.�����!� � ������������ ��� � 39DU,��!�������2�� �"���� .��. ���������� ��� � ��&3_ �����.�����!����-��81�����
������@�)�5�')3-���3�A�-�����������������-��[3\�1����2�� �"���� ,�-.����.-��� �����2�.����������. .��
. �����/7����� �����! !��,�-.���� ?7����!���� �����. ���������.�/4.1���������-��[&\����,�-.��?7���!�������. ��������-���-��[3\������.�/4.
��������)�5�A8�'��5������-���,����?�����-�,�::�8/��,�,���!������-�.�0�W��-�� D3`� ��������?���� � 2�� ���� &KLF� &3KLF
&33KL�����&_KL�"������W������#aP2&33����!� ����,� �,�::�8/��,�������������?������ ,�-.����.-��� �����/��.������������,�� �����?������VCB�2�.��������� �����?����� �! Y7 �� ������
��������1�"�#��,-.�02"�������$"%�+�3�24�55'2�0/�6�748*
������ ������ ������
��� ������ �����������������������������
���
�
�
���������
����� ����� ����� �����
���
�
�
����
�����
���
����
����������
��������
��������
��������
��������
�� �� �� ��
��������9� "�#��3�$�#$����� 2%��25)$�& :�;9<��=�3�25� ���"�#���.>
���
����
�����
����
��
����
��
����
��
���
��
��
��
��
��
��������?�"�#��"/0�*�/%6�0�1��$�� ����������"�#�62��*�#�%����0��*�@AB@A
�
�
�
�
�
�
�
�
��
��
��
��
� � � ��
�����������
� ��
�����
����
���
��
�����
���
�����
�*�������*�+�
Page 227
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����227
�������'()���BC��-(����D��0�2��6�$�<"�A��*E#�F�������� ����.��������]��.��,��!��������. "��7��V%B������1��1���.�0�. �&'�?X
=3�.����b���&�?X�=���������"����������1�.����.�c���d$%9V%B������.��. ���������� ��� �&3_,��!�����������������������,�Y�1"��7��V%B
, �����1��,�::�8�,��������"/��e�"W�&��4��"�����"/��e�"W��0����� �����?����"W���W�������.���!������?������Z��1 ���.����� �����?����0��,�::�8����������������,4����.-����� ������8�=�?X�H_KL
�����������$"%��C��'0$�(' ���,>.�����=�(6���D�(8
��
�
��
��
��
��
�
�
��
��
�
��
�
�
�
��
��
��
��
��
�
��
����
�����
�������
���
�
�����
���������
�
����
�����
������� �E� "�#���C��'0$�� .F�G!;� &�8�"2 ��H3I�'/0/ 0$�J$�%��5552������
���������
��
�
�
�
���
������������
������
������������
��
�
�
�
�
�� �
���
� �����������
����������
�� ������
���������
���������
���������
�
��
�
�
���
���
��
���������
���
��������E��$"%��C��'0$�6��*0�%�4�'�KF!+!
Page 228
228�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��������'()���BC��-(���*+�>��$,,,8'���'"#��G��HIJKL�������� ����.������������. �BM&)G=3��W����48!^7�-����-�-.��WX�����!�X���
4���8������ ���.-�. Y ��������,!�X�,��� ;&9fghi>�1�BjQQjS�MikglmnloRmpnh�"���������.�����W��BM&)G=3��� �! /� ��� ��
�����M�'()���BC��-(�A���-���+���NO�/4/�/���! �����OP9)**�#QRS$$�,����?������������ � ����? ����X�� ����.�������
�����. ���/��.�4����EM9=H=�1��/-��.��� �/���� ���"���������,��,��1 �7�"���� �W������$%V=H=�!���@6P=H=����4�. ,��!������1 �7�����4����;E+B>��1 ��������/-��.���/��, . ������"����"�������� ����4�. ,�����, 1 �7������4���� ;q+B>� �����"����"�������������/-��.�����,��!����4������. �����/-��.���� ����]��.����BG9r�.������
�������P�67�-(�)�5���1����=<D+*��-0�����4�. ��0,-0��)33��4�
��/���/PP�,�����*�6+�������������������� ���6,,6Q��7("�A���-�ROS��/�����>'�,8-3�"�����3�
�������������� ������������������������������� ���������
��!"�# ����!���!$��������%&'�(�(���)�"*�+������$��#�, �&'-.
�����/0-�#1)�12��3 ��$4�����5�) ��6%7809:�;<9=0;�#�3����>?
��1����2�@"� �)��A���# ���)�����$��B����# ��
��D�"��(����-/H�� !�.��'!&'�"1:�89�-��"-��-2/�-/H.��'!&'�"1:����"E/� � <��"
�� �/C�����9W�0������������V0.��'!&'�"1:�89�-��"-��-2/�-/H.��'!&'�"1:����"E/� � <��"
��������������H-�9�����X@#$��YZ[\A1��TCV�-!�B�<C)�89�-��"�"8&�&��8��/�/�����-/H]\����'(�0Q�;�����0-1̂���Q$
��T�2��-'���:�0�����H��9_K���K���'K�8�'D� `�>P%*P%@
���:�0��8�!�"����0����2�/ V!0a�!����<K)"
8�!����<K)"��K"�������0�"8&�&��8��/�/�����V�D�"��(�E���"E/�<K)"��K" -/H��'��8./�89�-��"�'"��V0�2b��"-'��/��D������ )cccU6defgehdYUeg6&��.�.�����Ndi$j*
���7�����69&3���,�!� �.����, ���������0!��1�#P9=33
Page 229
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����229
������������������ ��
������������������
����������������������� ��!"�����"#��������$�%!��
����&��'����!���
��(��)*+,
�-����)*�. ��/�0�.123145�60&����78�#9����"�����!#��:������
��������;��� ��$"%���4�5����=�)2L������!;;�5��* (���4�'&'()�)�%(�������*�� >��55 F��J$�%6��*0�MFG
��;�!�����<�-!���#9������!��'� �������&�&��
%������!�9��������!�9�%� <��/8!��/!���!��!��'
6����60&���"���9�� ������������� ���������
��������������������
Page 230
230�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
����������� ����
��������������
��������������
������������������������������� �
��������������� ��
���������� ����������������������� ��
��������������������������
������������ ��������������������������������
���������� ������������� ������� ��
������ ��!"#$%&�������������
"' ����() ��������� �
$*&#����+"�����������
������,���-�# ./%�������� ������� ��
����������� ��������������������������� ���� !!"#$%&''!
�� ���� 0"�"��# ���������
�����������-�������������
����������� ��������������������������� �!���!"���!#$���%&'(������������� ������������������������������� �����!"#$%&�����'()��(�*+ �,�-.�
������/�)�.�0��12�3.��� -����4-�10�56��75�1/��8#90��56�� :;+��-6� ��;+�1���7���<(����7��56��-=�-6��.��>���?�<(�����.@1-.�-��22.�7���12�5;+�5(�3���A���>���� � ����(��� �*��56��������-6(1B�75�1 �,���C������7����.1�A��*+�D$$
���)���*����!#+�,%+��#�
�� E:������������� �����!"#$%&��������>��(��'(1(��.@1)�����(����)�����7���2(����F=� -������� ��;+�1���7���<(����/6(��(172G�� "#9����*�12�3.��� -����4-�1���:>�F�����475�1�=H�(1�(�)�>���3.���#� I������� -���3�(� �C��J���KL1�%M�����N�-.����*�'(�F1 �O��I5'()�.�3.� 5*�1
Page 231
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����231
���*�8P9�75�1/�-6�-�1�.�3(F���-3�1������������ ���������A��8#9�$%�-.��.�Q��������.��7���*�456�1)�.1�� 2>�-6�5'()�.� :;+��-6��.��>���?��*+�*�(�5;+�5(�3���A�7����>���7�������.5� "�#���*2>�-6��=�F>- �(-�F>-7���=2=-��7���=�F>-���(����R�:6�1���'(1(�����7�- -��*+�DD��J������E:�����.@17���.��(����7��7�����2>�����3�(����N��S�%��T��=@�
�����(��+��,��$�,�,-�
�����)�����.�"�����"+�&%&���
).�E25'(�.U�;�������������� �����!"#$%&�����*3(F���-�=�F>- �(-�F>-E)�-6�E:�1(�����(�KL1�NT�3(�<(�E������������� �����.1���������������A�-6(1�B��(��(��� :6����A��!VW F;+�E)�5(�(�K��.���(� �C��� -������-(�-��1�(�����A�7��15.UU(?���(��� �,��=2=-��XD9#YIL+1�!"#$%&������� -�*���D9#���(��� �*���$���=-����(�KL1�$J�:6�1��.1�.@����������������� ���� F*�1-.� �*��2L1-6��.��>���?��=�F>- �(-�F>- F;+�5��(1 �,�)>6���-������6(116(��(������* I�(�=� ��I � -������WZ[��'( �=���(�K*+5.UU(?�(\]�( F;+�E)������������� �����'(1(�����*+��(� �C�KL1�T��(��'(5.+1-6��=�(�*
�������/��-�� .0
������������-��1�(�7�1�.��4 �*@�1�=�F>- �,�7�1�.��44(̂���75-�1�J���KL1� %M� X��6��� �=��_%MY�������������*�(�-=�-.@1����K6(��DD�3�(��J������7��-6�5(��(�.12>�-6��4 �*@�17�� �����=�����C�����3(-.� �C�� �;+�-��1�(�E:�1(��C F*�1���2>7�- -��*+3�(��DD�2'(����J������1E�����K6(�
Page 232
232�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
��������&���� ���(��)���*�������� !!�"#$%&''!����� ����+)���,���,+��-�.���./�)�.0��� 123�
�����������
��
��
�����
�
��
���
���
���� �
���� ��
������
������
���
�������
���������
����
�� ��
�
�
�
�!
�
��
�� �� ! �
��
���
��
��
��"#
��
��
$���
��"#
�%
�%
�%
�%
�
�
��
��
� �&�
�"� �������
�"� ������
'���('������������
'� �('� ����������
��������
����������
����������
����������
�������
���������
��
�&�
����
��!��
����
��!��
�
�
�
��
)$�
�����
"��!#�
����!
�����
"��!#�
�!
��
�
�
�
)!$
����!
������
"��!#
)!$
���&�
*���"�
���&
���
���
�� ��
�
����
�
����
)!$
�!
��
)!$
������+� ��
������+���
���
���
��,��� �
���
����������
����������
�"���#�
�"���#�
�"��#!
��!��#�
�����#�
�����#�
�����#�
����#�
�
�
!
�
�
�
�� $ ����
���$ ���
�" �����
��"�����
)!$
)!$
���&�
���&�
���
���-#��
�� ����
)!$
���!
������������� ����������������
�
�
�
"
� � ! � � � � ��*
)!$
���
)$
$�
.#��'
,+���������
��
�� �� �� �� � � � ! �! �
�
�
��
�!
��
$��
�&� ������
��
��
��
��
��
��
�!
��
��
�����
�!!�
�"���
��
��
�
�
��
+�
���%#
�!
��
��
��
���
���
���
)!$
'�
�"�
�!
/� 0
!$
��
� 01!$
��
/� 01!$
��
/� 01!$
*�
#�
��
�����
������
��
/��
�
�#��
2�
!/�$
��
�3�
�"
45�.#�
!
�
�#!��
6�
0 ���� 2�
!/�$
-���������
���
)!$
)$�
�
�
��
� 0
�$
��
� 0
�$
��
� 0
�/�$
��
/� 0
!$
��
�&
�"�
4#
������������ ������
�"!
�4*(���
���
���
��
�
�
�
��
�& �
��&
)$�
����� ���������
���� � ���
����
����
Page 233
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����233
�������������2>�12�<(�26(��45�=-:�:=+17����.�3L@�� X`a�b�cbY� F;+��'()�����.�7�1�.��4 �*@�1�12��.@1)������*+� _TM� � �.@1�*@ �;+�12(� �;+� �=+�-��26(��4E)�7�6�12�� ���.�3�17�1�.��*+7�- -��*+2��6��B����1������(�E:��12�26(��45�=-:�:=+17����.�3L@��*@�'(E)�7�1�.��4 �*@�1�12�����.1�1�.�Q(���.���A6�*+� _TM���A6���� 2���6(���.�7�1�.�3�17�- -��*+2����1-+'(�(�2�=1B� X����(?$�TMY�2L1��65(�(�K�.�Q(���.�7�1�.�������
5'()�.�E���?*�*+7�1�.�2(�7�- -��*+��-+'(��6(� JM��12�-��22.�7�1�.�7�- -��*+2��'(1(�7��72�1 -;������(�*+�8P9�5* )�;�1-'(7)�61��Ddd��/A�E:�1(���� ��*+��7�- -��*+E)�6�.��*
�����������1��,2&
�*�����.��N�56�������������
������������ ������� ������������������������*���A��8#9�$%�-.��.�Q�������.� :;+��-6��.������������� ��������-6�3(��9J�KL1��9��3�1�!"#$%&���� 3�(�.�3(�9J�KL19��3�1���A��8#9� F;+� 3*��3���A�75�1/�7���'(5.+10�-6�3(��9N��.�3(�P� F;+��̂��5.UU(?F.�5�5'()�.� �C� � �=��(��'(1(�3�1���A��8#9�7��-6�3(��9�� 3�(�.�3(��e�3�1���A��8#9� F;+� �;���(� 3*��3���A�)�;��'(5.+1���.1���A��8#9��*-.�-�(��(���.��6(����M�$��6(�$�f ��'()��(�*+��.���(� 3��3�12�75�1/��K�()(�-��1�(�E)� �]��456�1)�.13�1���A��8#9�E)��'(�(�-6�2.g� �����*+��A6��(�3�(�;�3�1���A��8#9�X��-=2�-6����7���Y�K�(-��1�(��]� F;+����)�.�F�.11(�E)����2.g� �����*@���
������� � E:�75�15K(�� �;@�1-�����������������-6��8P9����� $���1 3�(�.�3(F���-���N�3�1������������ �����!"#$%&���
Page 234
234�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
����������E:�75�1/��(��'(1(�����5.UU(? 5*�1����-6��'(�F1 �O��I 3�(�*+3(F���-�#����(�K*+ ��I7��I�3�1�'(�F1 �O��I�*@��A6��)�6(1�$�KL1�NfZ[
$*&#�����1 �,��������
��������������
�����3�����4���!�#�4�!%��!�4�!
�(��.�5.UU(?�=�F>-)�;�3.��>���?� �(-�F>-<(����5(�(�K����'(������-�1/6(�3(����� 0�D��KL1��DN0��DT0� ��P��KL1��P��7����#N�KL1��#�� �3(F���- )�6(�*@5(�(�K�'()���(��'(1(����)�(��A�7����.1�*@
5)6������7������89,����7����:�1&;��<��89,��<�
X$�$Y��#�4�!�;��&�(� F;+��.�5.UU(?�=�F>-7�����(���561 3�(��������/��.1�12�7��15.UU(?���(��� �,��=2=-��3�(��$���=-<(�E������������� ����� !"#$%&���
X$��Y��#�4�!�#-#!�&� F;+��.�5.UU(?��2=��h�i�7���h$i�2(��>���?�<(����
� �-�2 2��������#3#2
Page 235
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����235
X$�NY�%��!�4�!�#-#!�&� F;+�5615.UU(?��2=��h�i�7���h$i����.1�>���?�<(����X$�JY��#�4�!�#�%!�����=!��5'()�.��(��'(1(�7���*@2���1�.� jF(�3(F���-����k"ld
�6(�.@�� �;+� �C� � �=��(�-��5��1�=� -����.�-�2(�<(�����7���*�(� ��*+��7��15K(���*+��2=� �=�3L@��*+3(F���-������*@�I*F*�A2����������'(1(��*+���7����6����=�(��=� -����.�-��.��*
�� �!�"�#�"�$%&'���$�(�������)"*�#�� +���$,#*����$-./$�0$�1"�&$��'
5�6���>��1&;��>3
X��$Y��#�4�!�#-#!�&�� F;+��.�5.UU(?��2=��h�i�7���h$i�2(��>���?�<(����X���Y�%��!�4�!�#-#!�&� F;+�5615.UU(?��2=��h�i�7���h$i����.1�>���?�<(����X��NY�$�%?@A��!���;������B�>������'()��E)���#N� �,�3(5.UU(?�(\]��(��>���
Xe#8Y�7��3(��#J� � �,�3(3���A���>���� Xe9DY�5'()�.� :;+��-6��.��>���?�<(����/6(������.5"�#� �-.���6(13�1�>���?������.5� "�#����7�6�#W!e�N����A� 3C��=H�= �C�����=�5�0�9e$N�����I*m(� ��(�(\]�(2�=1�X�*�������C��Y0��J#SS����I*)�6����(�2'(3���A��*�*F���0�n�P8Do$%������3.��* ����$%�:6�1�0�9e$%�$���I*�.��>?)<A�=0�eZd$$����A��.���(�:;@�5.�F.�p�� �,�-��
%45673# ��!"�28�0�9������"
:;<=*$>?@A#����2-���")�#@A#����+� �,���-�#./%
Page 236
236�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
:;<B$C*DEEDF# ��!"���� 2G��!"�G� )+� ��"!0!H :;<6*=IE@A����2-�
���� �������#@A#����
;BJJ<5=E
:;<KK#�����������������#KLK#���
5�6��>C�1&;��>
XN�$Y��#�4�!�#-#!�&�� F;+��.�5.UU(?��2=��h�i�7���h$i�2(��>���?�<(����
XN��Y�%��!�4�!�#-#!�&� F;+�5615.UU(?��2=��h�i�7���h$i����.1�>���?�<(����
XN�NY�$���������@A����$D��E&���(������3(F���-�*@ :;+��-6��.����A�5;+�5(�3���A���>���)�;��qeD�d�<(�E��!"#$%&�����.1�.@�2L15(�(�K�'(��E:� :;+��-6��.��>���?�<(��������.@1F���-��>���3�1���F=� -���� F;+�5;+�5(�3���A���>�����)�6(1�.�7���.�����3(��#%� �,�3(�.�3���A���>���� X�S9Y�7��3(��#�� �,�3(5613���A���>���� XdS9Y� E���?*�*+-��1�(� :;+��-6��.�F���-��>���3�1���F=� -���2�-��1-6�3(�.@15�1�*@/6(��12�7��1���.�5.UU(?������I*��(�I*4 ���� ����� WD�N�� �,�-��� ���2(��.@��.15(�(�K-6�3(F���-�.@15�1�*@�.��>���?�5;+�5(�3���A���>���7�����5(�� �(�=� n�8qPdrrdZ� F;+��.�5613���A���>����.����F=� -���)�;����H.F�� ��;+���*+/6(�������A�Ap0����A������7�������!�r�F;+��.�5613���A���>���/6(������n"s�PP0neP�Mr$%������3.� I����� -����$%�:6�10�n$�������m(� ��(�(\]�(2�=17����>���0�n$R������.��.�7�� �6���.� 5*�17����>���0�nJJ������5�=-:� �-�=�I��JSJ�2>��� �,�-��
Page 237
����������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*�����237
�����:��,-�$����%!���.0!�,
�(�3.��� -����4-�13�1������������E:���I* �����8�RN9�5(�(�K3.��� -����4-�1�����:6�1�����'()�� �,�:6�1�W$��7���W�������12�3.��� -���:6�1�W$�����.��(�����>�2(�3(��9���.��9$�7�� �C� � �=��(��'(1(�����3(��#��E�3?��*+:6�1�W������.��(�����>�2(�3(F���-���$��.�����7�� �C� � �=��(��'(1(�����3(F���-��#$��*+ �(-�F>-3�1�12�3.��� -����.@15�1:6�1�*�8P9���5*75�1/��(��'(1(�3�1�� -���� X5* 3*��72�1�(�26(��4-�13.@��7��5*7�172�1�(�26(���.�3.@�Y
5'()�.�3( �C� � �=��.@�����2(��'(�(E:� �C� � �=�)�;� �]��]��(��'(1(�3�1�12�3.��� -���7-6��-.�7�����.1E:�����>���(� �C�E��(�)�>�3�1�� -����������������̂�5.UU(?�!VW� 3�(�*+3( �C� � �=��*@7��
�����C�����$��%F���"���%!���
3(���J0���T�7����#T�E:�5'()�.�3.� I������� -��������4 �*@�13�1 I������� -�������(���-�12(�7�- -��*+� F;+�E)��*���75�(�F��*+E:�3.��� -���� :6� �*���.��� -����4-�1���(�5.+11(�2(������������� ����E:��(��̂��5.UU(?F.�5� F;+�����>��(�)�>�3�17�� I������� -���
Page 238
238�������������� � ����� ���������������������������� ��!"#$%���& �����'��()�'*��
�������,-���#!?����������������*�12�5�=-:���-=���6���.����:6�1�IL+1-6� 3�(�.�3(F���-���DJ�7������
3�1������������ �����!"#$%&����5'()�.�3(������.@�2� �,�-'(7)�613( �*���.�3(F���-�=�F>-�=� -����.�-�� 2L1�'(E)�5�=-:��*+3(�����5(�(�KE:�5��(15.UU(?�=� -����.�-� �;+���5�=-:��������
���������������.1�*5�=-:���-=���6���.��*�)�L+1-.���.+��;��5�=-:���PePd�IL+1-6� 3�(�.�3(�PNkW#8�������-=2�E:�1(� �,�3(�* I-�(��'(1(�3�1������������ �����7-6/A�E:�1(�5(�(�K�'()���6(���4]�E)�6� F;+�E:�1(�3(�*@ �,�3(�=�F>-�=2=-���������3(�*@2���(� �,�3(F���-��PN�7��
������#=*6*D#M�#=*3
������1-G(�B>H��I�-��!��%��@A�,"=�1(��.�"�����"+�&%&���/� ��(
E��(�E:�1(�������������2�-��1�*�(�F.t�(���7��������F=� -���� F;+�E)�����4��/��.Fp��(�5�>�� �u�S�2(��.@��'(�4��� �u�S����7����1E�)�6����(�2'(���7���3�1������������ ����!"#$%&���� �����������7����.@�-��1�'(1(��.����F=� -������-6� 3�(�.�F���-� qe�� 7���E:�I�4-�7����!"#fva��! wx yzzv{x�E��(����7���3���A��1E������������� �����!"#$%&���
����(�-=�-6���)�6(1��������7����.��������������.@�2�����'(/6(�72G��"#9���.1�A�
���� � ����������
������ �������
����
�����
����
�
��
��
�����
��� �������� ��� ��� �� ��� ��� ��� ��� ��
���
���
���������
�����
���
���
���
���
���
���
���
���
���
���
������
� ���
�
��
��
��
���
��
������������
�������������
������������������� �
�������������������