97
!"#$ % &’( ) *’+ ,&%& -

8051 teoria

Embed Size (px)

Citation preview

Page 1: 8051 teoria

��

�����������

������������������

������� ���������

����������������� ����

����������

� �

����������������

��������������

��

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�� �� � �� �

���������� ���������� ����������������

�������������������

������� ������������

����������������������������������������

����������������

�����������������������������

��� �������������������!"#$�����������������������%���� �������������&�'(���������������)������*��'+�����,��&%&���������-������

���������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

�������������

��� �

Page 2: 8051 teoria

��

��

��������

������ �� �������� ���� ������� ��� � ���� ����� ����� ��� ��� ���������� ���� ������� �� � � ���� � ��� ����� ����� ���� �������� ��� ��� ��������� ��

��������� ���� �������������������������� ���������� ������ ������������������� ������������ ����� ������� ������������ ������������ ���� !����������������� �����"��� ������������������� ���� � ��� ��������������#�������������� �������� �$�������� ������������� ������ ������������ ��� ��� �� �������� ���

"� ��������� ��������� ���#� ��������������%��������������� ������� ��������� �� � ���������� ��� ��� ������� ��� �������� ��� � &�� �� ��� ������ ����������� �� ������������ � � ���� ��� '(�� ���� � �������� � ������������������� ���� �#��� ������� ����������� )� �������� ��� ���������� ���������������� �������� ��� ��� ����� ����#� �������� ����� ������#�������� ���������������������������� � ��������������������������������� ����������#��� �������� �� � �� ����������������

*������ ������������������ �� ��� ������� ���������$������ � �����������$� �� �� ���� ��� #��� ���� �� � ����������� ������ � � � �� �� � ��������������� ��� ������� � ���� + �� ��� ��� �� �� ���� �� ��������� ��� ������ � ������������%��������� ��������������� ������! ���� �����'(�����#� �#��������������� ����������������������������,��(��������� �������������������������-��������� ������������� ����.�/��������� ��!����������������������� ��������������� � � ����� ������� ������ ���������� � '(��#���� �� ������ ����������������� �����������������

* � ���� � ��� �� ��� ��������(���������%��� ������ ���� ��������� ����� � 0��� ��� ���������������� � � ���� � �� ����� � ��� � �� ���1� � � ����������� ������ � �!�� �������

* ������ �� ������ ����������������������������#��������������� ���'2������� �� ��� ������� � ����� �� �� ����� � ������ ��� ���!���� ��&���� �� �����������������������������������333�4567�������

)�����%��� ����� ��� ���� ����&����� ������ ������� ���� ��� �������������������� ��� ������ ���� ������ $�� ������� � ����

Page 3: 8051 teoria

��

��

������������� �

���������� �������������������������������������������������������������������������������������������

�������� �� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ���!��"��#���������������������������������������������������������������������������������������������$���������#��%�&"�������������������������������������������������������������������������������

���������������������������������������������������������������������������������������

�����'�(��)����������������������������������������������������������������������������������������������������������*��+�������(��)���������������������������������������������������������������������������������,��������*��+�������������-���������$.����������������������������������������������������

������� ��������������/��&0���$�������������������������������������������������������������������,������ ������*����������������(��)��������������������������������������������������������'�����1�����������������������������������������������������������������������������������������������������������2������������*34��������������������������������������������������������������������������������������������5��������������������������������������������������������������������������������������������������������������������

�������� �!"##$��%&������������������������������������������������������������������������������� �

��������6���������7�$�$8-('���������������������������������������������������������������������������������������������������������������������������������������������������������������������������

�����-������&"�����7�$�$8-('�������������������������������������������������������������������������������������9�&"�����7�$�$8-('�������������������������������������������������������������,�

�����������������������������������������������������������������������������������������������������������,���,��:����������������������*�����������������������������������������������������������������������,����*��������������������������������������������������������������������������������������������������������,����*����$������������������������������������������������������������������������������������������������

���������������������$������������ ��������7�$�$8-('�����������������������������$��&"�������������������������������������������������������������������������������������������������������������������&"������������������������������������������������������������������������������������������2��������$���������������&"��������������������������������������������������������������������������2�����,��;���������4��%���#�����������������&"��������������������������������5�

Page 4: 8051 teoria

��

,�

��������'�#��(� �����)� *��*�(������������������������������������������������������

,����-������&"��<��� �� ���������������������������������������������������������������������������,������� �� �����=������)������%��������������������������������������������������������������,��������%���������%���������������������������������������������������������������������������������������,�,��������3����������������������������������������������������������������������������������������������������,����(��������8�����������������������������������������������������������������������������������������������,������������������������������������������������������������������������������������������������������������,������8�/���&0�����������������������������������������������������������������������������������������������

,�2�����&0��������������������������������������������������������������������������������������������������������,�,�2����$����������������&0������������������������������������������������������������������������,�,�2����'�(����������������������������������������������������������������������������������������������������

,�5��'�����������������������������������������������������������������������������������������������������,�5���������-�������������������� ��������������������������������������������������

����������%���������������������������������������������������������������������������������������� ��

�����(��������'��������������������������������������������������������������������������������������������������'��������������=���������������������������������������������������������������������������������'����������������������������������������������������������������������������������������,���������'����������+ �������:�����������������������������������������������������������,������,��'�'��������;'(�����������������������������������������������������������������������������,��

��������+�#������������ ������)����������������������������������������''�

2����(��������$��������������������������������������������������������������������������������,,�2�����$����������/�>��?������������������������������������������������������������������������������������,,�2������ ���'@���%�&"��-�������������������������������������������������������������������,2�

2�����$����������/�����A��������������������������������������������������������������������������������,2�2�,���$����������/�������/AAAAAAAAA����AAAAAA��A�AA�,��2�����$����������B���6AAAAA����������AAAAAAAAA��A��AA�,��2�2��$�����������������AAAA�������AAAAAAAAAA���AA��A���2�2����(�������������������������������������������������������������������������������������������������2�2�����'���������/�������������������������������������������������������������������������������������2����������������@���1������������������������������������������������������������������������������

2������������������������������������������������������������������������������������������������

2�2���� '���������B6��������������������������������������������������������������������������������2�2������$������������������&"��-�/��������������������������������������������������������,�

Page 5: 8051 teoria

��

��

����������,��������������������������������������������������������������������������������������������������

5��������/=������-�������������������������������������������������������������������������������������5�����������������������������������������������������������������������������������������������������������������������5������������������������������������������������������������������������������������������������������������2�

5������������������������������������������������������������������������������������������������������������5�

5������������������������������������������������������������������������������������������������������������5�

5������������������������������������������������������������������������������������������������������������5�

5����$.�������������%�������������������������������������������������������������������������������������5�

����������� �������-�������������������������������������������������������������������������������+��

�����(��������-�������&"��������������������������������������������������������������������������������2����������������������-�������&0��������������������������������������������������������������������2�������-�������&0���$.�����������������������������������������������������������������������������������22��������(��������8�����������-�������&0���$.������������������������������������22�

��,��$.�������������%������������������������������������������������������������������������������������2��

������������(���.��� ���������������������������������������������������������������������������

�����$������������(�������������������������������������������������������������������������������������5�������*��������'����&"�����(������������������������������������������������������������������5���������*������>�2�@���?������������������������������������������������������������������������������5��

�����$.�������������%������������������������������������������������������������������������������������5,�

������������(� �����������������������������������������������������������������������������

�������� ������������������������������)������C�)�';�����������������������������5��������(��������"���������&"�����8������������������������������������������������������������

�����������&"��D ��1�E�>�?��������������������������������������������������������������������������

�����������&"������6���>�?��������������������������������������������������������������������������

������F���B�����������������&"��)�����������������������������������������������������������

���,��:�������������4GH��������������������������������������������������������������������������

���������$�����/��)�$������������������������������������������������������������������������

������'��8�����E������8���������������������������������������������������������������������������������

������8�����&"�����������������8I��������������������������������������������������������������������������������������*������@��������������������������������������������������������������2����,�������������������*����,�@��������������������������������������������������������������2�

Page 6: 8051 teoria

��

2�

������-�����&0��������&0�����������������������8������������������������������������������������&"���8D����>�?������������������������������������������������������������������������

�����������&"���8D��B�>�?���������������������������������������������������������������������

�����������&"���8D��B�>�?���������������������������������������������������������������������

�����,�����&"���8D����>�?����������������������������������������������������������������������

�����������&"���8D����>�?����������������������������������������������������������������������

���2��$.�������������%��������������������������������������������������������������������������������������

��0 ��������1����������� �����#2�� �������������������������������������� �

Page 7: 8051 teoria

��

���� ����

���� ���������

+��� �� � �� ���� �� �� ����� ��� �������� ���������� ���� ��� ��� � '(�� ���������������� � �� ��� �� � �� � �� ��� ��� �� !��� �������(��� 8������ �� � �� ����� ���� ��� � ������ ����� ��������#� �������������� ��������� ���&������ ������������ �������

1��� ��� � �� ��������� �� ��� ���� �� ���� ��� � ������ '(�� �������� � ������ ��������������� ���� ������� ���� ������� � ���� ��� � � � � � ��� �(����#��� �#� ��������!����� ���� �������� ��� �� ����� ��� �� �������������� ��� ��� �������� ������ ������� �� ���� ���!���������� ��)� 1� �� ������ �� ������� ��� ������ �� ����� �� ��� ���� �������� ����� #� �� ������ ���� 1� ���� ��� ��� ��� � � ���� � ��� ������ � � � � ��� � '(�� ������������ ������

1��� �� 1� �� ����!���� ����������� ��� � �� ��� ������ ��� ��� ������ ��� �������� ������ ������ ���� ������ �� ����� ���� ������ ���������� � '(���

"������ ����1�� ������ ��������'��� ������ ����� ����794:������� ��� ������#��� ������$������� �(��� � �� '(�������� � ���������� ���1$";��� ������ ����� ������ ���� � ������������� ���� 1� ��� � ������ ��� ��� �������� ��������� �� ��� � ����� �� ����� ��� �������� ������������� ��������� ������ �����

* � ������ � � ��� � ����� ���� 1� � � �������� ������� ������������������������� �������0������������#������������� ������������ ����� ������� �� ��� ��� � ���� ����� � �

���. /��

5�

���� ���� �

� �� ���� �� �� ����� ��� �������� ����� ����� ������ �� ������������� <����� ���� �����#��� =� #��� ����� ���

������ � �� ��� �� � �� � �� ��� ��� �� !��� �������(���8������ �� � �� ������������� ������ $��� �� ���� ���� � ����� ����

#� �������������� ��������� ���&������ ������������ ��������

1��� ��� � �� ��������� �� ��� ���� �� ���� ��� � ������ '(�� �������� � ��� ���� ������� ���� ������� � ����>�� ������ ����1��

��� � � � � � ��� �(�� ��#��� �#� ���� ����!����� ���� �������� ��� �� ����� ����� ������ ������� �� ���� ���!���������� ��

��� ������ �� ����� �� ��� ���� �������� ����� #� �� ������ ���� 1� ���� ��� ��� ��� � � ���� � ��� ������ � � � � ��� � '(�� ����

1��� �� 1� �� ����!���� ����������� ��� � �� ��� ������ ���� �������� ��� ������ ��� �������� ������ ������ ���� ������ �� ����� ���� �

"������ ����1�� ������ ��������'��� ������ ����� ����794:������� ���������� �(��� � �� '(�������� � ���������� ���

������ ����� ������ ���� � ���������"������ �� ��� �� ��� '(��� ������ ���� 1� ��� � ������ ��� ��� �������� ��������� �� ��� � ����� �� ����� ��� �������� ����� �� ����� ������ ��� � '(�� ���

�� � ����� ���� 1� � � �������� ����� ������ �� ������� ������������������������� �������0������������#������������� ������������ ����� ������� �� ��� ��� � ���� ����� � ��

���. /���

Page 8: 8051 teoria

��

����������������������������������� ������������� ������ ������������� ������������

���������������

; � �� � � ��� ���� � ����� � ����+������� ��� ��� 4� ������ �� #� �� ��� ��� � � �� � ��� ����� � ��� ������ ������������������� ������������* ���������� � ����������������� �3 �������������� �� �� ����������������� ���� � � ���� �������� ������ ������ � � ����������� ���� ���� ��� ��������� ��� � �� ��� ����� '(�� ��� �� ��������� ������ ������ #��� ������ ��� ����� ���������� ������� ��� ������ ����� ���� !���������� � ��

����������������� ������:5� ������������� ��������� ������������8������ ������������������������ ��������? �!�� �����@�� ����� �������� #������ � ������ ������ �������� ��� �����'2���<&������ �� �����'2��� ��� ��� � �=� �� �(�� ��� � ���� ��� �� � ����� � ��� ����� ����������+1�C���� �� �����"��������������� ������������� �� ��������� � �� ����� �������� ������ ����� ���� ������ ������ ���.���������� "A8�� �&������ ��� *B+� ����� ���� ���&� � ,C*D)+������� '(�� ���� ���� ���� "�� ������� �������� � ��� ��� E55� � � '2��� �����������

)�����������#���� ��������� ������ ��������������-�? �!�� �����@�� ������� �����������

���������������������������)�0����������������������� ��� �����(��������� �&�������� ���� �������� ������ ���������� �������������� � ��������� �� �� �� '2��� ������ � ����� ������� $������������ ��������� ��������� ��������� $������ ������� �� ������ ��������������

��

������������� ���������� ���� !���������������"��������������� ������ ������������� �������������

�� � ����� � ����$ ��� � � � ���� #������ � ���� ���+������� ��� ��� 4� ������ �� #� �� ��� ��� � � �� � ��� ����� � ��� ������ ���

����������������� �3 �������������� �� �� ����������������� ������ ������ � � ��� ������

�������� ���� ���� ��� ��������� ��� � �� ��� ����� '(�� ��� �� ��������� ������ ������ #��� ������ ��� ����� ���������� ������� ��� ���

����������������� ������:5� ������������� ����������� �� ������� ������F5������ ������������8������ ������������������������ ��������? �!�� �

@�� ����� �������� #������ � ������ ������ �������� ��� �����'2���<&������ �� �����'2��� ��� ��� � �=� �� �(�� ��� � ���� ��� �� � ����� � ��

��"��������������� ������������� �� ��������� � �� ����� �������� ������ ����� ���� ������ ������ ���.���������� "A8�� �&������ ��� *B+� ����� ���� ���&� � ,C*D)+��

"�� ������� �������� � ��� ��� E55� � � '2��� ������

)�����������#���� ��������� �����"G��)������ �� � '(�����+1�C���� � ������� ���$������#� ������������ �������

�����������������������)�0����������������������� ��� �����(��������� �&�������� � � ���� �#������ �������� ������ ���������� �������������)�0�������������������� ����$��� � ��������� �� �� �� '2��� ������ � ��� ������ ��� ���� � #��� ���� �(��

������������ ��������� ��������� ������������� ������ ������ ���� ���� � '(������������� ����

Page 9: 8051 teoria

��

����� ���������������

�� =� "�#�� � �� 0��� � � �������� ������� ������������������������ ������ ��� ���� �

��� =� ;�� ����� ��� �������� ' � ��

���������� � � ���'(��� ����� '(�� �������� ���

������� ��� ��$����� ���%������"�������&�������� ���

�G������������#������� ����� ���������������������

������ ��!��"�#����

"��� �������������������� � �������� ������ ����1���������� .

������,���� �� ��� �������� ��� ��� � � ��� 1� #��� � ����� �� ������������� ������ ����� � ����������������������� ���<�!���������� $��<�!�����=���)� ��� � � ��� �������� ���� � ��� ���� ��� ��� ��� ��� � � ��� ����� '(���H������ � ��� �� ���� ���� ���� � ��� ��� � �� ������ ���� ��� ������ � ������ ����1������ �3 ��'(����������* � � � � ��� ��� � � ��� �������� �������� �������� ������ � ��������)�����)�����)�����)�)�#�������� � ������������� � I�

��

=� "�#�� � �� 0��� � � �������� ��� ����� ������� ���$������ ������������������������ ������ ��� ���� ��

;�� ����� ��� �������� ' � �� ��3��� �� ��� � ���� ��� ��� � ��� � ���'(��� ����� '(�� �� � � '(�� � �� ����� ����

������ ��� ��$����� ���%����� ����� ��� �%���� �*�� $������� �� *���

G������������#������� ����� �����������������������

"��� �������������������� � �������� ������ ����1���������� .�

,���� �� ��� �������� ��� ��� � � ��� 1� #��� � ����� �� ����� ����� ����������� ������ ����� � ����������������������� ���<�!�����=����������

)� ��� � � ��� �������� ���� � ��� ���� ��� ��� ��� ��� � � ��� ����� '(����� ���� � ��� ��� � �� ������ ���� ��� ������ � �

* � � � � ��� ��� � � ��� �������� ��� "G��)���� �� ��������������)�����)�����)�����)++++����������

Page 10: 8051 teoria

��

,� ���+#� -� ��� �&������ ��� ���������"��� ��� �� ��� ���� �� ������� ������ ������� "��� �� ��� ������ ������ ��������.����������)�����)��������/����������������0����������� *���������#� ������

* �� ������ � �������� ��������� ������ ������ ����1�����#� �����(������� ���� ������ ������ J��� ������ ����� ��� � � � ��� ���� ����� ��� ����������� ���������� ���������#�������� ���������� � ������������������� ����� �������� #��� �� � %�� � ����� ���� #��� ���������� ��� ���������,�������������������� ���������� ���� � ��� ���� � � ������� ����������� � '(���,���� ����������� ������������� �������' �� ���������

;�� ������

8������#�������� � � ���� ���������� ������ �������������� ���� ���� #����� ��� � ������(�� ��,K� <������ ��� � � � ��� � ���� � � ����� ������� ����=�� #��� ������� �� � �(�� ��� �� � '(�� ��� ���� �� � ���� ������� #�����#������������� � ���� ����&� ������������ �����������$��%����#��&�'"�

"�&�� � ����� '(�� ��� ��� � �� �������� ���� � �� #����� � ��� ���������� ���< #����� �������(����,K=�� � �����������������������������(����������� ���*1������� � �������������� �����<�����0���������������������=�1������ ��� � � ��� � � '(�� ����! ��� ��� � � �������!����� �� ����� #������� ������������� ���<������(����,K� �������� � ���������� ������� � '(������ ���-����� ���������� '(���������� ��������������.��

�� =� "� ���� � � ��� � � ��� � ��� ����� ��",1L��*�,K,��

�����

����������

���

#� -� ��� �&������ ��� ��������� ���� �� ���1��� ����� "����"��� ��� �� ��� ���� �� ������� ������ ������� "��� �� ��� ������ ������ ��������.����������)�����)��������/����������������0����������� *���������#� ��������������������� ������

* �� ������ � �������� ��������� ������ ������ ����1�����#� �����(������� ���� ������ ������ J��� ������ ����� ��� � � � ��� ���� ����� ��� ����������� ���������� ���������#�������� ���������� � �����������������

� � ����� ���� #��� ���������� ��� ���������,�������������������� ���������� ���� � ��� ���� � � ������� ����������� � '(���,���� ����������� ������������� ��� ���2����#����(��������

� ���������� ������ �������������� ���� ���� #����� ��� � ������(�� ��,K� <������ ��� � � � ��� � ���� � � ����� ������� ����=�� #��� ������� �� � �(�� ��� �� � '(�� ��� ���� �� � � � ���� �� ����� ������� #�����#������������� � ���� ����&� ������������ ����

"�&�� � ����� '(�� ��� ��� � �� �������� ���� � �� #����� � ��� ���������� ���< #����� �������(����,K=�� ����������� ���"G��)����* �

�����������������������(����������� ���*1������� � ���0���������������������=��

1������ ��� � � ��� � � '(�� ����! ��� ��� � � ���"G��)��� ������ ���� ������!����� �� ����� #������� ������������� ���<������(����,K�����M�;=�� �������� � ���������� ������� � '(������ ���-����� ���������� '(��

=� "� ���� � � ��� � � ��� � ��� ����� ��� ��� �� �� �3 ��

��

� ��������������������������

Page 11: 8051 teoria

��

C�=�"� ����� ���� ���� ���������� �����������

��������

��

"��� ������������� ���� � ������ � '(�.��

3�1� ������ � �������������<���.�

�3�1����� ������ � ��

3� H�� � � ��� �� ����� ��� ����� �� #����� � � � � � '(�� ��� ����< #�������,K=��

�'3�1���� ���� � ��� ��*1��

�3�G �� ����� #������� �������� ����� ��� <��,K���� � ���� ��� ��� � � ��� � � '(�� <",1L��*�,K,ND"H"�,K,=��

��O������ ����#��� ���������������������� ������������������ � �� ��� ������������ ��� � � '(�������������� ������,����������� �� ������� �� �������� ��� ��� � � #� �#��� ����� ��� �������� ������ ��������� ��� ��� �� �!�� �.�3�#4���54�(�����������P�H � ���� ��� ��������� � ���H ��������� � ������� ������������ ������

���

����� ���������� �3 ��ND"H"�,K,��

� ������������������������

"��� ������������� ���� � ������ � '(�.�

1� ������ � �������������<���.�'(������=��

H�� � � ��� �� ����� ��� ����� �� #����� � � � � � '(�� ��� ����

G �� ����� #����� �� ������������� ��� <��,K���� �M�;=�� ������� � ���� ��� ��� � � ��� � � '(�� <",1L��*�,K,� ���

O������ ����#��� ���������������������� ������������������ � �� ��� ������������ ��� � � '(�� ������������ ������,����������� �� ������� �� �������� ��� ��� � � #� �#��� ����� ��� �������� ������ ��������� ��� ��� ��

����P�H � ���� ��� ��������� � ���

H ��������� � ������� ������������ ���"G��)���� �� ������

Page 12: 8051 teoria

��

�������������� �

���� (�)�*+��

)�� �������� ����� ����� ������ �� ���������� � ��� � �� �� � ��� � �� � � ���� ��� ��� �� ?������ ������@����� ��� �� ����� ,����� ������� � ���� ��� ����� �� ������ ���� ����� �3 ���������� �����������<�����&�� �1+)�=� �� ������ ��#��������� ��� ���4������ ���������������

��1*/����4������������ � �� � ��� '2������������

�� 4Q�R�������D)+�<���&� ����������� � ������ ����� � ��� ��=

�� C6FMR�������D"+����� ����<��� '��� �� ������������� � =

�� :C������������� � ���� !� �<�A)=���� ������

��+���������� � '(����� �����*�

��G��������A�������� ��� '(����������������� ����

��1����� '(����� ��

��*�� ������B ���8���G���

��,����� ����������'(�����������!������������� ��

��)��� ��������&����� +����

��)�� '(������F9�����*F9�

��*���'(����� �&�� ��<��0����=

��"������ '(�����,� ��J�H��

�)� �������� ��� (��)��� ������� ����� ������ �������� ������������� #����������� � ��� ����� ���� ��� ��� %���� ����� ������ ���� ������ ��������� �������� ��������������������������

���. /��

���

�������������� ���������

������ �� �������� ������ #��� ��� �� ����� � ��� � �� �� � ��� � �� � � ���� ��� ��� �� ?������ ������@�

�� � ���� ��� ����� �� ������ ���� ����<�����&�� �1+)�=� �� ������ �� �����

��4������ ���������������

1*/����4������������ � �� � ��� '2�������������

���������� � ������ ����� � ��� ��=�

C6FMR�������D"+����� ����<��� '��� �� ������������� � =�

:C������������� � ���� !� �<�A)=���� �������

�������� � '(����� �����*��� +�������3�$���������

G��������A�������� ��� '(����������������� �����

*�� ������B ���8���G����

,����� ����������'(�����������!������������� ���

*���'(����� �&�� ��<��0����=�

������� ����� ������ �������� ������������� #����������� � ��� ����� ���� ��� ��� %���� ����� ������ ���� ������ ��������� �

���. /���

Page 13: 8051 teoria

��

����������5�����

����������5���

�*�

���������������

���������������

#��������� ��� ���4������ ���������������"�������������� � #������ ������ ���������� � ��.���

������

������������������������������������� ���

*���.*���.*���.*���.� � � �!�� � ������ �������� :C� �A)S�� #��� ���� ��������� '(�� ����� �� ?�����@� ������� �� ������� ��� ����#� �������.���J���J���J������� �� �#��� � ����������������������������� !����������(����� ��������� ������ ������������� ���������4������

G����A1������.G����A1������.G����A1������.G����A1������.� ���� �������� ����� ��� �� ��� ��� ������� ����� �(�������� ���� � � �� � ��� ���� ��� ������� � ��� � � � ������ �� ��� �� ��'2������� ������ ������� ����A������� ������������ ���������"���������������� ��� ����� ���� ��������� ������������������� ����� ��������� �3 ������ �3 ��

���

����������5����������������������������������������5�

����������5������������������������������������5�

�)F�

��@����� ��%�&"��

����������������'�(�������������������'�(���

����������������'�(��� ����������������'�(���

������-)��

#��������� ��� ���4������ ����������������"�������������� � #������ ������ ����(��)����������� � � ����������

������������������������� ����

�� �������� :C� �A)S�� #��� ���� ���� ��'(�� ��� ������ '(�� ����� �� ?�����@� ������� �� ������� ��� ����� �(�� ���������� ���

��� �� �#��� � ����������������������������� !����������(����� ��������� ������ ������������� ���������4�������

�� �������� ����� ��� �� ��� ��� ������� ����� �(����� ������� ����� � �� � ��� ������� ���������

�� � ��� � � � ������ �� ��� �� ��'2����)��������� ���(��)��� ������������ ������ ������� ����A������� ������������ ���� �������� ������� ��

��"���������������� ��� ����� ���� ��������� ������������������� ����� ��������� �3 ������ �3 ���

Page 14: 8051 teoria

��

�,�

; � ��'(�� ��� ��� ���� � ��� ���� ���� ������� � � ��� ������ � � �� �� ���'(�� ��� ?�@� � � ?�@� <��� � ��� ����� =� ��� ���� ������������ ����� ��� ��� �������(��>���,?���(��>����?��;��� � ��'(��������������������<G����G�=��(�������� ���� ��K�,�� ������� ���������� ����

������'2��.������'2��.������'2��.������'2��.� �������'(��������������� �� �������� ��������������� ��� �������� ������ �������'(�������� � ��������#����� ������ �� ����� � ������� ���� ��� ��"�� �� ����� �������'(�������� ������� � '(������ �3 ���������(���������� ������#����������� � �#��������� ������ ����� �������������������������������� �������������#���� � �� � ���'(����������� ���������� ������ ��� ������'(�.� ��� �� �3 ��� ������'(�� ������ � � ��� ��� ����������� �� ������'(�� ������ � � ������ ������ <��� ������� ��� ����� '(����� ��� ���=�� "� ������'(�� �� �� � � �� � ��� ����� ����� � ���� �� ���������� �������������������� �������������������������������� � ���� ������� ��������� ����������������������������������

*�� ���� �.*�� ���� �.*�� ���� �.*�� ���� �.���� ��������� '(������ ��������������&�#������������ ���������� �� '2��� ��� �������� *������� �������� ���� � � ��� �� ��� �� ��� �������������� #��� ��� � �� � ���� ��� ��� � � ��� ��������� D������ D�,����D�TCC�� ���� "������ ��������� ��� ������������� #��� ������ �� ����� �������� �(������� ������ �&����� N*��� ������� � �� ��� �������� ��� &����� ��� � �������������� �2���� �������������

+��&� � � ��+��&� � � ��+��&� � � ��+��&� � � ������ <D)+=<D)+=<D)+=<D)+=....� ��� '�� ��� ���&� � ������ ��� � � ��� � ����$����6�7����� ��������� � ����� ����������������� � '(���/� ������ � ���� �� �������� ��� � �� � � ����� � ��� �� � ������������� � �� � ���� �� ��� ���������������� � ��� ���.� *1�� � � ��� �� 0��� ���������������������� �����!����������� ��������� ����&� �D)+�����+� �������������� ��������� ������

����� �,��-������)�*+��

; � �!�� � ������ ������ 4Q�R���� ��� ���&� � ��� ��� � � D)+� � � � ��� �����$����6�7� ����2�MR����������&� �D"+�� � � ��� � ��� ������������� � �#������(���� ��� ����� ����������� ��� .�

3�����MR������������� ��<� �� �������� � ���������� � ��=��

�3�����MR���� ���� ����� ����������� ��'2�������� �����(58���������5�$���� (� �� �4� � ��� ���� ��� �� ��� ��� � � �� � !� �� ������������ '(����� �����P��� ���� ����� #������� ���(��.���6��

Page 15: 8051 teoria

��

������������!����� ������������"������%��������0�� �� ��������� ��4� �� �����������"������������9����0���&�� �����)�������� ������������� ��������

������,��-����������.�������$/�����

"� ���&� � ��� � ���� 5�:� �5� ���� ������� :��������&� ������ ������&� ������ ��"������ � ������ ��� �� �� � � �� ����������MR���� ������ � � ���������� � ��������� '(�������� � ��� �� ��� �� ����� ������������MR����������� � � �������� �������<�JDS�=�#�������������������� ����� ��� ��� ��� '(����������� ��

�;�� ��

����

�����������������������'0����%����������

�(�� ����'2��� !�� �� ������ �� � ����&� � D"+�� #��� �#��� ���� ��'2��� ����! � �� ������ ����������� ����1��� ����� �� ����!������� � ����������� ���� �� ��� �������� � �� ��'2�������� � ���� ������.� �� � ����� '(�� ��� ��� ���� � ��� � ��� ��� � ��� � � ��� � ����������� ����,���������� ������(�� �� ���� �������� �����������,����� ����� ����� ��� ��'2��� ����� ��� �(�� � � ��� ���� ����'2��� � ����&� �D"+����� ��� ������%���� ������ '(����� ���� ���,���� ����� ����������������������������� ��� ��� �� ��� ? ������@� #��� ��������������������� � ��"� ��� �� � �!�� � ����� � ���� ���� ����� �������� ��� M��� �� MR���� ����� ���� ����������'��� !����� ����������

����������������������

������������!��������

���

������������!����� ������������"������%��������0�� �� ��4� �� �����������"������������9����0���&�� �����)�

������� ������������� �������� ������������� ����

,��-����������.�������$/�����

5� ���� ������� :������ ��� ����� �� ������� � ������&� ������ ������&� ������ ��"������ � ������ ��� �� �� � � �� ���

MR���������� � � ���������� � ��������� '(�������� � ��� �� ��� ��������� � � �������� �������� ��'2�������� ���

<�JDS�=�#�������������������� ����� ��� ��� ��� '(����������� ���

������������������'0����%������

�(�� ����'2��� !�� �� ������ �� � ����&� � D"+�� #��� ������ ��� ? ������@��#��� ���� ��'2��� ����! � �� ������ ����������� ����1��� ����� �� ����!������� � ����������� ���� �� ��� �������� � �� ��'2�������� � ���� ������.� �� � ����� '(�� ��� ��� ���� � ��� � ��� ��� � ��� � � ��� � ���

,���������� ������(�� �� ���� �������� ������������,����� ����� ����� ��� ��'2��� ����� ��� �(�� � � ��� ���� ����'2��� � ����&� �D"+����� ��� ������%���� ������ '(����� ���� ���,���� ����� ����������������������������� ��� ��� �� ��� ? ������@� #��� ���� � �� ���������������� �� ��

"� ��� ��������� � ����������� �������������� � ���� ���� ����� �������� ��� M��� �� MR���� ����� ���� �����

!���������������������������� "����������

Page 16: 8051 teoria

��

�2�

*�������� � �� ������������ ���������� ��������� ���������? �������@�������������'�� !���� ��������� ����&� �D"+��,�� ������ � ��� � ��� �JDS�� #��� ���� � ���� �� ��� ����� � ��� �� ��� ��������� ����� �������� ��������� ������ ����� �����'��� !����� ��������� ������ ���� �����

�����>��F?�

�����>��F?�

�����>�F?�

�����>:�F?�

*5��*7��*C���*:��(������'2���� ����&� �D"+�#������������� ������������������������ ���� U� �#��� ���� � � ��� � � ��� ��� ������� �������� ���� �� ������ ��� ������������%������������ �� !� ����������

+)��2�(.3)$��

�� )��>��F?��

O��������� ��������� ����������� ���������'������������������$���� ���#����� �� �� ����������� �������������������������� � ������ ��������� ��� ����� � � �� � ���$���� � ��� ������� ��� �� � ������'(��� ,��� �� ��� ��� ��� �� �����'2��� */��� �� *)*� �� �� ������ ������ � ����� ��� ��� �������'2��� 1"VVAD,G/D;� #��� �(�� ������ � �� ��� ���$���� �� � � ����� ��������������; ������ ����1����������� ������ ����� ��� ���� �� ���������������� ������(��������� �� ��������'(�������� � ���������

).,$���).,$��

��(F��>�8F?�

��(��>�:F?�

��(F��>��F?�

��(��>�F?�

��

Page 17: 8051 teoria

��

�5�

)� "G��)��� ������� �� ������ #��� ������ ��� ��� � ���� � � � � �� ��������� ��������������<����S�=����������� ���������������<��� ����=��)� �������� ��� ����� ����� ����� ��� 4� ������ G�� �� GV�� �� �� ��� %��������� ��� ��� 7F� ������ ;����� ����� ��� �����A������� ��(�� ������ ���� �����������7F���������������

).,$��(3)�( �$#.+)$��

��(�';�>��F?�

��(��>�:F?�

��(F��>��F?�

��(��>�F?�

�).,$�,(4$�$#.+)$��

��(*'8�>��F?�

*������ ��� � � ��� ������ ��� �� '(�� ��� � � ����� ���������� ����������� ���������

�(5$��(3)�( �$#.+)$��

����';�>�5F?�

O� ��� ����� ��� �� ��� � � ����� � ��� ������ ��� ����� ������ ����������� ��� ��� �� '(�� �� ������� ��� ����� � �� �������� � ����� �������� ����+)8������� ���� ��� ��� '(����������� ������ '(����� �������

����

+$�.� 6 ��$��

�� ): ��>��F?�

"� � ������(�� ��� � ���� ��� ����� �� � ��� � � ����� ����� ��� ����� �� �M/J������� �������� J��� ������ ������ ��� ���� ������ ����� �M/J�� ��� � �� ������(���������� ����'(���� ��� ����� �3 ���&������������M/J����

.��.$7.������%��������8�.������%�$��9��:�

Page 18: 8051 teoria

��

�� -$�>�F?�

�� -��>:�F?�

�(�� ����� ����� ��� ��'2��� ����� ��� ������������ ��� �� ������'2��� ����������� ����)� ����� ��� �*� �� ������� 3���� ����������� � �� ������'2��� ����� ����� ���� )� ����� ��� �,�� ������ � ����� � ��� ��� ����� � ��� �� �� ������'2��� ��� �������� ���� ���� ����� ������ �� � ����� ��� �� ��� �� � � ��� �� �#� ������� ���� �� �!�����#���� � �� ��������'2�����

��;������������,�������������������

�����������������������������������������������������

��������#

������5���L�"������ '(�����M�!�

��67$��5��C�G� �

���

�(�� ����� ����� ��� ��'2��� ����� ��� ������������ ��� �� ������'2��� ����� �������3����� �� ���� ������ ������

����������� � �� ������'2��� ����� ����� ���� )� ����� ��� �,� �� �������� ����� � ��� ��� ����� � ��� �� �� ������'2��� ��� �������� ���� ����

����� ������ �� � ����� ��� �� ��� �� � � ��� �� ���H������� ��� �� ����#� ������� ���� �� �!�����#���� � �� ��������'2����

��,�����������������)�*+���

������������������������������

�����������������������������������������������������$������������� !%&���

#�������������������������

Page 19: 8051 teoria

��

���

,���,�8���� �����������������������O������� ���� � ����� '(����� ��� � � ��� !� � <�A)S�=� ��� � ����� O� �� *��� #��� ����� � ��� ������ ��� �� '(�� ������ ������ ��� !� ���(����������� �����������(���������������������3����;�� ��� �� �������!�������� ���� ����< ����=��* ���������!���� ����� �� !� ������� *��� �� ��������� ���� � ��������� ��� ,J5Q� ���� ���������� ������ ����� '(�� �� WH11�� ,�� � ��!��� � <� !� �� ��� ������ ����=� ������� ���������� ���� ����� �����2���� �����#���M�!���,���,8����� �����������������������������O������� ���� ������ '(�������� � ���� !� �<�A)S�=����� �����8� ����������������� � '(���� � �������T��������������*���#����� #��������,K���� � ���� ����&� ���������*�����������������*���*����������� ���������� ���������������� �#����� ����������������� � '(��������*������ � ���������� �������� ������� � '(����

,���,�8����� �����������������������������O������� ���� ������ '(�������� � � �� � !� � <�A)S�=� ��� � ���� �� ��� �(�� ������� ��'2��� ����� ���� ���� ����������������� ���� �� !� ����� ������,���, 8����������� ��'2�������� ����������� ��������������������(����� ������ � �� ��� ����� '(�� ��� ��� �� ������'2���� ��� ������ �� ��� ��� ����� <��� � � ���� �� ��'(������� ����� � �����=��*������������� ���� ���������������� ���� � �� ����� � ��� � ���� <�A)=�� G��� ������ ������ ���� �(�� ���� ����������������������� � ��� ������.���� ���������������

����������.8J����������������

���������(.8J��������������

���������-;(�J���������&"���.��������

���������-;(�J���������&"���.��������

�����,���(�J������������������������

���������(�J������������������������

�����2� �� ���5J� �(�� ������ ���� � � ���� � �� ����� � � � ���&� � ��� � ��������� �� �� ����������������������� ������� �������������������������

����&��8���� ����� ���� ���� ��� ���� ����� ���� ������������ ����� ������� �����������D,�,G���� � ��'(��������� ������ � ������

Page 20: 8051 teoria

��

#�.5,,8���� �&�� ��� ������� � ������ �� �� � � 1*/� ��� �� ��� � � ��,K� ���������������������� ���<D)+=���������������� ����&� ������ ���������� �������&� ������� � ������ �� �� �������������� !�������?��� ��� ����� � � �� � ��� ���&� � ��� ��� � � ����� � <��� ��� ������ � ����������������=�������������������� �� ������?��� ���� ��� ��������� ����������� ��� �� ���� �� � � ���� � ����&� ������ �� � ���9��)�9��)�8���������� � ��������#� ��� �������� �������� ��#����� �����0� ������� � � �� ����������� )���� ��� ���������������������������������������'(��� ��� � ������� �� ���� � �#X��� � ��� ������� ������ ���� ���� *������� ������ � ��� ��� ������ ����� ��� ��0� �������� ������ ���� �� �#X��� �� ����� � �� �!��� � ���� � ������� � ������������ � �!�� �

����

�����(����2����� ������ ���������� ����������������������� ��� <��0=����#� ���������� ��� ��� ���� '(����������� ������������ � ������� � ����� ��)�1��� �� �� ������ ���� ���' � � ���� � �� �� � �#X��� � ��� ���� '(�� �� �� � �� ��������� � �#X��� � ����� �� ��� ��� �������� ���� ,���� ��� �� #��� ���� ��� ��� �� ��� � ��� ���� ��� ������� #��� ��� �� �� � ��� � ��� � #� � � �� � #� �� ������ ���� ��� ��&���� � � ���������� ���� 8��� � �� � ������� � � ����'(�� ��� #� �#��� ����� �������� �� ���#��� �������� ������������������� � �����'(����� � ������'(�������� � � ����� ���� ������ ��� ��� -� �#X��� � ��� � � ���������� �������.����� ��������������� ������ � �

����������

)�*�������������8����������

������;��

�����������

J�� ������� ��� � ������1��� ��

���

,�� ���������� �$����� ���� � ���7��<�� �� 7��<�� ����%��� ������� *�4�� "�� ���"�����#������������� *�����������%���������"=/ ����

�� �� � � 1*/� ��� �� ��� � � ��,K� �����<D)+=���������������� ����&� ������ ��

��������� �������&� ������� � ������ �� �� �������������� !�������?�@����� ��� ����� � � �� � ��� ���&� � ��� ��� � � ����� � <��� ��� ������ � ����������������=�������������������� �� ������?�@��V��� ����#������� ���� ��� ��������� ����������� ��� �� ���� �� � � ���� � ����&� �

������ � ��������#� ��� �������� �������� ��#����� �����0� ������� � � �� ����������� )� "G��)��� ������� ��� ���� ��� ���������� ��� ���������������������������������������'(��� ��� � ������� �� ���� � �#X��� � ��� ������� ������ ���� ���� *������� ������ � ��� ��� ������ ����� ��� ��0� �������� ������ ���� �� �#X��� �� ����� � �� �!��� � ��� � ������� � ������������ � �!�� �������

����� ������ ���������� ����������������������� ��� <��0=����#� ���������� ��� ��� ���� '(����������� ������������ � ������� � ����� ��)�1��� �� �� ������ ���� ���' � � ���� � �� �� � ��� ��� �� ������ �� ���&����� � �#X��� � ��� ���� '(�� �� �� � �� ��������� � �#X��� � ����� �� ��� ��� �������� ���� ,���� ��� �� #��� ���� ��� ��� �� ��� � ��� ���� ��� ������� #��� ��� �� �� � ��� � ��� � #� � � �� � #� �� ������ ���� ��� ��&���� � � ��

����� ���� 8��� � �� � ������� � � ����'(�� ��� #� �#��� ����� �������� �� ���#��� �������� ������������������� � �����'(����� � ������'(�������� � � ����� ���� ������ ��� ��� -� �#X��� � ��� � � ���������� �������.�

�����

��������'��

;�� � ����

J�� ������������������ ���

Page 21: 8051 teoria

��

���

����������������8�

"�������������� ����������������� �.��������

< =� ��������������������������������������<�=��������������������������������������<=��

�����������������������������(��������$�&)����������$�&�� !%�$�&����

��<����������,�=����

1������ ����������� ��������������������� ��������������� ����#����� �������� ���� ����� ��� � � ����� ���#��� ������� � ��� ������� �������(��������� ���� � �#X��� �������� '(�������� �������� � �������#���� � �������#�#<,�>��:?@;�����1 � ������������ '(�������� ���� ����������<*=��� � � ����� ������� ���� �� ��� ��� ��� �� ��������� /� � ��#X��� � ��� �������� ���� <��� � �F=� ��������� � ��� #�#<,� >�� :?@;����� G�� �� �� ����� ���� ��� �������� ��� �(�� �� �� � �� ��� ������ ������� �� ����� �������� ������

"���������1�1V)�8,�+YU/�;"����������!�������������� ����<��� ��F=�#������������� ��������������������������� ���"� �#X��� �� ����� � � �������������<����� ��������������#��� =��������� ��� � �� ���������� �� .��

�������(:;�� �<=>?@A���������.�

�D������� '(��������#�#<,�>��:?@;���.��

���������

��������*���"������+,������-��������!./��������������

������������34�����

����������34�����

Page 22: 8051 teoria

��

���

��>�������

"�������� ��������������� ��������� ���������������� ����������������������!�����* �#���������(���� �� ���������� � �����'(����������� �����D,�,G����#� ������ ��� ��������� ���� �� �� ����� � ��,������� ������� ��� ���� ����� !���� ��� ���� � � ��� D�G�� �� � � #��� ���� ��� � ��� ���� ��������� �����!�����&��������������������� ���������������������#��� ���������#������ ������������� �������������������� ������������� ����#��� �� ���� ��� � ���� ���� * � ����� �� ������� � � ����'(�� ��� ��� ��������������� ���� ��������� � �� � �� ��� � ��� � ����� ����������� #�������� ����� � ����3,A�5�,��5�������"���� ������� �� ������� ���� #��� ����� � ��� ���(�� � � #��� �� ������� ���� ������ � �� ������ � ������ #��� �� ��������� <����� � �� �=�� ,�� ������ � ������ ������������������������� �������������������������;������������������� ������(�� �' ���� ���� �������� ��������)���� � ����� � � � �� ��!��� � � D)+��8� ���� �� ������ ������ ��� ������ ��� ��� � � ��� !� ��(�� ��!���� ����< ��� ������������ ���=����������������

� ��������0���-���������������

������

Page 23: 8051 teoria

��

���������

���� ���?�������@�$$4.)(�

)� >J,� ,����� �� �� � ���� �� ��� ���������������� ��� ��� � �� � ��������� ������;����� �������� ����� ���������������� �����<�����7��6�B6<�B6�"� ����� '(�� ��� ��� � � #��� � ���� �� ��� � � ����� �811� ������� >����� #� #��������������������� ��� �� �3 ��� � � �� ������ � ��� ��� �� V�;/K�� ���� ����� � �� '(������&����V�;/K����

�����������%������������������

��V���� ����1������� � ���� ��'2��

��1&����������#��� ��������������� ���������811

��)�� ��� � �� �(�� �������� � �� ���� � � �������������� �����

� � �!�� �������

��*�� � '(�� ������ � � ��� �����'2��.� �J�

�B�G1��1"�,��

��H �������������4����4� ������ $

��D� ���������������� ������� ��&���$��$���

�����

����� .������'"���@�$$�����

;������������������������!����� �� � ����(�������� ������� ���>##�#������� #��� ������� � � ��� � �� � ��������� �����������

���. /��

���

01� �21� �#1� �

��������� �

���?�������@�$$4.)(�

)� >J,� ,����� �� �� � ���� �� ��� ���������������� ��� ��� � �� � ������ ����� ���� ��� ������������������������

�����7��6�B6<�B6�=�� ������ ����1��"� ����� '(�� ��� ��� � � #��� � ���� �� � �� '(�� ��� #����� ��,K� ��

������� >����� #� #�������� ��� ������ ������ ��� ������������������ ��� �� �3 ��� � � �� ������ � ��� ��� �� V�;/K�� ���� ����

������%������������������

V���� ����1������� � ���� ��'2���

1&����������#��� ��������������� ���������811�

)�� ��� � �� �(�� �������� � �� ���� � � �������������� �����

*�� � '(�� ������ � � ��� �����'2��.� �J� Z,V�,�� J)D�� B��V,��

�� $�

�� ��&���$��$����� ������ ����1�

.������'"���@�$$�����

������!����� �� � ����(�������� ����'(����������� �������� #��� ������� � � ��� � �� � ��������� �����

���. /���

Page 24: 8051 teoria

��

,�'(����������)��� �$������������ ������������������� ��� �� ������ ����0������0���

"�&��� �� ���>J,�,���������� �������� � ���������!�������� ��� � ����'2���������� � '(��

�;�� ��

���

������ �����A�'"���@�$$�����

"�&�� � ���� � '(��� ���� �� '(�� ������ ��� ������1.[������)��������� #������������������ �����

���

� ������#�����1����������������2 3�3������

������� ����������������

)�'(��������'�� 8��(��������������������������������������������������� ����� � � ����� ���� 1� � � �������� ������ ;�� ��� ����� ��� ����������� �������������������������� ����811��#������������������������� ����� � ���� ��������� �������� ��� ����������������������� ���� ����� ��� ������������� ������ � ���� ��������� ����������� �������� � ��������� � ���� �����

����

����

����

����

����

����

����

����

������

�,�

,�'(����������)��� �$������������ ������������������� ��� �� ������ ����0��� -(4����� �� �,:����� �� �� �)� �����

"�&��� �� ���>J,�,���������� �������� � �����$����������#����������������!�������� ��� � ����'2���������� � '(����

'"���@�$$�����

'(�� ����� ��� ��� ��#��� ������ ����� �� ���� !����)��������� #������������������ �������

1����������������2 3�3�������

������������������������������������������ ����� � � ����� ���� 1� � � �������� ������ ;�� ��� ����� ��� ����������� �������������������������� ����811��#�������������������'(��

�� ����� � ���� ��������� �������� ��� ���������������� ���2���� )� >J,�������� ���� ����� ��� ������������� ������ � ���� ��������� ����������� �����

��

������#�����2 3�3�������

Page 25: 8051 teoria

��

���

��;�� 6������������������,����

; �� ���� � ���� ������� ������������������#��� ��� ��� ����'(������ ��� � ��� H ���� ������ �� � ���� �� � ��� ����� ����� �� �� �����'(����

��;���,�������

J����;�3� N� ��� ���� �� ��� �� ����'(�������� � �J����)���� "������ #������ ��� �����������J����1����� J�� ��� #�����#���������������� ����J����� ��� � �� � ������ � '2������������� � �J����� ���"����� � �� ��� #��������������� �� ��������������J����,���� � �������� � �>J,�,�����

����

��;���,���$���

/���� 8�� �� � ��� '(�����������D���� D� �� ����� � '(������� ����/����1��� D��� ���������������� ���* ���� 1�� ������������ �� ���������� � ������� � �J���� *������� ��� � ���� ����� � � �������� � �D��� �� ����������������������������� � �

����

����� ���� $����� � ���%���� �� �������� �� @�$$�����

����������$��'"�

,��� ������� � ����'(����������������������.�����

3�"� ����'(�������<�� ��� �������NO����OP/���.�=��

�3�"� ������������(���(���(���(�������������2��2��2��2������������� #������

3�� ���������������� � � � ������������(���(���(���(�����������������������������

'3� 8������ �� ����� ��� #����� <�,+� ,�*"\)��� ���� ������� ����

����� �=�� ������� � ������(�� �1���������� ��#���������(�� � �� �

<��� ���������������� ��� ������=��

Page 26: 8051 teoria

��

3������������������$���4����"�����#������ ��������� �������� ���%� ���� �����$����$��� ��� ��� ��� �� ��� ������� �"����� �� ���� ���3� ����4����$ ��������)������"���"���� ��������� ������� �����#�

������#����� �����������������������2 3�3�������

�;�� ��

������

����������%���'"�

8������ #��� ���� ��� � � �� ���� ���� �� ������ ������ #�������������� � � � � � '(����� ���� < #����� ���������(��������� �� �������� ���������(��������#�����(C����� ���; ����� �� �� ����#�������� � ��1������� ���� � ������� #������� ����� ������ '(��< #�����

����

�������$���������%���'"�

)� �>##�#������ �(�� ����� ����� � �� ��� � � ��� �� ��� � ��� ���� ��������� ����������������������.����

��,��������'(�������� � �<������ �#X����=�

��G��� ����� ����� #��������,�*"\

��,���� � ����� ���� �� ��� � � � � ��� ���

���� ����� ���������������� ��

���

1 ��� �� ��� � � ���� � ���� ��� ���'(�� ��� ��� � � <� ����� � � ������� ��� ���� ��=�� �� ������$���� ����� �� � ���� ���� � � �� � �� ���� ������� �������������������������� � ����� ����� ������� � �����������������

�2�

3������������������$���4����"�����#������ ��������� �������� ���%� ���� �����$���������� ��� �����������,��>##� )�$��� ��� ��� ��� �� ��� ������� �"����� �� ���� ���3� ����4����$ ��������)������"���"���� ��������� ������� �����#��

�����������������������2 3�3�������

8������ #��� ���� ��� � � �� ���� ���� �� ������ ������$��� � � ��� �� ��� �� #��������������� � � � � '(�� ��� ���� < #����� ���������(�� ���&=�� * �

���������������������������� � ����� ��� �� �� ����#�������� � ��1������� ���� � �������

#������� ����� ������ '(��< #���������&=�����

$���������%���'"�

�(�� ����� ����� � �� ��� � � ��� �� ��� � ��� ���� �����

������ �#X����=��

��� ����� ����� #��������,�*"\)��� ��������1,8�V�"���

,���� � ����� ���� �� ��� � � � � ��� ��� 3� ����� ��� #� �#��� ��� �

�� ���������������� ���NO������

1 ��� �� ��� � � ���� � ���� ��� ���'(�� ��� ��� � � <� ����� � � ���� ������� ����� �� � ���� ���� � � �� � �� ���� ���

���� �������������������������� � ����� ����� ������� � �����������

Page 27: 8051 teoria

��

"����� ������� � ����������� ���� ����A������'(�� ���� �������>J,�,������)���� � � �������������������������� ��������

����

����

����

����

����

����

����

������#�#��35���������������������+,���

"� ���� ������� � ����������� ���� ����A������'(�� ���� ���� � �� � �� ��� ���� ��� >J,� ,������ 1�� ���� �� �� ������ ����� � ���� ���� ��� ���� ����� � ���� � ���� �� ������� � ����� ������������������ ���������

����;�� 3��������=��&��������������%���'"�

U� ���� �� � ����� '(�� �� ����� � � ���� ���� ����� ��� � ����)�#�������� �������� �� �� �����"����#

����

���"����6�7���1��� �!����������� �3 ������ � '(�

�� � ���� ��������� �3 ��ND"H"�

���"����D�����1��� �!���� ��� ��������� �3 ������ � '(��

�,D�"V�,K,��� � ������ ���

)���������������� � '(��������� ����������������� �3 ��#������� ��������"���M� �� �� ���������

��6�����4����������/������������

�5�

"� ���� ������� � �������� ��� ���� ����A������'(�� ���� ���� � �� � �� �,������)���� � � �������������������������� ������ ��&�

35���������������������+,���

"� ���� ������� � �������� ��� ���� ����A������'(�� ���� ���� � �� � �� �,������ 1�� ���� �� �� ������ ����� � ���� ���� ��� ���� ��

��� � ���� � ���� �� ������� � ����� ������������������ �������������

3��������=��&��������������%���'"�

U� ���� �� � ����� '(�� �� ����� � � ���� ���� ����� ��� � ����)� �>##��"����#�������������� #�����.��������

1��� �!����������� �3 ������ � '(��",1L��*�,K,�

���� �3 ��ND"H"��,D�"V�,K,��� � ������ ���

1��� �!���� ��� ��������� �3 ������ � '(��ND"H"�

)���������������� � '(��������� ����������������� �3 ��#������������ ��������"���M� �� �� ������������

Page 28: 8051 teoria

��

�������������� ���������4������������$���������������������� ��'(��������� *���*��������1��������������#�������������������� #4� >��� #EE4� ���� ����� ������ �*�� ����������� ������������������ *����������� ����������

����!!������ ������

;���.������'"�B ���������

;����� �!������ ���� ����� ���� �� � ������ ��������� �����������

;�� �����)� ������� � � � $��$��� #� � � ��� � '(�� ��������� ����� ����������������������!������ ������� ������� � '(��������������� ����� �� ������ �� ����� �� ���� �������� �� ��� ����� ������ ���� ����� ��� ������ � ������&� � �� � ��� �������������� ������������ � ����������

H�� ��������������������� � ��&�����

�����

����

����

����

����

1��� �� ���� ������������ ���� ���������� �� ��'2���� �� ��� � � ��� ��� �� ����������!����� *�� � �� ��������� ������ ��� ���������� ��� ���

���. /��

#include<at89x52.h> void main(){ P2_0=1; } �

���

�������������� ���������4������������$���������������������� ��'(��������� *���*��������1��������������#�������������������� #4� >��� #EE4� ���� ����� ������ �*�� ����������� ������������������ *����������� �����������

����""����##��##��!!������

.������'"�B ���������

;����� �!������ ���� ����� � ��� �� � ������ � ����� ����1������ �������

� � ��� � '(�� ���� �������� ����� �(�� ������� ����� ����������������������!������ ������� ������� � '(��������������� ����� �� ������ �� ����� �� ��� ����J� � � ��� ��� � ��� �������� �� ��� ����� ������ ���� ����� ��� ������ � ������&� � ��� ��� �������������� ������������ � �����������

�&�������#.�

1��� �� ���� ������������ ���� ���������� �� ��'2���� �� ��� � � ��� ��� �� ����������!����� *�� � �� ��������� ������ ��� ���������� ��� ���$���� ��

���. /���

//contém as definições do chip

//declara início do programa //liga o pino P2.0 //declara fim do programa

Page 29: 8051 teoria

��

���

�*������������������ *���� ���� �� ����������������������� $�����������������$�������*����������������������������������

< ��'2��=�#���� ���� �������������(�����������&� ������������ �������� (������������� ������� ����������

)���� � �5������-�������� �������������������� ��'(�� ��� ������������������������ ����

1�� ��������� ������� �!������ ���������� ������ � �5������-����� � ��� ��� �������� ���� ���� ���� ����� ������ �����)+���� ��� ��� ��� �� �� ������ ���������� ����� ������ ����1�������� ������� ����������#��� �#�������������� �(����� ���� ��� �� �����

�����Q��������4��%���.�������6�.� ���������7�$�$�����N�

:040000000200383290 :01000B0032C2 :0100130032BA :01001B0032B2 :0100230032AA :01002B0032A2 :100038007581CF120034E582600302002C7900E953 :100048004400601B7A00900080780075A000E4935B :10005800F2A308B8000205A0D9F4DAF275A0FF7877 :1000680000E84400600C7900900000E4F0A3D8FC9C :08007800D9FAF6D8FD02002CB4 :0C002C0012003180FED28022758200227A :00000001FF �

;�� �������

;���� ���������C��������������

����� ����� � � ����� #��� #� �� ���� � ��� �� ���%��� �� ��� � �%��� ��� )�������� � ����.� #,���>,54� �� ����4� #� ����� �(�� �� ������� ����� ��� ������� �� ���'(����������� � � ������ ��������� ��� ������ �� ����������� �� ��� ��������$� ������������ $���������� ������ '(���,�� ��� � ��� $��� � ����� � ������ ��� �� ����� � � � $��$��� #�� )�� �� ����� ������ ���������������� �����%��� ������.�2���4���4�����

Page 30: 8051 teoria

��

���

;�������&��������&������

"������ ����1����������������������� � � ������ � ��#����(������������� � ������� ������������� � ����� ������� �����"��� � � ������ � ��� ������ ����1�<� �(��";��=��(�.�

����� ���F� ����� ���� �� ����� � ��� �������� ��� ������� ������ ��� �&�� � ������ ��� $������ �� �� $� �$���� ��� �

����� �$ ��� �%���� ������ �������2���� �������� � � � � �$ ��� ������������ 2���� �� � � �

�������'�����6������������������������,���7 8�-��

"�� � � � �� � �' � �� ��� � �� ��� � �(�� ��� ��� �#X���������� ������ � ��� ��� ������ ���� �3�$��� *��#���������� ���������������

* � ���� ���������� ���� �� ��!��� ��� � �!�� ����������>##�#������ ����� ���� ��� � � �� ���������$� �(������ � � ������ � �����1.�

��� ������ �� $� ����

������'�����-��9�����������������������,���7 8�-���

/� � � � � � ���� � � � � ����� ���� 1� �(�� ����� ��� ������ � � �������� � ��������� �� ������������ � ��"�������������������������������������������������� ��� � � �.���

while = 1;

int = 200;

Page 31: 8051 teoria

��

���

"����� ���� �� � � � �� ���� � ��� ������ ��� �������� ��� ����� ����� #���� ������(����������������� ����� ������� ������(������.�

TCON Timer/counter control SCON Serial port control IE Interrupt Enable IP Interrupt priority control PSW Program status word ACC Accumulador B B SP Stack pointer DPL Data pointer Low Word DPH Data pointer High Word PCON Power control TMOD Timer/counter mode control TL0 Timer/counter 0 low Byte TL1 Timer/counter 1 low Byte TH0 Timer/counter 0 high Byte TH1 Timer/counter 1 high Byte SBUF Serial data port P0 Port P0 P1 Port P1 P2 Port P2 P3 Port P3

�������'�#���-��9����������������������������

"�������������������������������������������� ��� � � �.���

int B = 10;

int SBUF = 3; �

;(�� �������� ��� � � ������� ��� �� ����� ��� �M/J�� ����� �M/J� �� �� �� � � ����� � �� ������ �����

;�;�������������

)����������������������������?������� '(�������� � @����������� �������]�� �� ������������ ��� ����������� � ��)������ ����>##�#������ ��� � ����� ������ ��� � ����� ��� ���������.� ��� ���������� ����%����� ������ ������������������������ ��

Page 32: 8051 teoria

��

���

)�� ���������� ����%����� �� ���� �� ������ ���� � ��� A^� <� $ ���!��=� ������� ����^A�< ������$� =���������.�

/* TUDO OQUE ESTIVER ENTRE OS MARCADORES DE COMENTÁRIO É IGNORADO PELO COMPILADOR

*/

)������������ ��� ���� � ���� �����AA� <���� �� =� �� ��#��� ������� ������������� ����� ����� ������� ������������� �����������.�

����

����

����

;���)�%����4�����

G�� � � ������ �� � � ��� ��� ��� � � ����� ��� ��� � � ���� ��� ���������� ��� ����� ��� ��� �� ������ ��� ���� �%���� ��� M���� <� � ���=� #����� ������ �� ��!��� ���"��� ������������������ ���� �����.�

(������������ @���� :E���� �������

@��� �� � ������

�� �����6��� �� �� C������M��5�

���� �����6��� �� �� ��������

�� �������� �2� �� C��52����M���525�

���� �������� �2� �� ����2�����

�� ������� � ��� ,� C��,5,��2,����M��,5,��2,��

���� ������� � ��� ,� ����,��,�25����

/����� ��� ,� R�J�5�,�,$C�����R�J,�����$M����

������'�'(�����������������

;��������������D�����

#include<at89x52.h> //contém as definições do chip void main(){ //declara início do programa

P2_0=1; //liga o pino P2.0

} //declara fim do programa �

Page 33: 8051 teoria

��

���

��� � $��$��� #4� ��� ���� ���� ������ ����� �������� GGGG� �*�� ���H ����"��� *����������� ��+�+�1$���� ��� ������� ��&���

*������� �� ���� ���� �!������ � ����� ���� ����� ��� � ��'(�� �� ���� ���� ���� ���� ������ � �#� ������ ����������� ��������������� �������� �����!��������

;�� �������� � � ����� '(��� �� ����� ��� �� �� $��� ��� �� � ������ ����!�������� ����������������������� ����,������.�

const LIGADO=1; const DESLIGADO=0; const TEMPO_MAXIMO=100;

"�&�� ��� ���'(������ �� ���� ������������!���������� � ��� � � ����������������������� � ������� ������������� � ����

����

;�����4�����'0��D �������

;���&���� ������������ ������� '(��������� ������"���� ���'2���������� �� � ������ �!������� #��� ��� �� �#��� ������� � ������ ��� ������������ ;����������� ������ '(���������� ����� �� $�������� �����������!�������� ����������������������� ����,������.�

#define MOTOR P2_0 #define LAMPADA P2_1

;�� ������)���� ���������� ���'(��G��� ������ ���������� ���� ������ � �� ����������!��������������������� ���� ������#��� ����%���������� ������������� � #��� �(�� ������ ���� �� ���� � ����� '(��� � �� ��� �(�� �����������&� ���� ������������ ������"� ������ ������ ����� ��� � �� ��� ���� H�� � ���� ��� �� ����� ��� �� ���'(�� ����� ��� ��������(�������� � ���,���������������� � ������� ��������� ���������� ���'(�.�

Page 34: 8051 teoria

��

�,�

��������������� !������� $��$���#��*���������������/ ������������� ��������4���"������%������������������� ���������������������� $��$���#��

,���������������� � ���������� ���������� ���'(�.����

;�<����'0���

U� ���������������� � ��� �����#����(�������������� ����������������������� ��������� � ��'(���"�� ��'2����(������������� �������� �����#������������?� � ���@������ �������������������� � ��� �#����(����� ���� �' ���� �������$������� �� ��������������� ���

;�� �����

;�<��$���������������'0���

"�� ��'2��������������� � �� �������������� � � ���

"�� ��'2��������������� ]������#��� �� ���� �� '2���� ������������� ������ � ��'(���

* �� � ��� � ��'(������������������������������������������� � ����#��� ����� ���� ��������� � �<� � � ����1"VV������������=��

#include<at89x52.h> //contém as definições do chip

#define LAMPADA P0_0 const LIGADO=1;

void main(){ //declara início do programa

P0=0; //desliga todos os pinos LAMPADA=LIGADO; //liga o pino P0.0

} //declara fim do programa �

#include<at89x52.h> //contém as definições do chip void main(){ //declara início do programa

P0=0; //desliga todos os pinos

P0_0=1; //liga o pino P0.0

} //declara fim do programa �

Page 35: 8051 teoria

��

���

J�� ��� � � � ��'(��� ����� � � ���� � � � ���� � ��������� �� �� ���� #��� �� �����

O� ����� ���� ����� � #��� ��� �� �� ��� �� ��'2��� ��� ��� � � ������ ������ � �� ������ � ��'(������� ����� ���� ���� ���� ���

����

;�<���()�%�����

)������#��� � �������� ������������#�������� ?� ���@���������������� ��������� ��� ��� ��'2��� #��� �(�� ���� �� � � � �� � ����� ��� ��'2��� #��� �(���������� ������� � ]����� ��� ���� "� ��'(�� �� � � � �� ����� �� �������������� ��'(��#����(������ �� � ����(��������������� ]��������

8�������������� ������� ���-�V���� ����1�� ��������� ����������� �� ��'2��� ��� � �� ������ ����� �(�� ���� (�� � ����� �� ��� ����� ������������ (���������� � �������� ��������������� � ��'(���

����

;�>�(������� ��������

)�� #������ ��' ���� <��� ������ ��� ������=� ������ �� ���'2��� � � #��� �� #������ ������ ����1����� ��������� ����

#include<at89x52.h> //contém as definições do chip

#include<delay.h> //contém as definições do chip void piscaLED (){ //declara início da função piscaLED

P2_0=1; //liga o pino P2.0

delay_ms(1000); //aguarda 1 segundo P2_0=0; //desliga o pino P2.0

delay_ms(1000); //aguarda 1 segundo } //declara fim da função piscaLED void main (){ //declara início do programa

piscaLED (); //chama a função pisca led } //declara fim do programa �

Page 36: 8051 teoria

��

,�� ����� ��������� ��� �-���� �� ��� ����� ����$��� *���� ���� ��4����-��������$��� *���������-� ���� ���� ��� � ����� ���� ��� � �� ���$��� *���� ���� �*�����$��� *��������3�����4� *��-�����1����$�����������-���������$�������

; � ����� '(��� � �� ��� ������ #����� �� ���� �� ����� ��� �� � �� &���������� � � � ������ '(�� � �� ��'2���� "���� �� ���� �� ��'����� � ����������� ������&��������� ������ �������(�����&���������������������� ��� � � F�$��� <���(����� #������� �������� #��������1��������� #�������������� ��=��

G����� ��� ��� � �� ��� 1� � � �������� ����� ���� ����� ��� #����� ��� ��' ����� )� ����� ������ #����� �������� ��� �������� ��������� �����

G���������������� ������ � �!�� ���������������������� ����� ��_�S���_1S

AT89C51 ou AT89S 51

AT89C52 ou AT89S 52

���������������������������������������������������������������������������

"����� ����� �(�� ��� �!����� <������ ��� ������� ��� � � '(�=���������� ������ ������?�@��(��� ��� � ���������� ������ ��� ���� � ���� ��� �&���� ������ ��� #��� ��(�� ������ ��� ��� ���� �������� ����� � � ����� ?����������� ������ ������ ��� � � '(��� ��� #� ��� �(�� ������ ��� � ���� ���� ���������������� �����������!����*�������������������������� ������ ������ ?1@� ���(�� � � ����� ��� ����� ��� �������� "����� �������� ������������������ � ����� ����������������

,�� ��'(�� � � � � '(�� ����� ����� ?1@� �� ?�@�� �� #����� ��' ����#� �� ������ �� �� ���'2��� ���� ����� ����� �� � � � �� ���� � �� ��� ���� ������ ������(��9���F��"���� �?K@������������������������� � ���� ��� � ?���� @�� ��� ������������ ������ ���� ��������<?1@���?�@=�

����;�� ����

�2�

,�� ����� ��������� ��� �-�� -��� �� ��� �*�� ���:� ������1���� ���� �� ��� ����� ����$��� *���� ���� ��4����-��������$��� *���������-� ���� ���� ��� � ����� ���� ��� � �� ���+��� ��� ���������� ���$��� *���� ���� �*�����$��� *��������3�����4� *��-�����1����$�������

������$������������� ����

; � ����� '(��� � �� ��� ������ #����� �� ���� �� ����� ��� �� � �� &���������� � � � ������ '(�� � �� ��'2���� "���� �� ���� �� ��'2��� ��� ���(������� � ����������� ������&��������� ������ �������(�����&����������

<���(����� #������� �������� #��������1���

G����� ��� ��� � �� ��� 1� � � �������� ����� ���� ����� ������� ��� #����� ��� ��' ����� )� ����� ������ #����� �������� ��� �������� ���

G���������������� ������ � �!�� ���������������� �� � '(��� ���������������� ����� ��_�S���_1S.��

������������������������������ ������'������%�;��+����������<���= >��=->��

"����� ����� �(�� ��� �!����� <������ ���������� ��� � � '(�=�� ;�� ��� ������������ ������ ������?�@��(��� ��� � ��������� +�������3�$��������

��� �&���� ������ ��� #��� ��(�� ������ ����� ;�� ��� ���� �������� ����� � � ����� ?1@�� ������ ������ �� � � '(�� � ��� ������������ ������ ������ ��� � � '(��� ��� #� ��� �(�� ������ ��� � ���� ���� �

��������� �����������!����*�������������������������� ������ ������ ?1@� ���(�� � � ����� ��� ����� ��� �������� "����� �������� ������������������ � ����� �����������������

,�� ��'(�� � � � � '(�� ����� ����� ?1@� �� ?�@�� �� #����� ��' ���� ��������� ��#� �� ������ �� �� ���'2��� ���� ����� ����� �� � � � �� ���� � �� ��� ���� ��

��"���� �?K@����������������������� #���������������� ���� ����� ������ ��� �!���� ��� ���

��������<?1@���?�@=��

Page 37: 8051 teoria

��

�5�

�����Q����������������4��%��(��9���F������������ %--�-������N�

sfr at 0x80 P0 sfr at 0x81 SP sfr at 0x82 DPL sfr at 0x83 DPH sfr at 0x87 PCON sfr at 0x88 TCON sfr at 0x89 TMOD sfr at 0x8A TL0 sfr at 0x8B TL1 sfr at 0x8C TH0 sfr at 0x8D TH1 sfr at 0x90 P1 sfr at 0x98 SCON

sfr at 0x99 SBUF sfr at 0xA0 P2 sfr at 0xA8 IE sfr at 0xB0 P3 sfr at 0xB8 IP sfr at 0xC8 T2CON sfr at 0xC9 T2MOD sfr at 0xCC TL2 sfr at 0xCD TH2 sfr at 0xD0 PSW sfr at 0xE0 ACC sfr at 0xE0 A sfr at 0xF0 B

/* P0 */ sbit at 0x80 P0_0 sbit at 0x81 P0_1 sbit at 0x82 P0_2 sbit at 0x83 P0_3 sbit at 0x84 P0_4 sbit at 0x85 P0_5 sbit at 0x86 P0_6 sbit at 0x87 P0_7 /* TCON */ sbit at 0x88 IT0 sbit at 0x89 IE0 sbit at 0x8A IT1 sbit at 0x8B IE1 sbit at 0x8C TR0 sbit at 0x8D TF0 sbit at 0x8E TR1 sbit at 0x8F TF1

/* P1 */ sbit at 0x90 P1_0 sbit at 0x91 P1_1 sbit at 0x92 P1_2 sbit at 0x93 P1_3 sbit at 0x94 P1_4 sbit at 0x95 P1_5 sbit at 0x96 P1_6 sbit at 0x97 P1_7 /* P2 */ sbit at 0xA0 P2_0 sbit at 0xA1 P2_1 sbit at 0xA2 P2_2 sbit at 0xA3 P2_3 sbit at 0xA4 P2_4 sbit at 0xA5 P2_5 sbit at 0xA6 P2_6 sbit at 0xA7 P2_7

)� #�����(��S���F������ ��������������� ���������������� ��������� �������#������ � ���� � ���� ������� � ������������������������������� � ��� ���� � � � � �� � ���� ������ ��� ��� �����'��� ��� ���&� ����������� �$����������� ���������� ���<�DJS�=�����

)�������� �������������� ������ � ���� � �� � ����� ��������'���.���<������ ���� �=�������������*)DG������

sfr at 0x80 P0 � Special function register at 0x80 P0 � �� ����������� ���#��������� �����'(��������&� ��.�������� ��������������

Page 38: 8051 teoria

��

���

������� ���A ��2�4���� ���������"���� *��������� *��� ���������� H�����������H������������ �� ��4���� $��$���#���$�������������� � ������������� H����������

O��������� �&����� ��� ���'(��#���������� ���?�������@�#���������� � �������!������ ��� �� ��� � ���� '(�� ���� ��� ������ ��� ����� ����� ����� ��� ����������� ����

8������ � �����]�� � ��� � � �������� � � ��� ����� ����� ����������� �������� ����#include<microcontrolador.h> ��������� � ����� � �����'(�� ��� #� �#��� ��� � � ������ � � �������� ����������� ������ ����1��

;�>������.�������������������������

* ���������� ��' ���������� � ����1�������� ���� �������������� ��.�

#include< nome do arquivo.h >

"����������.�

#include< at89x52.h > ou #include< AT89X52.h > �

;�� �����

Page 39: 8051 teoria

��

�$��� ���

����)�%����(%��������

"������ ����1����������� ������ � ���������� �������� � �������� ��� � ���� ��� � �������� )�� �������� � ����� ���� ��� ��� � �� ��� ��� �(��� � ���� ��� ��� ������� ������� ������� ����� <#��� ������ ��� � �������� ���� ����� ��� ����������������� ������� ����� ����� ��� ����� ����������������� ������

*�������������������� ��������#� ��� ����� �.

��"������ ."������ ."������ ."������ .�� ���������

��D�� ��� �.D�� ��� �.D�� ��� �.D�� ��� �.�� ���� �� �������������

�� V��� �.V��� �.V��� �.V��� �.�� ����� �����'2������� ����� �

��M���� � .M���� � .M���� � .M���� � .���������������������� '2�����������

�����(%�������������C�����

�(�� ������ ���� � � � � ��� '(�� ��� ��� '2��� � ������ �� ��� ������������� ����� ��������.�

)�� '(����� �

���� '(��+������� '(�

8����(��D������ ������(��<������=

������������8����������

���. /��

���

�$��� ����

"������ ����1����������� ������ � ���������� �������� � �������� ��� � ���� ��� � �������� )�� �������� � ����� ���� ��� ��� � �� ��� ��� �(��

<#��� ������ ��� � �������� ���� ����� ��� ����������������� ������� ����� ����� ��� ��'2��� ����� ��=��)����� �����������

*�������������������� ��������#� ��� ����� �.�

� ���� �� ��������������

�'2������� ����� ������������� ����

��������������������� '2������������

�����C������

�(�� ������ ���� � � � � ��� '(�� ��� ��� '2��� � ������ �� ��� ����������

� �!��������

� ��+������� '(�� ��

��<������=� ������ ���

����� ���

���. /���

Page 40: 8051 teoria

��

,��

)����� ����� ����������(�������� ����#� �������� ����� ��� ���� '2���� ������ ���; � ����� ����1�������� ������� ���� ��� ��������� ���� ������������ ���� ��������� ��� � �� ��� ������������ ����

��� .���� .���� .���� .��int y=10; int z=5; int x=0; x=(y+z); �

���� '(������ '(������ '(������ '(���int a=10; int b=5; int c=0; c=(b-a); �

+������� '(��+������� '(��+������� '(��+������� '(���int a=1; int b=20; int c=2; a=(b*c); �

8����(��8����(��8����(��8����(���int a=0; int b=20; int c=2; a=(b/c); �

����D������ ������(��<������=�D������ ������(��<������=�D������ ������(��<������=�D������ ������(��<������=��int a=1; int b=25; int c=2; a=(b �c); ����

��� �������%���� �� �������������� �� ������ %%%%��� � ��� �������� ���� �� ������&&&&��

���� �� � � � ������ ����� �� ����%��� � � � ������ ����� �� � ��� �������� ���� �� ������������

+������� � �� ����%��� � � � ������ ����� ����� � �� ������������� � ��� �������� ���� �� ������������

8������������%���� �� ����������������� �� ������������� � ��� �������� ���� �� ������������

8������������%���� �� ����������������� �� ������������� � ��� ��������� ������(������� ������(������� ������(������� ������(��� �� ������������

Page 41: 8051 teoria

��

,��

�������������������������������������������������������������int contagem=0; contagem++; �

8��������������8��������������8��������������8���������������int contagem=10; contagem--; �

������(%��������������������

)�� ��� ����� �� ��� ��� � ��� �� ��� '2��� ��� ��� '(��� ���� ���� ��� ��� ���� � ��� '(�� ��� � ����� ����� >�?� ��� ��� ������ >�?�� ,�������� ������(�� �� ��������%���� ��� ������� �&�� ��� ������(���

)�� ��� 8���'(��TT� ��� �� �UT� 8� ���������V� +����#���W� + ���#���VT� +���������� ��WT� + ��������� �� �

G����� ��� ��� ����� �� ��� ����� ����������� � � ��� '(�� ������ ������ ���������� ���������,������� � ������������������� ������5� �99����� ���� ������� � �� �9������ � ������

#include<at89x52.h> void main(){ unsigned char cont=0; while(1){

if(P3_0==1){ //se a entrada P3.0 receber nível alto if(cont<9) cont++; //e se a contagem for menor que 9, incrementa else cont=0; //se não, retorna a zero } } }

������� � �� ������ ��� ������ ������ ������ ��������� ����� ����

8������ � � � ������ ��� ������ ������ ������ ��������� ����� ����

Page 42: 8051 teoria

��

,��

�����(%�������� -������6���������"�� ��� �������������� ������� ������&������ ������ ����1��

)�� ��� 8���'(��U� )�� '(��;)G�<;`)=�X� )�� '(��";8�<,=�* �� ������������������������XX� )�� '(��";8�<,=�* �� ������������������4� �4��� $���4� �4��� $���4� �4��� $���4� �4��� $�Y� )�� '(��)D�<)/=�� �� ������������������������YY� )�� '(��)D�<)/=�� �� ������������������4� �4��� $���4� �4��� $���4� �4��� $���4� �4��� $�Z� )�� '(��K)D�<)/���������=�

G����� ��� ��� ����� �� ��� ����� <���� ����� �� � ������=� ����������� � ���� '(�������������� ���������� ����������

,������.�

if (( P3_0==1 ) | ( P3_1==1) ) C=1; ����� � ��.� ��� � ��� � ������ ����� �!���� �&���� �� )/)/)/)/� � ��� � ������ ������!�����&�����������(��1��������� int A=0; if (( A>0)&&( A<10) ) A++; ����� � ��.� ��� "� �� � ��� ��� #��� ���� ,,,,� "� �� ����� ��� #��� ����� ���(��������� �"�������� int A=0; int B=0; int C=0; if (( A!=B )||( A!=C) ) A--; ����� � ��.����"� ���� ���������M�)/)/)/)/����"� ���� ���������1�����(��������� �"��������

"��������������� ������� ��� ���������� ����� �&������ ��� �������������� ��� �������� ���������� �������� ��������� ����� ��� ���)����� ������&������(�� ��� ����� ���� ��� ����������� � ����,������.�bit x=0; bit y=1; int cont=0; if(x & y)cont++;

Page 43: 8051 teoria

��

,��

����� � ��.����&� ����� �� ����,,,,����� ����� �� ��������(���� ����������� �������� ����� �����if(x | y)cont=cont+5; ����� � ��.����&� ����� �� ����)/)/)/)/������ ����� �� ��������(���� ����������� �������������� ����� if(x & !y)cont--; ����� � ��.����&� ����� �� ����,,,,������ �(��(��(��(�� ���������(���� ����������� �������� ����� ����

����

���;�((%������3()�

)���� ����<;)G$�����������=��������������������� �� ������������� ��� ��� �

���� '(�������� '(���������������������� ���������!������_aS��

bit x=0; if(P3_0==1)x=~x;

����� � ��.� ��� � ��� � � ����� �� ��� �� � ��� <M�!��=�� ���(�� �� ����� �� ����������������#��������� ������������������ ������� ��� � ��������<bit x=0 =��

if(P3_0==0)x=~x;

����� � ��.��������� ����� �� �����<�H=�����(���������������������������#��������� �����������

)�� �� ��� �������������� ���.)�� �� ��� �������������� ���.)�� �� ��� �������������� ���.)�� �� ��� �������������� ���.

if(P3_0) x=~x;

����� � ��.��������� ����� �� ��������(���������������������������#��������� �����������

if(!P3_0)x=~x;

����� � ��.��������� �(�� �� ��� �� � ���� ���(���� ����� �� ���� ������������ #��������� ��������������� �� ������x � ��������� ��� � ����bit x=1 ������ ����x=~x; � � ����#���x ���������������������������#��������� ������ �������

Page 44: 8051 teoria

��

�������������� ��� �

<���)�%����$�������������������

"�� ������ �� ��� ������� �(�� �� � �� ���� ��� � �� ��� ���#��� ������� ��� ������� ����� '2���������� ������� � ���������(���"������ ����1�� �������� �����%������������� ��������������� �������������� � ���

���2���������

���

<�����$����������7��:�

"������� ������<_��S������������=������������� ����&������������������� � �� ��� ���.�if(condição) comando;

���

if(condição){ comando 1; comando 2; comando n; }

�,�� 1�� #� �#��� �%���� �� ������ ��� ���� �� ����� ���� ��� ������ )� #�������� � �#����� �����'(�����1��&��� �� ��#� ����������� ���������� �����

���. /��

,,�

�������������� ��� ����"��������������

)�%����$�������������������

�� ������ �� ��� ������� �(�� �� � �� ���� ��� � �� ��� ��� ��� ��� #��� �� ��� ������� ����� '2���������� ������� � ���������(���

"������ ����1�� �������� �����%������������� ��������������� ��������

����� ���2���� ���

���� ������� ������� � ��������(��� �� � ����� � �� ��� ���.�

,�� 1�� #� �#��� �%���� �� ������ ��� ���� �� ����� ���� ��� ������ )� #�������� �����'(�����1��&��� �� ��#� ����������� ���������� �����

���. /���

!

Page 45: 8051 teoria

��

,��

#��� � �� ��� ���� �� ���� >�?�� U� �#��� ����� � ���� ������ #� ������� ������������ �� *��%����������� ������ �������;���� ���������� �����'(������� ���� ��� �� *��%��������(������ ����������� ������� �����'(�� �� �� �� �����'(������� ���������� � ���,������.�

�;���������� �� �� ������� ������� � ���� ���� � ����������� ��� �<��� *��%��=�� ���� ���� � �*:�5������������ � � ��W�H���� ������ �� ���� ��� ������ ����������� ������ ��$��EE���������� ���� H�� ���� �� ������� � ������ ������'(���� ��$��EE���������� � � ��� ����� ���� � ������ ������<������ ��������!�����&�������=��� ��"������� ����������#��� �����'(����� ��� �������(��� ������ ����1�������� �� ������������ ������������ '(�������� ������H�� ������������.��int i=10;

#include<at89x52.h> //contém as definições do chip void main (){ //declara início do programa

int contagem=0; //declara variável e inicializa em 0

if( P3_0) contagem++; //se P3.0 receber nível alto, //incrementa conta gem em 1

} //declara fim do programa �

#include<at89x52.h> //contém as definições do chip void main (){ //declara início do programa

int contagem=10; //declara variável e inicializa em 10 if( P3_0==1 ) contador++; //se entrada P3.0 estiver em 1

// decrementa uma unidade, } //fim do programa �

Page 46: 8051 teoria

��

,2�

int j=5;

if(i==1)j++;

if(i!=10)i=5;

if(i==j)i--;

<�����(9���&�'"�.�%��������

)� ��� ��� ��� �����'(�� ��� ��� �� ��� ��� 1� <b=� �� �� ������ ��� ��� ����� ��� �������� �� ���<bb=���� �� ��* ����� ��� �� �������� ��������� ����� ��� �������� �� ���<bb=���,������.� int a=10; if(a==10)a++; �H�� ���� �� ��������������������� ����� ��� ����� �����'(���,����������������������������������������� � ������,������.� if(a=10)a++; ���� ������ ���� �� ��� ��� ��� �����'(�� <b=�� ���� ���� ��� ��� � �� �� ���������� ������������ ���������� ���� �������(�.�if(a=10)a++; � ���a=10 �����(����� �������� � ��� ���� �� ������ ��)�#����#��� ��� ���� . if(10)a++; � ������ ������ ������ �����<��� *��%��=�����(�� �����'(������� ��� ��� �� ������a���������� � �������� �

<�����$����������������

"������� ����������� ��������� ����#��� ��������������� ����������������#��� ������� ������<���(�=���������� ������ ����� ����������� ���� �������������� � ����<�=�� int i=10;

int j=5;

if(i==10)j++; //se i for igual a 10, incrementa j

else j--; //senão, decrementa j "���� ������� �������� ��� ��� �������� ��� �� ����� ��� � � ������ �� ������,������.�

Page 47: 8051 teoria

��

,5�

��������� ������������������������$����0�������� �������

if(P3_0 ==1){ //se a entrada P3.0 receber +5V,

P0_0=1; // Ativa saída P0.0 P0_1=1; // Ativa saída P0.1 } else{ // senão, se entrada P3.0 rece ber 0V

P0_0=0; // desliga saída P0.0 (0 Volt) P0_1=0; // desliga saída P1.0 (0 Volt) } ��1 ���� � �� ����������� ����������� ������������ ���������� ��� ��� ��%�������� �������,������.

if(P3_5 ==1)P0=15; //se P3_6 receber +5V, ativa P0.0 a P0.3

if(P3_6 ==1)P0=240; //se P3_5 receber +5V, ativa P0.4 a P0.7 else P0=0;

;���� #��� �(�� ��� ������� ��� ��� ��� �� �� $� ���� #� ���� �� ������2����������� ��� ������� ���� ��������� ��� �� �� ������������G��� ������������ � ��������� �������� ����������������� �� �������������������������� � ����� �����'(�����)���������������)���������������)���������������)������������������ � '(�.��� � '(�.��� � '(�.��� � '(�. if(i==1)P0_0=1; P0_1=1; else P0=0;

;����� ���������(����������� ����������� ��������� ������������� ���������� ��� ������ #��� ��� �� � �����'(�� P0_0=1 � ������� �� ������if(i==1) ��*����� � �(������� ������D�T����������������� ������ ������������������ �������� �������� ������ �� � � �������������� ��(����� �� ���� � � ���������������

1������������� ������������. if(i==1){ ��

P0_0=1;

P0_1=1; ;��

} else P0=0;

Page 48: 8051 teoria

��

,��

<�;���$���������������������,������������������ ������������������%������� ���� �������< ��� $=������ ������*���������� ������� ���������������� �������� ������ ������������ ����������� �� ����� ���.��if(condição 1){ commandos; } else if(condição 2){ commandos;

} else if(condição 3){ commandos;

} }

"� ������ � �� �� �� � � �� � ��� ������ � �� � � ��� � � ��� ����2��� �&�� ��� "������� � �� ����� ������� �� ������ �� ���� ��� � #��� �� ��� � ��� ����� ��� �� ���� ���������������� � ���������(��� �����������������������#������� �������� ��� #��� � ����'(�� �� � ��� ��� �� ��� ��� ��� ������ � � �(�� �(������ �����H�� ������������������ ������� ������� ����������.�

if(P3_0==1) P2=1; //se o pino P3.0 tiver nível 1 if(P3_1==1) P2=2; //se o pino P3.1 tiver nível 1 if(P3_2==1) P2=4; //se o pino P3.2 tiver nível 1 if(P3_3==1) P2=8; //se o pino P3.3 tiver nível 1 if(P3_4==1) P2=16; //se o pino P3.4 tiver nível 1

;����� ���� ��� �� ������� ������ if(P3_0==1) �� ��� ������ �� *��� ����������� �!���� 7�� ;�� ��� ����� �� ����� ��� ������ �� ���� ���� �� ��� �������'2����������� � ��������

"�� ���� ������������������������ ���� ������� �����������

if(P3_0==1) P2=0; else if(P3_1==1) P2=1; else if(P3_2==1) P2=2; else if(P3_3==1) P2=4; else if(P3_4==1) P2=8; �;�� �������� �� �� �� ����� ��� ��� ���� � �� ������� ������ �� ��� ��� ���� ������ ������� ����� ����� �� ���� ���� O� ����� ���� ����� � #��� ��� ������� ��&���� ���� ���������� �����'(����� ��� ��� �� ����&��� ���������� ����� ��*�� ������ �#�������� � � ����������� ��� �������������� ����#�������� � ������� ������������ ������������� ��������� ����� ����

Page 49: 8051 teoria

��

,��

<�����$��������������"� ������ � �3���� �� ������ � ��� � ��� � ������ � �� ����� �� ����� � � ����������� �� �� ������ � � � � ���� � �� � ����'(�� ��� �� � � ������ ������ � �� 8� ������ � � ������ � ��� � ������ � �2���� �(�� ��� � ������2���� � ���� � �� �����(���* � ���� � ��������2��� ������� ��2������������ ��� � ���� ������ )� �� ���� �2���� ���� � �� � ��� � � � ������ �� ����� � ���� '(�� <��� ��� '2��=� #��� ����� � ������������ ��� ����� "� ������ ������������������ � �#� ���������� �� ������'2��� �������������� ������������������������� ����J�� ���� ������� ��3����3����3����3���.� switch(variável){ case constante 1: commando 1; commando 2; break; case constante 2: commando 3; break; case constante n: commando 4; break;

default: commando 5; break; } �,��������������� ������� ��2���.�

contador=2; switch(contador){ case 0: x++; P2_0=1; break; case 1: P2_1=1; break; case 2: P2_2=1; break;

default: P2_3=1; break; } *������ � ��� ������ ������ � ������� ������� ��2���������� �� ������� ����#��� ������� �����������,���� ����� � � �� ���������� � ��� ������ ������� ����<���(���� �����'(�=� �����#���������� ������� ����������� �� ��������� � ���������� � ��������#��� ������� ��2������

Page 50: 8051 teoria

��

���

<�<��$����������� ��%��

<�<���)�%���� ��%��"�� ������ �� ��� ������ <�����'2��=� ������ � � ������ �� � ��� � ��� ������������� � � �����'(�� ��� ����� ��� �����'2���� "�� ������ �� ��� ������� ���������� ������ ����1��(�.��

�� ���

��2����

�� ���� *���������� ����������

<�<����(�����������

)� � '�� �� �� ������ ��� #� ���� ������� ���� ��� ��� ���� ����� ��� ��������'2���� ����� ��� �� � ���� ��� '(�� �������� ���� ��� � �� ������� � ���������� � �� �����������������"������������������ ��������� ��������� '�� �������� �������� � �� � � �����'(������������1 ������ ���� ��� ���(������� ��������� ��������� '���"� � �����#���������� ������ '��<��� '2��=�� �� ��������������������������� � ����� ������ � ������H�� � ������� ������ ������������.��for(inicialização;condição;incremento){ comandos que devem ser repetidos; } ����H�� ������������������������ ������������.� for(i=0;i<10;i++){ P2_0=1; //liga P2_0 delay_ms(1000); //aguarda 1 segundo P2_0=0; //desliga P2_0 delay_ms(1000); //aguarda 1 segundo } ; ������� � ������� �� ������ i � ���� ��������� �� � ������� ���� ������ � ���� ��� '(�� <�T�=� �� ��� �� ����� ��� � '�� ��� �(�� ����� ����� "�&�� �����'(�� ��� ������ ��� �� ����� ��������� ��� � '�� ���� � � ������ �� ��������� � �� �����'(����� ��������� <�WW=������� ����������� ��������� '������(������� �����"������� ���������'(�� ������� �#� ���� �� ��������

Page 51: 8051 teoria

��

������ �� � ��� � � ����'(�� �� ��� ;����� ��������� ���������� ��=������� ��������� �������������"��� �������!���������� ���� '��������� ����������������H�� �����������. #include <at89x52.h> #include <delay.h> void main(){

int i=0; for(i=10;i>0;i--){

P2_0=1; //liga P2_0 delay_ms(1000); P2_0=0 ; //desliga P2_0 delay_ms(1000); //aguarda 1 segundo

} c�������� � #��� �� ��� � � �� � ���� � � ��'(�� ��� ��� ��� V,8� ��� � �����������,��(����������������������2�� ���������6�%������$)$(�

������������������� ������*����

����

<������(�������������7=��9���:

)�1�� �������F��������� ���� �#��� ��� �� �� �����'2���� U� ���� �� � '�� �� #��� ���� �� ��� � � ����� � � � �

���

������ �� � ��� � � ����'(�� �� ��� ;����� ��������� �� ����� ����� <����� ��� ���� ��=������� ��������� �������������

���� ����������������H�� �����������.�

P2_0=1; //liga P2_0 delay_ms(1000); //aguarda 1 segundo

; //desliga P2_0 delay_ms(1000); //aguarda 1 segundo

������ � #��� �� ��� � � �� � ���� � � ��'(�� ��� ��� ��� V,8� ��� � �������2��.�

������*������-��������������?3%��

7=��9���:�

#��� ���� � '�� ��� ����� ������ ������ �U� ���� �� � '�� �� #��� ���� �� ��� � � ����� � � � �

Page 52: 8051 teoria

��

�&��� ����� ������� � � �&���� � '�����������������#������ ��������� ���������������������� ���� ������������ �� ��� ��� ��� ����������� ���� #include <at89x52.h> #include <delay.h> void main(){

int i=0; for(i=0;i<10;i++){

if(P3_0==1) break ;//se o pino P3.0 P2_0=1; //liga P2_0

delay_ms(1000); //aguarda 1 segundo P2_0=0 ; //desliga P2_0 delay_ms(1000); //aguarda 1 segundo

} c� ;����� ���� �� � '�� ��� �� ��� ��� <#��� ��=� �����*��� ����<�=��������������� ���� ����� � � ������*������ �������� ������� �#� ������� ���� � ��������� � ����"���������������������������� �3 ��� ��������� � .��� ��������������(�����������

���������(�����[@���1I�

������������������� ������*����

���

�&��� ����� ������� � � �&���� � '���*���������������� ���� �������'2�����������������#������ ��������� ���������������������� �������F��� ������������ �� ��� ��� ��� ����������� ��������H�� ����������.�

;//se o pino P3.0 receber nível 1 P2_0=1; //liga P2_0 delay_ms(1000); //aguarda 1 segundo

; //desliga P2_0 delay_ms(1000); //aguarda 1 segundo

�� ��� ��� <#��� ��=� �����*�������� ������� ����!����=��������������� ���� ����� � � ������*������ �������� ������� �

"���������������������������� �3 ��� ��������� � .�

������*������6��������������������@��

Page 53: 8051 teoria

��

���

<�������(��������������7���������:�

"�������������� �������F������ ������ � ��� �����#����� � '�� ����������� � ������ �� � ��� � �����'(��� ������ #��� ������ ��� ������ � � �����'(���(������ ������������ �������H�� ����������.�

#include <at89x52.h> #include <delay.h>

void main(){ int i=0; for(i=0;i<10;i++){

P2_0=1; //liga P2.0 delay_ms(1000); //aguarda 1 segundo if(P3_0==1) continue ; // se P3.0 receber nivel alto P2_0=0; //desliga P2.0 delay_ms(1000); //aguarda 1 segundo

} c�

�;�� ����� ��� ��� � � �� � ��� ����� %������� �� ����� ��D�T�\� ������ED��>����?P��(����(������� ���� ��� ���� � ������������!��������

<�<����(�������������"������� �2������� � ����� ���������� �����'(���������������� ��� ��1 ������ ������ ������ ��� �� ����� ������ ��� � '�� 2���� ��(�� ����� ����� "������ �� ��� ��������� � '�������� � ������ ��������� �����'(����� ������ ����� ��� �� ����� � ��� ������ ������ ��� ������ ��� �� ����P� ��� �� �� �������������� '��2������� �� �� � ����� ������� � ������ �&���������2������"������� ����� '��2�����.� while(condição){ commandos; } "��� � *������������� ���� '(���� ��� ������������������� ����,������.� while(x<50){ //enquanto x for menor do que 50 x++; //incrementa uma unidade de x } //fim do comando while �,��������������� � � �����#��� �� ���������������������������

Page 54: 8051 teoria

��

�,�

)�� ������� ����� ���� �(�� ��� ���� � ��� �#X������ � � ����� ���� 1� � ��������� ������;����� �������� ����2�������� ���� ��� � *������� ��� ���� *�+%����,������.� bit a=1; � while(a){ //enquanto a for diferente de zer o x++; //incrementa uma unidade de x } //fim do comando while �;���������������� � ����� ����2�������� ���� �� ������_ S����� ��������������1����������������������� ���������� ������������2����������� ������� ������������

����

<�<����$������������%���'"�.�������

*���� ���� ������� �� ����� ��� ��� � � ������ � � ��������� �� � � �� ��� ������� ���������'(��2������ ���� .� while(1){ // enquanto 1 for verdadeiro(diferente de zero) x++; //incrementa uma unidade de x } //fim do comando while ���,�������� ��������������������� ��� '(������ '��2����������������� �����.

#include <at89x52.h> #include <delay.h>

void main(){ while(1) {

P2_0=1; //liga P2.0 delay_ms(1000); //aguarda 1 segundo P2_0=0; //desliga P2.0 delay_ms(1000); //aguarda 1 segundo

} c�

Page 55: 8051 teoria

��

% ���

>���(�����������

� ������ #��� ���������� ��� �������.��

��*�����

��G������

�� ������'2����

��*�� ���� ���

�,���� �������� �� � ������ � �������������������������

��

>���������

)���������� ������������������������ !����������� ����� ���� ��� ������� ��������� "� ���� ������� ������ �������� ���� � �!������&�����<������=�� �������������� �������� � � ����V,8��

)���������� ������ �� ����� � �!�� ���� � ���� !� �<�A)=�����#� ������(���������������#� ��������� � �

�����

�����

�����

�����

���. /��

���

% ����

����� ������� �������� ������ ��������� � ���

,���� �������� �� � ������ � ��������������������������

��������� !����������� ����-������ '(������ ���� ��� ������� ��������� "� ���� ������� ������ �������� ���� � �!�����

=�� �������������� �������� � � ����V,8��

)���������� ������ �� ����� � �!�� ������� �� ������������������������� ������(���������������#� ��������� � ���.�

���. /���

"

Page 56: 8051 teoria

��

�2�

Port P1> <Port P0

<Port P2

Port P3>

������������������� ������0������6�������������������������������

��H ������� �#���� � � �!�� ������������������ ���������� ������������ �/V"� </��� ��� V&�� � "������ =�� ����� ���� ������ ��� ����� ��������� ������������������� � �� ������� �� '2������4��������;�������� �������� ��'2�������� �����������J���J���������#����(������'2��� ������ ��� �D"+�#������������� �������������<�A)S�=������������ ����U� �#������� �� ��� � ���������������������� ���� �� ������ ��� ������������%������������ �� !� ����������"������������� �� ��!��� ����� � ����.�������,���,���������*���� ��������� ���� ������ '(�������� � � �� � !� � <�A)S�=����� �����O���*��� #��� ����� � ��� ������ ��� �� '(�� ��� ��� ���� �� �� � !� �� �(�� ��������� ������ �� ��� �� ������ �!���� �� �� ���� ���� < ����=�� * � �������

Page 57: 8051 teoria

��

�5�

�!���� ���� � � � !� � ������ *��� �� ��������� ���� � ��������� ��� T�EQ� �������������� ������ ��� �� '(�� ��WH11��,�� � ��!��� � <� !� �� ��� ������ ����=�������� ���������� ���� ����� �����2���� �����#���M�!���������,���,O������� ���� � ����� '(����� ��� � � �� � !� � <�A)S�=� ��� � �����8� ���� ��������� ���� � '(�� �� � ���� ���T������������� �*���#����� #����� ���,K���� � ���� ����&� ���������*�����������������*��������������� ���������� ��������� ��� ���� � #��� �� ���� �� ������� ��� � � '(��� ����� *��� �� � � ���������� �������� ������� � '(�������� �,���,�*������������� ���� ������ '(�������� � ���� !� �<�A)S�=����� ����������(��������� ��'2�������� �������� ����������������� ���� �� !� ����� ����������'�,���, *������ ��'2�������� ����������� ��������������������(����� ������ � ���������� '(�� ��� ��� �� ������'2���� ��� ������ �� ��� ��� ����� <��� � � ���� ��'(������� ����� � �����=��*������������� ���� �������������������� �������� ����� ���� <�A)=��G��� �����������������(������ ����������������������� � ��� ������.���� ���������������

����������.8J����������������

���������(.8J��������������

���������-;(�J���������&"���.��������

���������-;(�J���������&"���.��������

�����,���(�J������������������������

���������(�J�������������������������

�����2� �� ���5J� �(�� ������ ���� � � ���� � �� ����� � � � ���&� � ��� � ��������� ��� �������������������������

"��� �������������.� �

���

#include<at89x52.h> //contém as definições do chip void main (){ //declara início do programa

P2=255; //liga todos os pinos(nível 1) do Port P2 } //declara fim do programa �

Page 58: 8051 teoria

��

���

3������ ����$��������D�%%����� 5��-�4� ����$� ��� �� ��������3�4� -� �����)�� �� ������������� ��� 3���+��� ��� �������1��� ���%���4� ��.�� � ������� -���� �� �� ��"�� �� ��� ����� �������� 1�����������������������

)��� ������T���\�#� ��������� ������������������ �� ���*���*����� ��������#������� ����������������������*�������!�����&��������*������� ������� � ����� �� ���� ���� ���� ��� ��� ������ � � ������ � ���� �� ��� �� "��� �������&������������.� Int valor=09; �

���)��� ����%����T��\� �����#������� ���������������*���*������������� �� � ��� ����� �� �������������*������� ������� � ����� �� ���� ���� ���� ��� ��� ������ � � ��� ��� � ������������������������ ���� �� ��� ��

>����$/������������&���

H ������ �� ������� � �#��� �����#������V,8���� � ��� ���������� ������� ��� ����� ;*;�� �������� �� � � ���� � � � ����� �������� ����� � �������)�� ��������� ��� ����������������������������

"��� ��������#��� �������.����������������������������������������������������������������������������������������������������� ������0���

#include<at89x52.h> //contém as definições do chip

int valor=0; void main (){ //declara início do programa

valor=P2; //guarda na variável o valor lido no port } //declara fim do programa �

3435�

6�������

$"5�

Page 59: 8051 teoria

��

���

D�����'(�.��#include <at89x52.h> #include <delay.h>

void main(){ while(1) {

P2_0=1; //liga P2.0 delay_ms(500); //aguarda 500 milisegundos P2_0=0; //desliga P2.0 delay_ms(500); //aguarda 500 milisegundos

} c���H ������� � ������ � �������!���������������� ���.���* � ��� � �� V,8� �� ��������� ��� � �!���� �&���� �� ��� ����� ����� ����������� ������� � � ��$������������������ ��!�����&��������* � ����� �� � � � ��� V,8� � � � ����� �������� <�#��� ������ � ���=���������������� ��� ����� ����<�����#���������� ��������������� ���� ����������� �� ����� #��� �(�� ��� � �� ������ � �� ����� ����� ��� �������� ����/����� �������(�� ������� �2������������� � ����� �!������ ����������"� �����'(�� ��D�T�\� ��� � �� ��������� ����� ��� �������� ��� ��� �!�����&������>����?�� � � ������V,8���"� �����'(�� ����ED��>���?\� �� ��� #��� �� ��� � � � �� ��� �������������������"� �����'(�� ��D�T�\� ��� � �� ��������� ����� ��� �������� ��� ��� �!�����&������>���?�� ����������V,8����*������� ������ � ������ ��� *���� ��� �������� ��� � � �� ��� ������ ���V,8S��� ����� R��� ���� � ��� �� <���&����� �� �=�� ��������� �� *��� ��� #���������� ��'2�������� �����; � ����� ���� 1� � � �������� ����� ����� ������ ���� �� � � � ������ � ��#����(����������������� � ��� ����������&������ ��(������ �� ��� � �� ��'2���#����(����$�� ���� �����

Page 60: 8051 teoria

��

2��

�*���������� ������4� ��� �&�����4�3�� �����������)���4� ���� -������������������������ $��$���#���

;�� .� ,���� �� ���� ��� � ��� � ��� � ��� � ��� �� �� �!���� �&���� ���������������������� �� ������� �����

"��� � � ������ � ��#��� ����� ���� � ���A)S��<����=��(�.����J���J���J���� ;�� ��

��1 � �*�������2�����4������� � ���� ���� ���-�������������������� ����"����������.�

�"�

��D����D����D����D,���D����D2���D5�

�$�

��D����D����D����D,���D����D2���D5�

�3�

��D����D����D����D,���D����D2���D5�

�0�

��D����D����D����D,���D����D2���D5�

1 � � ����� ��� *��� ����� ������ ��� �� ����� �!����� �&����.� �� ��� �� < ���� ��� ���=��� ����� ���� � ������ �� !� ����� �����*���������.��

P2_7=0; //coloca o pino 28 em nível 0 (0V) P2_7=1; //coloca o pino 28 em nível 1 (+5V) � ��"��������� ������� ��������� ��������*����������!���� ��� ��������������������� �%�� �����< ����� ��MR��=���*���������.�

P2=0; //coloca todo Port P2 em nível 0 (0V) P2=255; //coloca todo Port P2 em nível 1 (+5V) H ���� ��������� �� �� ���� ��� � ����� '(�� ��� MR���� 1 � � *��� �� � ���� ������������ �������� �������MR���<4����=��"����������.�

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bi t0

��D5� ��D2� ��D�� ��D,� ��D�� ��D�� ��D�� ��D��Valor em decimal � 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255

�����

Page 61: 8051 teoria

��

2��

,������ ���� ��� ����!�����&������������������������������������������������������������������

��� �������������� ������������ �������������� ���C66�#������������ ������������������*���*C�����!�����&������<��� ���=���;����#������������������������ ������� �������(����� �� ����������������� ������������&���������� �����!�����&������������,��(����� ���������� �������������� �������������� ��� ��*������H�� ���� ��������������������*�����.���

��������%�� ��D5� ��D2� ��D�� ��D,� ��D�� ��D�� ��D�� ��D��

� ���� 2,� ��� �2� �� ,� �� ��

�������� �

��T�\� �� �� �� �� �� �� �� ��

��T�\� �� �� �� �� �� �� �� ��

��T�\� �� �� �� �� �� �� �� ��

��T,\� �� �� �� �� �� �� �� ��

��T�\� �� �� �� �� �� �� �� ��

��T�2\� �� �� �� �� �� �� �� ��

��T��\� �� �� �� �� �� �� �� ��

��T2,\� �� �� �� �� �� �� �� ��

��T���\� �� �� �� �� �� �� �� ��

��T���� �� �� �� �� �� �� �� ��

��T2\� �� �� �� �� �� �� �� ��

��T��\� �� �� �� �� �� �� �� ��

��T��\� �� �� �� �� �� �� �� ��

������0��(����������6����6��������������AB����

�;�� ��

����

Page 62: 8051 teoria

��

�������$�&��

���� )�%����.������%'"�

)���������� ���������������������������������������'(�.�

���)(J��������

���������-;(�J���������&"���.�������

���������-;(�J���������&"���.�������

�����,���(�J�����������������������

���������(�J�����������������������

����������.8J����������������

���������(.8J��������������

��"�������'(�������������������������������#������� ����������� ��� ���������� �� �� ����� ���� ����� � ������� � � ������ � ����� ������� #��� ������������ ,�� ������ �� �� � ����� � #��� �� ���������� ��� � ��� ����� �������� �� ���� � ��'(���������� ������'(��#��� ����� ������ ������ ��"�&����� � ������� ����� ����������'(��� ��� ������� �� �������� ��� ���� � �� ������ ��� ��� � ����#���� �� �������������������* ���� ���� ��������'2���������������������� � ��������'2�������� � ������ ����� ����� ����� ��� � � ���� <�JDS�=� #��� ���� � ��� ��� ����� ����� ������� �������� �� ������� ���� ��� � ������������'(����)�� ������ ���� ����� ����� ����� ��� ������ ��� ��� ���� � � ����� ���� 1�������� -�� �� ���'2��� ��� #����� �����

���. /��

2��

�������$�&���

)�%����.������%'"�

�����������������������������'(�.�

-;(�J���������&"���.��������

-;(�J���������&"���.��������

(�J������������������������

(�J������������������������

���������������������������#������� ����������� ��� ���������� �� �� ����� ���� ����� � ������� � � ������ � ����� ������� #��� ������������ ,�� ������ �� �� � ����� � #��� �� ���������� ��� � ��� ����� �������� �� ���� � ��'(�������� � �����#�������� ��� �������'����� ������'(��#��� ����� ������ ������ ��"�&����� � ������� ����� ����������'(��� ��� ������� �� �������� ��� ���� � �� ������ ��� ��� � �

�������������� � ��������'2�������� � ������ ����� ����� ����� ��� � � ���� <�JDS�=� #��� ���� � ��� ��� ����� ���

��� �� ������� ���� ������ �� ����� ������ ���� ����� �

���� ��� ������ ��� ��� ���� � � ����� ���� 1������� < #����� ��� � ������(�� ��?��H�� � ��

���. /���

#

Page 63: 8051 teoria

��

2��

����%��� � � �� ��� �� ���(��.���6� #��� �� ���� �� ����� ��� �,� �� ������� �����.��/* IE */ sbit at 0xA8 EX0 ; � apelida o bit na posição 0xA8 como EX0 sbit at 0xA9 ET0 ; � apelida o bit na posição 0xA9 como ET0 sbit at 0xAA EX1 ; � apelida o bit na posição 0xAA como EX1 sbit at 0xAB ET1 ; � apelida o bit na posição 0xAB como ET1 sbit at 0xAC ES ; � apelida o bit na posição 0xAC como ES sbit at 0xAD ET2 ; � apelida o bit na posição 0xAD como ET2 sbit at 0xAF EA ; � apelida o bit na posição 0xAF como EA ��; ������ ����1�� ��������� ������������ �� ����� � ��������'2������������������ � �����������������'2��.��EA=1; //habilita a chave geral das interrupções EA=0; //desabilita todas as interrupções ��,�� � �����'(�� ����� � ������ � ?� ��� �� �@� � �� ������'2����U� ���� ������� ������ ����� ���������������� �� ��������'2�������������� ������+ ��� �� ����� � ��������'2���������������� ������� ��� ������� �� ����� ���� ����� ��������� ������� ��������'2���#����������� � ��� ����; � � ��� � � ������ ������ �� ����� ��� ��� �� �� ������'2��� ������!����� �������� ����,��� ������� �����.��

����

Registrador IE ����

;����� �;����� �;����� �;����� �������'(�������'(�������'(�������'(�����

����

J��'(�J��'(�J��'(�J��'(����� * � � ����* � � ����* � � ����* � � ���� ���� '(� ���� '(� ���� '(� ���� '(�����

EX0 External interrupt 0 TR0 Timer 0 interrupt 1 EX1 External interrupt 2 TR1 Timer 1 interrupt 3 RI TI

Serial data received interrupt Serial data transmit interrupt

interrupt 4

TR2 Timer 2 interrupt 5 EA Chave geral das interrupções

Page 64: 8051 teoria

��

2,�

�� � ����� 5��� ������� -� �� ���� *�� ���� ����� ��� �������� �����������������)���� ������������

�� �����#���������� �������� ��,"�<� ��������� � ������=� ����������� �� ����� ������� � � �������� ������������������� ����� ���������'2����(������������������������� � � �������� ����� � �#���� ��������� ������� � �]�� � ����� �������� � � �� ��������#��������� ������� �� ����� ������� ���� � �<$T�=����

������������������.������%'0��

H ���������#����������� �� ������'2��������������� � �������� �� �������U� �� ������'(�� ���� ������ � ������I� O� ��� ����� ������� #��� �������������� � ��� #�� � ��� �����]�� � � �� ������'2���� "���� ������� ������� ������� ��� ��� ��'(�� ����� �� � � ��� �*� �� ������ 3����� #��� ������� ��� � ������ ������������'2���� �(������������� ���� "� ����������������%���� � ������� ���(��S���6�#����� ����������� ����*��� ������3����.� /* IP */ sbit at 0xB8 PX0 ; sbit at 0xB9 PT0 ; sbit at 0xBA PX1 ; sbit at 0xBB PT1 ; sbit at 0xBC PS ; sbit at 0xBD PT2 ; ; �� ��� � ������� ������������� � ������ � ������������� ��� �*��� ������3����.

Interrupção Prioridade 0 PX0 : Entrada externa 0 Maior prioridade 1 PT0 : Passagem de tempo Timer 0 \......./ 2 PX1 : Entrada externa 0 \...../ 3 PT1 : Passagem de tempo Timer 1 \.../ 4 PS : Comunicação Serial \./ 5 PT2 : Passagem de tempo Timer 2 Menor prioridade

������0����6�������������,�������������+C���

;�� ����

Page 65: 8051 teoria

��

2��

*������� ��� ��� #��� �� � ���� ��� ������'2��� ��� �� � �� ��� �� � � ������� ��� �� � ����� ���� 1 ��� � � � � ��� ��� �� � ������'(�� ������ ������ ���� #�� ���� ������������������ ������� ��&��� �� ��� ��*���������.� �������'(������� �5�<-$�=���� �������� �������#��� �������'(�����(-*$���<(��=��� �� ��� ��� ����(-*$��� ��� ����� ��� �� � ����� ���� ������ ��� �������'(�� ��� (-*$��� ���� � ��� ����� ����� �� ��� ����� ���� ������ ��������� ��� ��� ���� � ������'(�� ����� � 5� �� ������'(�� ��� (-*$���� �� �� ��� ����� ��� �� � ����� ���� ���(�� �� ����� �� � � ����� ����#�� �� �(�.�"������ �������'(������� ��������<-$�=���,�������� ���� � �������'(����� ��� �������� �������#��� �������'(������� ��.��

PX0=0; //define Interrupção Externa 0 como do grup o //de baixa prioridade (priority external)

PS=1; //Define a Interrupção Serial como sendo do

//grupo de alta prioridade (priority serial) ���H�� ����������������.�������� � #��� �� ������'2��� ����� �� $S�� �� $S�� ��� �� ������ � �� ���������� ��������� �� �������8�� ������� ���� #�� ��������� ����� �� ��� �5�������������� ������ ����������� ������� �������'(��$S������ ��� �� ��� ����� � �� ��� � �� � � ���� � ��� � � ������ ���� � ������'(��<$S�?������������������� �� � ����� ����� � ������� �������'(��$S�� ;����� ����� ������ ���� #�� ����������'2����(�� ���� �-��������� ���������� � ���� �� ����!���� ����$� �� ��� ����� ��� �*� �� ������ 3������ )��������� � ���� ��� � � ��� #�� � � �� ����� ���� � �� ������'2���� ���������#��� �������'(������� ���>$S�?�������������� �������#��� �������'(������� ���>$S�?. PX0=0; //define baixa prioridade para interrupção //externa 0 PX1=1; //define alta prioridade para interrupção //externa 1 �

Page 66: 8051 teoria

��

22�

��������������)���� ���� !����&�� ������������� ����������������4��� �$�� *�����*���������� ��������

�����.������%'0��$/������

)���������� ������ � �!�� ���������������� ��������'2�������� �.�

���������-;(�J���������&"���.��������

���������-;(�J���������&"���.��������

+ ��� �#���������� �������'(������� I���"� ������'(�� ����� � �� ��� #��� �� ��� � � ��� ����'(�� ��� ������� �� ������ ����������� �� ����� ��� � � �� �����'�� ��� �� � ���$���� A ��'(�����#����������� ���� � ���������� �������'(��������#������������� �������������� ��������� � ����� ����� � ������������������"�&���� � � ������� ����� ���� ������'(������ ����������������� ������� � �������������� � ����#���� �� ������������������� ������#X��� ���� ��-�����'(�������� � ���"��������'2���� � �!�� ������������������� � ������� ��������� ��������� �����#������������� ������������� �������������#���� ������� �����������������

�������)�%�������%������.������%'0��$/������

"��������'2�������� ���(������������ � ����� �� ���'(������!���� ����� �� ���������� �� ��� ��� ������������������������<������ ��=��)������������� ��� � ���� � '(����� ������������ ������ �� ������'2���������!���������� ���� ������� ����8������ �� ��� ��� ������'2��� �����!��� ��� #�� �� ��� �� �� ������'2��� �������������� �� �������������� ������� #��� �#������������ ���� ��� �� �<�� ���� ������ ���� �� ��� �5��=���

;�� ����

Page 67: 8051 teoria

��

25�

G�� �� �� ������'2��� ����������� �������� ����� �$��� ��� ����� �������� ���,��� ������� �������1 � �������'(���� ��� � ����#� ������������ ������������ ��� � �#� ������������ �������,������.��

EX0=1; //habilita interrupção externa 0 EX0=0; //desabilita interrupção externa 0 ET0=1; //habilita interrupção do TIMER 0 ET0=0; //desabilita interrupção do TIMER 0 EX1=1; //habilita interrupção externa 1 EX1=0; //desabilita interrupção externa 1 ET1=1; //habilita interrupção do TIMER 1 ET1=0; //desabilita interrupção do TIMER 1 ES=1; //habilita interrupção via porta serial ET1=0; //desabilita interrupção via porta serial ET2=1; //habilita interrupção do TIMER 2 ET2=0; //desabilita interrupção do TIMER 2

EA=1; //habilita chave geral das interrupções EA=0; //desab. chave geral das interrupções

* �� ����� ��� �������'(�����1������� ���.�����������)� ��� � � ��� �������� �� � � ����� � � ������'(�� ����� � ����� ����������� ����"�� ������ �� ����� ���� �' �����!�����&������� �������������������>����?��� ��� �������'(������������� ����� �#� �� �� ���� ������� ��� ����� ������ ��� ��� � � ����� �� � � � � ��� '(�� � �������'(�����

#include<at89x52.h> //contém as definições do chip

void main(){ //declara início do programa

EA=1; //habilita chave geral das interrupções

EX0=1; //habilita interrupção externa 0 ... //comandos do programa... } //declara fim do programa �

Page 68: 8051 teoria

��

2��

"������'(��3�D���� ��������� �������� �����#������������� ��� ����������� � �� ������'2���� ����� � � ��� ��� ������ ������ ����� ��� �(�� ���(��� ����� ���� ���� �� ������� 8������ ������� � �����'(�� 3E�D�� �� �� � ���������� ���#��������������������� � ��'(������� ��������� ��������� ���������� �� ����� ������ ��� � ���� #��� ������ ������ ���� � � ���'(�� ����!���� ����� �� ����< ��� ��������� ���� ��������� =����

��;��$/������������&���

;�������� � ������ < ��� ����=���������� � ��� � <����$������=����� ��������������������'(������� ���>-;(�?���� ��� �����������������1 � �����#��� �� ��� �� ��� � �� �� � ������'(�� ���� �� � � �� � ���� � ��� ����������� -�������'(�������� ��� �������������������������������������������

������������F������8������+,��35�����3E��

��

Page 69: 8051 teoria

��

2��

����������������������"����������������� � � �� ��������'2�������������� ���(��)��������������������

#include<at89x52.h> //contém as definições do chip

void atendeInterrupcao() interrupt 0 { P2_0=0; //liga LED P2.0

P2_1=0; //liga LED P2.1 } void main(){ //declara início do programa

EA=1; //habilita chave geral das interrupções

EX0=1; //habilita interrupção externa 0 while(1){

P2_0=1; //Desliga LED P2.0 P2_1=1; //Desliga LED P2.1 }

} //declara fim do programa �

Page 70: 8051 teoria

��

5��

�������������������� ��������#���!������8������+C��������� ���

)�4GH��������������������������������&0���

Page 71: 8051 teoria

��

��!���'� ������

)� ����� �� ��� ��� ���� ��� 4567� ������ ��� � � �� � �� � � ��� ��� ������� �� ���� ���� �� G�� � ���� #��� �� ����� ������ � �� � ������� '(��� �� �������� �������� � ��� ����������������(��������� � ��� � ��'(���� ���� ��������� � ��������������������������� ��

,���� �� ��� ��� ���� ��� ��� ������ ������ ����� ��� �� ��� ��� ���������� �����&�#������������F���������������<������ � ��� � �����(�� ��� �!������������� ����������+������������������+���������� ������������ ���#������ ��������� � � ��* � � �!�� � ����� ������ ����� G����A1�������� ,���� ����� �� �������(��)��� ����2�� ��� �� ������� ��� ������� ��$�������������������� �������� ��'2�������� ���� � ����G+)8���G1);��H�� ������G+)8�� �� ��� � � ���.�

(*'8�

@����� @����� @����

�K(� *�� *�

�� C� C�

�� C� C�

C� �� ��

C� �� ��

C� �� �������������������3������������"�����������!G%�

)�� G����� <������J� ������� �� ���������������� � ���.��

��+)8)�+)8)�+)8)�+)8)��....�1��� ������ � �� �������� ����� � ���� � �!�� �+1�C,�=��

��+)8)�+)8)�+)8)�+)8)�....�1��� ������ � �� �������� ����

���. /��

5��

21� �#1� �61� �

��!���'� �������

��� ���� ��� 4567� ������ ��� � � �� � �� � � ��� ��� ������� �� ���� ���� �� G�� � ���� #��� �� ����� ������ � �� � ������� '(��� �� �������� �������� � ��� ����������������(��������� � ��� � ��'(���� ���� ��������� � ��������������������������� ������&�����

�� ��� ��� ���� ��� ��� ������ ������ ����� ��� �� ��� ��� ������������������� ����������� �����G�����

<������ � ��� � �����(�� ��� �!����� ��2=�� ���� ��� ��������� �� ����F� �������������������������������0����G�������

+���������� ������������ ���#������ ��������� � � ����������������

������ ����� G����A1�������� ,���� ����� �� �������������� ��� ����� ������ ������ ��������������� * �

�������������������� �������� ��'2�������� ���� � ����G+)8���H�� ������G+)8�� �� ��� � � ���.�

$/�����

@����� �

*�� �

� ����� �������������

� ����� ����������,�>(�?�

� *'8'����@����

� *'8'��2�@����

� *'8'�*�����3������������"�����������!G%��

������J� ������� �� ������=� ������ ��� ��� � ���� ��� #� ���

1��� ������ � �� �������� ������������<���� ��� �' �

1��� ������ � �� �������� �����2������<� ��������� ��=��

���. /���

$

Page 72: 8051 teoria

��

5��

��+)8)�+)8)�+)8)�+)8)��....�1��� ������ � �� �������� �����������������+������<� ��������� ���� ������ '(����� �=��

��+)8)�+)8)�+)8)�+)8)� ....�1��� ����������� � ��� '2�������� ���<����������� ��=���)��G������J������������������������� �������� ��'2�������� ��� ���� ���� ��������� ������ ��������� #�����"G��.����.���/* BYTE addressable registers */ � registradores com BYTES

endereçáveis sfr at 0x88 TCON ; sfr at 0x89 TMOD ; sfr at 0x8A TL0 ; sfr at 0x8C TH0 ; sfr at 0x8B TL1 ; sfr at 0x8D TH1 ; sfr at 0xCC TL2 ; sfr at 0xCD TH2 ; * � � � ����� ������ ����� ����� ����� ����� ���� ����� ���� ��� #��� � � � �' ���� ���������2������������������ ������4������� �(���������������������� ��������4��������� ������� � � ����

*��� $����������)�����

,��������� �� ������������ �������� ������������������ ������ ����������� ��� ��� ��� ����� ��� ����� *:�T� ��� � �� ��� ����� � ��� �2� �����<2����2� ��� ����=� � ���� ��� ���� ������� ��� 1AG� <1�����AG���=� �������� ��� ����� �� G+)8��)�� ����� �����(�� ��G��� �� �� ��� %��������� ��� ��� �2� ����� �� � ��� �� � ��� ���� ���� G������ U� ���� ���� �������G������������� ��������������� ���<2����2M�=���������?������@�� � ��� �������� ���� ������24� #��� ���� ��� ��� ��� ����� ���$�<� ���� =� GJ�� $���� (��2&� ��� G����� "� ��� � ���� ����� � � ������ � ���G�����.����������

������������������� ������������3�����������������������������$�*�����&��

Page 73: 8051 teoria

��

5��

*���� ,������(%���'"���)�����

"�������������(������������� ��� ����G������������ ���������*'8'��������� ��� ���� � ��� ������ �� � ��� ���� ��� �� ��������� ������ ��� � � � ���� '(���������������* � ��������� �� ����� ������ ��� G������ � ���� ������ #��� ���������� ������� ������� �������+����,�������� �� � �#X��� ������ ��� ������� � ��� ��� >��������� ������ � � �+��=� �� ���� � � -� � ��� 1AG�<1�����AG���=��������� ���G+)8�������� �� �����������������<����C����(*'8=�� �� G���� ����� � ��� ����� ������� ���� �� � � ��� ��� ������ �� ����� ��������� �A���������� �� ��������������!������<����C����(*'8=����������������� �������� ������������������������������� � ���������������,���������

� ������������3���������������������������������H������

�/� � ������ � ���� ��� � � ������� � �� ����� ���� ��� ��� �� �� ����� ���N"G,��"� ��� ���� � ������ � � ������� ��������� #��� #� ����N"G,� ��������� ���<�=����G���A1������������ ����� ���� �������� ���U� ����N"G,������ ��� ��� <�=�� �� G���A1������ �������� �� ���� ��� #� ���� �� ����� ���������'(�� ����� �� -;(�� <��������=� �� ��� ��� <�!���� �&�����=�� ��� ��� �� ������� �������� �� ���� ��� ��� � ������'(�� ����� �� *������� ������ � ����� �� !��� � � ����� � �� � ��� ������� ���� ���� ��� ����� ����� <-;(�=� ����������������G���A1���������"���� ������� GD�� <G���� D��� �=� ����� � � ����'(�� ��� G���A1�������U� ����(��T������������� ���������?�� @��U� ����(��T������������� ���������?� �� ��@���

��

��������#���3�������87��������������������������������

Page 74: 8051 teoria

��

5,�

"� ����� �� �� ��� ��� ��� ����� � � �� � ��� ������ ����� � � ���������� ��� �������� � � ��� ������������� ������� �������������� ���������������������������� ������ �������� �� ������ '(����������� ��������� � �� ����������� ���� � � ����� ��� ���� )� ������� ������ ���� ��� ��� ���2��� ���������� ����� ��� ��� � ���� ��� ��������� ������ �� � ��� � '(�� +";1�,�G,D�� �#� ����� �� � �� �� �� ����������� ����������������� �����*��� �(���������� ���N"G,������ �������!�������� �� ���� ��� �� ��� �������� ���GD��� �#����������������������'(����

��

��������'���3�����������������������������$�*�����&�����,�� ������ � � ��� ���� �� � ��� � � ��� (�� �� (F��� U� ���� � ��� ������� � �� � � � �� ��� ��� 2����2�� ���� ��� ?������@� � � � �� ��� ��� � ��� ��������GJ��<G����J� ���=������ ��� ���� �� ����������!��������� ���� �������������������������'(��-�1*/�����* ��� ��� � ������'(������ �� ������� ������������������#����� �������������G����������� �� ���� ���� ���� �2����2M���*��� ������ ��� ����������� � � �65���������������������.���������� ��>����������?����������������� ����������������� ������������������������� ������������������ �������� ������ #��� �� ������� ���� ������ ��� 2����2M��� ���(�� ������ #���� � ������������������������������������2����2M������� �������� ��� ���G������� �����2�� ����� ��� � ��� ���� ��� � ��� ������� ����� �� ������� ��� �������#X��� �� �� � ������'(�� ��� � �� ���� ��� ������ �#��� ������ � 65����������������

Page 75: 8051 teoria

��

5��

;����������������� ��������2��������� ����������������� �����(�� ��(F�������� '(����� ���� ���"����������.��

8��� �� ��� ���� ��

15.536 3CB0

TH0 TL0 3C B0

�; ������ ����1� �� ������������ ������ ���������� �� .�

TH0=0x3C; //carrega os valores em TH0 TL0=0XB0; //carrega os valores em TL0

���*����� ,���7<9���:

;����������������� �� ����������� �������2������<2����2���� ����=�������������� � � � �� ������������� ���������� ���� ������� '2��� ��� ����� � ������2�����������������;����#������ ����������� �������� '(����� �� ������#��������#������ �� � �������� ��������� ��������� '2���� ��������������������� ��� '(������������������"����������.�

���"�� ����� ����� ��� ��� � '(�� ���� �� ��� �����'2��� ����� ��� ;����� ������! ���.�

� ;���� #��� �� ������ ������� �(�� � ��� ���� �������� ���� ������� ��� ��� ���������������������� ,���� ����� �������� ������ � ������� �� ������� '2��� ��� ������������������ ����������!������������������������(�.�

Page 76: 8051 teoria

��

52�

*���� $/������������&���

;�� �������� ��� ��� � � #��� ���� ������ ��� ��� ������ �� �� G����� ����� � ���� � �� � ������'(�� � � ������������������;�� �� �� ������������'2�������������������������!�����&���� ��� ���<��������=��

"� �������������������� � ����� �������������������� � .

������������-��������������������������������������������������������������������

#include<at89x52.h> //contém as definições do chip

int contador=0;

void atendeTimer() interrupt 1 { TR0=0; //pausa timer para recarregar (Timer Stop) TH0=0x3C; //recarrega o timer com o valor

TL0=0xB0; //15.536 TR0=1; //ativa timer para contar (Timer RUN)

if(contador<20) contador++; else{ //se passou 50ms x20= 1 segundo

P2_0=~P2_0; //inverte o nível lógico de P2.0 contador=0; //prepara p/recomeçar contagem de 1seg.

} }

void main(){ //declara início do programa

EA=1; //habilita chave geral das interrupções

ET0=1; //habilita a interrupção por estouro de Timer0 TMOD=1; //habilita Timer0 no modo 16 bits TR0=1; // Ativa Timer0 no modo “roda”

while(1){ //programa principal }

} //declara fim do programa �

Page 77: 8051 teoria

��

� !������ �����

"� �!�� ������ � ���� �� � ��� � ��� ����� '(�� ��� �� #��� ������� � ��� ������ '2��� ����� ������ ������������� #��� �������� ����� '(�� ��� ����� � ��� �� ��� �������� ��������� �� ������< ���$������=��������������� '(���!��� ��� ��!��� ��"����'(���� ��� ����������������<D�8=��� �� ������(������������

)�� ����� ����� ��� � ������(�A���'(��� ���� � ��� �� �(�� ����� ���!����� � ��������������� ������ ��'(������� ��������� ����M/J�<��� ��M� �=G�� �����#�������������������MR���������� ������ ��������� ����M/J�������� MR��� ������ ��� �M/J� �� ����� � ������ � ���������J��� ������ �������� ����� ����� ����� �M/J� ������(���������� � ����'(���� ��� ����� �3 ���&������������M/J��8����������� ������'(�������� � ������� � ������� �������� �� �1*/�� ���#� ���M/J����������� ���� #�������������

"����'(�� ��� �� �������%����� ��#���������� � ���'(�������� ��������MR��� ����� #��� �� MR��� ������� ����������� ���� � ����� ����� ��� ����� ��� ������'(�� <����� ����� ��� ���������MR����(�� ����� ����� ����� ��� � ���'(�������������MR����������������MR�������������������=�

"���� ���� ���������� ����#� ��������.

��+)8)�+)8)�+)8)�+)8)��....��!������D�������������������� ����������� ���������������� ������� ����� �������������D�8�����������G�8���������������� � ��'(�� ��� �� � �� ��0�� �(�� ������ � ���������� �� �������� 4� M���� ���� ������������������� ��������A

���+)8)�+)8)�+)8)�+)8)� ....� "��!������ ;����� ����� �� ����!���� ��� � � � � � � ���

� ������(�� <����� ���=�� 8��� ����� �(�� � ���������� <G�8=� �� ��������<D�8=.����������� ��!���<�� �����������!�����&�������=��4���������� ����<���V�M�� � ��+�M�� ���� � ����=� �� ������� ���� � � <����� ����� �!�����&�����=��

���. /��

55�

71� �!1� �81� �

� !������ ������

� ���� �� � ��� � ��� ����� '(�� ��� �� #��� ������� � ��� ������ '2��� ����� ������ ������������� #��� �������� ����� '(�� ��� ��� "�

� ���������� � � ������� �� ����� � ���������=��������������� '(���!��� ��� ��!��� ��"�

<D�8=��� �� ������(�����������������<G�8=���

)�� ����� ����� ��� � ������(�A���'(��� ���� � ��� �� �(�� ����� ���!������� ������ ��'(������� ��������� ����M/J�<��� ��M� �=��

G�� �����#�������������������MR���������� ������ ��������� ����M/J�������� MR��� ������ ��� �M/J� �� ����� � ������ � ��������� � � � ��� � ��� ���J��� ������ �������� ����� ����� ����� �M/J� ������ ��� ������ ��� � � �� ������(���������� � ����'(���� ��� ����� �3 ���&������������M/J��8����������� ������'(�������� � ������� � ������� �������� �� �1*/�� ���#� ���M/J����������� ���� #��������������

��#���������� � ���'(����������������MR��� ����� #��� �� MR��� ������� ����������� ���� � ����� ����� ��� ����� ��� ������'(�� <����� ����� ��� ���������MR����(�� ����� ����� ����� ��� � ���'(�������������MR����������������MR�������������������=��

��� ���� ���������� ����#� ��������.�

�!������D�������������������� ����������� ���������������� ������� ����� �������������D�8�����������G�8���������������� � ��'(�� ��� �� � �� ��0�� �(�� ������ � ���������� �� �������� 4�M���� ���

A���� � �#X��� ������� ���

"��!������ ;����� ����� �� ����!���� ��� � � � � � � ���=�� 8��� ����� �(�� � ���������� <G�8=� �� ��������

<D�8=.����������� ��!���<�� �����������!�����&�������=��4���������� ����<���V�M�� � ��+�M������ � ����=� �� ������� ���� � � <����� ����� �!����

���. /���

�%

Page 78: 8051 teoria

��

5��

��+)8)�+)8)�+)8)�+)8)��....�"��!������"���� ���� ��� ��������������������������� � � �MR���� ������������� � ����� ������(�� �� �����A:C�����AFT�� � �#X��� � ��� ��� �� ���� ��.� ��� ���� ��� ��!��� <�� �� ����� �!���� �&�������=��4���������� ����<����V�M�� ���+�M������ �����=����������������� ������������������� � �<�����������!���� �&�����=��,������������������ ��� �� ��� � � � ������� ��� ����� �� ���� ��� � �� ���� ; �� ������(�� ����� ����� ���� �� ��� ��� ��� GM4� ��� ����� ��� ����� ���1);�� ; � ���'(�� �� ����� ���� �� ������� �� � ��� ��� ��� DM4� �������� ����1);��

���+)8)�+)8)�+)8)�+)8)� ....�"��!������8�� ��������������������� ���� �������C��������

��� �� � ����� ������(��<��������=�#�������� ��������

��(�������������������

* � ����� ��� MR��� �� ��� �� �� ���� ��� ��� �� ����� ��� �� ��� ������ � �(�������������4������<��MR��=�� � ��� ��������M/J���������� �� ������(�����MR����� �� ��� � ������������������"�� ������ � � ������� ���� ������� ��� � �� ����� ���D�� <D�b�=� � � �� ��� �������'(����� ��� �� �� ���� ���������� ���#���������� ����M/J������������MR������ ���"������������� ������ '(��� ����'(�������MR����� ���� ���� �����

������������� ��������������"5%��

������������ ��� ���������� ���������������������

)� ����� ��� ��� ������� ��� ������� � � ��� � ��� �� �� �� ����� ��� ����� �� ��� ��'2����1);������ ���� �� ��� ��������

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bi t0

�$K)*�� )*�� )*�� �$;� (:�� �:�� (-� �-��1);�

Page 79: 8051 teoria

��

5��

"#B�4���4�������4���

����� "# CM��� J ����� ,�� < ��� ��� #� ���� �� ���� )*�T�=� ��� )*�T�� Z� � ���� ��� � �����'(���������

������ �4���4����� ��+����<�������������?��"� ���������������������������� $

��� ��� ���� #� ��� ������ ��� ��� '(�� � � ����� '(�� ��� ��� �� ���� �� ��� � � ���.�

)*�� )*�� *'8'� 8�����&"�� :���C�����

�� �� �� )6�/���� ������ �������K���

� D�&��1��� 5���:E��

�� �� �� �(���@���� �������K2,�����������K���

�� �� �� �(���@���� !���3%����

�������������!�����������+,������������������

�4��������4���

*�������� ������� ��'2������ � ��������#� ������������ ����� �����.��

��+)8)�+)8)�+)8)�+)8)��....��(������� �������������� � �����!�����&������������+)8)�+)8)�+)8)�+)8)�....�#� ��������!�����&���������� ����� �������������������'(�����

���������������������������������������� �#��������������������� �������������C���:���� ���� ���������������������������������

���+)8)�+)8)�+)8)�+)8)��� ....�U� ���� ����!���� �&�������� ����� � � ����� '(�� ��� ��

������������������� ���������� ����� �������������������'(����� �����������������M������� ������ �� ������

&#7�&������� # �1��

;!�����&������Z���� ����� � ����'(����� ���;!�����&������Z�� ����� � ����'(����� ����

��F����� �(��F���

;���������C���:����� ������ ��������������� ����� ������������� � �������� �3 ����

Page 80: 8051 teoria

��

���

&F��&����E�F���

;(���������� ������������������������������ ������ ��������������������������������+�������������!�����&�������;������������������� ������ ������������������������

������ �(��� �������

O�����������#����'(�����������'(��� �� ������(������ �������������� ���������������� ��� �&�� � � ������(�� ������(�� ������(�� ������(�������� ����������� �������������� ��� ����!��������������������������J��������8��������� �������� �3 ���� ���� �����'(��� ����� ���� ������������ ����������� ��������'2������

&��&����E�� �������

O�����������#����'(�����������'(��� �� ������(������ �������������� ���������������� ��� �&�� ����'(����'(����'(����'(�������� ����������� ����������������� ����!��������������������������J��������8��������� �������� �3 ���� ���� �����'(��� ����� ���� ������������ ����������� ��������'2��������

���� �������������"����������"8�<����������;�����������+,�����������������

����

����

����)��������"������%'"���4������* � ������ � � ����� '(�� ��� ��� ��� � ���'(�� ��� ����� ������ � �� #�����serial232.h �� ���� ����%��� ���� ������ ��� � � �&��� � ����� �� * ��������$���� ���� ����%��������� ��� � ��������������������#�����������&����NO����O)8��O-;� 8$�������

Page 81: 8051 teoria

��

���

#define XTAL 12000000 #define T1_CLOCK XTAL/12 void init_sio_poll(unsigned int baud_rate){ TR1=0; //pára Timer 1 para p rogramá-lo. ET1=0; //desabilita interrup ção Timer1 TMOD &=0x0F; //Setup timer1 no mod o 2 TMOD |=0x20; //8-bit auto-reload t imer. TH1=256-((T1_CLOCK/32)/ baud_rate); //valor da recarga TR1=1; //timer1 no modo ‘rod a’ SCON=0x50; //Modo 1 com 8 bits TI=1; //indicate TX buffer empty } char _getkey(void){ char dado; while(!RI); //Aguarda enquanto nao rece ber dado dado=SBUF; //Armazena dado recebido na variável RI=0; //Zera RI para receber novo dado return dado; } void putchar(char outChar){

while(!TI); //Aguarda até transmitir o dado SBUF=outChar; //Envia dado para a porta s erial TI=0; //Zera RI para transmitir n ovo dado }

�������������-���I��������/�����������#���

���� ������� �� #����� ������ � �� ����� ��� �� ���'(��� �� #� �� ������� � � ��� �������-����������� ���� ���<�� ����� ���=������������ � �#��� ����� ����KG"V� �#��� ��� � �#X��� � ��� 1��� ��� #��� ������ ��������� �� �������������<��+��=��,�������� � ����� ����G�L1V)1Q�������#���F�� �������� ���� � �#X��� � ��� ��� �� ������� � ��� ���� #��� �� � �#X��� � ����� � ����������� �����; � ��'(�� �I��I����������� ��� ���'(������ ��$ ���� ���� ���� ������#� �� �� ������ ���������� � � �����G������ ���� ������� �� ����� ��� ��� <GD�T�=�� � #��� ���� � ��� ��� � ���� 1���� �(�� ������� �� � ��'(�� ����� �� � ���� ��� � � ��� �� ������� ��� G������ �� ������� ��� ������'(�� ��� ������ ����� ����� ���<,G�T��Z�� ���������� �����=��V���� �&�������� ���� ���'2����������� ��� ����� �� G+)8�� "� �����'(�� G+)8� db�.�J� �� G+)8� eb�.���

Page 82: 8051 teoria

��

���

3��� $� -� ���� �-� ��� ����$���� ���� �� ���� ��$���� � *�� ��������"������������������� ����������� *��9���������������� ������-�����3��� $4�������������$����������� ���� *��������������%����������� ��������������

� ����� ���������� �������� ����������� ���G+)8� ��������� ��$�����������C�������� �������4������<C6F���� ����=������ ���$��� ��������� ����� �����#��������������� � ���� ���������������� ������ ������������ ���� � � ��� ���� ����G����)�� ������G������������ ������� ������� ������(��<� ��$ ��=���� � �#X��� ������� �������������� ���� ��#� '(������� ���� ��� � ��"� �����(�� ������ ����$��� �� �������� ��� ������ #��� #� ���� ������������������� � � �#X��� ������ ���������"�&�� � � ����G���������$��D���&J������������� ������ ����� ������GD�T���"� �����'(�� �1);b�.��� ������� � ���������� � � ��� ���������� ���������������� ��.

0x50 6�.�������� �0101 0000 @��3���

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bi t0

�$K)*�� )*�� )*�� �$;� (:�� �:�� (-� �-�

�����������M���� ������ 0 1 0 1 0 0 0 0 ��1��� � ������ D,;b�� ������� ����� � ������ � ����� � � ���'(�� ��� � ��� ��� ����+�b�� ������ ����J�&� �� ���� � � ������(�� ��� ����� 4� ����� ��� � ��$ ���� �������

���������'"�E���F�87:"� ��'(��L���0�R<�=���� #�������� �C:C������� ���� ������������� ��������� � � ��� � � ��� �� �� ��� �� <�M/J=�� 1 ��� �� �� �� ��� �� ����� � � ����� ��� �����<���=��������� ����,������ �������������� � ����� �������� $� �����#���������� ������ �� ��� ���#������ ��������������� ����� ����� ������ "�&�� �� ����������� ��������� ����� ���� �� ��� ��� �����'2��� ������ � �����

������;�� ��

�����

�1);�

Page 83: 8051 teoria

��

���

,��������������� � ��'(��_getkey() .� #include<at89x52.h> //contém as definições do chip

#include<serial232.h> //contém as definições da porta serial void main(){ char dado=0; init_sio_poll(300); //inicializa serial com baud rate=300bps while(1){ dado= _getkey();

if(dado== �A�) P2_0=1; //Liga P2.0

if(dado== �B�) P2_0=0; //Desliga P2.0 } } ���

JJ�6���������������-�������+,����������"��+,����������

)���� � � �� ����� � ��'(����� �����������������!�����&����7���� �����#��������������� ���� �"�<� �%��� =������ � ����� ���������� $��������#�������� ���� �M�<� �%��� =���

O� ����� ���� ����� � #��� �� #����� ����������6� �� ��� �� ��� #��� ����� ������ ���� � �� ����&����NO����O)8��O-;� 8$��"����������� � �#��� ������ '(�� ������� ��� ������� �� ��������� �� ���� ������ #����� � �#X��� ������� �������� ����*��� �(��������� ����������� �������+������

����������'"�%���?��7:"� ��'(������ <�=����� ���� ���� ���� ������������� �������� �� ������������� ���������� � �� ,��������������� � ��'(������ <�=.�� #include<at89x52.h> //contém as definições do chip

#include<serial232.h> //contém as definições da porta serial void main(){ init_sio_poll(300); //inicializa serial com baud rate=300bps while(1){ if(P3_7) putchar ( �A�); //envia a letra A pela porta serial } //se entrada P3.7 receber nível 1 } ���

JJ�6�����������#���-�������+,����������3�������������

Page 84: 8051 teoria

��

)���� � � ������ ���� � ��'(�� �����#� ��������������5������������!�����&������

�����G���H���%�����������'"�+�����

* � #��� �� �������� ��� ��� �����#��� �� ������ �������������� ����� ���+"K����� ,���� ������ � � �&��������M�H�� �C��H����H�� �D�����<D� ������� �� �����=����"� ��������������#��� ����� �3 �. Tx Rx

�������������K���L��������-�������+,�������

��;��6�����������=�I�������������8�������������������������� ���� ������ '(����� �������������������� ������� ����� �#X��� �����! � �� ��� ��������������������755f��������(���)������ �� ��� � � ���.��

9��������06!62""

0""�6""�$3""�32""�2!""�86""�$83""�3!!""�

�,�

�����

�����,���

��

,��

��

������5�

��

2��

���� � ��'(�� ��� ���� �"� <� �%��� =� ����� � �� ��� �������������!�����&�������

G���H���%�����������'"�+�����

�����#��� �� ������ �������� ������ $��� ��,���� ������ � � $��� ��� ��� ������� ��� �!�����H�� �C��H�#�������� �(��� ������ '(����� ��

"� ��������������#��� ����� �3 �.�

K���L��������-�������+,��������

6�����������=�I������������������ ���� ������ '(����� �������������������� �

������ ����� �#X��� �����! � �� ��� ��������������������755f����

��������06!62"":;� $$"#83"":;�

<� <�<� <�<� <�<� <�<� <�<� <�<� <�1� <�

Page 85: 8051 teoria

��

���$(�"��

���(�4��%��8��� �4)�� ����� R�� � �������� �(�� ������ ������ ���� �� �������� � ' �� � �� ����� ����� �������%���������� ����%������� �������#� ���� ���������� ��� � ������'(������� �� '2���

�������������%�����B������������M/�����$?-%&��*5��

����4�����'"������������� �4J�

)� V18� ������� ��� � ������ ��� � ���� ��� 4� ����� <8M����������� ��� � � �� ���� � ��� � ���� � � �� V18�������<,���D�=������������������ � ��'(���� ������ ���V18��������� �����<���F�$��=��� ����� ������������ ����

H�� � ���� �� �������� �� V18� �� ��� � �� ��� ��� ������ ���

8�����&"�� ���&"��

8:����8:5� :�������������������

$� �6���$��@���>����1?�

�K]� ����>�?����]����>�?�

�)� ������>�?�

!'� ����������

!88� M�!���

!))� (�����>#;8?�

�����������

���. /��

���

$"1� �$$1� �$31� �

���$(�"����

)�� ����� R�� � �������� �(�� ������ ������ ���� �� �������� � ' �� � �� ����� ����� �������%���������� ���)����������� � ������ � ����#� ���� ���%������� �������#� ���� ���������� ��� � ������'(������� �� '2����

%�����B������������M/�����$?-%&��*5���

4�����'"������������� �4J�

)� V18� ������� ��� � ������ ��� � ���� ��� 4� ����� <8M�� � 8ME=� #��� ����� � � �� ���� � ��� � ���� � � �� V18P� ������� ����� ������ ���

�������<,���D�=������������������ � ��'(���� ������ ���V18��������� �����=��� ����� ������������ �����

H�� � ���� �� �������� �� V18� �� ��� � �� ��� ��� ����� ���F8,,5��� � �

���6���������?-%��

���. /���

��

Page 86: 8051 teoria

��

�2�

8��������������������� ���� �������V18�������� ���� � ����� �� � '(���,�� ��� � '2������������-������2�����������F�$���<������������2=������������(�� ���(��� � ��� � �������"��� � � �� �� ���' �� � � ��� ����� ������ V18S��� ������ �������� ���� �����������������������������

���������#���6���������������B�?-%��

�������������������,����9���

"�&����� ���V18����������� ������������ ������������ ��� '(���� �#� ������ ������������������� '(�����,����4�������;�������4������ ���� �� '2����(��� ������� �� � ���� ��� 4� ������ ��� � ������ ��� � ���� <8�� �� 85=�� "�������������(�������� ����� ������������ �������������V18�<,���D�=����� ��� ���� �����(���������������������V18����������� �

�;�����������������,���;9���

;�� ����� ,����� �� �� �� '2��� �(�� � ������� �� � ���� ��� ,� ������ ���� ������ ��� � ���� <8,� ��85=� ���� ������ ��� �� ������ � � �� ������� ���V18�<,���D�=����� ��� ���� �����(�����F��������������V18�����������;����������� �� V18� �� �� ��� ��� � � ����� �� � ��� ��� �� �� � ���.� *��������������,����������������� � �������<�D�K�<�����$ �������������������������,������ � ��� ����� � ������ �:�D� K� :���� �$ ������� ������ "� ������ '(�� � ������ '(�������V18����������� ���������������� �� ��� ��������������� � �������������������� ��������� '(������A)S������������������������������ ��� �����������V18S����������,�������*������� � � �� � �������� ��� ����� R�� ��� V18� ������ ���� �� #������� ���<#>��<#>��<#>��<#>�����,���� #����� ��������� � ��� �� ����� ��� ���� ��� '(�� ��� ����� T� ������ ������������� ��������������������� ����� ��V18����"� ������ ������ �� ����%��� ��� #����� V18���� �� #� �� ������ ��� � ���� ����NO����O)8��O-;� 8$�

N7%��OP���

Page 87: 8051 teoria

��

�5�

#define LCD_en P2_4 #define LCD_rs P2_5 #define LCD_DELAY 335 /* atraso d e 1 miliseg */ #define LCD_clear() LCD_command(0x1) /* Limpa di splay LCD #define LCD_row1() LCD_command(0x80) /* inicia n a Linha 1 */ #define LCD_row2() LCD_command(0xC0) /* inicia n a Linha 2 */ void LCD_delay(unsigned char ms){ unsigned char n; unsigned int i; for (n=0; n<ms; n++)for (i=0; i<LCD_DELAY; i++); / * 1 miliseg */ } void LCD_enable(){ LCD_en = 0; /* desliga P2.4 */ LCD_delay(1); LCD_en = 1; /* liga P2. 4 */ } void LCD_command(unsigned char command){ LCD_rs = 0; /* desl iga P2.5 */ P2 = (P2 & 0xF0)|((command>>4) & 0x0F); LCD_enable(); P2 = (P2 & 0xF0)|(command & 0x0F); LCD_enable(); LCD_delay(1); } void LCD_putc(unsigned char ascii){ LCD_rs = 1; /* liga P2.5 */ P2 = (P2 & 0xF0)|((ascii>>4) & 0x0F); LCD_enable(); P2 = (P2 & 0xF0)|(ascii & 0x0F); LCD_enable(); LCD_delay(1); } void LCD_puts(unsigned char *lcd_string){ while (*lcd_string) LCD_putc(*lcd_string++); } void LCD_init(){ LCD_en = 1; /* liga P2.4 */ LCD_rs = 0; /* desli ga P2.5 */ LCD_command(0x33); LCD_command(0x32); LCD_command(0x28); LCD_command(0x0C); LCD_command(0x06); LCD_command(0x01); /* limpa LCD */ LCD_delay(256); }

���������'���-���I��������/�����?-%��

Page 88: 8051 teoria

��

)��� ���<#>��������� �F����������*���*C�� �����(�������V18��� ��������#��� � ������. �

�������������3�/����������+C������?-%������

����.�����'0������'0����)��� ���V18���� ���������������������������� ������ �� ����� '(�����V18��H ����������$� �.�

�����)�$G� ��H3

,���� � � ���� � ��� ���� ��� '(�� ��� V18� ��� ����� T� ������ 8� ���� ����� ��� '(����������� ������(�� � � ����� ��� � ���� ��� � � ������� � � ���� � �� V18�� �� '2���� ������ ����� ����V18

������)�$G��IH3

*������ � ����� ������ �� '2���� ������ ����� ����V18�

���� �)�$G��I�H3

*������ � ����� ������ �� '2���� ������� ����� ����V18��

����'�)�$G����H3

���������� ����� ������ �����'(��������!���� � ����� ��� ���� �������� �����8D��B�>?�����8D��B��������� ��� �� � ��� ������� ��� ������� �������

���

*���*C�� �����(�������V18��� ����

3�/����������+C������?-%�������

.�����'0������'0������������%���� �4)��� ���V18���� ���������������������������� ������ �� ����� '(��

,���� � � ���� � ��� ���� ��� '(�� ��� V18� ��� ����� T� ������ 8� ���� ����� ��� '(����������� ������(�� � � ����� ���� ��,������ ����� ��������� � ���� ��� � � ������� � � ���� � �� V18� �� ������� � � ���� � ����� �� '2���� ������ ����� ����V18��

*������ � ����� ������ �� '2���� ������ ����� ����V18��

� ������ �� '2���� ������� ����� ����V18��

���������� ����� ������ �����'(��������!����� ����� ��� ���� �������8D��B�>?��1 � ������ �������� ��� ��V18�

��������� ��� �� � ��� ������� ��� ������� �������$��� ������ � �� ������� ����2�

���

Page 89: 8051 teoria

��

���

������ 1 ��� ����� ������� ��� � ��� � �� ���� ��� ����� ���������� ��(������ ���� ����� V18�� ��� ��� �� �(�� �(�� ��������� � � ���� � ���������� ,���� ����� � ���� ��� ������ �� � $����� �� ����!���� ������� ����� � ����� <�� � ��� ���� � ������� =���

"������������� ����������������������� � ��'(��V18L���<�=��

#include<at89x52.h> //contém as definições do chip

#include<LCD.h> //contém as definições do LCD void main(){ LCD_init(); //inicializa o LCD LCD_row1(); //posiciona na linha 1 LCD_putc(‘A’); //imprime a letra A LCD_putc(‘B’); //imprime a letra B ao lado de A } ���

6��������������� ��+,��?-%Q����$&�

)� ��� � � �� � ���� ��� �� ��� ���� ������ �� ��� �� _"MS� � ��� � � ��� � ������ ����� ��������� R��

8������ �� ��� � � ��'(�� V18L���<� =� ����� � ��� �� ��� ����� ��� � �������� � � � �� ������ � � � �����'(�� ��� �%����� ��������� � �����'(�� � �� ��� �"�1����H�� ���������(�������������� �� ���������� �� ��� ��

��� �������������� �!� �"���#�����������

$�� ��

$%� ��

��� &�

��� '�

�&� $�

�'� ��

�$� (�

��� )�

�(� ��

�)� %��

�������������������� -88�

Page 90: 8051 teoria

��

���

)� �������� ��� �� ������ <�� �� �=� � � � ��� � "�1��� ���(�� �� � ���� ��� ,������ �������� ������� ������������� � �#���� ���������� �� ��������V18�������������������� ���������,���* ����������%���������V18��������������� ���,��>,��M��%���?��� ���������� ����������� ������������� ���������,�� �� �� �����#�������� �������������V18���

H�� ������ � ������������ � ���.�

#include<at89x52.h> //contém as definições do chip

#include<LCD.h> //contém as definições do LCD #include<delay.h> void main(){ int contagem=0; LCD_init(); //inicializa o LCD while(contagem<10){ LCD_row1(); //posiciona na linha 1 LCD_putc(contagem+48); //imprime a variável convertida delay_ms(1000); //para ASCII contagem++; //incrementa contagem } } ���

6���������������-����������H�������������5���+,����?-%�

)� ��� � � �� � �� ���� ��� ��� ��� #������ ��� �� ���'2��� ����������� ����V18���� �� �������������; � ��'(���� ������� ���� '(����� �� � � ������ ��� �� ���&����� ��� � ��� � �� � ��� � � ��� ���� �� ��������� �������� R����V18������� ��� ���<?-%Q����=��)��� ����2��������� � �#� ���� �����������'2���� ���� �����������#��� � � ������'(�� ������'(����������� � �� � ���� ��� <?-%Q��L��=�� ���(�� �� ������ �� ��$��� �� ����� � � ��V18� � ���� ��� �� ����?-%Q����$� &� ���� ������ ��� � ��� � ���,��� ����� ������������ �#������ ���� ���� ������� ����������� ���� ���� �� ��� �"�1����)� �� �������BQ��� �� ����������� ��� �� � �� ���#��� �� �� � �������� ��������������� ���� ������������� � ��#� ������������� ���������� �� ����������2������

Page 91: 8051 teoria

��

���

�<��$/������������&���1��� ������5� �99���������'(���������� R����V18��

#include<at89x52.h> //contém as definições do chip

#include<LCD.h> //contém as definições do LCD #include<delay.h> void main(){ int contagem=0; LCD_init(); //inicializa o LCD while(contagem<99){ LCD_row1(); //posiciona na linha 1 LCD_putc((contagem/10)+48); //imprime a dezena convertida LCD_putc((contagem%10)+48); //imprime unidade convertida delay_ms(1000); //para ASCII contagem++; //incrementa contagem } } ���

6���������������-������������5���+,����?-%�

�;�������� � �� ��� ���' ���������#��� ���� ����� �� �������1���� � ��'(��V18L��������� � ��� ����� �������������������������� ���� �� �������� ��$������ � ��� � � �������� �� ������������� ��*���������.�

)������� ���T���J����"�N���9���T�J��������T���

)������� ���T��,J����"�N���9���T�J��������T,�

* ������ ������ �� ���� ���.�contagem/10;

* � ����� � ���� ��� ��� ���.� contagem-(contagem/10); ��� ���(����������������� � ���� '(��+)8�� �#� ������ ��������� ������(���������%���.

Contagem%10;

������)�$G����H3

������� ��� ������ � � ����� � ����'(�� ������!���� � � ���� � �� ���� � ������� ���� �8D��B�>?� ��� �8D��B�>?�� 1 � � ��� � ���� ���� ���� � � ��V18��������� � ��� ���� � �������

Page 92: 8051 teoria

��

���

H�� ������� � ������������� � ���.�

#include<at89x52.h> //contém as definições do chip

#include<LCD.h> //contém as definições do LCD void main(){ LCD_init(); //inicializa o LCD LCD_row1(); //posiciona na linha 1 LCD_puts(“LCD Teste”); //exibe o texto } ���

6�����������#���35���+,�����5������?-%�

#include<at89x52.h> //contém as definições do chip

#include<LCD.h> //contém as definições do LCD #include<delay.h> void main(){ int contagem=0; LCD_init(); //inicializa o LCD while(contagem<10){ LCD_row1(); //posiciona na linha 1 LCD_puts(“Contagem: ”); //exibe o texto LCD_putc(contagem+48); //imprime a variável convertida delay_ms(1000); //para ASCII contagem++; //incrementa contagem } } ���

6�����������'���-������������5���+,����?-%�

#include<at89x52.h> //contém as definições do chip

#include<LCD.h> //contém as definições do LCD void main(){ LCD_init(); //inicializa o LCD while(1){ LCD_row1(); //posiciona na linha 1 if(P3_0==1) LCD_puts(“P3.0 nivel alto”); //se entrada P3.0 } //exibe mensagem no LCD } ���

6���������������35���������������������6#���������M����R��������

Page 93: 8051 teoria

��

$31$01$21

�)������������������*������

��������� ���� � ��������

���������� �� *������*+��

���������� �� ����,-� -�.�/�����!���,0/

���������� &� ,-� -�.�1�#-���,12�

���������� '� 3���.�1�#-���312�

���������� $� 3���.�1 ��"��""���

301�

���������� �� 3�4�� 5���3*6�

���������� (� 7�����!���� �8

���������� )� 9���:� ��!"�-� �����������

93��

���������� �� �9�7,;�����9,�

���������� %� / �<�-���1�����/1�

���������� ��� �����=�������=�

���������� ��� �� -����1������1�

���������� �&� = ��=������==�

���������� �'� ��3�-� ����>�

���������� �$� �,?�.-�0�-���,0�

���������� ��� �,?�.-�@����,@�

���������� �(� ����-�����7�3"�;������3

���������� �)� ���������- ��������

��=����

���

$31� �$01� �$21� �

�)������������������*�������

,0/�

3���.�1 ��"��""�����

�8�

�������

��3�

���

���������� ��� ���������- ��&����&�

���������� �%� ��������- ��'����'�

���������� &�� ��������- ��$����$�

���������� &�� �*�!�-���� 7�����!����

* 8�

���������� &&� �����,5�? ��"��������

,A*�

���������� &'� 3���1 ��"��""���9�7���

319�

���������� &$� ������������������ *�

���������� &�� �����3���.�B��������3B�

���������� &(� �����,��"-�-�-����,+9�

���������� &)� 3"�;����3,��

���������� &�� �����=����,�;� �- ���=,�

���������� &%� �C �;�,�;� �- ���C,�

���������� '�� �>� ��,�;� �- ���>,�

���������� '�� �����+��-�,�;� �- ���+,�

���������� '&� ,;�����,D��

���������� ''� E�

���������� '$� F�

���������� '�� G�

���������� '(� H�

��=�����

Page 94: 8051 teoria

��

�,�

���������� ')� ��

���������� '�� I�

���������� '%� J�

���������� $�� K�

���������� $�� L�

���������� $&� ��

���������� $'� ��

���������� $$� :�

���������� $�� ��

���������� $(� ��

���������� $)� ��

���������� $�� ��

���������� $%� ��

���������� ��� &�

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

���������� �&� $�

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

���������� �$� (�

���������� ��� )�

���������� �(� ��

���������� �)� %�

���������� ��� M�

���������� �%� N�

���������� (�� O�

���������� (�� P�

���������� (&� Q�

���������� ('� R�

���������� ($� S�

���������� (�� �

���������� ((� 9�

���������� ()� ��

���������� (�� ��

���������� (%� 3�

���������� )�� =�

���������� )�� C�

���������� )&� /�

���������� )'� @�

���������� )$� T�

���������� )�� 8�

���������� )(� ��

���������� ))� B�

���������� )�� *�

���������� )%� 0�

���������� ��� D�

���������� ��� 6�

���������� �&� >�

���������� �'� ,�

���������� �$� 1�

���������� ��� +�

���������� �(� ��

���������� �)� U�

���������� ��� 2�

���������� �%� A�

���������� %�� V�

���������� %�� W�

���������� %&� X�

Page 95: 8051 teoria

��

���

���������� %'� Y�

���������� %$� Z�

���������� %�� [�

���������� %(� \�

���������� %)� ��

���������� %�� ��

���������� %%� �

���������� ���� ��

���������� ���� ��

���������� ��&� .�

���������� ��'� !�

���������� ��$� ?�

���������� ���� ��

���������� ��(� ]�

���������� ��)� 7�

���������� ���� ��

���������� ��%� ��

���������� ���� ��

���������� ���� �

���������� ��&� ;�

���������� ��'� 4�

���������� ��$� �

���������� ���� "�

���������� ��(� -�

���������� ��)� ��

���������� ���� ��

���������� ��%� ��

���������� �&�� #�

���������� �&�� 5�

���������� �&&� <�

���������� �&'� ^�

���������� �&$� _�

���������� �&�� `�

���������� �&(� a�

���������� �&)� �����-��

���������� �&�� �b�

���������� �&%� �c�

���������� �'�� �d�

���������� �'�� e�

���������� �'&� f�

���������� �''� g�

���������� �'$� h�

���������� �'�� i�

���������� �'(� j�

���������� �')� k�

���������� �'�� l�

���������� �'%� m�

���������� �$�� n�

���������� �$�� o�

���������� �$&� p�

���������� �$'� q�

���������� �$$� r�

���������� �$�� s�

���������� �$(� t�

���������� �$)� u�

���������� �$�� v�

Page 96: 8051 teoria

��

�2�

���������� �$%� w�

���������� ���� x�

���������� ���� y�

���������� ��&� z�

���������� ��'� {�

���������� ��$� |�

���������� ���� }�

���������� ��(� ~�

���������� ��)� ��

���������� ���� ��

���������� ��%� ��

���������� �(�� ��

���������� �(�� y�

���������� �(&� ��

���������� �('� ��

���������� �($� ��

���������� �(�� ��

���������� �((� ��

���������� �()� ��

���������� �(�� ��

���������� �(%� ��

���������� �)�� ��

���������� �)�� ��

���������� �)&� ��

���������� �)'� ��

���������� �)$� ��

���������� �)�� ��

���������� �)(� ��

���������� �))� ��

���������� �)�� ��

���������� �)%� ��

���������� ���� ��

���������� ���� ��

���������� ��&� ��

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

���������� ��$� ��

���������� ���� ��

���������� ��(� ��

���������� ��)� ��

���������� ���� ��

���������� ��%� ��

���������� �%�� ��

���������� �%��  �

���������� �%&� ¡�

���������� �%'� ¢�

���������� �%$� £�

���������� �%�� ¤�

���������� �%(� ¥�

���������� �%)� ¦�

���������� �%�� §�

���������� �%%� ¨�

���������� &��� ©�

���������� &��� ª�

���������� &�&� «�

���������� &�'� ¬�

���������� &�$� ­�

Page 97: 8051 teoria

��

�5�

���������� &��� ®�

���������� &�(� ¯�

���������� &�)� °�

���������� &��� ±�

���������� &�%� ²�

���������� &��� ³�

���������� &��� ´�

���������� &�&� µ�

���������� &�'� ¶�

���������� &�$� ·�

���������� &��� ¸�

���������� &�(� ¹�

���������� &�)� º�

���������� &��� »�

���������� &�%� ¼�

���������� &&�� ½�

���������� &&�� ¾�

���������� &&&� ¿�

���������� &&'� À�

���������� &&$� Á�

���������� &&�� �

���������� &&(� �

���������� &&)� �

���������� &&�� �

���������� &&%� �

���������� &'�� �

���������� &'�� �

���������� &'&� �

���������� &''� �

���������� &'$� �

���������� &'�� �

���������� &'(� �

���������� &')� �

���������� &'�� �

���������� &'%� �

���������� &$�� �

���������� &$�� �

���������� &$&� �

���������� &$'� �

���������� &$$� �

���������� &$�� �

���������� &$(� �

���������� &$)� �

���������� &$�� �

���������� &$%� �

���������� &��� �

���������� &��� �

���������� &�&� �

���������� &�'� �

���������� &�$� �

���������� &��� ��