(Q05 หน่วยที่03 น47 น81)

26
3 กก กกก !" www.Adisak51.com

Transcript of (Q05 หน่วยที่03 น47 น81)

Page 1: (Q05 หน่วยที่03 น47 น81)

�������� 3 �� ����������ก�����������ก��

�����ก��� ��� �� ��ก������ก��ก���������������������������

���� �!��" www.Adisak51.com

Page 2: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

36

1. ������������ �! "� MCS-51 �3���4���" (Instruction Set) >� ��?� MCS-51 ����C 3�� 256 �4���" ��E!F��E����>� ��>G����

���ก���H���4���" >��� 1 ��I�J4���� 139 �4���" >��� 2 ��I�J4���� 92 �4���" ���>��� 3 ��I� J4���� 29 �4���" �������������� I!�����C

Rn �L���J���I��� R0 - R7 ��I4��3�! ���������E!��" 00H - 1FH ��L"���?� MCS-51 REก���?I���� J�FH ����J���I����� �� 0 I4��3�! ������� 00H - 07H ?S" �����R����กI4��3�! ������� 00H-07H 3�L�L"���J���I��� R0-R7 ��H���I� @ RI FH��Hก����J���I��� R0 3�L� R1 ��!���C� ก��FH ��F3H�4�>H��E�F�I4��3�! >� ��J���I��� R0 3�L� R1 ��T��������>� 3�!������J4�>H��E� 3�� J�ก��C�F3H�4�>H��E�F�I4��3�! ���������C���FH ��

#Data �L�>H��E��!�� ��">��� 8 ��I ��T�������������>� �4���" RH���I����กV�A - F ��>G�����3ก ��E!3��ก3�H�F3H� �"���> 0 ��"3��ก3�H��H�� �!� MOV P1, #0F0H 3�ก��!� �"�����ก������?������� J�\]� ��T�>H���� ���

#Data16 �L�>H��E��!�� ��">��� 16 ��I 3�L�>��� 2 ��I� (0000- FFFFH) ��T�������������>� �4���" �!� MOV DPTR, #0F000H

Direct �L��!���"��E!F�3�!������J4�>H��E� 256 ��I� >�FH �������R���`I4��3�! ������� F�3�!������J4���H���I� (00H a FFH) Rel �!�������� ��b���"���!���E!F�!� a127 ��I� RS +128 ��I� ������������"������H��3�H� FH�!���ก �������������R��3�� FH�!��� Addr11 �L��!��������>��� 11 ��I �H� �� 3�!������J4������� ��b� ���I4��3�! ��"�H� �� ��E!F�!� 0 RS 2 ก�����I� ���J�กI4��3�! ��"�C�������ก��������I���

Addr16 �L�ก���H� �� 3�!������J4����FH�!���������������E�� >��� 16 ��I �����R�H� �� 3�!������J4���HRS 64 ก�����I� Bit �L�ก���H� �� >H��E���"�>H�RS �����IF�3�!������J4�>H��E�e��F� 3�L���J���I���FH �� ���V

Bytes �L�J4������LC���">� 3�!������J4�����ก�� ��"FH�กf��4���" F3Hก����?� MCS-51 ����4��� R���3�� ����g���I�I��

Cycle �L����>� ก���g���I�I���4���" ��� 1 �����?����J�FHJ4���� 12 ��hh� ����

Page 3: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

37

�������������<�����=>?@��?�A (Arithmetic Operations)

�I��JJ������� �������� K�����!J?A ������!"��>� ADD A,Rn ��ก�!�>H��E�F���J���I��� Rn ก��>H��E�F���J���I��� A 1 1 ADD A,direct ��ก�!�>H��E�F�3�!������J4� direct ก��>H��E�F���J���I��� A 2 1 ADD A,@RI ��ก�!�F�3�!������J4���"��E!F���J���I���A ก���!�>H��E���"REก�C��� Ri 1 1 ADD A,#data ��ก�!�� ��" 8 ��Iก��>H��E�F���J���I��� A 2 1 ADCC A,Rn ��ก�!�>H��E�F���J���I��� Rn ก��>H��E�F���J���I��� A �H���\�ก�� 1 1 ADDC A,direct ��ก�!�>H��E�F�3�!������J4� direct ก��>H��E�F���J���I��� A

�H���\�ก�� 2 1 ADDC A,@Ri ��ก�!�F�3�!������J4���"��E!F���J���I���A ก���!�>H��E���"REก�C

��� Ri �H���\�ก�� 1 1 ADDC A,#data ��ก�!�� ��" 8 ��Iก��>H��E�F���J���I��� A �H���\�ก�� 2 1 SUBB A,Rn ���!�>H��E�F���J���I��� Rn ก��>H��E�F���J���I��� A �H���\�ก�L� 1 1 SUBB A,direct ���!�>H��E�F�3�!������J4� direct ก��>H��E�F���J���I��� A

�H���\�ก�L� 2 1 SUBB A,@Ri ���!�F�3�!������J4���"��E!F���J���I���A ก���!�>H��E���"REก�C��� Ri

�H���\�ก�L� 1 1 SUBB A,#data ���!�� ��" 8 ��Iก��>H��E�F���J���I��� A �H���\�ก�L� 2 1 INC A � �"��!�>H��E�F���J���I��� A = A+1 1 1 INC Rn � �"��!�>H���F���J���I��� Rn = Rn+1 1 1 INC direct � �"��!�>H��E�F�3�!������J4� direct 2 1 INC @Ri � �"��!�>H��E�F�3�!������J4���"�C����������>H��E�F� Ri 1 1 DEC A ���!�>H��E�F���J���I��� A = A-1 1 1 DEC Rn ���!�>H���F���J���I��� Rn = Rn -1 1 1 DEC direct ���!�>H��E�F�3�!������J4� direct 2 1 DEC @Ri ���!�>H��E�F�3�!������J4���"�C����������>H��E�F� Ri 1 1 INC DPTR � �"��!�>H��E�F���J���I��� DPTR = DPTR+1 1 2 MUL AB �E>H��E�F���J���I��� A ก��>H��E�F���J���I��� B ��H��กf��!�>H��E���I��E F���J���I��� A ��I�I"4���HF���J���I��� B 1 4 DIV AB 3��>H��E�F���J���I��� A ก��>H��E�F���J���I��� B ��H��กf���3����H F���J���I��� A ��V�กf���HF���J���I��� B 1 4 DA A �����!�>H��E�F���J���I��� A F3H��T���> BCD 1 1

Page 4: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

38

����������?��ก� (Logical Operations)

�I��JJ������� �������� K�����!J?A ������!"��>� ANL A,Rn AND �!�>H��E�F���J���I��� Rn ก���!�>H��E���J���I���F� A 1 1 ANL A,direct AND �!�>H��E�F�3�!������J4� direct ก���!�>H��E���J���I���F� A 2 1 ANL A,@Ri AND �!�>H��E���"�C���������� Ri ก���!�>H��E���J���I���F� A 1 1 ANL A,#data AND �!�� ��" 8 ��Iก���!�>H��E���J���I���F� A 2 1 ANL direct,A AND �!�>H��E���J���I���F� A ก��>H��E�F�3�!������J4� direct 2 1 ANL direct,#data AND �!�� ��" 8 ��Iก��3�!������J4� direct 3 2 ORL A,Rn OR �!�>H��E�F���J���I��� Rn ก���!�>H��E���J���I���F� A 1 1 ORL A,direct OR �!�>H��E�F�3�!������J4� direct ก���!�>H��E���J���I���F� A 2 1 ORL A,@Ri OR �!�>H��E���"�C���������� Ri ก���!�>H��E���J���I���F� A 1 1 ORL A,#data OR �!�� ��" 8 ��Iก���!�>H��E���J���I���F� A 2 1 ORL direct,A OR �!�>H��E���J���I���F� A ก��3�!������J4� direct 2 1 ORL direct,#data OR �!�� ��" 8 ��Iก��3�!������J4� direct 3 2 XRL A, Rn EX-OR �!�>H��E�F���J���I��� Rn ก���!�>H��E���J���I���F� A 1 1 XRL A,direct EX-OR �!�>H��E�F�3�!������J4� direct ก���!�>H��E���J���I���F� A 2 1 XRL A,@Ri EX-OR �!�>H��E���"�C���������� Ri ก���!�>H��E���J���I���F� A 1 1 XRL A,#data EX-OR �!�� ��" 8 ��Iก���!��E���J���I���F� A 2 1 XRL direct,A EX-OR �!�>H��E���J���I���F� A ก��3�!������J4� direct 2 1 XRL direct,#data EX-OR�!�� ��" 8 ��Iก��3�!������J4� direct 3 2 CLR A �4��!�>H��E���J���I���F� A F3H��T��E��� 1 1 CPL A ก����!���I>H��E�F���J���I��� A ��T�I� >H���`ก��I 1 1 RL A 3����I>H��E�F���J���I��� A ���� ?H�� 1 ��I 1 1 RLC A 3����I>H��E�F���J���I��� A ���� ?H�� 1 ��I �����I 0 ��T��!���I

��"��E!F��\�ก �� 1 1 RR A 3����I>H��E�F���J���I��� A ���� >�� 1 ��I �����I 0 ��T��!�J�ก��I7 1 1 RRC A 3����I>H��E�F���J���I��� A ���� >�� 1 ��I ����!�J�ก��I 0

�4����กf�F��\�ก �������I��"��E!F��\�ก������J��H�����กf���"��I 7 1 1 SWAP �����!�>H��E���"��I��ก����"��I�!� e��F���J���I��� A 1 1

Page 5: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

39

����������N� ��O���O �I�� ����������K��P��Q�! "� (Data Transfer)

�I��JJ������� �������� K�����!J?A ������!"��>� MOV A,Rn �H���!�>H��E�F���J���I��� Rn ����T�>H��E�>� ��J���I��� A 1 1 MOV A,direct �H��>H��E�J�ก3�!������J4� direct ����T��!�>H��E�>� ��J���I���A 2 1 MOV A,@Ri �H��>H��E�J�ก3�!������J4���"�C���������� Ri

����T�>H��E�F���J���I��� A 1 1 MOV A,#data �H���!�� ��" 8 ��I���กf���T�>H��E�F���J���I��� A 2 1 MOV Rn,A �H��>H��E�J�กF���J���I��� A ����T�>H��E�F���J���I��� Rn 1 1 MOV Rn,direct �H��>H��E�J�ก3�!������J4� direct �� Rn 2 2 MOV direct,A �H��>H��E�F���J���I��� A ���� 3�!������J4� direct 2 1 MOV direct,Rn �H��>H��E�F���J���I��� Rn ���� 3�!������J4� direct 2 2 MOV direct,direct �H��>H��E���3�!� 3�!������J4�e��F� 3 2 MOV direct,@Ri �H��>H��E�J�ก3�!������J4���"�C���������� Ri ���� 2 2 3�!������J4� Direct MOV direct,#data �H���!�� ��" 8 ��I���� 3�!������J4� direct 3 2 MOV @Ri,A �H��>H��E�F���J���I��� A ���� 3�!������J4���"�C���������� Ri 1 1 MOV @Ri,direct �H��>H��E�J�ก3�!������J4� direct ���� 2 2 3�!������J4���"�C���������� Ri MOV @Ri,#data �H���!�� ��" 8 ��I���� 3�!������J4���"�C���������� Ri 2 1

����������N� ��O���O �I�� ����������K��P��� ก! "� (Data Transfer)

�I��JJ������� �������� K�����!J?A ������!"��>� MOV DPTR,#data �H���!�� ��" 16 ��I���� DPTR 3 2 MOVC A,@A+DPTR �H��>H��E�J�ก3�!������J4�����ก��e����กI4��3�! ��"��H��� ก��ก4�3���H���!�>� A+ DPTR ���� A 1 2 MOVC A,@A+PC �H��>H��E�J�ก3�!������J4�����ก��e����กI4��3�! ��"��H��� ก��ก4�3���H���!�>� A+ PC ���� A 1 2 MOVX A,@Ri �H��>H��E�J�ก3�!������J4���"�กf���E!F� Ri ���� A 1 2 MOVX A,@DPTR �H��>H��E�J�ก3�!������J4���"�กf���E!F� DPTR ���� A 1 2 MOVX @Ri,A �H��>H��E���"�กf���E!F� A ���� 3�!������J4���"�กf���E!F� Ri 1 2 MOVX @DPTR,A �H��>H��E���"�กf���E!F� A ���� 3�!������J4���"�กf���E!F� DPTR 1 2

Page 6: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

40

����������N� ��O���O �I�� ����������K��P��� ก! "� (?� )

�I��JJ������� �������� K�����!J?A ������!"��>� PUSH direct �H��>H��E�J�ก3�!������J4� direct ���กf��� stack 2 2 POP direct �H��>H��E�J�ก stack ���� 3�!������J4� direct 2 2 XCH A,Rn ��ก����"��>H��E���3�!� A ก�� Rn 1 1 XCH A,direct ��ก����"��>H��E���3�!� 3�!������J4� direct ก�� A 2 1 XCH A,@Ri ��ก����"��>H��E���3�!� 3�!������J4���"�กf���E!F� Ri ก�� A 1 1 XCHD A,@Ri ��ก����"��>H��E���"��I�!� J�ก3�!������J4���"�กf���E!F� Ri ก�� A 1 1

�������K� �O �I��JJJ>? (Boolean Variable Manipulation)

�I��JJ������� �������� K�����!J?A ������!"��>� CLR C �4�F3H�!��\�ก����T� 0 1 1 CLR bit ก4�3��F3H��I��T� 0 2 1 SETB C ก4�3���!�F��\�ก��F3H��T� 1 1 1 SETB bit F3H��I��"ก4�3����T� 1 2 1 CPL C ก����!���I��F3H��T�I� ก��>H�� 1 1 CPL bit ก����!���IF3H��T�I� ก��>H�� 2 1 ANL C,bit AND �!� bit ก���\�ก�� 2 2 ANL C,/bit AND �!�I� >H��>� bit ก���\�ก�� 2 2 ORL C,bit ORL�!� bit ก���\�ก�� 2 2 ORL C,/bit ORL �!�I� >H��>� bit ก���\�ก�� 2 2 MOV C,bit �H���!� bit ���� �\�ก�� 2 1 MOV bit,C �H���!���I�� ���� bit 2 2 JC rel ก����� RH��!��\�ก ����T� 1 2 2 JNC rel ก����� RH��!��\�ก ����T� 0 2 2 JB bit,rel ก����� RH��!� bit ��T� 1 3 2 JNB bit,rel ก����� RH��!� bit ��T� 0 3 2 JBC bit,rel ก����� RH��!� bit ��T� 1 �������"���!� bit ��T� 0 3 2 ACALL addr 11 ���4�����ก���!��I4��3�! ������� 11 ��I 2 2 LCALL addr 16 ���4�����ก���!��I4��3�! ������� 16 ��I 3 2 RET �4���" ��C���ก���4� ������ก���!�� 1 2 RETI �4���" ��C���ก���4� ������ก���!�����ก������I����� �� 1 2

Page 7: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

41

���������J���ก������������ก�� (Program and Machine Control)

�I��JJ������� �������� K�����!J?A ������!"��>� AJMP addr 11 ก��������� I4��3�! J�ก�!�������� 11 ��I 2 2 LJMP addr 16 ก��������� I4��3�! J�ก�!�������� 16 ��I 3 2 SJMP rel ก��������� I4��3�! ��"��� ��b�ก��I4��3�! �vJJ��� 2 2 JMP @A+DPTR ก��������� I4��3�! ��"��� ��b�ก���!�>H��E�F�

��J���I��� A ��กก���!�F� DPTR 1 2 JZ rel ก��������� I4��3�! ��"��� ��b�ก��I4��3�! �vJJ`��� 2 2 RH�3�ก�!�>H��E�F���J���I��� A ��T� 0 JNZ rel ก��������� I4��3�! ��"��� ��b�ก��I4��3�! �vJJ��� 2 2 RH�3�ก�!�>H��E�F���J���I��� A ��!��T� 0 CJNE A,direct, rel ������������!�>H��E�F� A ก��3�!������J4� direct ��� 3 2 ก��������� I4��3�! ��"��� ��b�ก��I4��3�! �vJJ��� RH��!���!��!�ก�� CJNE A,#data,rel ������������!�>H��E�F� A ก���!�� ��" ���ก��������� 3 2 I4��3�! ��"��� ��b�ก��I4��3�! �vJJ��� RH��!���!��!�ก�� CJNE Rn,#data,rel ������������!�>H��E�F� Rn ก���!�� ��" ���ก��������� 3 2 I4��3�! ��"��� ��b�ก��I4��3�! �vJJ��� RH��!���!��!�ก�� CJNE @Ri,#data,rel ������������!�F�3�!������J4���"�กf�F� Ri ก�� 3 2 �!�� ��"��� ก��������� I4��3�! ��"��� ��b�ก�� I4��3�! �vJJ`��� RH��!���!��!�ก�� DJNZ Rn,rel ���!�>H��E�F� Rn 1 �!�(Rn = Rn-1) ���ก����� 2 2

���� I4��3�! ��"��� ��b�ก��I4��3�! �vJJ��� RH��!���!��T� 0 DJNZ direct,rel ���!�F�3�!������J4� direct 1 �!� (direct = direct -1) 3 2 ก�������I4��3�! ��"��� ��b�ก��I4��3�! �vJJ��� RH��!���!��T� 0 Nop ��!��ก���4� ��F�y�ก��>SC� 1 1

Page 8: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

42

2. � � ��">����� �4���" ��"�>H�RS >H��E�F�3�!������J4�I4��3�! I!� y 3�L�ก���H� �������>� 3�!������J4�

����ก�!��������?�" �3�� (Addressing Mode) ��! ��H�� ��C 2.1 ก�� O��� � ��� ����������K���JJ��������Q (Immediate Addressing Mode)

��T�ก���4��!�� ��"���กf���H��T�>H��E� >� I4��3�! F�3�!������J4� 3�L���J���I�����C�y ���L"� 3�����"IH� ���`��H�4�3�H�>� �!�� ��"�L� {#| ?�� ���� MOV A, #0FH ; �4��!�� ��" 0F �กf���H��"��J���I���A (A = 00001111B) MOV P1, #0FFH ; �4��!�� ��" FF �กf���H��" ���I P1 (P1 = 11111111B) MOV R1, #0FH ; �4��!�� ��" 0F �กf���H��"��J���I��� R1 (R1 = 00001111B) MOV 25H, #7FH ; �4��!�� ��" 7F �กf���H3�!������J4�I4��3�! ������� 25H 2.2 ก�� O��� � ��� ����������K���JJ� �?�� (Direct Addressing Mode)

��T�ก���H� RS >H��E�������`I4��3�! �������>� 3�!������J4����I� ?�� ���� MOV 0E0H, 20H ; �4�>H��E�F�3�!������J4�I4��3�! ������� 20H ���กf� ��"I4��3�! ������� E0H ?S" ��T�>� ��J���I��� A F���J���I���FH �� ���V �� ��C�RH�3�กFH�4���" MOV A, 20H �����H���� b��!������ก�� �I!�4���" MOV 0E0H, 20H FH��LC���"3�!������J4�>��� 3 ��I�FH�����4��4���" 3 �����?���� �I!�4���" MOV A, 20H FH��LC���"3�!������J4� 2 ��I� ���FH���� 1 �����?����

?�� ���� MOV 30H, 01H ; �4�>H��E�F�3�!������J4�I4��3�! ������� 01H ���กf���H F�3�!������J4�I4��3�! ������� 30H 2.3 ก�� O��� � ��� ����������K���JJ��K>��? �A (Register Addressing Mode)

��T�ก���H� RS >H��E�������`I4��3�! �������>� 3�!������J4���"��T���J���I��� R0-R7 �I!�4���" ก������H��>H��E���3�!� ��J���I���ก����J���I��� J���!��F��4���" >� ��?� MCS-51 �� ��C� JS IH� FH�!�I4��3�! ���������� ?S" ��T�ก���H� �������>� 3�!������J4���� Direct

?�� ���� MOV A, R1 ; �4�>H��E�F���J���I��� R1 ���กf���H��"��J���I��� A MOV 01H, 07H ; ��T�ก���4�>H��E�F���J���I��� R7 ���กf���H��"��J���I��� R1

2.4 ก�� O��� � ��� ����������K���JJ� � O � (Indirect Addressing Mode)

��T�ก���H� RS >H��E������ �H��FH��b����`I4��3�! >� ��������!����J���I��� R0 ��� R1 IH� FH���L"� 3��� @ �4�3�H� R0 3�L� R1 ?�� ���� ก4�3��F3H 20H = 76H MOV R0,#20H ; ��T�ก���4��!�� ��" 20H �กf���H��"��J���I��� R0 (R0 = 20H) MOV A,@R0 ; ��T�ก���4��!�>H��E�F�I4��3�! ���������"REก�C��� R0

Page 9: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

43

���กf���"��J���I��� A >H��E�F���J���I��� R0 ���!� 20H ���F� 20H ���!� 76 H �� ��C���J���I��� A JS ���!���!�ก�� 76H 2.5 ก�� O��� � ��� ����������K���JJJ>? (Bit Addressing Mode)

��T�ก���H� I4��3�! 3�!������J4���"�>H�RS ��HF��������I ?�� ���� SETB 25H ; 3���RS ก���?I��I>� I4��3�! F�3�!������J4���"�>H������I I4��3�! 25H 3�L�I4��3�! ������� 24H ��I��" 5 ��JFH�4���" ��T� SETB 24H.5 3���RS I4��3�! ��I 25H ?�� ���� MOV C, 20H ; 3���RS ก������H��>H��E�F�I4��3�! 3�!������J4������I I4��3�! ��I 20H 3�L� 24H.0 ����"�\�กI���� (Carry Flag) ?S" �\�กI������� �� ��I�������E!I4��3�! ��I ��" 7 >� ��J���I��� PSW I4��3�! 3�!������J4����������" 20H ��T�3�!������J4�>��� 8 ��I��!�����R�4����กf���H��"�\�กI����?S" ��>���� �� 1 ��I��H �� ��C�F��4���" ��C����3��� >� 20H �L�I4��3�! >� ��I��" 20H F�3�!������J4�I�C �I!������� 20H-30H �����! ��ก��T�I4��3�! ��I��" 00H-FFH I4��3�! ��I 20H �L�I4��3�! >� 3�!������J4����������" 24H.0

2.6 ก�� O��� � ��� ����������K���JJZ��� � �� (Index Addressing Mode)

��T��4���" ���L"���H��>H��E��!����J���I�����"ก4�3��F3H��T�G��������� 3�L������fก?� ?S" FH ��� �� �� �4���" �L� MOVC A,@A+DPTR ��� MOVC A,@A+PC ��C �� �4���" J�FHก��3�!������J4��������ก��3�L� Code Memory ( MOVC : Code Memory) FH��J���I��� DPH �����J���I��� DPL ��� ก��F3H��T���J���I���>��� 16 ��I ����ก�!� DPTR �!����J���I��� PC 3�L� ����ก��������I��� ��T���J���I���>��� 16 ��I �4�3�H���"�CI4��3�! �������F�ก���4��4���" >� ?� ��E 3�ก�4�ก�� ���?I��?� MCS-51 J����!���E!��"������� 0000H F��3�������fก?�FH�4�3���ก���!���!�>H��E����I��� (Lookup Table)���FH ����J���I��� DPTR 3�L���J���I�������ก��������I��� ��T�G���������I4��3�! ���"�IH�>� I��� ��� �� e� ��" 3.1

P�\��� 3.1 ��� ก���H� �������>� 3�!������J4����G���������

Page 10: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

44

3. ������O������ก��P�]�� ��"�J�� ����ก��J�REก�กf���HF�3�!������J4� ��T���>������"��"����ก�!� P�]����N� � (Machine Language) ��T�e�V���"I��I!�F3H��� ���I����>H�FJ��H ก������"��e�V����L"� F3H��T���>G�����3ก (HEX) �!� �4���" >��� 8 ��I 11101011B (B-������") �>�����H��T� EBH (H-G�����3ก) ?S" �4�F3H�>H�FJ��H��ก�� ��C� JS FH��h��กV� (Symbols) ����ก�!� �����>� (Mnemonics) � L"��������3���>� �4���" �!� MOV A, #67H (F3H�4�>H��E��!�� ��" 67H �กf���H��T�>H��E�>� ��J���I��� A) ����ก����"�>����H���3��������� ����ก�!� P�]�� ��"�J�� (Assembly) �����?������������������ J������R�4� ��I������ก����"�>����H��e�V�����?������H IH� ����"��F3H��T�e�V����L"� ����ก�!� ก��� ��"��J� �A (Assembler) �����>�C�I�� ��� �� e� ��" 3.2 ��� ��H� >� ����ก��e�V�����?�������ก���H��

printer

Text Editor

ผงงาน(Flowchart)

AssemblyFilename.ASM

Assembler

Filename.HEX Filename.LSTFilename.ASM

ASM51

SXA51X51

A51CROSS32

Simulator เครองโปรแกรมไอซ Eprom Emulator

ฯลฯ

Edit for DOS

Editplus2

Ultraedit

Page 11: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

45

P�\��� 3.2 ��� >�C�I��ก���>�������ก�� � L"��4�>H��E�����Sก� ��?� 3.1 <����� (Flowchart)

FH��� ��กV� ������ก����S�>� ����ก��F��E������ ก��\��"�3����� ��T�ก���4���� �����>�C�I�� �����R�4������>H�FJ����IH� ก��>� �EH�>�������ก���4�3����EH�L"���H�� �4�F3H��!�ก��ก��?C4�?H��F�ก���>�������ก�� �E����>� �� �� ���I����!� �� ����� �� e� ��" 3.3

P�\��� 3.3 ��� �E����>� �� ��

3.2 ��?�����A (Statement)

���ก���H�� 4 �!�� (Field) �L� Label, Op-code, Operand ��� Comment �E����>� ����ก��e�V�����?���� ก���>����I!���4���" ����ก�!� ��I������ (Statement) �!� Label Op-code & Operand Comment ORG 0000H LOOP1: MOV A,#0FFH ; REG A= 11111111B MOV P1,A ACALL DELAY

Termination

Process

dicision

document

data

display

connector

������� �� � ���ก��

�ก���������������� ���ก�������

�ก������ ���� � �!"����#$������"��%�

Flow line $#���-���ก�������

��ก$��

$#�.�

����/�

; ���"���0�� Semicolon Comment

start

อนนเชยลพอรต และรจสเตอรทเกยวของกาหนดการตดของหลกท 0

นาคาท R2ไวท ACC

นาคาทไดจากACCไปเปดตาราง

แลวแสดงผลทพอรตP1=A

ลดคาทรจสเตอรR1=R1-1

R1=0

NO

YES

เพมคาท R2

สลบการทางานของทรานซสเตอร

XX: ���"���0�� COLON

Page 12: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

46

MOV P1,#00000000B ACALL DELAY

SJMP LOOP 3.2.1 ����� (Label) IH� >SC�IH��H��I����กV� `A - Zb 3�L����L"� 3��� `_b, `.b I����กV� J�ก A RS Z I����>J�ก 0 ef� 9 ������>���J4����I����กV� ��L"������C ������IH� ��!�ก�� 255 I����กV� ก���>��������J�IH� �����L"� 3��� ` : b (Colon) I��3�� ������H���`ก���C � L"��H� I4��3�! F������� >� ����ก�� �!� LOOP: 3.2.2 ������� (Op-code) ��T��!��>� ������� ��� J��`! 3���>� ก��ก���4��I!���4���" �!� MOV ADD SUB F�!� 3!� ��3�!� Op-Code ���������������J�IH� ��!� �!� ��"���E! ��!� �H�� 1 !� �!�

3!� ��!� �H�� 1 !� MOV A, R1

3.2.3 ������������ (Operand) ��� RS �!����"REกก���4� ���ก���H�� 2 �!����"��ก����"��H�� ���L"� 3��� {,| (J�e��: Comma) 3�L�ก����� RS I4��3�! ��"J�ก���4� 3.2.4 3����3I (Comment) ��T�ก���>����4��b����F3H�I!!�������� 3�L�3����3I>� ����ก��F��!��I!� y IH� FH���L"� 3��� `;b (Semi - Colon) �4�3�H��`ก���C � �������ก�� ����?�������J���!��� 3�ก ����L"� 3��� `;b F��!��>� ��ก>� ������ 3.3 � ��"��J� �A! ��jก��k (Assembler Directives)

����?�����������fก��\ 3�L��4���" ����� (Pseudo Instruction) FHก4�3����h��กV� ก����� ����3��� ก��J� LC���">� 3�!������J4���C �����I� ��������I FH��กJ����"�IH�>� ����ก�� ���J���C��`�>� ����ก�� �����T��4���" >� ����ก������?��������I!��I�� J�����กV��4���" ��"��H��yก�� ?S" �b����3��>H���"FH ���� ��C

ORG (Program Counter Origin) ��T�����fก�� ��"F3H�EHFHก4�3���!�����������"�IH�F�����ก��������I���

?�� ���� ORG 0000H ; ���`F3H��������������������"�IH� �4��4���" ��"I4��3�! ������� 0000H >� 3�!������J4�����ก�� END (End Of Source Program) ��T�����fก�� ��"��กF3H����ก������?������� �EH�!�RS J���C��`�>� ����ก����"�>�����H�

Page 13: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

47

EQU (Equate Label) ��T�����fก�� ��"FHก4�3���!�F3Hก����h��กV� ���I4��3�! �������3�L��!�� ��">� >H��E� 3�L�ก��ก4�3���!�������J��� F3H���!���!�ก�� ����� ?�� ���� SEC EQU 23H ; ก4�3��F3H SEC ���!���!�ก��>H��E�F�I4��3�! 3�!������J4� ���������" 23H �����L"��4���FH ��RH����ก4�3��L"� SEC F��!��>� ����ก��กfJ�3���RS ������� ��" 23H ��C��� BIT (Symbol Name Bit Expression) ��T�����fก�� ��"FHก4�3��L"�����!��������I4��3�! 3�!������J4���"�>H������I F�ก����"���!���E!3�!������J4�I4��3�! ������� 20H a 2FH (20H.0 a 2FH.7 3�L�I4��3�! >� ��I��" 00-FFH) ?S" 3���RS I4��3�! ��"��E! LC���">� ���e��F������R�>H������I��H �I!RH����!���E!��3�!� 80H-FFH J�3���RS I4��3�! ��IF� ��J���I���FH �� ���V��"�����R�>H�RS �����I��H ?�� ���� SW_TEST BIT P3.0 ; ก4�3��F3H BIT P3.0 F�������� B0H.0 >� ��J���I��� FH �� ���V��L"����I4��3�! ��T� SW_TEST DB (Define Byte) ��T�����fก�� ��"���F3H�EHFHก4�3���!�>� >H��E�F�3�!������J4�I��IH� ก�� ���J�F�!�!�� ��">�����T���I�� F�3�!������J4�����ก�� �����Rก4�3����T� I����> �EI���I���I�� ��h��กV� 3�L��3�����ก�C (ASCII) ?�� ���� DATA: DB {MICROCONTROLLER|, CR, LF ; ASCII String

DISP: DB 0F0H, 3FH, 44H, 02H ; Hexadecimal DS (Define Storage) ��T�����fก�� ��"���F3H�EHFHJ� ��LC���"�!��3�S" e��F�3�!������J4�>H��E� ?�� ���� BUFFER: DS 5 ; J� ��LC���"F�3�!������J4����>��� 5 ��I�

4. ����ก��� ��"��J� �A ����?������� (Assembler Program) �L�ก����� �3��>H��E� >� ����ก����"REก�>���>SC�

���e�V�����?����F3H��T�e�V����L"� � L"�����Sก>H��E��4���" F3Hก����?������������������ ����ก����FHF�ก������?������� �!� SXA51, CROSS32 ASM51 ��� RAD51

4.1 ����ก��� ��"��J� �A SXA51

SXA51 ��T�����ก������?������� FH�4�3�����?������������������I��กE� MCS-51 ����>�������ก��IH����� (Source Program) �H������ก����fก?������I��� (Text Editor Program) ����Sก��T��\������?���� (Assembly File) 3�� J�ก��C�����ก�� SXA51 J��4�ก����� F3H��T���>G�����3ก�����R�4�������SกF3Hก����?�3�!������J4�����ก����H I����!� ก��FH ������ก�� SXA51 ���� ��C

C:\ > SXA51 - <Option> File name. ASM <CR> - <OPTION> ��� I����L�ก�� ���ก�� -L = F3H��H� �\����� ���������� Address Op-code ���J���H�\������ก`� .LST

Page 14: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

48

-N = ��!��H� �\�����I� `IF�y � L"����������f� -C = ��H� Symbol Cross-Reference��H��"�H��>� ����ก��� L"���������ก>� ก��3�

I4��3�! >� ����� (LABLE) -D = ��� Process >���"ก4��� �4�ก������?���� �������ก��J���� ��>��������"ก4���

�����E! RH���!FH�� ��L�กF�����ก�� SXA51 J���H� �I!�\����>G�����3ก F�ก���!���CRH�3�ก��

�3����� ��� (Error Code) J���� ��ก���� J�e� �I!RH���L�ก�� ��L�ก - L ��L"����3����� ���J�REก��H� >SC�F� Listing file ���FH����ก����fก?������I���I��J�������������>� >H���� �����H

4.2 ����ก��� ��"��J� �A Cross32

����ก�� Cross32 ��T�����ก������ - ����?������� (Cross - Assembler) ���J��4�ก��I��J����� ���C (Two Pass) ������� ��L�ก���I��J������C ��"��� (Third Pass) RH�3�กI��J��� � >H���� ���F�����ก��IH���� ����ก�� Cross32 �����RFH��Hก��?� ��EF�3���I��กE� �� ��C� ก��FH ������ก��JS IH� ��ก�����`�����>� ��?�����4���" CPU Directive ��HF��!��3��>� ����ก�� �!� CPU {8051.TBL| ��T�ก�����`F3H����ก�� Cross32 FHI��� �4���" >� CPU �����8051 ���IH� ก4�3���E����>� �\����� �3��e�V����L"� ����4���" HOF Directive � L"�F3H����ก������ 32 IH� �� �\��I����I�G��F� �!� HOF {INT8|��T�ก��ก4�3��F3H�� �\��F��E����I����I�G��>� ���V�������� ��T�IH�

ก���>�������ก��J�FH��ก?� �����I��� ��H� ����ก��IH���� ��� �� ���"�!��3��>� ����ก����"�������������� ��C CPU {8051.TBL| ; ���`I��� �4���" >� ���������������������� 8051 HOF {INT8| ; ก4�3���E����>� �\����� �3����I�G��������

ORG 0000H ; ���`I4��3�! �������F�3�!������J4�� L"���"J�F3H ; ���"�IH�ก���4� ��>� ����ก��

.

. ; �!��>� ����ก����"��T��4���" (����?����) .

END ; J�����ก�� �E����>� �4���" ��"FH ����T��� ��C C32 Filename.asm [-L LISTFILE] [-H HEXFILE)

����!����"��E!e��F� [ ] ��T��� ��L�ก J�FH3�L���!FHกf��H Filename.asm 3���RS ����ก��IH���� (Source Program) ��"�>���>SC����������ก`���T�J� ASM (Assemble)

Page 15: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

49

- L List File 3���RS F3H Cross32 ��H� �\����� ����������ก������?������� (Assemble Listing File) ���FHL"��\����"I��3�� �� (F���"��C�L� List File) - H Hex File 3���RS F3H Cross32 ��H� �\���3��e�V����L"� (Machine Code) ��ก��F��\����" I��3�� �� (F���"��C�L� hex file) RH���!FH�� ��L�ก - L 3�L� - H ����ก�� Cross32J���!��H� �\���3�!���C >SC��� F�ก���!���C�3����"��� ก����� ��� (Error Code) J���� ��ก��J�e� (RH���) �I!RH���L�ก�� ��L�ก - L ��H� �3����� ���J�REก��H� >SC�F� List File �H��

4.3 ����ก��� ��"��J� �A RAD51

RAD51 (Rapid Application Development Environment and 8051 Cross Assembler) ��T� ����ก����"�����fก?������I��� �������ก������?���������H�H��ก�� �4�F3H����ก F�ก���>�������ก�� ����4�ก������?���������H����� �����!IH� ������ก���L"��>H���!�� ��� �� e� ��" 3.4 �!��ก��FH ������ก�� RAD51 �b������H��T���f�ก�����ก�� ��� �� e� ��" 3.5

P�\��� 3.4 ��� 3�H�I!� >� ����ก�� RAD51

Page 16: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

50

P�\��� 3.5 ��� ��f�ก�����ก��ก��FH ������ก�� RAD51

5. ก�����������ก��P�]�� ��"�J�� ����ก��FH ������e���fก?������I���FH�4�3��� �� �>H��E���"��T�����ก��IH����� �����R

��L�กFH����ก�� Word Processor �!� Notepad; Edit Plus 2, Edit For Dos 3�L� Ultraedit-32, RAD51 �!������ก������?������� >� ��?�I��กE� MCS-51 �!� SXA51, ASM51, CROSS32 ��� RAD51 5.1 ����> Q�ก�����������ก��

�>����� ��>� ����ก���! >H��E������I ก4�3��F3H LED1 I����!� ����������ก���� J�ก� J���� �� e� ��" 3.6 ��b�ก��I!��������F3H>����R�I!�ก�� ���I P1.5 �����I!�ก���3�! J!���\ก4�3���!�����f���\��T� LED_TEST RH�F3H�R�����J�ก{0| ��">� P1.5 �4�F3H�������I����!� ���RH�F3H��J�ก {1| �4�F3H����������

Page 17: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

51

START

P1.5 = “1”

CALL SUB DELAY

P1.5 = “0”

CALL SUB DELAY

LOOP

P�\��� 3.6 ��� �� �� ���ก��I!�� J� 5.2 ก�����������ก��� ��"�J��

��H� �\������L"� LAB51 3�� J�ก��C��4�����ก�� SXA51.EXE ���กf���HF��\������ ���F3H�>�������ก��IH����� ���FH����ก����fก?������I���

��L"��>H��E!����ก��F3H �� ��4���" >H� �!� 3�� J�ก��C�F3H����Sก��T�L"��\�� TB1.ASM ( �� � J�, I����กV� A, I����กV� S ���I����กV� M 3���RS Assembly) ;************************************************* ;*** Program TB1.ASM Output P1.5 Assembler: SXA51 ;************************************************* LED_TEST BIT P1.5 ; ก4�3��L"�F3Hก����IP1.5 ���!���!�ก�� LED_TEST ORG 0000H ; ���"�IH�����ก����"������� 0000H LOOP: SETB P1.5 ; ก4�3�� ���I 1 ��I��" 5 (P1.5) ��T��R��� "1"

ACALL DELAY ; ����ก����ก���!��L"� DELAY CLR P1.5 ; ก4�3�� ���I 1 ��I��" 5 (P1.5) ��T��R��� "0"

ACALL DELAY ; ����ก����ก���!��L"� DELAY SJMP LOOP ; ก����������"�IH���" �����L"� LOOP

1UF/16V

10K

+5V

RST

EA

VCC

XTAL2XTAL1GND

XTAL

30PF30PF

1K LED1

MCS-51

RESETSW

P1.5

Page 18: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

52

;************************************************* ;*** Sub Program Delay Time ����ก���!��3�!� ���� *** ;************************************************* DELAY: MOV R0,#0FFH ;R0 = FF = 255 DELAY1: MOV R1,#0FFH ;R1 = FF = 255

DJNZ R1,$ DJNZ R0, DELAY1

RET ; ��กJ�ก����ก���!��3�� J�ก�g���I�I���4���" ���fJ��C� END ; J�����ก�� 5.3 ก������!k�A� �Q�O����ก��� ��"��J� �A

ก��FH����ก������?������� F3H �����EL"��\��F��\��������"��H� ��H��� �� � C:\LAB51>dir/w J�IH� ��L"��\����" ����SกL"� TB1.ASM (3�กFH����ก����fก?������I�����"������ก�� ����?�������F�I��F3H �g���I�I��ก��FH ��>� ����ก��)

C:\LAB51>dir/w

Volume in drive C is

Volume Serial Number is 046B-19FD

Directory of C:\LAB51

[.] [..] TB1.ASM SXA51.EXE

2 file (s) 33,403 bytes

2 dir (s) 660,189,184 bytes free

3�� J�ก��C�F3HFH����ก������?������� SXA51 ��� �\��������E����ก�� �� ��� ��C C:\>SXA51 yL TB1.ASM ก� Enter C:\LAB51>sxa51 7L tb1.asm

8051 Cross-Assembler (1.3) Copyright (c) 1987, 1989

Binary Technology, Inc. Meriden, MH

No errors detected

Object file size: 19 bytes

Program entry address: 0000 (Hex)

Page 19: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

53

5.4 ก�����������ก��� �Q�O����ก�� RAD51

5.4.1 �4�ก�������\�������L�ก��"���E New ��L�ก��" Project 3�� J�ก��C�F3Hก4�3���!�� L"���H� ����J� ��L�ก��"�`�� Ok ��� �� e� ��" 3.7

P�\��� 3.7 ก4�3��L"���H� ����J�

5.4.2 F3H �� �����ก��e�V�����?���� ��� �� e� ��" 3.8

P�\��� 3.8 �� �����ก��e�V�����?����

Page 20: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

54

5.4.3 F3H����Sก�\�������L�ก��"���E File → Save 3�� J�ก��C�F3H��L�ก��"���E Build ��L�ก Project Build ��� �� e� ��" 3.9

P�\��� 3.9 ���E Project Build

5.4.4 ����ก������?������� J���� �\��J�กe�V�����?����F3H��T�e�V����L"� ��" 3�H�I!� Build J������������� ����JH >H���� ���J�ก����ก������?������� ��� �� e� ��" 3.10

P�\��� 3.10 ���������� ����JH >H���� ���J�ก����ก������?�������

5.5. ������ �� � �!k�A����ก��� ��"��J� �A

�\��3�� J�ก�4�ก������?�������J����ก���H�� TB1.ASM, SXA51.EXE, TB1.LST �������������� I!�����C 5.5.1 ����������>� Listing File

��T��\����"������������>� ����ก�� ���ก���H��I4��3�! �������>� 3�!������J4��3���4���" e�V����L"� ����� ��! ��ก��T�������� (Column) F��I!�������������ก��T�3�S" \���� (Field) F�3�S" ���������ก���H�� \�����E �`� 5 \���� �L� Line #, Label, Op-code, Operands ��� Comment �������������� ��C TB1.ASM 8051 Cross-Assembler (1.3) (C) 1987, 1989 Binary Technology Page 1 tb1.asm 1 ;*************************************************

Page 21: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

55

2 ;*** Program TB1.ASM Output P1.5 Assembler: SXA51 3 ;************************************************* 0095= 4 LED_TEST BIT P1.5 5 ;******************************************** 6 ;**** MAIN PROGRAM ����ก��3��ก ***** 7 ;******************************************** 0000 8 ORG 0000H 0000 D295 9 LOOP: SETB LED_TEST 0002 110A 10 ACALL DELAY 0004 C295 11 CLR LED_TEST 0006 110A 12 ACALL DELAY 0008 80F6 13 SJMP LOOP 14 ;******************************************************* 15 ;**** Program Delay Time ����ก���!�� ******* 16 ;******************************************************* 000A 78FF 17 DELAY: MOV R0,#0FFH 000C 79FF 19 DELAY1: MOV R1,#0FFH 000E D9FE 20 DJNZ R1,$ 0010 D8FA 21 DJNZ R0, DELAY1 0012 22 22 RET 0000= 23 END delay = 000A delay1 = 000C led_test = 0095 main = 0000 line # 3���RS ��������"��!�F�>� ����ก��IH���� 5.5.2 ����������>� Intel Hex File

��T��E����>� �\����I�G�������R�4�������Sก� I����?���H �\�� TB1.HEX �������������� ��C

: 10000000D295110AC295110A80F678FF79FFD9FEC0

: 03001000D8FA22F9

: 00000001F

J�ก��������ก

: 10000000D295110AC295110A80F678FF79FFD9FEC0 IH�������J�>SC�IH��H�� {:| R���� �L� 10 3���RS >H��E�F���ก�������C��������� 10H (��>G�����3ก) 3�L� 16 ��I�

Page 22: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

56

R���� �L� 0000 3���RS ����������"�IH�F�ก���� >H��E�>� ��ก�������C�L� 0000H R���� �L� 00 3���RS >H��E���"I��3�� ����T��3��>H��E���"IH� ���"��� � F�3�!������J4� R���� �L� D2 RS FE �3��>H��E������C ��C� 16 ��I� �H���`��L� C0 3���RS �!� Check Sum >� ��ก�������C��HJ�กก����ก>H��E��`กI��F���ก�������C �>H��H��ก�� �ก��H� {:| ��� Check Sum ����"��H�4����4� ��� �������>� �� ��H�I������� �� 8 ��I�� �H��I"4� SUM=10+00+00+00+D2+95+11+0A+C2+95+11+0A+80+F6+78+FF+79+FF+D9+FE = 940 H

�4��!� 940H ��� �!���T���>G���� = 1001 0100 0000B F3Hก����!� (1�s Complement) >� ��>G���� 1001 0100 0000B = 0110 1011 1111 B = 6BFH

�4���T��!� 2�s Complement ���ก����ก�!���ก 1 = 0110 10111111B +1 = 0110 1100 0000B = 6C0H �4������ ���!��� 3��ก�`��H�� �L� C0H ����T���I� Check Sum ��������"�� ���"��������H�� {:| ��I�I!���J���T��������>� >H��E���C 3���L� 03 ��I� ?S" ��T���������H��3�H�ก��>H��E��H��3�� J�ก��C�กf��T�>H��E���ก 03 ��I� 03+00+10+00+D8+FA+22 = 207H

��� F9H J���T���I���"��� ก�� Check Sum ��������"�����T�ก����� ก��J�>H��E� �L� : 00000001FF:

6. ���N� ��N Q�ก��\�~����� �!���4���h>� ก�� ������ �H������������������� �L���������ก ��������f�F�ก���>�������ก�� � L"������ก���4� ��>� �C� ����"��H� >SC� F3H��T���I��� L"���>��"ก4�3�� F�ก�� ������ ก�!��IH� ��������L"� �L�F�ก������ ���ก���กH�> ������ �� ��C����L"� �L���"�4������������กF�ก������ JS ��F3H��L�กFH ��3�����b��!�

6.1 ����ก��K��� �ก�������� (Simulator)

��T�����ก����"��H� >SC������ ���I��� � L"�J4��� ก���4� ���!��I!� ye��F�>� I����?� ����4�����ก����"�>���������H����H� ��� �\��>H��E�F3H��T���>G�����3ก ����4�>SC�����T�>H��E�� L"������ก���4� ������� ���I��� ?S" �����R�4���T�>�C�I��F��I!���4���" ��H �4�F3H����ก��"J��E>H��E� 3�L�I��J���ก������"����� �!�F��!��>� ��J���I��� 3�L�3�!������J4���H �I!ก��FH ���!����"��� L"���>��ก �!���� `I ������I� `Ie����ก�4���H�!��>H� �`! ��ก �I!�3����4�3����EH��"������EH��LC� IH� � L"��� �กIก���4� ��>� ����ก����H�����!IH� I!���������� F���� I����!� �!�����ก�� TS Controls Emulator 8051 ��� �� e� ��" 3.11 ������3����H��" http://www.tscontrols.com ����ก�� ProteusFH

Page 23: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

57

J4��� ก���4� ��>� ����������������� ?S" ��T�ก���4� ��>� ��������� �e� ����H��>� ����ก�� ก��FH �� ก���>���� J� ก���� ��ก�� �� ��� F�e� ��" 3.12

P�\��� 3.11 ����ก�� TS Controls Emulator 8051J4��� ก���4� ��>� ��?� MCS-51

Page 24: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

58

P�\��� 3.12 ����ก�� Proteus J4��� ก���4� ��>� ��?� MCS-51 6.2 �\� � ��I���? �A (EPROM Emulator)

��� ��H� � J���T����3�!������J4����FHก���3��>H��E��!���� ���I>��� (LPT) 3�L� ���I��ก�� (COM x) >� ���L"� �������� ���I��� ก��FH ����>���"�L"��I!�ก����������� � L"��4�>H��E�>� ��������E���I��� �����ก���4� ��>� 3�!������J4�����ก��F�I����?� MCS-51 >H���>� ก��FH���L"� ���E���I��� �L� ก���กH�>>H��E�����ก �����f� ��L"� J�กFH3�!������J4���� �����R����ก�� �����>H��E���H !�� �!��>H������L�������� �������hh���ก�� ��� �� e� ��" 3.13

P�\��� 3.13 �� ������E���I��� (�3�! �H� �� http://www.etteam.com)

6.3 ���N� �����ก��! "� (IC Programmer)

��T�ก���4�>H��E�e�V����L"� ����Sก� F�I����?�������L"� ����ก�� ��� �� e� ��" 3.14 3�� J�ก��C��4���?���"����Sก>H��E����4�ก���������?� MCS-51 ��"��3�!������J4�����ก������\� F�ก������ก���I!�����C ���L"� ����ก��J��� �������Sก>H��E�F����C �����ก�� ?S" FH������!��ก �!����?� MCS-51 ��"��3�!������J4���� EPROM ��JFH�������F�ก����>H��E��H���� ���I�H�������I � L"�����Sก>H��E�F3�!

Page 25: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

59

P�\��� 3.14 ���L"� ����ก����?� MCS-51 6.4 ���N� �����ก���JJ ISP (In-System Programming)

�����R����ก��>H��E�� F�3�!������J4�����ก��e��F���?� MCS-51 �����!IH� R����?���กJ�ก����� ��� J���"��!?��?H�� ก���กH�>>H��E��4���H����ก ��������f� ��� �� e� ��" 3.15

P�\��� 3.15 ���������ก����� ISP (�3�! �H� �� http://www.etteam.com)

Page 26: (Q05 หน่วยที่03 น47 น81)

�����ก��� ��� �� : www.Adisak51.com ��������������������

60

���� `��3���4���" >� MCS-51 ����C 3�� 256 �4���" ��E!F��E����>� ��>G���� ���ก���H���4���" >��� 1 ��I�J4���� 139 �4���" �4���" >��� 2 ��I�J4���� 92 �4���" ��� �4���" >��� 3 ��I�J4���� 29 �4���"

�������?�" �3���L� �4���" F�ก���>H�RS >H��E�F�3�!������J4�I4��3�! I!� y J������R��! ก���H� �������>� 3�!������J4���ก��T����I!� y ��H�� ��C

1) ก���H� �������>� 3�!������J4������������F� 2) ก���H� �������>� 3�!������J4�������I� 3) ก���H� �������>� 3�!������J4������J���I��� 4) ก���H� �������>� 3�!������J4��������H�� 5) ก���H� �������>� 3�!������J4������I 6) ก���H� �������>� 3�!������J4����G���������

����ก��REก�กf���HF�3�!������J4� ��T��E����>� ��>������"����ก�!� e�V����L"� ��T�e�V���" ��� ���I����>H�FJ��H �������"���E����>� e�V����L"� F3H��E!F��E����>� ��>G�����3ก �!� �4���" >��� 8 ��I 11101011B �>�����H��T� EBH �I!��T�ก���>H�FJ��H��ก �� ��C�JS ��ก��FH��h��กV� ��"����ก�!� ������� � L"��������3���>� �4���" �!� MOV A, #67H ����ก����"�>����H���3�� �����������ก�!� e�V�����?���� ���ก!��F3H������������������4� ��I������ก��e�V�����?������H IH� ����"��F3H��T�e�V����L"� ก!�� ����ก�!�ก������?������� 3�� ก������?�������J���H LISTING FILE ��� HEX FILE

���L"� �L���"FHF�ก�� ������?������������������ 1) ����ก��?��E���I��� ��T�����ก����H� ����� ���I��� � L"���T�ก��J4��� ก���4� ��

>� �!��I!� ye��F�I����?� 2) �� ��� ���E���I�����T�ก���4����>H��E����4�ก������Sก� F���?�3�!������J4�>� ���L"� ���E���I������ ?S" J������ ��H� � J���T����3�!������J4�����e���� 3) ���L"� ����ก��I����?� ��T�ก���4��������ก����"�>������fJ��H����4�ก����� �\��F3H��T�>H��E���>G�����3ก 3�� J�ก��C�กfJ��4������� F�I����?����FH���L"� ����ก��

4) ���L"� ����ก����� ISP �����R�4�ก������ก��>H��E�� F�3�!������J4�����ก����H���I� �����!IH� R��I����?��������������������กJ�ก�����