BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf · ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

191
BASCOM 8051 2004 Jan 28 SN: ___________________________________ !"#$%""& '()!"#$%""& *+,-./0123/+452,

Transcript of BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf · ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

Page 1: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

BASCOM 8051

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

2004 Jan 28 �

��������

���

SN: ___________________________________ �����

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

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

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

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

*+,-./0123/+452,��

Page 2: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

WWW.SAMPLE.CO.KR ���������� �������������� ���������� ���� ������ ����

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

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

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

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

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

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

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

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

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

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

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

%�������������� ���&���'�()*+,"����- ������&�� ������ ���������

�%).�/*+,���������)*+,���� �����������

%� ���� ���� �������������� ������&���'�������!��� ��������� ������

� ������

�����������0��� ���"��������������� �����������������������

1����������������������� ��������� ����)*+,2�����������)*+,2�����������)*+,2�����������)*+,2���������������

'������ �� ������344�����������������344�����������������344�����������������344�������������������

����

5�� ��������������3���������������������!�� ��� �������� ������5�� ��������������3���������������������!�� ��� �������� ������5�� ��������������3���������������������!�� ��� �������� ������5�� ��������������3���������������������!�� ��� �������� ������

&���'�&���'�&���'�&���'������ �����666� �����666� �����666� �����666��������

��������

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

����������� ���� ������������������������������������ ������ ��������������������� �!"�#!$�%!&$'�(!"�#!$�%!&%�

���������� ���7�8�9:;<�=>?�@A�BC�DE�FGH�I�JKLM��

NO<�@PQ�>R7�STUV�IGW�I�JKLM��

���������� ��7�8�9:;<�XGYZ�G[\�]Z�^_?�`CaKLM��

���������� ��7�8�bcde<�@>�f\�ghi7�jGSklEm"�no\�

]Z�^_?�`C�aKLM��

89:;7����������� ���<�pq�D7�ArS"�stS�u7�vwZ�xycz�

{@"�|}?�~�LM��

Page 3: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

8�bcde<��������������� ���\�JKLM��

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

Page 4: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

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

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

��

���������������� !"��#$!"��#$!"��#$!"��#$%�&'�����()�����*+,�-.�/0�12���3�

��

4.567�8,�9�:���;<%���������

Page 5: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

��

���,�=>�?@2���������;<%��������

��

?AB�.CD�E?�.C%�2F��������� !"��#$%�&'�����()������

Page 6: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �

GHIJK�LMNO�.���P�QRST��UV�����

��

QRST�WX��YW�Z�[\]^��G�#_���;<%�&'�UV�����

Q`aX��GHIJK�LMNO�b���

C:\Program File\MCS Electronics\BASCOM-8051 7�c6dP�12����

QRST��UVe�f����� !"��#$%��������

��

.g�GHIJK�LMNO�*.h.�ij�kXlm�ln7�[�oip��^q��ris�12����

Q`aX^�KI��t�u��#$vu��4>�wwx�yXz�kXlm�ln%�{|�12�����

ln%�UVe�f����� !"��#$�%�&'�����()�����

}~e����,����9�YW.���e�W��G�u��\]��A%�������������

Page 7: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �

��

GHIJK��LMNO���()����Z�[\����� !"��#$�%��������

��

c6d.���o9��v$v�� !"��#$�%�&'������������

=>������t���.4>�wwx�`��7^�GHIJK�LMNO�,�����0.����|i�������

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

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

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

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

Page 8: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

�����������������������������GHIJK��LMNO��*.h%�������9���,����������12�����

 q¡¢X�?Ae��0.�/0�12������

������������������9:9:9:9:�

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

yXz������£¤�¥�.�¦7]�kXlm%��¤����������

� �

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

Q6§X�¨©�Zª7�g�x��0%�«is���������

GHIJK�LMNO�b��¤x���0%�Z¬��HI­­®�*6¯���°±¢X�²³�����l'´X�

�µ�7Q©7]��¤x�kXlm%�¶'·�W��.��0b��¸²��HI­­������°¹¢X�

²³�oi��ip������

®=>���

GHIJK��LMNO�,��$ºv��$��$��»¼7]���½#�����»¼%�UV���p�������µ�

7Q©7]��¤x�kXlm%�¾%�¿�?AÀ�����

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

ÁÂ�kXlm%�Ã������kXlm%�����ÄÅ�����°¹e�W��ÆkXlm%�

¸²�²³�Ç�®��º��������#�����½v�����Æ4>�ÈÉ�12����

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

kXlm%�Q6§7�ÊËÌ�²³����������{0�kXlm.�yXz��0�»¼7]�

�¤x�1.9��0�.C%�¸²�2F�4>��ÈÉ�12�����µ�.C¢X�²³�>B���

W�^��º��H��»¼%�UVe�f��0w%�Z2�9��µ�.C¢X�²³À�����0b�

HI­­��0X�²³oip������

Page 9: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

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

ÁÂ,��0%�Q6§7�²³����������kXlm.�²³oZ�Í7��0w%�YW��

���������0%�HI­­��0X�²³oip������

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

ÁÂ,�kXlm%�kÎa�Z�Í7�6§Î7�kÎa�ÏÐX�Q6�Ñ.������

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

ÁÂ,�kXlm%�kΩ7�kÎa������

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

GHIJK�LMNO%�Ã������kXlm,�YW?@.��Ò�9�²³��1�c���Ó^�

�����������

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

ÕÃÖ¢X�×Øx�1%�ÙÚ������

~Û¯^�I��ÜÝÞ�2����

!#��%�#�������������������������

 q¡¢X� �ßJ�x�1%�Â×Ø�������

~Û¯^�I��ÜÝà­��ÝÞ�2����

!#�� &��� !� !� !� !���

UVáâ%�ãÙ�>��ä/å7�²³������

~Û¯^�I��ÜÝ��2����

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

UV�áâ%��ä/å7�²³������

~Û¯^�I��ÜÝI�2����

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

�ä/å7�²³x�æ6a��ÁÂ,�ç][�X�è�é������

~Û¯^�I��Ü�Ý�ê�2���

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

Page 10: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � �

�B«%�ëì������

~Û¯^��í�2����

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

 q¡¢X�ëì�Äî��B«%�()\]�ëì������

~Û¯^��í2����

!#��%����(��)*+,)*+,)*+,)*+,���

�B«%�q�e�y��B«X�ïð������

~Û¯^�I��ÜÝ��2����

!#��)����-.-.-.-./0/0/0/0�1�1�1�1���

4c�ñò��2F���ç]��óô�.8������

~Û¯^�I��ÜÝõ�2����

!#��*�������+,� +��� ö §�����Å��\q�����~Û¯^�I��ÜÝ÷Ý��.¥���^�O�¨©�L�øq2����

!#��)�����+,� +��� ��x�ö §X�ç]��óô�.8������

~Û¯^�I��ÜÝùÝ��.¥���^�O�¨©�L�øq�2������

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

UV�ú%�0��ûü%��i�ýµþ¢X�.8�������

~Û¯^�I��Ü�Ý�à­���Ý�­�2���

!#��$���#�����(+��

UV��ú%��þ¢X�.8�������

~Û¯^�I��ÜÝà­��Ý �2����

���� �,�����-�"��������23232323���

ÁÂ,�kXlm%���0������

��0�oZ�Í7�ÁÂ,�kXlmb�B8Ö¢X�²³À����

��0'����UV7��4]^�*+,��0.��£¤P�12����� ������������

Page 11: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

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

())�*+, �.�T��0.¥� .§X�kXÇ]7�4.�������

())�-*. ��Ñ.©�8�����e�Q;l��02����

())���� ��Ñ.©�8�����e���T��02����

())�/ ( ­���Ü�?��,�à����02����kXlm�³�7]��������

())� 00 ��0���� �7',��A%��q>�������

�®7'���%�¿{�{|i�����

())�0� ��0�DX��� ����/��|i������

7'���£o9�7'�W>��Çq����P�12����������3��

�c�;<%��Ë9�ç]®u"��#��^�7'���£x�¦7�[���12����

� �� �,�'���" .�(+�4545454567676767���

kXlm7]���%��§�����74����o9�74��0{�£¤À�������c�

~Û¯^�I��ÜÝ���2����

Page 12: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

� �� �,�.�� ��&���8989898967676767���

��0��D��/�������J��v#$ �I#��vt�� �J"��"��7]��FP��0%�

UV�����~Û¯^�I��ÜÝ��2������0��D���c����������

��

��0'�»¼7]�Ñ°a��0.�£¤o�ú�UVoi��ip�������

��0��D�/>]��7'����À�����

kÎa�*.h%��Ë9�kÎa�o¥��J��*.h%��Ë9��� 9¢X�!*"������

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

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

�������� ��0'�;Í%��������

��������� UVe��#�kXÇ]����À����®�ßH���0��

-����1��� ��0��$���}2����

*�21 ���� GH ß��H�����£�Z[e��.%�2����M�b��.%��?A�q�&b�W��

��À����

*�21�����13��42����

 .§X�kXÇ]7]�?Ax�'()�®G�"���������§T6)�*���2����

.��/^��+í+�,-�w.7]�/�e�=>?@.�À������ç0å�

1I�:�H�D�1GH ���?A�����e�G�"��������������

05���� �JK�2å,�6�a�iåÑ6�2���®�M�.����32�����

0����� �¨�HK,����iåÑ6�2���®�M�.����32�����

��-��1� ?Ax�ÜIß�,��å2����4��a��L��a��å����À����

������� 6V,����[�2����6V,�*+þb�Y��áâ2����6Vb�

Z(i56,�ò�7�,���7�À�����

������6�� �³�8.�6V.�?AoÒ%�¿,��.a��2����.�3b�9:Öc�3.¥�

��e�1b���Ñ.©��8����È���������

7��105� �.�T��0,�;.����<������

Page 13: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

� �� �,��,&�����:;<��:;<��:;<��:;<�����

�¤x�kXlm%���Ñ.¼�����

���E�<���E�<���E�<���E�<��R�<�R�<�R�<�R�<��E��E��E��E���

kXlm�×Ø�

®� ����

kXlm�0��

�q®�H ��� �

kXlm��q�

®�J���

O�4c�×Ø�

®������

O�4cý;�

�å�×Ø®����Jê���� �

UVx�4cøq�

×Ø®� ���

ÜIß���Ñ.¼�

�å=i���Ñ.¼�� � �

Ú6�0�YW%�

>q���?@�

��

LMNO�A¨���T����

� �

Y��TkÑB�

c©Ca�M�®�í�+�� � c©Ca�O�®�í�í�� � � +í+�c©Ca�

�.%DEz©�M� � �.%DEz©�O� � �.%DEz©�+�

×Ø�*.h%��Ë9���Ñ.¼%���������

��­����7�,e��Fb�����/},�Fìáâ7]���À�����

­�� ��w..�×Øo9�¯/å7�,e�G.©�2F.���������

2F�Z�Í7��Fì������H¤ �IÐX��^q��c���p��������

ç]��JKÅT>��^�IÐ7]�¯c���p�2Fo¥��$���¯7�,���2F�Ã�À������

0��q®�"����;<%�×Ø�9���Ñ.¼%�LM�����

×Ø�;<%��Ë9���Ñ.¼.�Â9À���®/qe�¦¨©�×Ø���

�q�;<%��Ë9���Ñ.¼%�Ã�������

6N�;<%��Ë9�O�4cO���Ñ.¼�����

Ú6����7]�ij�4c7�ç]��P>�QÑ.§�°ca�;<®�R�%��Ë9�kXlm,�×Ø.�

UVe�4c7]�LM�����

,S�>�Tb�Y����¢9�Y�Uú�,�VW%������Y�.C%�2F�������

­��M�­��O��M��O�D����;<%����9�c©Ca��X�����������

.1b�Úka=iÖc�c©Ca�.Z�¿�7��å=i�c©Ca���£�^�1b�*Y�����

.�;<%����^�Z}7�c©Ca���£�^�1�2������

[.�\�Öc�c©Ca���q9�\�Öc�;<.�Q6�Ñ.�P�12������

�å=i���Ñ.¼�*.h%����9��å=i���Ñ.¼.��]���{��.�W��\�Öc�

Page 14: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

^¨³�X��å=i���Ñ.©��¨_���p�������

�å=i���Ñ.©^��#��O�D��#��í�����Ñ.¼������.1b�[%�kXlm��q�&>�

�å=i�`6a���]�Ì�����

~Za��#���7�G.©��bÅ��¾^�1{��]�����c©Ca�cT7�de��å=i�

��Ñ.¼b�qe�q�&������

BÇe�1b�KI��t�u��#$vu��?,�GHIJK�LMNO��å=i���Ñ.©��=>��Z��f�����

ÜIß�;<%����9���D�gb������£h������

ÜIß����^�Oi��B�O�4c�j¤,�ÜIß�����Ñ.¼������

�#��M��#��O��#��+��#��í�7�de��FIÐ��Ü�ß�ÏÐX���À������

Ü�ß������9�J$�k^�J½½�À�����

���Ñ.¼�×Ø�^�8l��R�¯7�,���QÑ.§�°ca��������������QÑ.§�

°ca����x�4cb�me�Öì�°caX���À���� n�^�ÁÂ�×Øx�4c[���

��<�������

� �� �,���#��(.���====��>?��>?��>?��>?���

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

./*0/1223/��4�56�����

��

��

GHIJK�;o��

�Ti���

à���D�G­���0�

ýp��

à���D�G­���0�²³�

Page 15: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

�ÜHà���T�

kXlm��

�ÜHà���T�

G.��T�

�ÜHà���T��q§�

`6a�

;o���ÜHà�

��T,��A��

�ÜHà���T�

.Ñ.r��

ýS�kXlm�

���"#���$7�

8 ,��9���:��;<�

&+�&==�

� �

����*� ,����!,&���� �@AB@AB@AB@ABC;<�@C;<�@C;<�@C;<�@���

7�Ñ.©^�� .§X�kXÇ]���I�},�� +í+��Ts�c©t.6��×u�^�12����

��D�gb�-.���������

��.v��^�G.©�� .§XkXÇ]7]��ý^�G.©��80e����7]���À�����

 .§X�kXÇ]���w©,�G�"��������g.����������0'�����x7]�4LMM¢X�

��oi���9�'()���4LMM�¢X������p��������x�G�"�������^���0�Ñ°a�

�07��������

�vt���$��vt���$��vt���$��vt���$�����

ÁÂ�kXlm,���0��Fx�à���°¹��0� +í+��Ts%�'���^¨X�Íy�����

.�»¼b���©�kXlm¢X�Íy�^�1.��]�����

�vt����u����vt����u����vt����u����vt����u����

kXlm�Íy%�/q������

�vt����v��vt����v��vt����v��vt����v�����

©z{�7�Ñ.©,�?A%�Ã�������

Page 16: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

!#��/ 0#������ �/ 0DEDEDEDEFGFGFGFG���

>?@�ABCDE�4���F�G��HI��JK�������

��

ÜIß�|a�6^���N�,�ÏÐ2����}�*+�~b�ç]X���oi������

UVe�[��� �6,��þ�;<¢X������������

UVx�¦%���������9�UV.�ÙÚÀ�����

J÷�;<%����9�7Q©,�ç][�7�(�x������ß�½tu�u������D����B8¢X�

2FÀ����

ÜIß��B�(,�w.�b���D�gb�Ï�2�����^�M�¨©���øq,��B2�����

ß�½tu�u�����O+í4Ni�L�

:#"��"������t�u������� �v�$�_v�����u����u����$"�!�����$�v$��½�#��M ���

BÇe1b����7]��ß�½tu�u�����=>��Z��f����

������� �,���� �H��IH��IH��IH��IJKJKJKJK���

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

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

Page 17: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

�����#�$�%���"��� ����

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

Page 18: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

�)*+,�-./�����01�2(3%��� ����������� �!�"���,���4�56�)*+,��-."�

78 ����#$����%&������9�:��;�0<����:�=>������9"�?@�!A�

1B�����CD,�2EF��GH�I�JKL'�"�MN�OP�Q�R��>�S;T*��� ����

������ ��'� ��U��������V�!�W�XY;�Z��������������(�����V�!!W�XY�

;������

���

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

������ ���� ������� ��0��DX��.�T��0%�£¤������

��������� c�®­���Ü���?��0%��F�����

��� ������ ��Ñ.©�8�7���e�KH���0%�£¤������

��� ������� Ñ°a��0%�{�����õ�$������������#���½vt���

��!���������"� 0¨���©7]��������

� ������ ��0��7'���£e�W��7'�A.��úx��0%�{������

�##��������

���! ���� ��­����D�­�� ���,��+í+�'()����������

Ú6kXlm7]��1GH ß����ç0å��?Aoq�&�¢9�.�3%�

?A������

� �$������  .§X�kXÇ],�§T6)�*����q������1I�:�HÜ����

ç0å��?Aoq�&�¢9�.�3%�Z¬¢X�GH ß���������

�%�� ��&�� �� ­+I�'(7]�IÜ�°a��q�������

� ���� �� ­+I�'(7]�ßH�°a��q�������

� ��'�� �� õ���IN��,�?A��#����q������

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

ÜIß�Q6�Ñ.����o^�°a��q������

,���� ��-���� ������ �ßH���0b�LMNO,�Ã�7��µ���Z]�Ñq6©®���,�

iåÑ6����oi�������#��6�7]�?A�� .§X�

kXÇ]X��������Z�Ö¢X�LMN+�ßH��.���oi������

�������!� �¨Y�X�?Ao^�Y�,� q¡�[����������6V3b�.�

3�.f®G��������ÝO�X���À�����kXlm�8���6V3.�

kXÇ],��¨��T���i �9�.�3%��b�þ¢X������p�

�����kXlm,�8���6V,�Õd3.�i�����P�1c�^�

��Ñ.©��j8����c��p��������

��.��/� ���-� ��x�3/����à��DG­��2å���Fo9�W>��q��

��À����

�#���� � GHIJK LMNO�k^�GHIJK ����0'���UV�����

��

Page 19: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

������� �,,&��(������LMLMLMLMJKJKJKJK��©z{7�Ñ.©,'(��%������

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

�#� �� �I,�'(°a��q���������

���! ���� '()���q�������

�� ���� �T���a���������Q`a��#$��2����

���0���� G.���a����������Q`a�L�2����

���0���� 6��a����������Q`a�O�2����

���!�1�2�� �åÇ.§��å���������Q`a��#$�2����

�#������� 7�Ñ.¼����2����Q`a�GG�H�­�2����

���� 7�Ñ.©7]�?A�^��#$��Ã���ìI%�UV�����

���2�� � ©z{�7�Ñ.©7]�AWì%�UV������

*,�3�©z{�7�Ñ.©7]���e�GH ßÑ.a^���0'�»¼7]���e�GH ß���g*p�

�IÖ¢X��8À����

�������!��� ��,����NONONONOJKJKJKJK���

0JÖc�ðW���2�����

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

������!���� �$���¯�����¿����4c,�ç]�[���ÁÂ���[�7��q�����

�3���1��-������� dÚ�B,��T��e��&%¿�UV������

��� #������������� 7Q©X��0%�¶'·�¿��0%�T°¹®��½#������������µ�

��Z7]��¤x�Ú6�0%�GHIJK�7]�?A��¿��A�����

��� #����!�� 7Q©�Z8��2å��T°¹�®��½#����������

�#� ������ ��oi��¢9���HG�b���4c,��B«�[�7]��HG�.�Xä����

�����"�1�-1��-1���-� 7Q©7]�GHIJK��%��Ì�����������

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

�1/���0� � ~Û*.hD���������������

��.������/��!�� �/��!/�

y������UV��¿����,�§Z���¬¢X���1cq�ÕdX���

1cq�UV�����

�!�� ����� 7Q©����7]���o^��B,�¡aÃ���§Z��YW�����

�##���� *¢����[���q����������#�v�v#$�#½�����u#���$���

���)��.�� �HG�¯�����¿�£2o^���u���B�����������

���2- ��!��� � ������,�ìI%�UV�����

4��#�����-� ß�½�"t��It���vu�G�v�½����vt#$�/7]�UV�����

�� �� #����"�������

ûü��B7�,e��0��³B�q���T°¹��^�1%�>q������

�������-� #�� ���,&���� �:;<�@:;<�@:;<�@:;<�@���

LMNO�PQDER��ST��URVWX�YDE�Z[��JG�����

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

��#���� �&��� ��Ñ.©����x�kΩ�°a,�iåÑ6�

��#���� �!����� ��Ñ.©,�¤T¥�~[�q��}��>)�I�7]�ÖA��

Page 20: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � �

����������>PQ��>PQ��>PQ��>PQJKJKJKJK���

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

� - �##� � kXl+%,����UV�����

��������1� B8��t����Z]%�qe�^�kXl+%7]�UV������4���Ë9�

kXl+%,��������oq&b�IÐ7]��kXlm�À����

����5� ���� ¦T�.�Z]%�qe�^�kXl+%7]�UV�����kXlm�f7�[,�

�A.�;o��¦T�.�À�����

&����!! ���� kXl+%����o^�kΩ�°a�iåÑ6�2����

� ��!����� §Ñ.��}���.¥�Gt#_�­��kXl+%7]�ÖAÀ����

���6'*(�� KI��t������#������������Ñ.©7]�ÖAÀ����?Ax�[.�

�I�LN�4H�c�W��UV�����

���!����� ���JK���Ñ.©��Ü���,���x�W��G­��d(7�à����0%�/¨�1%�

UV������

������������� �RS@RS@RS@RS@JKJKJKJK���

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

5� +5, - ��0+� +5,������ ?Ao^���©�kXlm%�UV�����

5��� ^¨kXlm%�©®��tt��]�������4��X]��0.C%�q�������

�������� ���� ���@��@��@��@JKJKJKJK���

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

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

&���� kÎa�Aq,��þ����ûü2����

��-1�� kÎa�Aq,�ýµþ����ûü2����

��� kΩ�Aq,�I~����ûü2����

���#� kΩ�Aq,��~����ûü2����

���� kÎao^��J����UV�����

�������/ 0�/ 0JKJKJKJK���

ÜIß�Q6�Ñ.7���o^�°a�ª%���������

1��#�� ��(�#��TUV�WTUV�WTUV�WTUV�WXYZXYZXYZXYZ���

�«����� 9%�¬6­.å®I��u�����åX����������

1��#��*����[�[�[�[�XYZXYZXYZXYZ���

�«����� 9%��0�åX�A��������

1��#��� �����(����\�]\�]\�]\�]^�^�^�^����

*.h%�ÕÚ x������X�Â�A«��������

Page 21: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

1��#������,�2�����XYXYXYXY_�_�_�_����

ýpx��«���������ÕÚ �������

-����3�&��Y`aY`aY`aY`aFbFbFbFb���

GHIJK,��/����������

��

�Ts�ñò����À�����Ts�ñò,�÷��b�­J�®�,�de¯°%����^�+�BT,��

qâ2å2������

-�����#�"�Y`aY`aY`aY`ac7c7c7c7���

GHIJK�,����%����������/c�IÐ7]�ÁÂ�?Ao^�~i��¯±å��

À����

-�����.����Y`aY`aY`aY`a#d5#d5#d5#d5���

���,����Z]�.A��w2����

�����

Page 22: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

!#��� 4�'��efefefefgggg���

4��� ������

&��������7 �þ¢X�ç]��e�W�.8e���

�� �������7 ýµþ¢X�ç]��e�W�.8e���

�������7 ç]��e�~�[X�.8e���

�7������7 ç]��e�~�*+X�.8e���

��,� 4c,�c�¢X�ç].8�

�� 4c,� q¡¢X�ç].8�

�� ���� �][þ¢X�et.q�.8����

�� ���7� �]�*+þ¢X�e�t.q�.8����

���&8&��� �þ¢X�e�9,�~i��¢X�ç].8�

���&8�� �� ýµþ¢X�e�9,�~i��¢X�ç].8�

���&8��,� �],�}�[X�ç]�.8��

���&8�� �],� q¡¢X�ç].8��

���&8�9 ÁÂ,�4c%�ÚÅ�

��� £2�å��²³bZ��å,�S´��

�:� ����à�t��®u#$�������$�v�vº���

�;� ���[�7]�~i��ëì�

���&8�� �0%�¾Z�

���&8�� �0²³�

�*� Ú6kXlm,���0��

���&8�� �0kÎa��

���&8�� ©z{�7�Ñ.©��

���&8,� �0���Ñ.¼��

���&8�� �+��kXl+%��

���&8�� ~i�ëì��

���&8�� ��0�»¼��

���&87� ��0��D��F�/Z��

���&8�� UVáâ,�ã~�µ��ä/å�²³��

���&8���� UVáâ,��ä/åX��

�����8���� 7Q©� 9¢X��ä/å��A,�¶?�

���������"�� Bka�¯���µ�IÐ7]�ç]¯��?A�Å�� �6��.A���áâ%�

UV����������������

Page 23: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

0���������� #� �hihihihij.j.j.j.���

GHIJK�%�Z8�����

�0%�ýp��Å��y��0%��¤�����

�#��6�,�*����G�"��������·c������

�0%���0�����

74���£�9����>�Â���0®���������

�����GHIJK�LMNO¸�

�I8�oq�&¢9�6V.�ý;�X�oq�&^����c�����

[%�kXlm�������

K��#�K��#�K��#�K��#���������

�«�Y�^���T��?A�����

�]e���T^�O+L��.a�2����

�¨���TO+L��.a�/�í+��.a����0'7]�?A������

�}b�6V¢X�?A�����?Ax�w.i7��4��¹����

L�9,��a^�O�9,��.a��º������

�.a^�O��.a��º������

��D±å^�+��.a��º������

Ü#$����^�4��.a��º������

�.a�Y�^���®�����vº����?A����»�����

kXlm,�?Ao^��.a���OM+4�.�.9�LRIOMNO%�?A����������l'�� H����

»¢´X���­���D�­�� ���%�?A����»�����

�µ��«�LMNO�[%�?A�����������

Page 24: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

����������

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

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

����#�6<':�����������=%>::<<<<�[\T*[\T*[\T*[\T*�]^1]^1]^1]^1�B���B���B���B���>�

Page 25: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

/��)$�)!�$�0��!�*�/�

*���5,�,�_`VDa8��9��:;bc28������1�:;de86����9��:;fg_8�������:*

��h���

i[�,*���5��)*jkD#lU�_`�Y�i�m ���

• �_`�,nopQ�qBVno1�r"stuv���• *���5�)*jkD#�l

• D#Da• )*jkD#w���������������������

*���5��,�_`Vx�y8��<:;z_8!�=:;ne�_*�G2{���

*���5��,|�_�Y�_8��<:/}�_8��>:x�yT*O^h���

*���5��,z_�!�=*O^h���

�Kx�y�_8�;*;�;-; ;':�z_8!?=:/~������8/ (:*��h���

����_�*���5��m�2/el�,no1�r"sv���

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

, 0 ���-�� �����������2�3�����

���*����8�������:

@ ��C���������42���������8���������:

A ��[���������8�2�������������9��:

B ��[���2�����

; ��������

� ���%����2�����

� �8��e�,}e�:������181����������:

� ���8I�[[�:������81�6��������9��:����9����1��1��C

� ��������

D �C���-�29��42���������

E �r������������

F G��]���������

H ��� 42������8������������9��������������������:

I G�����.��������

J ����K2���������

C �����*��������8����������11�6��������9��:

����� �����������������)*jkD#*���5,�)*jkD#V��U�Vl<sv���

''line-identifierLLMMstatementLLMM�statementLL���MMcommentLL

������������������������������ ��*���5,����Ix��L D#Da¡�I¢<Q£ ���

�_��1D#DaV$K�N"¤e��_*O^4euv���¥(��_*�]�i

��8�:T*-� ��¦

*���5,�§¨(8bc2:���4e©v�����V��Wª1D#Da�����������������7*� ��N��

Page 26: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

Y}�_�Oo=QRv�����V'«��¬­h������������������/��D#DaV)*jkD#�,®¯��!°±I5²B����Da¡³����_�´�=Q

Rv������������������������������������������������������������������� ������������������

� �������������������*���5��Vµ¶�8�)��2�9��:·�&µ¶�8����)��2�9��:T*=2uv���

µ¶��¸)*jk�¹�º#»¼�,���4�<Q���B����

&µ¶��¸de"±½�[¾1¾¿Q��;del7À���������*���5,�V&µ¶�����

• ��,��?8�����������:• �,��DÁÂ�OV)*jkÃ]Uĺ<ÅmpI5J[¾1&µ¶�����ÁÂ�V0 ��·���C��8@:*�]h���

��V'«�VB�����0+, DK2�������������O�0 ������������9����0+, DK2�������������O3�����������9���1Æ�1¤�0�*���5���Çeuv��¢¥(���8�:T*OÅ�iÈ ���'50+H$ 5&��0+, D.P1��;����O�, ( +

� �����������������D#�w��É����i)*jk4ÊË*���5��,)*jkD#�w��Ì1V©TIWÍ^<

¾�i%!�_�J�B<ν ��

��������������������*���5��,'Ïde����l<sv���

���������������������������������• �����@:A6�0���B��• �����@:�0���B>�• Ð���®K�%&��Z!K�"&&ÑQ�����• ����-� �@�/�0����B>��e�K�Ò½q$Q&�*±½=Z�CN"#Q%K�BN"#Q#ÑQ�Ó¾����

• 7 !�@�/�0����B>�• ¨(�®K�$Q&��Z!K�Q&&NQÑQ�Ó¾����• &�-�@�� �0����B• ÔVK�KN"&��Z?"$R#R%NQRQ�,"$R#R%NQR#ÑQ����• ���-��• KP}e�����ZK�Wu�N"&�Ð����������• �� ��-�@�����%'(�0����B>�• %�Õ��[�"&RÐ��ÑQ����• %�ÕVÐ��Ö¾*±½=Z!T*×Ø���

%�ÕVw�W$!Ð���ÊË$$Ð���ÙKL'�"ÚQ ���

• de�JKk8[Û:·�ÙK*±½h���

Page 27: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

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

de¸n�z_"I5J�¤Ü"ÝÃ���¼����

de�z_;8�e;¨(;Ð��·�&�:<±½ ���

Þ��b�de"Q���ßWQb����

• 0eQ�0eQ�0eQ�0eQ��

�H&• de�de�de�de��à��à��à��à����

�9�H1�3�H�

• �áde�áde�áde�áde+�0e0e0e0e+fg_�fg_�fg_�fg_��à �à �à �à ����i��i��i��i�â2Q�â2Q�â2Q�â2Q��;;;;�

���H�B& ���H�B&

����!���"�����������*���5��,de�N"�_ÑQ´� ���de�ã�ä�_�¥(��_�2È ���

de�¼Vbc2"���Qå ���j9Ibc2D!à qB�>®æ ���

b"ç2���de�¼V´�=QRv����,-H%j9I���b�º ��� ��,-H%bc28�����6�1���1�:�'Ï*���5��m�2;�;~e�¼;JK3Q%�/fg_8�������:

����

$Q�e/"�e�D�/D��N«�"���iI5èeuv����HD��;�HD�$!$!��1�H$!�'«�VB����de"���[é����9�:-+��<���iQ�4euv���-��9$��*�;+��+�����;���*��;��������A$!;�������-��9"��(���*��- '+, ;- '*+ ;- '*S /- '�50-"��4euv���

b" ç> DEFINT c � de� ã �_W c �> INT ê< xëì��.

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

i[,�*���5��,��=�fg_W2í:fî;e�;&ï;·���¬ð��G2Q�W�

Y�i�m ���

elUfg_"���iÀÌÏQñg<4euv���

2í:el�O^=Z

• fg_�fg_�fg_�fg_��ñg�[ñg�[ñg�[ñg�[�¾�i¾�i¾�i¾�i���q���q���q���q�>�

• òñfg_�òñfg_�òñfg_�òñfg_��z_�z_�z_�z_��&ï"&ï"&ï"&ï"�¾�i¾�i¾�i¾�i���q���q���q���q�>�

• ¹�fg_�¹�fg_�¹�fg_�¹�fg_��Ãó�Ãó�Ãó�Ãó��ô�ô�ô�ô��·�·�·�·��¤o&��¤o&��¤o&��¤o&���Ã]<Ã]<Ã]<Ã]<�¾�i¾�i¾�i¾�i���q���q���q���q�>�

• [ªfg_�[ªfg_�[ªfg_�[ªfg_��Öõfg<Öõfg<Öõfg<Öõfg<�¾�i¾�i¾�i¾�i���q���q���q���q�>�

�#�������������������������������elVz_0e;de·�0e;de/�áfg_��1el���iâ2��I�;�

h���

fg_�eöº·�¹�º[ª<W{���*���5��,Q£��fg_�R¤�|÷T*I�2{���

:>� � ��1#�����Aelelelel�fgfgfgfg�

Page 28: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

%>� ����������Aòñòñòñòñ�

;>� &-�����A¹�¹�¹�¹��

(>� ����������A�[ª[ª[ª[ª�

�����������������elfg_�B;�;Aj�tC����

• �e�e�IøEV����*I5ù���Example: PRINT X\Y ��

• IúQfgIúQfgV�5-fg_���i��h����

• IúQfgVIøE�,IúQ;<¥û ���Example: X = 10 \ 4 : remainder = 10 MOD 4 ��

• üýþ*Ë/!T*I�[

• !T*I�>�DW?@ ���ÊË�Þ®�Êt!I5IQRv���CD,�91��?@¿R!AÒµp�È ����

• �$���������������������������òñfg_�«¤�;<&ï4���� ���

îU�)*jk»¼<î��[¾�i��h���

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

H 42������� (HS

FI +��42�������� (FIS

F ����������]� (FS

I .������������� (IS

FH ����������42����]�I�� (FHS

IH .�����������42������I�� (IHS

��������������������������¹�fg_�òñô�;&�Ã];·�*55� �,fg< ���

�����,��,�,�,�,�����������������������-.�-.�-.�-.��¹�fg<¹�fg<¹�fg<¹�fg<�Ì� ��Ì� ��Ì� ��Ì� ��>�

��� �� � ,�����-��

,5 �����������������¹�¥é

�,- ���T2������î

50 -��T2�������

(50 )��2��6�����5º�

��Ð���no1&��<ô��[¾�i¹�fg_"����B�Wª ���

b"ç>��fg_�%�%8��2�:Ð���1¤�&�;<9è����euv���

¥>���fg_�«¤�Ð��;< �, *���;<¢ç2èeuv���

Example �HQN��1$=�0+, ��H$!5�=�0+, �

Output 16

Page 29: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

11���

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

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

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

������������������������������������������������������������������������������QeK�$"%0�89����1:=2uv���$"%��Se���Qe"�����Qe"

�� ���K�&���!����e"$����e"I5ù���WeK��$¤�&�W

���uv���CD,�0"R&�����'ÏfgVKP}e����"�� ���������

de"+���������1*0�dû4euv���-��+��+�����;����������H$!!�$U��������������+H�U�������6��������������������_+1����������9��"ÝÃ�[Ð����

����������*���5��,�Wqdel����

���¸P�1l����WÝÃ�����if ºT*'i�{ ������}�

t��#�%��"WQtuv���

#�%���*��;+�����·����1����������1¤��}WdÊ=2!�á�}�

|��QRv���*���5��%!&$�,&�de�������}*��4e©v��� )������-���8$!:��9��U��������������1�;���$!�������8$�$!:-�����+�����'���H$ �$!�8�:H�U����������������������8�:U�����,�)

�������� ���*���5��,%�ÕV"&R�_*O^�euv���

L'�"�c�[¾�i-���½�,%�Õ��["� ���-����������A$!%�Õde��$!Ð������µÌ�w���2��8!:�(W�W=2$$Ð��Wh���

%�ÕVBfg_���i � euv���-����������A$!;<�������A$!�HV��V<H�BV�9�V

Page 30: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � �

� ��������������� !"# !"# !"# !"#�$%$%$%$%����9��ßWQÌ1���uv���

�I�l��ÖQ1¤�fg¢´�h���.��1 '�����H�A9$ �H�A9$B��H���8�:B���8�:

&�#��� ��#0� �

��)��2�������1��9����XYDae &!!!

��)��2�������16����9��������XYde�¼e $!!!

��)��2��2�9���3+, . 0��50-6����9���XY

+, . 0��50-de¤e

$!A

��)��2��2�9���3*S 6����9����XY*S dee "!A

��)��2��2�9���3*+ 6����9���XY*+ dee $"!A

��)��2��2�9���3� 0+,.6����9����XY%�Õdee 2���6����9���)�����������

��)��2��2�9���3��+���������XY��+��� $"%

Ade���!U��qµ¶��CD�"���� "!&$V$"%Ð���JK

0��<WQt#v���

XYN"*���W�0+, /+,�7 GHj�t� -� �/. -� �GHT*JKºT*

��h���

IúQ�$�)*jkT*��h���

%8T*c³�L'�W��h���CD,��I%Vde"��4eu�W��BV��q

µ¶���"���%&��$Ð������

$¤���qÐ���$9������

$¤�+���������1�"*�������

$¤�����de�R9�������

$!9����%�ÕV$$9����L'�"ÚQ ���

,�"�#�#�������-�E��A�XYXYXYXY�J�J�J�J��eeee�

��� ����� ,�"�

'50��, ( &!+'�� / , &!-5���55� &!�/+� ��� ,- &!� � � ��� "& ��3���������9��������������6�1*���5���������

Page 31: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

&'(')*'+,-.)+(,/,&'(')*'+,-.)+(,/,&'(')*'+,-.)+(,/,&'(')*'+,-.)+(,/,01010101,,,,2222,,,,bc2�de�¼T*��4e©v���WEX+,��7- X,5+,+ X,5��X,5*0 �YX*�7-X*.'X- '�7� X�0S� ��X��0. X��-X05�� �0 X0���+< X0��� �0 X� 0+��+,�7 X� 0+��57 �7 X�+�$�0 � $�0 �-$��0+ ��Y��+���*�8:�,-�����8:*�7-*�-8:*+ *+ ��+ *�+,Y*55� �,*0 �Y*S ������� ����/08:�5,'+.

�5,� �57, 0�57, 0!�57, 0$�� Y8:�70�50-� �- �- ���0 - '*+ - '*S - '��-�/�0- '+, - '�50-- ��S-+�-+��*� -+����S-5-5�, 5 �� �� +' ,�*� ,- 00 (+ ( 0,��'50'570 /'570 /�+, .� . �-.5�7*.5 5/ (Z��8:/+./8:/+./�8:/5�

+"�0 � +Z +"�� ,-+"�� �0 +"�� 5�+"�0*S +"��*S +-� +'+,�+,Y S+,�8:+,�7 +,�7 / (+, !+, $+, . 0+, 0,��+���-��-/ (� ' � ' 8:�5�-�5�� �5,.�55Y7��55��5�8:�5��8:�5� 0�5� 0�+, ��Y *�-8:��Y - �8:��Y +, 8:�+-8:�5-�5- ,��Y, ( ,5*�+,Y,5��Z ,5

5''5,5057 �!��Q� Y8:�5Y �5� 0-5�,�� �0+, �0+, / (�0+50+ S0 �-0 �- �05�0 �0 � 0 � 50 0 70,0+./ 0+./ 8:0,-8:05 � � � � � 0+��� �/+' �/+' ��-�/+' �70�50�/+' +,�/+' 57 �/5��+��57,-���� 8:� �0 � �� 08:� 0+,.8:� 5�� 5� +� 0�7*����

/ , /+0- /+0-�+, +� 57 +� 0! +� 0$ 57, +�7�� 07�� 0�+, Z��8:��+ ��+ Y S��+ ���� �/-5.�0+ �05�� ,-�/+� �50-(50(0�� �5,�$��5,+ �N+�������*��-��-�/��5, �5- �! �$ /! /$�*7'

5�����I����L��,0������'���<78�>JK3Q%�WdÊh���

Page 32: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

�1%!�!*5�1%!�05�11%�*!

� ������&D%+r'(��8-������������12���:�$7fî}_/���[¾1GH���� ������# ��� � � ������ �(��& (��)������ ��� �� $����&� $�0 � $/�2ý%��`��µ���D;T*$<¥û ��� $��0+ 6��$ de6��$<ý%�D�� ��� Z��"H$�0 �-8: ý%*K�9�����")2de6��"�±½ ��� � �#����� '-------------------------------------------------- ' 1WIRE.BAS ' demonstrates 1wreset, 1wwrite and 1wread() ' pullup of 4K7 required to VCC from P.1 ' DS2401 serial button connected to P1.1 '-------------------------------------------------- Config 1wire = P1.1 'use this pin Dim Ar(8) As Byte , A As Byte , I As Byte 1wreset 'reset the bus Print Err 'print error 1 if error 1wwrite &H33 'read ROM command For I = 1 To 8 A = 1wread() 'read byte Ar(i) = A 'place into array Next For I = 1 To 8 A = Ar(i) : Printhex A; 'print output Next Print 'linefeed End

Page 33: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

Page 34: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

6��56!/�!56!�0���

������Ãóô��CD����!A ���

����#�[+'��M[ �� L[ ,-+'

$����&���� Ãóô�l�Z��q0e;<�� ���0e;�CD����>%V*�~�

uv���[+'�V / ,§¨(W©v���"&ÖñÑQJ�Wª ���[ �� �+,����

��� ����[ �� ;[ ,-+'

�#�������5,� - �5H$U!H������;$H1���[+'-�������V-����������V[ �� ����V'2��6������V[ ,-+'0e- �5�$<Q��>���9�V-����������V<����ÖQ$D#¢��� ���

[ �� /[ ,-+'¡³��V����QRv���- �50e�!<Q��>V'2��Z������V�¢

��� ���

7����7!�0����

������#D#2EF��(FA<�] ���

������#�F��,0�����]^¡#*���+��(�X���UX ,-���<2EF��(/��-� ��� )�����-�����*��X�����6�!;[\�]E�11�����3���6�;[$��6��!;�E����$���6���X ,-�������� �1

Page 35: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

7�� /$0!�

������)*jk.à�¾¿����++��<�~ ���

�����#�F���&��file

$����&��File ���++�����/1*���5��<�~�tu2È ���

�+,V%V)*jk�,��ºT*��=�)*jk<Á)*jk�

09çi���: ���'1*)*jk]^4euTZ)*jk��~4

euv���

2��'1KÅ¢e��>=3**���5�)*jkéÜ"e��QRÞ!

h������++�_*O^q��¢Wª ���

�#������'---------------------------------------------------------- ' (c) 1997,1998 MCS Electronics '---------------------------------------------------------- ' file: INCLUDE.BAS ' demo: $INCLUDE '---------------------------------------------------------- Print "INCLUDE.BAS" $include c:\bascom\123.bas 'include file that prints Hello Print "Back in INCLUDE.BAS" End

7�$0

� �������á�� !8*�210��:"���[£4����9�:Q� ���

����#�F����G�var

�$����&��Z�� ÐË(���8�� !:

Z���0e����Q£=QR���%4�ÐË(3��"���[£�>X�0S� ��L5m�2"�� ���

��q3���µÌ*¢ç2�ÐË(3��W��h���

������,ÐË((3����\º# !W���uv���8�¥ºT*N!!;Q!!;$"!!;

"R!!;R%!!;=Q!!;$="!!;N%R!!����:CD,%!&$)*+,���%4Á�e�Ð�(3��

?@�*�1Á�e"�� ����¥ºT*%!&$�,üÚ"?@�QR�$$�!&="�/>·�

""�$$%R�/>���%4<%��� ����áÁ�e���%4!��Wª�Q¢����

üÚW?@ ���������,�üÚÓ¾�B�N^�����üÚÓ¾�J�ç2ü>���

5e���Ì"?@�QRv���

���������X�0S� ��

Page 36: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

�#�������$BAUD = 2400 $CRYSTAL = 14000000 '14 MHz crystal PRINT "Hello" End �

7)�

�������

ÜIß�Q6kÑT7�?A��GHIJK�l+¼��0®Gõ��%�kXlm7��������

���

����#�1Gõ����½vt���

��

$����&����

���vt��b�°�P�Gõ��Ï�,��0�.C2�����##t��õ����vu�I#$º�������.A���GK���0%�

Gõ���0X�Yð�����

��������àJ��­I�

�#�������

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

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

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

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

�������������*� )��+�,#+�'��� �)����� ������'������%���� ����)����

�������������������������������'��� �)������� )�&�� ��'����-*."���'��

������������/�

��-0�����-0�1�����������1��!����

��-%��������������2�3�!������ �����!��������&�����'�����'�����

��-%�4�������������3���������& ���!����

��-%�+�������������3���'�5'������ �����!����

��-%�#������������6.��!����

��-%�1������������.���!����

���! � ���7��������� �� ����8����� �'���������������������� ��� ����.����'�6.�

�"���'��� �)�!�������������'��������'������(���7��7� ��(��!�����������������

�9� ��'�����$�:�&���������

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

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

��!�(������ �'�;��+��,�#+�3�-����;�-0�3���;�-%�4�3�'�;�-%�+�3�� ��;�%��

�'��������������7����& ��� ��'�&)�������*�

����<�����)���3�=�����)���

��

.�����-%�������������������������������������������������������>�&�����'����������%���� ����

�"���!� ����(����������������� ������'/�

��������������������������������������������������������������� �� ����(���������'���8��

�� ��"�<"��� �� ������ )�������8��

�� ���.�-?��� �� ������ )�����(������������

Page 37: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

�"�����������'��� �)���� � �)� ����� ��/�

���'�����

�� ���������� '�����&�����'�'��������������� ���'���������� ���

������������ ������'���'�)� ����� ���0�>�!�������������'�0�%��!��������� ���

�������0�3�0�

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

�����*��� ��@�

���'����������������8��)� ����� ������

��'�A?� ����� 'A�

�B�������������� ����������������������'C ���'��=� ����������������� ������

�B�������������! �������!��� ���(���(����������

�6������'��� �)����-�!� ���=� ���)� ����-�9B"������)���������� �����������������

����-�!� ���6�������������������7������!��������"�� ���� �)� ��������7��������!� ��

����������2�!� �������*��.�-?9��29�����"������7��������� ����7����� �����������

���8� ��������D��

�"��'��� �)�������2�!� ��)� � ��������?*6-9�������������������'�����<���'�=�����������

���������'�������������� �&� �����������'������������'��

�"������������� ���&��'�7�'�& ��&)�>�&��� �����������������)�����'��� �)����' �������'����

����������3���3�-��� ��0�

���'���� �������-��"�@�����!����E�����������������������( ����8� �

���7� ���!���������� ����������8� ���'�0�����������������8� �

����������& ��@�

2���<�;���"��0��

��2���=�;���"��0��

����-����<�3�=�3�0�

��B�8��

B�8��

�=� ��� '�����7���������

2���<�;���"��0��

��2���=�;���"��0���������

����-����<�3�=�3���

��B�8��

B�8��

������� �����������'���� �((����� '�&����'�������-��"�F�

�6����������(�������B�!��������������'� ����/���

��'�

� �&� �!����������� ���

-��� ��0/�

�G��2���� '�������'����!�������������!��'�!� ��

G&(!�A���� ��H����&(!A�

���������

Page 38: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

��

Page 39: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

7 %8�*�/

���������9���%4Á�e"xëì���

����#�F��9���&�G�var

�$����&��var ��%4Á�e

Z���0e����Q£=QR���%4�ÐË(3��"���[£4ÊË�� ���

X*�7-0� L5m�2"�����iÈ ���

���������X*�7-

��#�������$BAUD = 2400 $CRYSTAL = 14000000 PRINT "Hello" End

7�%���*�%*�� ���������9�:�]JK0��2(3%"Q� ���

������#�F���,������G������

$����&���11���� !�"&&���0e;����

�#�������

$NOINIT $NOSP $IRAMSTART = &H60 ' first usable memory location SP = 80 DIM I As Integer�

Page 40: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � �

70!��$/*9%���� ���������9�:7Àqde�¾¿"(0����¿�!AQ� ���

�����#�F����&�����,

$����&��(0��de"%���1�>de7À�6�(0��<Q��QR!A�+,<�� ���

deW+0�����=[£1�>+0��<Q� ��� )�����X- '�7� (0��-��(��+�����U�������(0��-��<��+0��+�����U����9�����1��+0��

7/�%)!

���������9�:2EF9,7GH��������m�<��4B<Q� ���������#�F&�� �

$����&��,7GH��������m�<�� ���

�����m�VÖQ"9���8�����m�VN9���:W2� ���

�����m�V2(3%�+`�"!R%����

� %=�"!&$V'����L'��[W"!R%�3*�Ì©v���QRY2(3%�³<éK��Wª�[¾�i������<���iÈ ��� ���

�#�������$LARGE 'I received an error 148 so I need this option

Page 41: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

7/ 0

���������ý%�%&���-É%)3�"fî�[¾1�("¢ç2ù���

������#�F&��GM_/Laddress

$����&���11���� 2(3%�¥(���-�É%)3�"OPWª1B�2È ���

���ý%19!�19#V��-����ý%-!�-#Ufî=2u2È

�����-�0�D#V¥(�2(3%�!�fî�iÈ ���

ÙK05��0���fî=2u�ÊË���ý%���-"K8�Á�

�iÈ ���2(3%É��W��-"78�!A ���

�#�������$LCD = &HA000 'writing to this address will make

'the E-line of the'LCD high. LCD "Hello world"

7��%!�4

� ����� ���9�:��������������=Q�R!A�Q� ����

����# ���� � �$����&�*0 �Y�V�93���P]<:�[¾1m�2"¢ç2ù��� X,5*0 �Ym�2"���>*0 �Y;<("Ì��QRÞ!h���

�������� ��#����� $NOBREAK BREAK ' this isn't compiled into code

'so the simulator will not pause End

Page 42: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

Page 43: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

7�����*

���������9�:)*+,=[��("¢çQR!AQ� ���

����#�F������

��$����&��*���5����q��CD,)*+,"=[� ���

F������L5�<("���i=[��("78 ���ÖQ%8�#�¢=[�=Z

��-m����qÊË��Y1=[��(¢¢ç2{���

������������#�������$NOINIT ..... 'your program goes here ..... End

7�����

������I#��vt����v��u�vº��½#��u��$�v$��$�$�®$#����$"�!����v$�#�M�M�

���9�:�Ö�!�KP�}z�®v$�t����fg���îU;��z_W�Þ>�ÊË�M�M�<�¥û�!A�

Q� ����®fg�îUW��0��Þ>�ÊË��

��

��

����#�1�J�H��

��

$����&��Ö��!�KP}e��fg���îU�;��z_W�Þ�>��H�<�¥û ����1�J�H��Q�2"�

���>�M�M<�¥û ����

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

�#�������J���

Page 44: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

7���$//

���������9�:�ßH�H���,�� ÜÜ�Y���á�;<�¥û�!A� ����

I#��vt����v��u�vº��½#��u��$�v$������!���ºv#��#½�����ßH�H��������$����

���

����#�1�J� ÜÜ�½��º�t"��

��

$����&���

º�t"�� M�É?��;����j�t�no1�ÊË�� O<�Q� ����

ß�������%�Õ��±½=2�u<���%�Õ<����[�¾�i��"tt��(W�@K=2�uv����

2A�ÊË��B<�£¿�R<��W�uv����b"�ç2�B�%�Õ<������é�GH<�¢ç2�

]C4����1�J� ÜÜ�½� O�<�Q��>��"tt�Ð��W�@K=Q�Rv����M�<�Q��i����

µ¶�>�£�Y*�û£h����

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

�#������1$#$"tt�½� O�

Ü!t3�

���������������v���

Ü!t+3�

1$#$"tt�½�M�������������������������������Æ$#���t��#���

���������������v���

7��%�� /!�%

���������9�:%5�C8�`:�JK0��<=[��QR!AQ� ���

����#�X,50���� �0

$����&��*���5�V�`DJK0��<E�2 ����910F<£¿RT>X,50���� �0

Q�2"�� ���

���������

�#������X,50���� �0G�2���1��������� �1

Page 45: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

7����

� ����� ���9�:%8=[;<���QR!A ��� �� ����# ���� ��$����&� ����V���q����CD�)*+,"�=[�� ����

=[�]C<MN�[£4ÊËF������L5�<("�� ���

ÖQ%8�#�/��-É%)3��=[�8��-W��qÊË¢:�(��0@^h��� F����L5�<(/�����i%8=[�"�QR<euv��� �������� *+�,+,� ��#������ $NOSP $NOINIT End

7�:�� ������#Hü7I��("-� ���

�����#�'��(��!)��$����&��J!¾^�£2��ýQ¿a�2å2����

Example $OBJ D291 ' this is equivalent to SET P1.1

Page 46: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

7%����;! ������ÙK0����!<Q� ���

������#�F��,��H��GM_/L��>�

$����&����>� ÙKL'�J�0���!

��

�#������

$ROMSTART = 4000 $RAMSTART = 0 $RAMSIZE = $H1000 DIM x AS XRAM Byte 'specify XRAM to store variable in XRAM

7%���*�%*�� ������ÙKL'��¾¿"Q� ���

�����#�F��,������GM_/Laddress

$����&���11���� ���W±½�2(3%;8$Q�e:����

ÙK0���,µ¶)*jk�P]=[£4��+,<

�� ���

Address: 0e ; ���. ��������F��,��H��

�����

�����t��

1�JK�H���½�4MMM�

1�HK�H���½�M�

1�HK­Þ��½�ÀàOMMM�

Page 47: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

7%!)��/!� ���������9�:�3Q%����<�Q� �����

)���!������Q�=Q�RT>�#�(�*��� ��������L���*+��,%��-.��,/+�"� �-.����0��,�

Q�1�3Q%���<��� ����

3Q%����V���4�)*+,��-.o*��W�uv�������

����#�)���!����1�23�"�2�����/4 5���!�"�V���4�3Q%������¼�����

)���!���V�2A�µ¶��I����9�Q�2���!�K��u2È� ����������������� ����������� ����������� ����������� ������������6��������(���������

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

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

�(���� ��������(��������� ��! ������ ��! � ������ ��!� ������ ��� �����������������������

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

�#�������70,//�%�����%,�+ ,8"�/�8�3, ���9��)���!������4��/�%��)���!����1�2� ������2��� 7:����9��� �������3�"���

7%���*�%*

������ÙK05��¾¿"Q� ���

�����#�F��,������GM_/Laddress

$����&���11���� ¥(�µ¶�(��]2(3%�2È ���

X05�� �0 ��©T>J�;T*!���h���

µ¶�("0���,L%��[¾�i��4euv���

�(�Q�q¾¿82(3%:���*(=2È�Z'�5

)*jk���Wª�!A�iÈ ���

'��)*jkV#�M�2(3%"� ���

X05�� �0 HR!!!�Q�=N�>'��)*jkV�`��m�<

���iÈ ���2(3%WN��R!!N<Q��iÈ ���jOQRT>

#�M����:P]�QRv���

���¼�)))�+,'#��<Ò#�iÈ ��

�#������

$ROMSTART = &H4000 ' ROM enabled at 4000hex

Page 48: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

7�!%��/���$*� ������������æ�<dÊQ� ���

�����#�F�����&������Glabel

$����&����9�� +,�7 GHT*K��_W2�4���=�2EF9)*jk�

�¼����¥(�,7�HPQ������_;�u2È ���

��_WMN¢Ï,7GH<+,�7 m�2*æ�éû ���

INPUT m�2� RETURN�((��e 13 ·� 16�e &H0D)� �� =2È -�h��. ����������F�����&���������

�#������

$SERIALINPUT = Myinput ' here goes your program

END

;�/$�%+:�<��=+� 3, /��9��%��&�&�40��,%��9� ���/,>�4���8:3��=�� �4"��%+:��8:33� ��,�400�� ���

7�!%��/���$*</ 0

� ����������9Q�2������*���Y�'Ï��������<��-É%)3�*

W!Aæ�éû ���

������#�F�����&�����%&��0������X� 0+��+,�7 UX� 0+��57 �<���i��_��·���)*jk<]^4e

uv���j9I��-"���tu�>X� 0+��+,�7 "��-"����B�*� ���

EXAMPLE

$SERIALINPUT2LCD Dim v as Byte CLS INPUT "Number ", v ' This will goto the LCD display

Page 49: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

Page 50: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � �

7�!%��/�$*�$*� �����������<æ�éû ���

������#�F�����&�������Glabel

$����&����9�� 1¤��_W���ýR8�*7':*�è���=�2EF�GH�

�¼����

�_�����uv���

�0+, ��æ�éûU�á������æ�éû�òñ=�m�V��_W]^1)*jk

GH�u2È ���

æ�éûV�����Y���_é����½¿"��WªSA�iì���

��

�#������

$SERIALOUTPUT = MyOutput 'here goes your program END

! myoutput: ;perform the needed actions here mov sbuf, a ;serial output buffer (default) ret

7��� � ����� �93��"¾1Y[8������:G)©��("@^ ��� � ����# ����

$����&� ��+ m�<�93��4�%V�³���B<ÊT4B������_�deI}%�

e�©�X�+�<���i��+ m��U�:µ¶=!A�i)*jk¤?�³<�c4e

uv��� �05��¢Ï)*jk<{2V<��¥(�X�+��<Ì��iÈ ���

������� � �#����� $SIM 'don't make code for loops

WAIT 2 'the simulator is faster now

Page 51: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

����

� ������z_��Y;<¥û ���

����#�5� �G����@var2B

�$����&��Z�� Z��"�;<�e�¨(·�Ôde�Q� ���

Z��" �e·�Ôde

Z���*��;+�����;���1;����Z��"�+�����;�����Y;V�0���e����

���������*���#������Dim a as Integer, c as Integer a = -1000 c = Abs(a) Print c End

�������

1000

�/����� ������de"��T*Q� ���

����#�newvar �&���, oldvar

$����&���5�16�� �$�$U�Vde�¼

,��6�� Q�=� *�de�¼

���W��¼<no1�ru��¼T*Q� ���

���������#������direction ALIAS P1.1 'now you can refer to P1.1 with

'the variable direction SET direction 'has the same effect as SET P1.1 END

Page 52: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

Page 53: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

�� ��� ������%�Õ<���++;T*dû ���

����#�5� �G����@stringrB

�$����&��Z�� 6����9���Ð��;�e�¨(de

Z�� %�Õde·�0e

Z���*��;+�����;���1;����������������;�������%�Õ�ã�_¢��h���

%�Õ����>!�¥ûh��������������/08:

��#������Dim a as byte, s as XRAM String * 10 s = "ABC" a = Asc(s) Print a End �������

65

�=)��� �������

G:����de*�O^q�����XY;<�¥û ����

��

����#�º���½�Hêõ®���®O����

$����&���

ê��� XY;<�±½4�de������

�H�®�� � �

��������KH�����K­��

�#�������

ßv����®OM��H��G����

ßv��!�����G����

Page 54: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

�#��!��½�O��#�OM�

����®!���½�!��

�����

!��½�Hº�®��®O���

��v$��!��

�$��

0��� �������e�¨(de;<*�-0e;T*dû ���

����#���������@varB&����@varB

��$����&��Z�� dÊ�ë�de

6��$�*��;+�����;���1;����;�������+"�EA½¿�*�-*;<±½ ����~e"���iÈ�Ò�:)Z�h���

*�-8:��Q[�!�u2ÈÉ%)3��B����

�GIß®���^���­��DÜIßw.%�qe�Z�[e12����Y���YW�Z�[��^�KH÷�GIß��

?A�����

�����������Y *�-;��Y - �

���#������Dim a as byte a = 65 LCD a Lowerline LCD BCD(a) End

�*1��*

� �����&�deW`�·��`�=�B<[�\���

����#����7����x�����A�����

��$����&��

Page 55: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

( *�de·�;�$�)�Z)�!K�#ÑQ

&�de"��4�})�]2���i+���+�h���

����������

��#������Dim a as bit BITWAIT a , SET 'wait until bit a is set BITWAIT P1.7, RESET 'wait until bit 7 of Port 1 is 0. End ���*+ ��+ �$�!;� ������������`�9�U=$;AB!*+ ��+ �$�!;0 � ������������`9�U=$;AB!

%!�4 � ����� �93��" :�[�¾1 b�q �(" ¢ç2�ù��.�� ����# �� � ��$����&��93���,73���#�"��4euv���j9I*0 �Y;<(���,!��4e

uv���

X,5*0 �YL5;<("���^�IÉýjW_�=N�>*0 �Y�<Ì������ �������� *+��-��. ���#����� PRINT "Hello" BREAK 'the simulator will pause now ..... ..... End

Page 56: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

Page 57: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

�//� ������,7GH<���tµ¶ ���

����#���&&������I@var1, var-n:J

��$����&��var1 *���5��de·�0e����

Var-n *���5��de·�0e����

Test ,7GH��¼�����ÊË ������

��������i)*��I,7GH<��4euv���

$!¤��DL�"é&4euQ¢�DL5©���!Wª ���

'���)����������������%������V��_é�T*º���B�Wª ��������<��42�W©��

��"�,7GH��""�� ���

�����<���QR<ÊË`�"©aÁ2È ���

b����0�2���8);�;>:�¥(�0�2���);�;>*�È ���

����������- ���0 ;�7*

���#������Dim a as byte, b as byte Declare Sub Test(b1 as byte) a = 65 Call test (a) �call test with parameter A test a 'alternative call without call statement End SUB Test(b1 as byte) �use the same variable as the declared one LCD b �put it on the LCD Lowerline LCD BCD(b1) End SUB

Page 58: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

-%��� ������Ð��;�e;¨(deI0e"�_*dû ���

����#����������@varB���G����@varB

�$����&��6�� Ð��;�e;¨(de·�0e

� %�Õde

%�Z�I��-�É%)3���_"��4��/08:"���iÈ ���

����������

��#������

Dim a as byte a = 65 LCD a Lowerline LCDHEX a LCD Chr(a) End

/�� ��������-�É%)3�"E�2�t;,"c¾¿�dv���

����#��&�

�$����&����-É%)3�"E�2 ���j9I�.�0���u���_é���_���2=QRv�������������X��-;��-

��#������Cls LCD "Hello" End

Page 59: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

Page 60: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �

���*

������ef 0e"7À ���

������#�-+�symbol���5,� value

�$����&�����9�� ef�¼

Z��2� ef�Q��e¿;

0e�Q�V)*jkL'�"���QRv���

���9�ef�I5²�;<Q� ���

���������

�#������ '---------------------------------------------------- ' (c) 1997-2000 MCS Electronics ' CONST.BAS '---------------------------------------------------- Dim A As Const 5 'declare a as a constant Dim B1 As Const &B1001 Waitms A 'wait for 5 miliseconds Print A Print B1 End

����)�

I#$½v���b�×Ø�D�,-x��«�Ã�,��å=i��j¤�����

���"%�+�����$,-�����$.���"%�+�����$/�0����1,2/��������!��������3���"%�+�������"%�+���������"%�+����4�"���"%�+�� �����"%�+�.5�$����"%�+�� ���"%�+������"%�+������"�����"%�+�5 ��6��+���"%�+�4��

Page 61: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

����)*��!%�5*��!%��� ������ +� 0!·� +� 0$<O^ ���

����#������ ��,��"H�57, 0� +� 0;.� H+, 0,��� ( 0,��;�5- H!�N

$����&������) +� 0!�� +� 0$�

+� 0)"�57, 0*���>�57, 0W=t +� 0)"

+� 0*���> +� 0Wh���

+� 0�JKEA<���Z�57, 0�ÙKEA<

�� ���

.� +, 0,���� ( 0,���+, 0,��U ( 0,��<Q� ��� ( 0,��<

Q��>+, ����1:��g�h�Wª ���

�5- �������2���'(!�N����_+1BV_�"Ýt�����

b"ç>�5,'+. +� 0!H�57, 0;.� H+, 0,��;�5- H"� +� 0!"ÙK:��

g�h<´W�QR���1�"8�2������1:i��'(*�� ��� �������2���W�Qq0�, �������2���"����B�3*D��¥(�� �0

+� 0)�<���iÈ ���

�5,'+.�<���[¾1_+1J�V)*+,�(]2òñ_�"Ýt�����

�#������CONFIG TIMER0=COUNTER, MODE=1, GATE=INTERNAL COUNTER0 = 0 �reset counter 0 START COUNTER0 �enable the counter to run DELAY �wait a while PRINT COUNTER0 �print it END

����)/ 0 � ����� ����# ������/���0�/��12

$����&� ��-��� ��-É%)3��-."78 ���

Q�=QRT>J�;V$QA"���� R!AR;$QA$;$QA";$QAR;$QAR;"!A"��"!AR

��#����� CONFIG LCD = 40 * 4 LCD "Hello" 'display on LCD FOURTHLINE 'select line 4

Page 62: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

LCD "4" 'display 4 END

Page 63: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

����)/ 0$� �

����� ��-���ý%�j<�� ���

�����# ��������������������� �� 0������

I#$���$�� 4��a�å0¿�4��L��a�å0¿�L®�����

E:���1ÜIßÁ���������D���?A������G"��åX�ÜIß��?A�9��«�G.©�4c%�

�������4 �a��å0¿�ÜIß�,�ß� ß44c{���������

���������

�'#5 ������

�!������

���������)***����������������������� �����

���� �����&������������������ ������

����)�$0

����� )*+,��� !"�� ���

�m�2�ÖQ%!&N&;%!&N#�,º�h���

� ����# ���������������34��

$����&� *�21��� *�21����2���R%!!��=Q!!

�#����� CONFIG BAUD = 9600 'use internal baud generator Print "Hello" End

����)�1�%! �

����� �� �����<����[¾1�������

����# ����������� ���2��

$����&� ��� �$�!U����W<Q� ���

�������

Page 64: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

&5-� ���6�&5-����6�&55-,�� ��#����� Config 1WIRE = P1.0 'P1.0 is used for the 1-wire bus 1WRESET 'reset the bus �

����)�0� � ����� 78�����,�-�W<�W ��� �� ����# ������������2��

$����&� ��� +"���-�D#�fî���W���� �á]C�,8)*jk'1;·�,7GH: *�W<�-�*Q�4euv���78���

dÊ=[é��1���1B�ñ �/�3*2AW�Q�0#W��0[k�iÈ

��� ������� ��+!,7� �/ ��#����� CONFIG SDA = P3.7 'P3.7 is the SDA line

����)� /

� ����� 78�����,���W��W�dÊ=�B<Q� ��� ����# �������������2��

$����&� ��� +"�����D#�fî���W���� �á]C�,8)*jk'1;·�,7GH: *�W<���*Q�4euv���78���

dÊ=[é��1���1B�ñ �/�3*2AW�Q�0#W��0[k�iÈ

��� ������� ��+!,7� �� ��#����� CONFIG SCL = P3.5 'P3.5 is the SCL line

Page 65: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

Page 66: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �

����)0!�$� ! ��

����� - *57,� ��,l3�5ê<�� ��� � � ����# �������� ���� ����

$����&� ��� ��Ö¾�z_0e���� -�9�2����³���=QRT>J�;V"&������ l3�5êV$"�/>�EmÁ�e"[\T*ñg1B����

������� �����+��

��#������ Config Debounce = 25 mS '25 mS is the default�

����)��� �

����� ��+��Y1W�� ��� � � ����# ���������������8�6��,+�0����6������0����6�� �0����6��/.�0����

$����&� -+, �����W�Z�$�!U�V��W�¼���� -57 �����W�Z�$�$U�V��W�¼����

�� Jno�W�Z�$�"/�V��W�¼����

��Y EAW�Z�$�NU�V��W�¼�����

������� �,,+� �,��� ��#����� ���� ���� ����'5%"�� #����,�*"��'�%����,�,"�������,�/"��������,���

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

Page 67: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �

����)/ 0��� �

����� ��-+,<�� �������)�5,'+.��-�+,;-*RH�$�$;-*&H�$�";-*QH�$�N;-*#H�$�R; H�$�&;0�H�$�Q0�������$�$�VÖõ1��b���� )������5,'+.��-�+,;-*RH�$�$;-*&H�$�";-*QH�$�N;-*#H�$�R; H�$�&;0�H�$�Q

����)1�* -0�) �

����� �� %=�%"&"�¨¿Í5�ú"�� ��� �����# ���������!�����0��

$����&� ��� �³0e;�Ö¾����������;���Wª ���

$Q;N";QR;$"%;"&Q;&$";$!"R;"!R%� ¨¿Í5�úWP]=>Q�q�³��`�?@ ��� b"ç2"!R%*��1ÊË"=D��`�?@h���CD,)*jk�,Á[ºT*¨¿Í

5�ú"�`�Á2È ��� ������� ��-��5���9��76� ����5���9��76�-� ��� ��#����� '----------------------------------------------------- ' (c) 1998 MCS Electronics ' WATCHD.BAS demonstrates the AT89S8252 watchdog timer ' select 89s8252.dat !!! '----------------------------------------------------- Config Watchdog = 2048 'reset after 2048 mSec Start Watchdog 'start the watchdog timer Dim I As Word For I = 1 To 10000 Print I 'print value ' Reset Watchdog 'you will notice that the for next doesnt finish 'because of the reset

'when you unmark the RESET WATCHDOG statement 'it will finish because the

'wd-timer is reset before it reaches 2048 msec Next End

Page 68: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

Page 69: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

�$�*!%9�� �������5, 0!·��57, 0$<����I;e� ���

%!&" +� 0"�ûJ�,�57, 0""��4euv���

����#��������"�Gvar ��varH�������

$����&��(��� Ð��;�e�¨(de·�0e�Zi���Q�h���

IJ �����IJ �����IJ �����IJ ��������� IJ ����M�IJ ����O�k^�IJ ����+�

��2���(H!�i��"�` ���

��1�"�,i���!K�"&&ÑQi�p ���8%�&�üS�*('(:

'($8$Q&�:�,�Q&&NQ����

IJ ������de��GHIJK�,��­K��DIJ ����3Q%�"�����I�;<�W��ü[¾1�

m������IJ ����M�½��ÜM�/��àM��3*�IJ ��������Oi&����������

IJ ������de"���1�D����H���IJ �����m�<����i�i��"��]�i�

�����

Æ �

Æ���������������������®u��ORR� +MMO�KI��t�u��#$vu��

Æ �

Æ��½vt�3�IJ �����GH�

�����#3�IJ �����

Æ �

Æ�����I#$$�u�������v����v$�"���í�4��#���½��Â"�$u����$����#��

Æ�����Ã�­K��DIJ �����O�v��"����½#��� +í+�!�"���������$����#��

Æ �

ßv��H�H��G�����I�H��­$������

I#$½v���v���M�½�I#"$�����õ����½�­$���$�t��K#���½�O�

Æ�v���M�½�u#"$����3��v���M�#�������������u#"$����

Æõ����½�­$���$�t��3�$#������$�t������u#$��#t�

ÆK#���½�O���������3�Oi !v��u#"$����

I#"$���M�½�M����������������������Æut����u#"$����

�����I#"$���M���������������������$�!t������u#"$�����#�u#"$��

ß#�������������������������������������Æ����"����t##��

��H�½�­$����������������������������Æu��u��½#��v$�"��

��I�½�I#"$���M��������������������Æ����u#"$����º�t"��

����v$��I�������������������������������v$��v��

�������I#"$���M�������������������� ������v��!�u�"���v��_�����#�����!���uu���v$������IJ �����

Ü##�� $�vt�H�½�+�����������������Æ"$�vt���u����v����������

�$��

����b��2EF9*�dûq��("��iì����

IJ ����M�½�OMMM�

¢ç2���(3�

It���IJ��4�

K#º��tM�Ä+í+�

K#º���M�Äí�

Page 70: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �

�!!4��

� ����� �(L'��u�;<¥û ��� � ����# (������� �����44����� ��É5*)*jk<*{4ÊËD#�w�Ì1V©v���j9ID#q%!�_"ν ���

�$����&� 6�� Q�q2(3%�)*jkL'�*K�W�r���"±½4de �11���� 2(3%¾¿"I5J�z_;� �05�)*jkL'������"sV<e©[�����5Y m�V©v��� �

�������� ���.6���.�6�,+�6���� ��#����� '----------------------------------------------------- ' (c) 1998 MCS Electronics ' PEEK.BAS ' demonstrates PEEk, POKE, CPEEK, INP and OUT ' '----------------------------------------------------- Dim I As Integer , B1 As Byte 'dump internal memory For I = 0 To 127 'for a 8052 225 could be used ' Break B1 = Peek(i) 'get byte from internal memory Printhex B1 ; " "; 'Poke I , 1 'write a value into memory Next Print 'new line 'be careful when writing into internal memory !!

$%��%� ��������-�;,�0"�� ���

����#�����������A��������&��4�A����&��4

Page 71: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

$����&�5,�I5''/*�+,Y·�,5*�+,Y"P��Q�4euv���

=[t5,U,5*�+,Y*��=2uv�������������-+����S

��#������Dim a as byte a = 255 LCD a CURSOR OFF 'hide cursor Wait 1 ' wait 1 second CURSOR BLINK 'blink cursor End ��i)u ;<Q� ���

����#����var [, varn]

$����&���Z�� z_·�%�Õ0e

�e/¨(;V¥(�^[�*×IÈ ���

Ô0e�¥(�_*×IÈ ���

Ö�!KP}e�0e8������:V¥(�W*×IÈ ���

��������0 �-;0 � 50

�#������DIM a AS BYTE, I AS BYTE, L as Long S, As XRAM String * 15 RESTORE Dta 'point to data FOR a = 1 TO 3 READ a : PRINT a ' read data and print it NEXT RESTORE Dta2 'point to data READ I : PRINT I READ I : PRINT I RESTORE Dta3 READ L : PRINT L Restore Dta3: Read S: Print S END DTA1: DATA 5, 10, 100 DTA2: DATA -1%, 1000% ������������� ������!�������"��#��#��$%������&�������'�(�����)�**+��DTA3: DATA 12345678&� ���,�����!�������"��#��#��-%������

Page 72: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

�DTA4: DATA "Hello Word" REM You can also mix different constant types on one line DATA "TEST", 5, 1000%, -1&, 1.1!

Page 73: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

0!�$� ! �

����� %¾¿�fî=���W�ÉÐ�%�� ��� � � ����# � ���� ���:�1�6����6�������'�6� ��;

$����&� �)�� �$�!U�V��W���� ��� !�>�);�W*Ë0��;j�t$�>�);�W��0��

�) �� ��9�� Q�10Wô�=N<�.5 5�Y1Da���� �7* Q�10Wô�=N<�.5�7*�Y1Da���� 78º�DL5#�7*"Q��^<ÊË.5 5Y��.5�7*�Y1Da80�2��T*-�=�

,7GH:�2� ��� - *57,� �V��W���8$:·�*Ë8!:��ÑQY[ ���

"&���D�����0"Ò# ���8%¾¿�v�Õw�xÌ�:- *57,� �V¤oº#$¤���Y�i$¤&�L'�"�� ��� ������� ��+!,7������+��

�#����� '----------------------------------------------------- ' DEBOUN.BAS ' Demonstrates DEBOUNCE '----------------------------------------------------- Config Debounce = 30 'when the config statement is not

'used a default of 25mS will be used 'Debounce P1.1 , 1 , Pr 'try this for branching when high(1) Debounce P1.0 , 0 , Pr , Sub

' ^----- label to branch to ' ^---------- Branch when P1.0 goes low(0) ' ^---------------- Examine P1.0 'When P1.0 goes low jump to subroutine Pr 'P1.0 must go high again before it jumps again 'to the label Pr when P1.0 is low Debounce P1.0 , 1 'no branch Debounce P1.0 , 1 , Pr 'will result in a return without gosub End Pr: Print "P1.0 was/is low" Return

Page 74: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

Page 75: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

0! %

������de�;<$y} ���

����#����var

$����&��Var �e�¨(·�Ð��de����

de;<$y}4��� �������V6��H6��?$��U"���

��������U��������������������������������������������������������������U8�:$==#�"!!$��� ���������U��������������������������������������������������������������U3����- �0�*��U-����- �0U��������������������������������������������������������������-�����*���H&U������6��2���-����U1�������89����:�����U����� �1

0! /�%!�$

������,7GH<7À ���

����#���&�������������I86�������:L

�$����&���� )*����¼����

Z�� de��¼�ZXY$!¤ÑQ´� ���

��� de��Z&�;Ð��;¨(·��ede

����

,K)*��"[z�[é�¥(�7À�iÈ ���

���������;

��#������Dim a as byte, b1 as byte, c as byte Declare Sub Test(a as byte) a = 1 : b1 = 2: c = 3 Print a ; b1 ; c

Page 76: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �

Call Test(b1) Print a ;b1 ; c End Sub Test(a as byte) print a ; b1 ; c End Sub

0!���*50!��*50!�8*!50!�1�%0

������de�<7À ���

����#�- '*+ 9- '*S �- '+, +- '�50-)

�#������Defbyte b : DefInt c �default type for bit and integers Set b1 �set bit to 1 c = 10 �let c = 10

0!�/ 0 -�%� ��������_t����-�_"�� ���

����#���&��������1� + :+ %+ ;+ (+ '+ K+ *+ 6

�$����&��char Ð��;�e�¨(de·��_"I5J�0e8!�#:

r1-r8 �_��8���:;

�����*��;+�����;���1;����;�������$��%�0e��-�_�ñ¾�("���i��-�_"�ñ4euv������������� 1���-1�������

��#������DefLCDchar 0,1,2,3,4,5,6,7,8 'define special character CLS LCD Chr(0) 'show the character End

Page 77: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �

Page 78: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

0!/�8

������{V�³�Qf)*jkµ¶

����#�- ��S

$����&��{V�³<Y[�[¾�i- ��S"�� ���

�%|Á�eW$"�#ÊËl3�5êV$!!2�WÖ¾�³����

����������+ ;��+ ��

�#������P1 = 5 �write 5 to port 1 DELAY �wait for hardware to be ready

0��

������de�Ú£7À<7À ���

����#��,var���I���,�A����,Jtype

$����&��6�� ��������;T;9$U�V2A�/1de

��� &�;Ð��;¨(��e·�%�Õ

(0�� de"ÙKL'��±½4�(0��<Q�1��

+0�� de"JKL'��±½4�+0��<

Q� ���8J�¿:

%�Õde�w��DL5"�O ���-�����(0�������A$!V$!¤��_*%�Õ�

O^}<I5ù���

*+ ��JKL'��¢±½h���

��� ����5,� ; 0��

�#������Æ �

Æ���������������������®u��ORR� +MMO�KI��t�u��#$vu��

Æ �

Æ��½vt�3�ß­K�GH�

�����#3�߭K�

Æ �

ßv��GO�H��Gv����������������������������������������Æ!v��u�$�!��M�#��O�

ßv��H�H��G������������������������������������������Æ!������$���½�#��M +NN�

ßv��I�H��­$�����������������������������������������Æv$��������$���½�#�� í+�i�� �Ýí+�iL�

ßv��Ü�H��Ü#$��

ßv���H��v$�t��

ÆH��v�$�!v���

Page 79: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

GO�½�O����������������������������������������������Æ#��

���GO����������������������������������������������Æ"�������

ÆH��v�$�!�����

H�½�O+�

H�½�H�Ý�O�

ÆH��v�$�v$������

I�½� O+�

I�½�I�Ý�OMM�

��v$��I�

ÆH��v�$�t#$��

Ü�½�O+í4Ni�L�

��v$���

ÆH��v�$��v$�t��

�½�O+í4�Ni��

��v$���

�$��

0���/!�

������Q�1#�M(���<¡Q ���

����#�����&�interrupt

$����&��Interrupt ���<;���:;�����&;��,��<;��,��:� ���,��%�

=[0��J�;T*'Ï#�M��~Q=2uv���

'Ï#�M�"~Q�§ë>����������"Q� ���

�������� ,�*�

�#������ENABLE INTERRUPTS �enable the setting of interrupts ENABLE TIMER0 ' enable TIMER0 DISABLE SERIAL �disables the serial interrupt. DISABLE INTERRUPTS �disable all interrupts

Page 80: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � �

Page 81: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

0���/�8

��������-�É%)3�"��·��33 ���

����#����&�9����L����

��$����&��é£5,�É%)3��5,h���

����������

��#������Dim a as byte a = 255 'assign variable LCD a 'show on LCD DISPLAY OFF 'turn display off Wait 1 'wait 1 second DISPLAY ON 'turn in back on End�

0���/���� ������Ãó�Ý8 07 :<¢�4�ÑQµ¶��FA<¥Pµ¶ ���

����#����������&����I�����&expression J�

$����&�� (+ -5����i-5���55�"U�IÇeuv���

��������;;;

�#������DO �start the loop A = A + 1 �increment A PRINT A �print it LOOP UNTIL A = 10 �Repeat loop until A = 10 ���

Page 82: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

Page 83: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

!/�!�

������+'� / ,����8'��� :��µ¶=�KÅ<I5ù���

����#��&���

$����&�·�áÃó<ô�4� �� +'�<�� ���+'�H$ / ,��� �� +'�H" / ,�� �� +'9$I� / ,��� �� ��� ,-+'

��������+'; ,-+';� � � ���

�#������A = 10 �let a = 10 IF A > 10 THEN �make a decision PRINT " A >10" �this will not be printed ELSE �alternative PRINT "A not greater than 10" �this will be printed END IF

!��/!� ������Q�1#�M�"Wª�: ���

����#�����&�interrupt

$����&��Interrupt ���<;���:;�����&;��,��<;��,��:� ���,��%�

����'Ï#�M����0W����

,�*� +, 007� �����iQ�1#�M�WWª0*h���

��������

�#������ENABLE INTERRUPTS ' allow interrupts to be set ENABLE TIMER1 �enables the TIMER1 interrupt

Page 84: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

!�0�

������)*jk�µ¶<-� ���

����#����

$����&������V ,-/��)*jk<-� ��� ,-·�� 5��V'Ï#�M�"¡Q�t®1G)0*h���

��������

�#������PRINT "Hello" �print this END �end program execution

!�0����

������+' / ,OÃ�-�"I5ù���

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

$����&��+' / ,OÃ�¥(� ,-+'*×IÈ ���

+' / ,�<J�4euv���

�� "78ºT*��4euv���

,-+'� ,-+'*dûh���

�#������Dim nmb As Byte AGAIN: �label INPUT "Number " , nmb �ask for number IF a = 10 THEN �compare PRINT "Number is 10" �yes ELSE �no IF nmb > 10 THEN �is it greater PRINT "Number > 10" �yes ELSE �no PRINT "Number < 10" �print this END IF �end structure END IF �end structure END �end program

Page 85: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

Page 86: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

!%��!

� ����� deW}�h���CD,L'�W�Qh���8�áde"���[¾1i�L'�W�W: �

����# �� �(�� �

$����&� (��� }�=�de��¼ }�=[é�de�¥(���=2u2È ��� ��ºT*de"��1ÊË}�4euv����O:�>L'�"�c4euv��� de�}���0�Q[T*��qB¢Wª ���CD, *�-+����=>�de"

°�}��iÈ ���

b"ç2� -���$��9��;�"��9��;�N��9��;�R��9�� U2����6��� 0�� �N� 0�� �R U�Q["¤�de"}� -���&��*��U-�����6���Ì�$U�"�}��Qå ������

�#����� DIM A As Byte 'DIM variable A = 255 'assign value Print A 'PRINT variable ERASE A 'ERASE DIM A AS INTEGER 'DIM again but now as INT PRINT A 'PRINT again REM Note that A uses the same space a the previous ERASED var A so REM it still holds the value of the previous assigned variable

!9�*� ������'50��, ( ;-5���55�;�/+� ��� ,-·��7*�� ,-�7*�,U�I����

����#�����M���LM�LM7��&�LM���L

$����&�� (+ V2�1ÊËÏOÃ���,U�I����

�#������IF a >= b1 THEN �some silly code DO �begin a DO..LOOP A = A + 1 �inc a IF A = 100 THEN �test for a = 100 EXIT DO �exit the DO..LOOP END IF �end the IF..THEN LOOP �end the DO END IF �end the IF..THEN

Page 87: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

��%� ������Q�qe¢�FA�µ¶<¥P ���

����#����varHstart���A��7���end M����6��2�L

$����&��var ñe����de�¼����

Start de�=[�];����

End de�-�;����

Value de�, ( �<¢²����Wh���

Z���*��;+�����;���1;����;�����������*��;+�����;���1;����;������;��������1�*��;+�����;���1;����;������;����������*��;+�����;���1;����;������;�������WG)� 5"�� ���

y}G)�-5�, 5"�� ���

'50�V¥(�, ( �T*×IÈ ���

� �V78������Q��QRT>$���h���

��������

�#������y = 10 �make y 10 FOR a = 1 TO 10 �do this 10 times FOR x = y TO 1 �this one also PRINT x ; a �print the values NEXT �next x (count down) NEXT �next a (count up) END

��$%*-/��!

��������-�R�äÆ�;,Wü: ���

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

�$����&����-É%)3�WRÆ#ÊË��qh���

���������/5� ;7�� 0�+, ;�5� 0�+, ; /+0-�+, ;�5��

��#������Dim a as byte a = 255 LCD a Fourthline

Page 88: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

LCD a Upperline END

�$���) � ����� KP}e��;<l������ � ����# 6��H'2����8��2���;����: $����&� Z�� îU"±½4%�Õ���� ��2��� ��4KP}e�de���� ���� ���%����[[[�[[

[K��ÉQ�}e��é_�e/�D_�e"�����

�� ���,�����D���º�h���

������� STR )�����X�����-��(��������;S��������;0��2���������-��+��+�����-��*23�������A$Q+��2V ���)V;(U���3��"6��2��+��2V ����V;S����V(BSHVE�0��2�H(BS�����0��2�U����2�������V(�SHVE�0��2�H(�S�����0��2�����V(�SHVE�0��2�H(�S�����0��2�����V(ASHVE�0��2�H(AS�����0��2�*23H'2����8���2�;[�[[:U3��������������*23U�����

Page 89: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

Page 90: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � �

)!*>�$*�*��!�$* �����})�]27�0 �,�_"W�+�������). [�������;6��0������������� ü�v�<Q�����8��e:����

Z�� })�]27�0 �,W�r�_"±½4de����5� ,����iv�<��Wª0*���iÈ ���·1)*jk��Q[���5�

�<���iv�<�ÞÈ ��� +� 57 �<���iÞ®��_W��=QR�<�

U�Iü!A4euv�����������7 X +� 57 )�����-����������A$";+��*��;���*��;-2���*��5���V���N�$�=Q!!V'��52�2��[$U�N�$����������2��13�� (�������������5���V���N�!�=Q!!V'��+��2��["U�N�!����������2��13��0(��������������HV�����VU�����������-2�H���8�:U��������3�����'��+H$ �-2�U3��������������3�����3������H��18�;+;$:U�����������2[$;�U������������,�)-�.�[";�U����������3����������2[$;�U�����9��������U2�����������������������9��[$;�U����9���������2�����1+��29��[";�U+��29���������2�����1�����[$U3�����������1�6��������[" �1U �2���� +� 57 ���������21�8����2���������:�UX +� 57 U.�[";� +� 57 H$!!!!U����������3���������

Page 91: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

)!*�0<���

������%=�"!&$·�%=�R!&$�)*+,�,������;<W�+���

����#�6��H. �-"!&$8:

$����&��6�� ��-;<±½4de����

��. �-"!&$8:����������[ª<W�%=�"!&$U%=�R!&$)*+,�¢º�h���

j�U�V�(]2O^<�iÈ ���

. �-"!&$8:�±��'�,��é�7<���i������;<)�æ��3*bÌ"Ýt�i

M7^�Iü!A-��;<Ã��iÈ ���Q&���-gý�*���Wª ���

����������#�����X���3���HV%=�"!&$�1�V-�����*��-��H.��1"!&$8:�H����2�8�;-�:��������� �1U����9�����6�����6��2����������1*�-6��2�

Page 92: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

U���6��2����9�2��1�1��������6��2���"#�������1�������-��-��!U!!�!!!-��$U$!�!R#-��$U"!�!=N-��"UN!�$N%-��"UR!�$%R-��NU&!�""=-��NUQ!�"#N-��NU#!�N$#-��RU%!�NQ$-��RU=!�R!R-��&U$!!�RR#-��&U$$!�R%=-��QU$"!�&N$-��QU$N!�&#N-��QU$R!�Q$R-��#U$&!�Q&&-��#U$Q!�Q=Q-��%U$#!�#NQ-��%U$%!�##Q-��%U$=!�%$&-��=U"!!�%&R-��=U"$!�%=N-��_/$!U""!�=N$-��_/$!U"N!�=Q=-��_/$!U"R$�!!Q-��_/$$U"&$�!RR-��_/$$U"Q$�!%!-��_/$$U"#$�$$#-��_/$"U"%$�$&N-��_/$"U"=$�$%=-��_/$"UN!$�""R-��_/$NUN$$�"Q!-��_/$NUN"$�"=&-��_/$NUNN$�N"=-��_/$RUNR$�NQN-��_/$RUN&$�N=#-��_/$RUNQ$�RN$-��_/$&UN#$�RQR-��_/$&UN%$�R=#-��_/$&UN=$�&N!-��_/$QUR!$�&Q"-��_/$QUR$$�&=R-��_/$QUR"$�Q"Q-��_/$#URN$�Q&#-��_/$#URR$�Q%%-��_/$#UR&$�#$=-��_/$%URQ$�#&!-��_/$%UR#$�#%!-��_/$%UR%$�%$!-��_/$=UR=$�%R!-��_/$=U&!$�%Q=-��_/$=U&$$�%=%-��_/$=U&"$�="#

Page 93: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

-��_/"!U&N$�=&Q-��_/"!U&R$�=%R-��_/"!U&&"�!$"-��_/"$U&Q"�!R!-��_/"$U&#"�!Q%-��_/"$U&%"�!=&-��_/"$U&="�$""-��_/""UQ!"�$R=-��_/""UQ$"�$#Q-��_/""UQ""�"!"-��_/""UQN"�""%-��_/"NUQR"�"&R-��_/"NUQ&"�"#=-��_/"NUQQ"�N!&-��_/"NUQ#"�NN!-��_/"RUQ%"�N&&-��_/"RUQ="�N#=-��_/"RU#!"�R!R-��_/"RU#$"�R"%-��_/"&U#""�R&"-��_/"&U#N"�R#Q-��_/"&U#R"�R==-��_/"&U#&"�&"N-��_/"QU#Q"�&RQ-��_/"QU##"�&Q=-��_/"QU#%"�&=$-��_/&!U#=&�!!!-��_/R=U%!R�=&N-��_/R=U%$R�=!#-��_/R%U%"R�%Q"-��_/R%U%NR�%$Q-��_/R#U%RR�##$-��_/R#U%&R�#"#-��_/R#U%QR�Q%N-��_/RQU%#R�QN=-��_/RQU%%R�&=Q-��_/R&U%=R�&&N-��_/R&U=!R�&$$-��_/RRU=$R�RQ=-��_/RRU="R�R"#-��_/RRU=NR�N%Q-��_/RNU=RR�NR&-��_/RNU=&R�N!R-��_/R"U=QR�"QR-��_/R"U=#R�""R-��_/R"U=%R�$%&-��_/R$U==R�$RQ-��_/R$U$!!R�$!#-��_/R!U$!$R�!Q=-��_/R!U$!"R�!N$-��_/R!U$!NN�==R-��_/N=U$!RN�=&Q-��_/N=U$!&N�="!-��_/N=U$!QN�%%N

Page 94: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

-��_/N%U$!#N�%R#-��_/N%U$!%N�%$$-��_/N%U$!=N�##Q-��_/N#U$$!N�#R!-��_/N#U$$$N�#!&-��_/N#U$$"N�Q#$-��_/NQU$$NN�QN#-��_/NQU$$RN�Q!N-��_/NQU$$&N�&Q=-��_/N&U$$QN�&NQ-��_/N&U$$#N�&!N-��_/N&U$$%N�R#!-��_/NRU$$=N�RN%-��_/NRU$"!N�R!Q-��_/NRU$"$N�N#R-��_/NNU$""N�NRN-��_/NNU$"NN�N$"-��_/NNU$"RN�"%$-��_/N"U$"&N�"&!-��_/N"U$"QN�""!-��_/N"U$"#N�$=!-��_/N$U$"%N�$Q!-��_/N$U$"=N�$N$-��_/N$U$N!N�$!"-��_/N$U$N$N�!#N-��_/N!U$N"N�!RR-��_/N!U$NNN�!$Q-��_/N!U$NR"�=%%-��_/"=U$N&"�=Q!-��_/"=U$NQ"�=N"-��_/"=U$N#"�=!&-��_/"=U$N%"�%#%-��_/"%U$N="�%&$-��_/"%U$R!"�%"R-��_/"%U$R$"�#=%-��_/"%U$R""�##"-��_/"#U$RN"�#RQ-��_/"#U$RR"�#"$-��_/"#U$R&"�Q=&-��_/"#U$RQ"�Q#!-��_/"QU$R#"�QR&-��_/"QU$R%"�Q"$-��_/"QU$R="�&=Q-��_/"QU$&!"�&#"-��_/"&U$&$"�&R%-��_/"&U$&""�&"R-��_/"&U$&N"�&!$-��_/"&U$&R"�R##-��_/"RU$&&"�R&R-��_/"RU$&Q"�RN$-��_/"RU$&#"�R!=

Page 95: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

)!*% � ����� ±�·������;<W�+��� � ����# (���0�� ����2���

$����&� Z�� ��;�±½�de���� ������� 0�Wfîq��W���� 0���� JK���Ó¾����

ÖQÖQÖQÖQ�6<':'�////��û�û�û�ûJJJJ�����º�h��º�h��º�h��º�h��>�

�������

����#������U�����������������������������������������������������������������������U. 0��*��U0����6��������6��2�U������$!Y���6����9���������3���B&Z��$�#3������)�����U������$!�'��������3����$�#����2�1U ��. 0�8���:32���������2�����������1�1�����������������U��������������������������������������������������������������������������3�� ����!H ����;.��H+������;��1�H$U��. 0�8:32���������1�����!���3��.���H$!U$!�����3���������������������

U �������1�3�2���3��$!���5,'+.�������1�1X9�21H=Q!!UT2���������X������H$$!&="!!-��������1U������������3��6����9��-�U3���6���H.���8�$�#:U��0�6��2������U��������$U�������������U��2��6��2��3�����H$!�'� ���������6��2�����������2��1����-Z�U"&!3��$!Y=U$=%3��=Y!"

Page 96: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

U$%"3��%Y!RU$QQ3��#YU$&R3��QY!"U$N%3��&Y!RU$""3��RY!RU$!Q3��NY!QU%Q3��"Y$QU&R3��$Y!!U""3��$=%���U$%3��$&!���U$!3��$!R���UQ3��$���8�����2�:U����2��������������������9����������U����2���1��������������������6��2�U*2��32�����������1�1����6������2����1������3���������6��2��US�2��������������������������������6��2���U���$!�';����2��6��2�3������9��

)!*% �� ������0�&ºÙ7½¿*K��(/,72(3%"W�+���

����#�. 0�&8�11����;������1:

��$����&��address e�q0�&2(3%����

Command e�q0�&;<(����

�àH��?,�Ö^U��(Z��àNMi íi%��í�+7������?A�����

.�w.b�­��M��?A�����

Æ �

Æ�����������������������IN�GH��®u��+MMM�KI��t�u��#$vu��

Æ��u#$$�u���àNMi íi�­� ��u�vº����#��J���í�+�®­��M��

Æ��u�##�������u#���u���#���½�#������I#��vt���­+I��HG��­$�M���#"t����º���í�+��v$�

��J$�#�����u�v���v���v����!���$#������v$�

Æ �

ßv����_�H��Gv��

ßv��I#���$��H��G�����"!��������H��G����

�������u#$�M����������������������������������������������������v�������!���v�v$�������

J$�­$�M���u�vº��uN�

�$�!t��­$�M�

�$�!t��­$����"����

ß#�

��­½���_�½�O����$���������������������������������������������Æ��u�vº���$�_�u#���

�����ßv��!t��­$�M�

�������v$��I#���$��¸������¸�"!��������

�������_�½�M��������������������������������������������������Æ������$�_�!v��

������$�!t��­$�M�

���$��­½�

Page 97: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

Ü##��

��u�vº��uN3���������������������������������������������������Æv$����"����#"�v$��

��Æ��������uN��#"�v$��"����íM�!�����Å�#½��������u��½#������"�v$��

��Æ����v$���º�t�!��_��$�����!v���

��õ���uN®"!�������u#���$���

����_�½�O�����������������������������������������������������Æ����½t���

���"�$�

)��$�

������,KGHT*Å[�iµ¶ ���

����#� ����label

$����&��label Å[4¾¿�Da����

,KGHV¥(�0 70,�T*×IÈ ���

��������

�#������GOSUB Routine 'branch to routine Print "Hello" ' after being at 'routine' print this END 'terminate program Routine: 'this is a subroutine x = x + 2 'perform some math PRINT X 'print result RETURN 'return

)�*�� ������Q�qDa*Å[ ���

����#� �����9��

$����&��DaV¥(�N"�_�J�2È ���

Da<¡P���>���9�ÊtL+QWI+���

��������

Page 98: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

�#������Start: �a label must end with a semicolon A = A + 1 �increment a IF A < 10 THEN �is it less than 10? GOTO Start �do it again END IF �close IF PRINT "Ready" �that’s it

-!9��� ������$Q�e;<%�ÕT*dû ���

����#�var��G����@�x��B

�$����&��Var ±½�%�Õde�¼

X *��;+�����·����1de

���������

�#������ Dim a as Byte, S as String * 10 A = 123 S = Hex(a) Print s End

-!9=�/�� ������$Q�e��%�Õ<z_;T*dû ���

����#�var��G����=�&@�x��B

$����&��var ±½�de�¼

X dûWª1$Q���%�Õ

���������;� 0

�#������Dim a as Integer, s as XRAM String * 15 s = "000A" a = Hexval(s) : Print a End

Page 99: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

-�)-

� ������de�0¾Ð��"�� ���

����#�var��G��� �@����B

��$����&��Var de��0¾Ð��"±½4de

s ��*"W�Ç}%de

��������

���#����� Dim I As Integer, Z As Byte I = &H1001 Z = High(I) ' is 16

-�)-1

����

�������

í+&���e�de�,�0¾�Oi&�����"�W�+����

��

����#��

º���½�à­õà�®�����

��

$����&���

ê��� Oi&�����W�±½��e�u���J�ß�·��­���õ����de�2È� ����

� í+&��Ü#$���de�����

���������

ÜJ��� à­õà� ÜJ���

�#�������

ßv��­�H��Ü#$���Þ�H���#���

­�½�ÀàOMMOOMMO�

Þ�½�àv��®­��

Page 100: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � �

-��!� ������;,"Q�qD#�$�便�ü!A ���

����#���,��������A�&�7���A�����A�������

�$����&��ÖQ/5� ¢��1ÊË;,�<�Æ�+���

/5� 7/��Æ<I5J�ã�ä�_¢��4e!uv���

������������;�5�� ;��-

��#������Lowerline LCD "Hello" Home Upper LCD "Upper"

�< %! !�=!� ������+"�M�½¿*K����"e� ���

����#��%������=����6�;6���%������=����6�;-� �;9"�;9"0

$����&��slave Ð��;¨(��edeIz_;T*+"�ÉÐ�%*K�����6�

;

Var Ð��;¨(��ede�Z+"�ÉÐ�%*K�ü���"

e� ���

B2W sV[Ð��¤e

�®%Ve�Ð��"Q��>�h���

B2R )[���e

�®%Ve�Ð��"Q��>�h��� �m�Vc³�KWº#�(]2�,P] ���

��������

�#������x = 0 �reset variable slave = &H40 �slave address of a PCF 8574 I/O IC I2CRECEIVE slave, x �get the value PRINT x �print it Dim buf(10) as String Buf(1) = 1 : buf(2) = 2 I2CRECEIVE slave, buf(), 2, 1 ' send two bytes and receive one byte

Page 101: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � ��

Print buf(1) ' print the received byte

�< �!�0� ������+"�}_*���"5� ���

����#��%�������6�;6���%�������6�;-� �;9���

$����&��slave +"�ÉÐ�%����72(3% Var Ð��;�e�¨(·�z_�Z+"�ÉÐ�%*5��z_; Bytes 5�4Ð��¤e �m�Vc³�KWº#�(]2�,P] ���KA-ÝÃ

��������

�#��������½�N�

ßv����®OM��H��G����

t�º��½�Àà4M�������Æ��t�º����������#½����I�LN�4�­DJ�­I�

G�����½�O�����Æ��$��O�!����

­+I��ß��t�º������Æ���$������º�t"��#��

�#����½�O��#�OM�

�����H�®���½���

�����

G�����½�OM�

­+I�Gß��t�º����®��!�����

���

�<�*�%*5�< �*��5�< %8*!5�< 18*!�

������+"�� �0 �+"�%5��("¢ç2ù���

+"�� 5�V+"�%��("¢ç2ù���

+"�0*S �+"�*K�1¤�Ð��")v���

+"��*S �+"�ÉÐ�%*1¤�Ð��"�ù���

����#��%��������%�������%���9��� var, 8/9��%�7�9��� val

$����&��var +"��ÉÐ�%*K�)V���"±½4Ð��;�e�¨(

de���� 8/9 i9¤�Ð��")<ÊË%·���4"Q� ���

�Q[Ð��")VÊË=·����4"Q� ���

Page 102: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � ��

Val +"�ÉÐ�%*�èÐ��;�e�¨(·�0e;

�m�Vc³�KWº#�(]2�,P] ���

�[ªV+"�� ,-/+"�0 � +Z [ª��W=2Ì�h���

��������+"�0 � +Z +"�� ,-

�#�������-------- Writing and reading a byte to an EEPROM 2404 ----------- DIM a AS byte DIM adresW AS CONST 174 �write of 2404 DIM adresR AS CONST 175 �read adres of 2404 I2CSTART �generate start I2CWBYTE adresW �send slaveadres I2CWBYTE 1 �send adres of EEPROM I2CWBYTE 3 �send a value I2CSTOP �generate stop WaitMS 10 �wait 10 mS because that is the time

'that the chip needs to write the data �%%%%--------now read the value back into the var a ---------------- I2CSTART �generate start I2CWBYTE adresW �write slaveadres I2CWBYTE 1 �write adres of EEPROM to read I2CSTART �generate repeated start I2CWBYTE adresR �write slaveadres of EEPROM I2CRBYTE a,9 �receive value into a. 9 means

'last byte to receive I2CSTOP �generate stop PRINT a �print received value END

�0/!� ������)*+,"Þ�ç'(*¢����

������#�+-�

�$����&�Þ�ç'(�7��7�Em<�­�QRv���j9I#�M�;�����;5�ú�i���

�/ ���

Þ�ç'(�#�M�"¢I�I0 � �W��1�%|�`���i-�h���

������������#������IDLE

Page 103: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � ��

Page 104: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � ��

��� ������K���fgîU�CáÃóKµ¶·�Å[

����#���expression�����M �� �)�������� / ,LM �� L ,-+'

$����&��expression ¹�º#Ý;��<I5èeu�2Al·��.

1Æ�+'�½!Wª ���+'�)�������� / ,������M �� ������Li[,M �� L�V+,����&�de�+'��!Wª ���+'6���9�H$ / ,

��������;

�#�������������(��%���� ���1�� ���!���1�� ��?�������������������������������������������������7������@+ ����,%���������������2��9���+4 ������@�0:��&�2�����������������7�9���A�""�8��+ �%��&���(���������������2��9���A�""�%�>� �8���@�0:��&�2�������7�9���%,�������!��!���1�� ��?���������2��A��%�#�(�*�2��!���1�� ��?����*�*���#������(��������2�B.� 2���#���<�������9��!,"",A�%���@4/+"���9,A���%94%0�&�:���,3��!��?����!������1����?����������������������������������������������7�����3, �8�������������2#�������(�(��2������!������9��3,"",A�%���@4/+"���9,A���9����"�%��:���,3��!��?���C��(�D��!������1� ��?���������2#���������0"�4 &2���(��������2#������������2������������

Page 105: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � ��

�� %

� ������de�;<�I�W����

����#�����var

$����&��Var �e�¨(·�Ð��de

z_"$�W����� ���

,�0�V6��H6��B$��U"���

��������

�#������DO �start loop INCR a �increment a by 1 PRINT a �print a LOOP UNTIL a > 10 �repeat until a is greater than 10

��4!8� �����������ýR*K�ã�ä���++�_"¥û ���

����#�varH��4�9�

$����&��var *��;+�����;���1;����·������de

Þ®����©T>!8>���:<¥û ���

+,Y SGHV0�"N"#�$�%W����fî=2u2È��Wª ���

�#������DO �start loop A = INKEY �look for character IF A > 0 THEN �is variable > 0? PRINT A �yes , so print it END IF LOOP �loop forever

Page 106: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � �

Page 107: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � �

���� �������(]2��*K�;<)2¥û ���

�����#�6��H���8�11����:

�$����&��6�� Ð��·��e�¨(de

�11���� ;<)<2(3%

+,�m�V)*+,�ÙKL'��,���"W�ü�B����

���������

�#������Dim a as byte a = INP(&H8000) 'read value that is placed on databus(d0-d7) at 'hex address 8000 PRINT a END

���$*�� �

����� �����*K���e89�����:�<)2��� �

����# ��������6�(�� ' , (��)�; �

$����&� Z��$ e�q���"±½4de� Z��" �����*K�e�q�_"±½4«�ä8·�j�0:de

������� �-,+��,+ �

�#����� -�����*��;���+�����+,�7 *+,�;�U���3��N��������� �1

Page 108: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � ��

���$*-!9� ������)*jkµ¶¡�§�(*K��_"�� ���

����#�+,�7 / (MDpromptOL;var M , varnLM,5 �/5L

�$����&��Prompt )�)��_�é�)Z�=�78º#%�Õ0e

Var,varn ��;<±½4de

,5 �/5 �5�������[ª<¡Q ���

�+,�7 / (����*)*+,�0��"N"#�$�%Wu�ÊË���4euv���

0��"N"��ñ�6��<Ýt�����

0��"N"#�$�%����/M���<Wª�: ����

�r��93�,½¿I§�("��½¿*��Wª ���

Z���9��#ÊË��V¥(�"�_w��2È ���

Z����e�¨(#ÊË��V¥(�R�_w��2È ���

��������

�#������Dim x As Byte INPUTHEX “Enter a number “, x ‘ask for input

���$*� ������)*jkµ¶¡�§�(*K��� ���

����#������MDpromptOL;var M , varnLM,5 �/5L

$����&��Prompt )�)��_�é�)Z�=�%�Õ0e

Var,varn ��;�I%�Õ<±½4de

,5 �/5 �5�������[ª<¡Q ���

�+,�7 ����*)*+,�0��"N"#�$�%Wu�ÊË���4euv���

0��"N"��ñ�6��<Ýt�����

0��"N"#�$�%����/M���<Wª�: ����

�r��93�,½¿I§�("��½¿*��Wª ���

��������+,�7 / (;�0+,

Page 109: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � ��

�#������Æ �

Æ�����������������®u��ORR� +MMO�KI��t�u��#$vu��

Æ �

Æ��½vt�3�­�� ��GH�

Æ�����#3�­�� ��­�� �à���

Æ �

Æ�#�"����$#�����!�"�������$��u�����t½��Â"�$u��"�������

Æ�����������$���1GH ß�½���$��1I�:�HÜ�½�

1!�"��½�O+MM����������������������������������������Æ����O+MM�!�"��½#�������t��

1u�����t�½�O+MMMMMM���������������������������������ÆO+�KàÆ�

Æ �

Æ������$��#"�$���������������#������v����#"��#$�_�v�v$��½#����u����u����

Æ����#"�$�����#�"��������­K�J ��#��v#$��

Æ������$�����u���u����v��$#����u�vº���_v��v$��������uv½v����v�������_vtt�!�������#�O�

���#����_v�������_vtt�!��M��

Æ���­K�J��H���3������­K�J ��º��v�!t��_vtt�"���4�!�����#½�v$���$�t����#���

Æ �

ßv��ê�H��G�����GO�H��G����

ßv��I�H��­$�������ß�H��G����

ßv���H����v$��Ã�ON��������������������������������Æ#$t��½#��"��_v�����HK��"��#���

­$�"��� �����v���#�������Â"���v#$����ê�

­$�"��GO��������������������������������������������Æt��º��#"��½#��$#�Â"���v#$�

­$�"����$����v$���������I�

��v$��I�

­$�"�������$��������$"�!���®4�!���������I�

��v$��I�

­$�"�������$��������!����®+�!���������ß�

��v$���

­$�"���K#���º��v�!t������I��ß�

��v$��I�¸�����¸�ß�

­$�"��I��#�u�#��������������������������������������Æ�"�������u�#�

­$�"����$�����#"��$��������

��v$���à�tt#���¸��

­$�"����#�u�#��������������������������������������Æ_v��#"���u�#�

��v$���

Æ"$�������$����tv$���$����������tt�tv$����!#º��½#�������­K�J ��#��v#$�

Æ��v��!�u�"���_��$��#"�"����­K�J ��#$u���#"�$�����#�"���v��½#���tt�­�� ���������$���

Æ­$�"�������������v��#"��½�M�

Æ��v$������¸�����¸���

�$��

Page 110: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �� �

���*%

������6aÇ7]�¨�6aÇD�0��^�[��3%�Jð�����

���"�$�������#�v�v#$�#½����"!����v$��v$������v$���

����#�º���½�­���®�����������v$����"!������

º���½�­���®����v$����"!������

$����&���

ê��� 6aÇ7]�¨�6aÇD�0��^�[��3%�²³�^�Y�2����6aÇ.���oq�&¢9�

M%�Jð�����"���vu�º��v�!t�������_vtt�!�����v�$���_v��������#�v�v#$�#½������"!����v$��v$�

�������v$������"�$��M�_��$������"!����v$��v��$#��½#"$����

����� ëì���[��2����q��q�&¢9�6aÇ�ͨ���?�����q��q�&¢9�

c�¨©®�ëì[��O��ëì%��������

��v$�������dI�6a�

"!��������6a�

ÁÂ�­���®��b��¨��HK�7��,x�6aÇ{�?A�]�����

���������#$��

�#������ßv���H����v$��Ã�OM��Þ�H����v$��Ã�N�

ßv��G��H��G����

�½����v��v����������

Þ�½��v���

G��½�­$���®���Þ��3���v$��G���������������Æ��#"t����v$���í�

G��½�­$���®4����Þ��3���v$��G�����������Æ��#"t����v$��i�

�$��

/ ��!�

������6aÇ,�d�B��Ú�BX�Yð�����

��

��

����#������½�ÜIH�®��#"�u�����

$����&���

����� Ú6�6aÇ%�Ú�BX�Yð���²³��6aÇ�Y�2����Ú6�6aÇb�YWoq�

&�����

�������� IH���

Page 111: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

�#�������

ßv���H����v$��Ã�O+��Þ�H����v$��Ã�O+�

­$�"���à�tt#����������������������������Æ���v�$����v$��

�½�Üu���®��������������������������������Æu#$º�����#�t#_��u����

��v$���������������������������������������v$�����v$��

�½� u���®��������������������������������Æu#$º�����#�"�����u����

��v$���������������������������������������v$�����v$��

/ 0� ��������-É%)3�*0eIde"�ù���

����#�&��x�

��$����&��x É%)3�4deI0e

�%Vde"��4ÊËEK�"�� �����-�E9$ED������O��-m�V����m���P] ���

���������ÜIßà���1ÜIß�IJ��­õ�ÜIß�

��#������'-------------------------------------------------------------- ' (c) 1997-2001 MCS Electronics '-------------------------------------------------------------- ' file: LCD.BAS ' demo: LCD, CLS, LOWERLINE, SHIFTLCD, SHIFTCURSOR, HOME ' CURSOR, DISPLAY '-------------------------------------------------------------- $sim Rem The $sim statement will remove long delays for the simulator Rem It is important to remove this statement when compiling the final file 'Config Lcdpin = Pin , Db4 = P3.1 , Db5 = P3.2 , Db6 = P3.3 , Db7 = P3.4 , E = P3.5 , Rs = P3.6 Rem with the config lcdpin statement you can override the compiler settings Dim A As Byte Config Lcd = 16 * 2 'configure lcd screen 'other options are 16 * 4 and 20 * 4, 20 * 2 , 16 * 1a 'When you dont include this option 16 * 2 is assumed '16 * 1a is intended for 16 character displays with split addresses over 2 lines

Page 112: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

'$LCD = address will turn LCD into 8-bit databus mode ' use this with uP with external RAM and/or ROM ' because it aint need the port pins ! Cls 'clear the LCD display Lcd "Hello world." 'display this at the top line Wait 1 Lowerline 'select the lower line Wait 1 Lcd "Shift this." 'display this at the lower line Wait 1 For A = 1 To 10 Shiftlcd Right 'shift the text to the right Wait 1 'wait a moment Next For A = 1 To 10 Shiftlcd Left 'shift the text to the left Wait 1 'wait a moment Next Locate 2 , 1 'set cursor position Lcd "*" 'display this Wait 1 'wait a moment Shiftcursor Right 'shift the cursor Lcd "@" 'display this Wait 1 'wait a moment Home Upper 'select line 1 and return home Lcd "Replaced." 'replace the text Wait 1 'wait a moment Cursor Off Noblink 'hide cursor Wait 1 'wait a moment Cursor On Blink 'show cursor Wait 1 'wait a moment Display Off 'turn display off Wait 1 'wait a moment Display On 'turn display on '-----------------NEW support for 4-line LCD------ Thirdline Lcd "Line 3" Fourthline Lcd "Line 4" Home Third 'goto home on line three Home Fourth Home F 'first letteer also works Locate 4 , 1 : Lcd "Line 4" Wait 1 'Now lets build a special character 'the first number is the characternumber (0-7) 'The other numbers are the rowvalues 'Use the LCD tool to insert this line Deflcdchar 0, 31, 17, 17, 17, 17, 17, 31, 0 ' replace ? with number (0-7) Deflcdchar 1, 16, 16, 16, 16, 16, 16, 16, 31 ' replace ? with number (0-7) Cls 'select data RAM

Page 113: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

Rem it is important that a CLS is following the deflcdchar statements ' because it will set the controller back in datamode

Lcd Chr(0) ; Chr(1) 'print the special character '----------------- Now use an internal routine ------------ Acc = 1 'value into ACC Call Write_lcd 'put it on LCD End

Page 114: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

/ 0-!9� ��������-�É%)3�*��de;<�ù���

����#�&�����var

�$����&��var ��4de

Z��$�*���;+�����;���1;����;������;��������0+, / (/�V ¡����

���������

��#������Dim a as byte a = 255 LCD a Lowerline LCDHEX a End

/ 0���*

������LCD É%)3�" �� =� ��.

����#�LCDINIT

$����&�� ��_ )*jk�, LCD É%)3� GH< ���: => )*+, [P�� _PT* LCD" =[� ��. LCD GHV LCD � WR � 0V � fî=2È ��. ¢c WR � ���* )*+,� PIN� fî=2 u�> �+� U^�, WR � HIGH 0�3* �0ºT* =[� =Q Rv��.

��������LCDHEX , $LCD CONFIG LCD

�#������ '-------------------------------------------------------------- ' (c) 1997-2002 MCS Electronics '-------------------------------------------------------------- ' file: LCD.BAS ' demo: LCD, CLS, LOWERLINE, SHIFTLCD, SHIFTCURSOR, HOME ' CURSOR, DISPLAY '--------------------------------------------------------------

Page 115: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

$sim Rem The $sim statement will remove long delays for the simulator Rem It is important to remove this statement when compiling the final file 'Config Lcdpin = Pin , Db4 = P3.1 , Db5 = P3.2 , Db6 = P3.3 , Db7 = P3.4 , E = P3.5 , Rs = P3.6 Rem with the config lcdpin statement you can override the compiler settings Dim A As Byte Config Lcd = 16 * 2 'configure lcd screen 'other options are 16 * 4 and 20 * 4, 20 * 2 , 16 * 1a 'When you dont include this option 16 * 2 is assumed '16 * 1a is intended for 16 character displays with split addresses over 2 lines '$LCD = address will turn LCD into 8-bit databus mode ' use this with uP with external RAM and/or ROM ' because it doesnt need the port pins ! '----------------- these 2 lines can be used when WR is connected to P1.0 for example --- P1.0 = 0 INITLCD '----------------------------------------------------------------------------------------- Cls 'clear the LCD display Lcd "Hello world." 'display this at the top line Wait 1 Lowerline 'select the lower line Wait 1 Lcd "Shift this." 'display this at the lower line

/!�*��� ������%�Õ�¢�T*K�Q�qe��_"¥û ���

������#�var = &���@var1 , l B

��$����&��var Q�=�%�����

Var1 }Ë%%�Õ����

#� }Ë%%�ÕT*K�â��_e����

���#������Dim s as XRAM String * 15, z as XRAM String * 15 s = “ABCDEFG”

Page 116: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

z = Left(s,5) Print z 'ABCDE End

Page 117: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

/!�� ������%�Õ��_e"¥û ���

�����#�º���½�Ü��®���v$���

�$����&��var %�Õ�w�"±½4de����

String w�"ñg4%�Õ����

��#������Dim S As String * 12 Dim A As Byte s = “test” A = Len(s) Print A 'print 4

/��0� ������üS�*('(�, +� 0�;<�� ���

�����#�&��TIMER , value

�$����&��TIMER +� 0!; +� 0$�·� +� 0"

ê�t"�� de·�;����

+� 0��57, 0'("�,5, +� 0)�<���>Q�q�³D¥(�#�M�W

�2Ø���#�M�W�2I�Á["��4euv���

+� 0!; +� 0$�,!K�"&&ÑQ�;�Wª ���

+� 0"�$K�Q&&N&Ӿ�;����

ÜJHß�w.b����(�D�g.�×ØÀ����

�����#��"t�3��Ü��½��à��½�®+Ni º�t"���

�#���­K��+3��IH�+Ü�½��IH�+à�½�®iNNíi� �º�t"���

.w.b��v���DI#"$���7�3%����Å��¾%�UÖ¢X��q�&�����IJ �����w.%�

?A��p������

��#������LOAD TIMER0, 100 � load TIMER0 with 100

'(256-100)=156 will be stored 'in order to reload after 100 counts.

Will generate: Mov tl0,#9Ch Mov th0,#9Ch

Page 118: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

Page 119: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

/� �*!� ��������-�;,"Q�q¾¿*�P ���

����#�&�������y��+�x

�$����&��x ¾¿8$�QRA:"I5J�de·�0e���� Y D#8$�RA:<I5J�de·�0e����

�7���=�É%)3��CD�"��������������5,'+.��-;��-;/5� ;���

��#������LCD “Hello” Locate 1,10 LCD “*”

/��4$�

� ����� L�F*K�Ð��;<¥û ��� � ����# (������������(��3"������� �$����&� 6�� ¥û=�Ð��;���� Z��2� L�F�Ð��#�%;���� ��9�� ����]¾¿�Da���� Z���*��;+�����;���1;����;������6��2��*��;+�����;���1;����;������

�������� /��.�� �- ��#����� DIM b1 As Byte, I As Integer b1 = Lookup(1, dta) Print b1 'Prints 2 (zero based) End I = Lookup(0, DTA2) END

Page 120: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �� �

DTA: DATA 1,2,3,4,5 DTA2: 'integer data 1000%, 2000%

/��4$��*% �

����� L�F*K�%�Õ<¥û ��� � ����# (���������������(��3"������� �$����&� 6�� ¥û=�%�Õ���� Z��2� L�F�Ð��#�%;����!�

�]����CD,ã�ä;�h��� ��9�� ��� �]¾¿� Da���. Z��2��*��;+�����;���1;����;�������0����8!�"&&:

�������� /��.�� ��#����� Dim s as string, idx as Byte idx = 0 : s = LookupStr(idx,Sdata) Print s 'will print 'This' End Sdata: Data "This" , "is" ,"a test"

/�1� ������de��¾Ð��"W�+���

����#�=� �G�&�7@�B��Var LSBW ±½� de S LSB" W�Ç }%de See also HIGH Example Dim I As Integer, z As Byte I = &H1001 Z = Low(I) ' is 1

Page 121: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

Page 122: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

/�1!%/��!� ��������-�;,"�¾D#T*�P ���

����#�&�7��&���

�$����&��*���������7�� 0�+, ; /+0-�+, ;'50 /�+, ;/5�

��#������LCD “Test” LOWERLINE LCD “Hello” End

/�11�

������Ü#$��Ï�Y�®í+�a�,��[�±å®Oi�a����È»�����

��

����#�º���½�ÜJ��®�����

��

$����&���

º��� +�9,��.a��²³P����^�Y�®�J�ß�k^�­���õ����.ip������

�� ÜJ�õÏ�Ú6Y��2����

��������à­õà���à­õà� ��ÜJ��

�#������ßv��Ü�H��­$�������Þ�H��Ü#$��

Ü�½�ÀàOMMO�

Þ�½�Ü#_�®Ü��

��4! 0��� ���������Ð��;�e;¨("*�-;T*dû ���

����#�var1 = ,�4���86��":

Page 123: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

$����&��var1 dûq;�±½�Ð��;�e;¾(de

var2 ��e"±½�tu�Ð��;�e;¨(deIz_0e

+"�EA}_*��������� ���

���������

�#������Dim a as byte a = 65 LCD a Lowerline LCD BCD(a) a = MakeBCD(a) LCD “ “ ; a End

��4!��* �

����� «¤�Ð��"à �i¨(I�e*dû ��� �

����# (��� = �� ���/ �6�� �� �$����&� 6��� dÊq;<±½4�e�¨(de ��* ��*��q=�Ð��;z_0e; ��* ��*��q=�Ð��;z_0e; ��� �����������ê��$�½�®+NiÃKG��Ý�ÜG�

�������� ��.�������� ��#����� Dim a As Integer, I as Integer a = 2 I = MakeInt(a, 1) ' I = ( 1 * 256) + 2 = 258 End ��

Page 124: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

��4!0! �� ������*�-Ð��;�e;¨("- �+���;T*dÊ ���

����#�var1 = ,�4���86��":

�$����&��var1 dÊq;�±½�Ð��;�e;¨(de

var2 *�-;�±½qÐ��;�e;¨(de·�z_0e

+"�EA}_*��������� ���

���������

�#������Dim a As byte a = 65 LCD a Lowerline LCD BCD(a) a = MakeDEC(a) LCD “ “ ; a End �

��9�� �������

���de��}¡�XY�;<�¥û �����

����#��

º���½�KH�®���®O����

$����&���

ê��� ���de¡�XY;<�±½4�de�����

H�®�� � XY;<�¥û�����de�Z�Q�1�¾¿��DK��Ã� ����.à�

G:��de¢�Q£�Z��á�����V��W��B�����

��������K­�����Hêõ�

�#������ßv����®OM��H��G����

ßv��!�����G����

�#��!��½�O��#�OM�

����®!���½�!��

�����

!��½�K��®��®O���

��v$��!����#"t����v$��OM�

�$��

Page 125: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

��0�� ������%�Õ�¡³KÅ<� ���

�+-�V%�Õ��KÅ<�á%�ÕT*Y¿ ����

����#�var = ,�@var1 ,st [, l] B,�@var ,st [, l] B�= var1�

$����&��var ĺ81��������:%�����

Var1 }Ë%%�Õ����

St �?¾¿����

L W�ü�I`�4�_e����

��#������Dim s as XRAM String * 15, z as XRAM String * 15 s = “ABCDEFG” z = Mid(s,2,3) Print z ‘BCD z=”12345” Mid(s,2,2) = z Print s ‘A12DEFG End

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

���de�}¡�X};<�¥û �����

����#�º���½�K­�®���®O����

$����&���

ê��� ���de��}¡�X};<�£Þ�±½4�de�

��®�� � ���de�Z�£[��]���¾¿"�Q� ����.à�G:���de¢�Q£�Z��á�

de���W��b������

��������KH�����Hêõ��

�#�������

ßv����®OM��H��G����

ßv��!�����G����

�#��!��½�O��#�OM�

����®!���½�!��

�����

!��½�Kv$®��®O���

��v$��!����#"t����v$��O�

�$��

Page 126: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

��0� ������IøEîU�IúQ"¥û ���

����#�retHvar1,�var2

$����&��ret IúQW±½�de����

Var1 I�[�,Ìe����

Var2 I�[�,¤Ìe����

�#������a = 10 MOD 3 �divide 10 through 3 PRINT a �print remainder (1)

�!9*� ������'50��, ( %�m������

����#�����MvarL

$����&��var '50��,��q#�%de�������QRÞ!h���

'50�V�0, ( �T*×IÈ ���

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

�#������y = 10 �make y 10 FOR a = 1 TO 10 �do this 10 times FOR x = y TO 1 �this one also PRINT x ; a �print the values NEXT �next x (count down) NEXT a �next a (count up) END

Page 127: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

����*!%%$�*� ������#�M�W?@�>,7GH<µ¶ ���

����#���interrupt label [NOSAVE]

$����&��interrupt +, !;+, $;� 0+��; +� 0!; +� 0$�� +� 0"�

Label #�M�W?@�>Da¾¿*�) ���

NOSAVE ,5��Z "Q��>#�M�GH�]U-��2A

3Q%�!±½��IPO�QRv���j93*�+,<

��1�>MN��13Q%�"±½�t�%S2�iÈ

���

#�M�GH�,0 70,�T*PQ ���

#�M�,&%GH���I�0 70,��u2È ���

+� 0$V*�7-0� ?@[*���tuT3*�0+, �U�V� 0+���ò¥qm�2"

��4ÊË +� 0$<Q��7�h���+, !/+, $�#�M����Ãó<¥(�Q��iÈ ���

�5,3Q%�"Ã] ���� �5,�!�+, !W/�,�*dÊ=�õ³#�M�"�] ���8�Q���:

0 � �5,�!�+, !W�3a#P���ñ �,#�M�Wµ¶h���

� �5,�"�+, $�/�,�*dÊ=�õ³#�M�"�] ���8�Q���:

0 � �5,�"�+, $��3a#P���ñ �,#�M�Wµ¶h���_+1BV%!&$�(]2�m,"Ýt�����

�#������ENABLE INTERRUPTS ENABLE INT0 �enable the interrupt ON INT0 Label2 nosave �jump to label2 on INT0 DO �endless loop LOOP END Label2: PRINT “An hardware interrupt occurred!” �print message RETURN

Page 128: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

Page 129: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

��=�/$!� ������de�;�CDi9¤�Da*�) ���

����#���varM ���LM ����L label1, label2

$����&��Var L%�4de����8Ð��;�e;¨(:

�$U�V�'0!Wª ���

Label1, label2

Z��;�CD�)4Da����

ã�äDa��q;V!����

�#������x = 2 �assign a variable interrupt ON x GOSUB lbl1, lbl2,lbl3 �jump to label ‘lbl3’ END lbl3: PRINT “lbl3” RETURN

��!�� /��!� ������ÉÐ�%"ü�;E*% ���

����#������M!�5���M�� �,������N�1�������&����N�1�����

$����&��device �5�$U�5�"�"¤��(]2ÉÐ�%WQ£h����

})�]27�0 �,��WUÐË(3��"Q��iÈ

���

�5�N�!�=Q!!V�50 N�!<=Q!! !*�� ���

MODE *+,�0S;+,�7 ·�57 �7 <�5�$U�5�"*

Q� ���})�]27�0 �,+,�7 ·�57 �7 <

Q��iÈ ���

Channel ü���v�e�Z¥(���e�2È ���

%!&N#)*+,�"¤����v�<WQtuv������9�:2A��"��4B#Q

xëÁ2È ����B�5� ,�<����������$¤������¢W�)*+,�

òñ©v���

'Ï5� ,qÉÐ�%���5� [�������m�T*�*%=2È ���v����ü��,

��1��/�ÞÈ ���

Page 130: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �� �

})�]27�0 ����"W�ü�I�J�m�T*. U�7 m�¢<��4euv���

�5�$�U�5�"���(]27�0 �Z����m��<��4euv���

�#������.�'only works with a 80517 or 80537 CONFIG BAUD1 = 9600 'serial 1 baudrate OPEN "COM2:" FOR BINARY AS #1 'open the port PRINT #1, "Hello" 'print to serial 1 PRINT "Hello" 'print to serial 0 CLOSE #1 'close the channel

�#������/�'works with every port pin Dim A As Byte , S As String * 16 , I As Byte , Dum As Byte 'a software comport is named after the pin you use 'for example P3.0 will be "COM3.0:" (so there is no P) 'for software comports, you must provide the baudrate 'So for 9600 baud, the devicename is "COM3.0:9600" 'When you want to use the pin for sending, you must open 'the device for OUTPUT 'When you want to use the pin for receiving, you must open ' the device for INPUT 'At this time only variables can be send and received with ' the PUT and GET statements. 'In the feature PRINT etc. will support these software comports. Open "com3.1:9600" For Output As #1 'p3.1 is normally

'used for tx so testing is easy Open "com3.0:9600" For Input As #2 'p3.0 is normally used for

'RX so testing is easy S = "test this" 'assign string Dum = Len(s) 'get length of string For I = 1 To Dum 'for all characters from left to right A = Mid(s , I , 1) 'get character Put #1 , A 'write it to comport Next Do Get #2 , A 'get character from comport Put #1 , A 'write it back Print A 'use normal channel Loop Close #1 ' finally close device Close #2 End

�$*� ������Ð��;<�(]2��*�ù���

�����#�

Page 131: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

����11����;6��2�

�$����&���11���� 2(3%;

6��2� Ð��;�e;¨(;

57 m�VÙKk����"±½��B����

���������

�#������Dim a as byte OUT &H8000,1 'send 1 to the databus(d0-d7) at hex address 8000 END �������������6�;[$��61��;[%!!!���6)�1��;�

��5�?���5�<�� �������$U�N�de*¬­=�ne[ª3Q%�8�'0:����

����#��"Hvar varH�"��

$����&��x ��������8$·�N:�

��;>KVVVV���6O�%<':�,�,�,�,���4��4��4��4�eeee�©v��©v��©v��©v��P

Var W�ü�I��4;

�á)*+,�,�!/�""Q�4euv���_+1BV�(]2_�"Ýt�����

�#������Dim a as BYTE, b1 as BIT a = P1 �get value from port 1 a = a OR 2 �manipulate it P1 = a �set port 1 with new value P1 = &B10010101 �use binary notation P1 = &HAF �use hex notation b1 = P1.1 'read pin 1.1 P1.1 = 0 'set it to 0

�!!4��

� ����� JKL'��;<¥û ���

Page 132: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

� ����# (������ �����44����� �$����&� 6�� L'��Q�q2(3%¾¿�;<±½4de���� �11���� !K�"&&ÑQ�2(3%;�Zde·�0e����

�������� ��.��6�����.6�,+�6���� ��#����� DIM a As Byte a = Peek( 0 ) 'return the first byte of the internal memory (r0) End

��4!

� ����� Ð��;<L'��±½ ��� � ����# ��� ���44����6�(��3 �$����&� �11���� L'��¾¿8!�"&&:"I5J�2(3%de;

L'��¾¿"I5J�z_;���� Z��2� Q�;����8!�"&&: �5Y m�����Á������¦åq��T*L'�WdÊ�e!uv��� �������� ���. ��#����� POKE 127, 1 'write 1 to address 127 End

��1!%0�1�

� ������)*+,W�é'(*ç2W!A ���

�����#��5� 0-5�,

�$����&��

Page 133: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

�é'(��%|JK�Em<�Q ���

�`����i�é'(W�Qh���

���������

�#������POWERDOWN

Page 134: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

�%��*� ������0��"N"������"�� ���

�����#������var ; “constant”

�$����&��var )Z�4deI0e;����

1¤�D#�,i9¤")Z�4�8E:<�� ���

+r��<���>D#¤(W��=QRv���

��0+, �V���*)*+,�0��"N"#�$�%Wfî=2u2ÈP]h���

0��"N"#�$�%"�ñ��BV6��<Ýt�����

0��"N"#�$�%"����������fî ���

�O:�>��½¿"�r��93��*��4euv���

J½q�r��93��"��4euv���

���������;+,�7 ;5� ,;��5�

��#�������'-------------------------------------------------------------- ' (c) 1997,1998 MCS Electronics '-------------------------------------------------------------- ' file: PRINT.BAS ' demo: PRINT, PRINTHEX '-------------------------------------------------------------- Dim A As Byte , B1 As Byte , C As Integer A = 1 Print "print variable a " ; A Print 'new line Print "Text to print." 'constant to print B1 = 10 Printhex B1 'print in hexa notation C = &HA000 'assign value to c% Printhex C 'print in hex notation Print C 'print in decimal notation C = -32000 Print C Printhex C Rem Note That Integers Range From -32767 To 32768 End

Page 135: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

Page 136: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

�%��*�� �

����� 0��"N"��*Ð���;<�� ��� �����# �������(���'�<�(�������; �$����&� 6�� �����*é54de;���� Z��� �W*�è;����

��­��G­�b���­���Ià�®º���D�80�����l'����­��G­��b�Y�,�ͨ��Íy���

���������|i�Ü#$��Ï�Y���Íy�9�4�9,��.a��ÍyÀ����

�������� � ��#����� -���8$!:��*��;���9��'���H$�$!�8�:H�U3��������,�)�0+, *+,�8$:U���������

�%��*-!9� �����������*/ (;<�� ���

�����#���������var

�$����&��var )Z�4de����

�0+, / (��0+, �UP�1 ����{���

��0+, �V���*)*+,�0��"N"#�$�%Wfî=2u2ÈP]h���

0��"N"#�$�%"�ñ��BV6��<Ýt�����

0��"N"#�$�%"����������fî ���

�O:�>��½¿"�r��93��*��4euv���

J½q�r��93��"��4euv���

��������;+,�7 / (

�#������DIM x As Byte INPUT x �ask for var PRINT x �print it in decimal format PRINTHEX "Hex " ;x �print it in hex format

�%��%�*8

Page 137: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

� ������#�M��Ë7õ¾"�� ���

������#��0+50+ SM� LM0 � Linterrupt

$����&��SET #�M�"0¾3a*�� ���

RESET #�M�"�¾3a*�� ���

Interrupt #�M�"`���I�`� ���

�#�M������<+����:+������&+���,��<+���,��:���!���,��%����+, !�ÀÌIX0¾#�M�3a����

P��i9§�#�M�W?@�>Þ�/�Võ,Y*��h�������� ���� � � ����

+, ! $8������: +� 0! "+, $ N +� 0$ R� 0+�� &8�����:

���#������PRIORITY SET SERIAL �serial int highest level ENABLE SERIAL �enable serial int ENABLE TIMER0 �enable timer0 int ENABLE INTERRUPTS �activate interrupt handler ON SERIAL label �branch to label if serial int occur DO .. �loop for ever LOOP Label: �start label PRINT “Serial int occurred.” �print message RETURN �return from interrupt

%!�0� ������de�±½q;<)v���

����#����var

$����&���var ���;�±½�de����

Page 138: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

��������-� �;0 � 50

�#������Dim A As Byte, I As Byte, C As Integer, S As XRAM String * 10 RESTORE dta FOR a = 1 TO 3 READ i : PRINT i NEXT RESTORE DTA2 READ C : PRINT C READ C : PRINT C Restore dta3 : Read s : Print s END ����'�.����*/��/�*�����'�.��������$/�%����$�����'�.����0#�11�2��

%!�0��) �%0

������ lÉÊ�EåT�X¨©�G.©��¾�����

����#���HßKHõIH�ß�º�����!�������u#����v��#"��

$����&���

ê���  lÉÊ�EåT�X�¨©�¾b�G.©��²³�Z7�ËÌe��.a�iÑ.�

!����� EåX¨©�¾b��.a�����$"�!���#½�!����������½�#������u�����

�v½��� ?A��2Íñò.¥�N�k^���2����ê+�Mí�b�N���qe�����

�v��#"�� ÜJ�õÏ�Y��k^�I�.¥��­K�J ��}�.�7�Eå��Îqoq�&¢9����%�

J���

 lÉÊ�Eå7^�í�9,�aÏ.��������

aÏ�O�b��T��a���ñ�a��°�e�G.©��²³oi�������.1b�È�ÐD��B��

²³�Z7��������

aÏ�+���aÏ�íb�N�aX�2Íx�G.©��²³À�����

����K��I����56b�­J�LOO +��®Ñ.¥�N��a�����a�Q2Í2�����

N��a�2Í,�Jðo^��B^�*+��g���3�

���"�$���$"�!��� ­J�u����u�����

M� M�

O� O�

+� +�

í� í�

4� 4�

N� N�

i� i�

Page 139: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

�� ��

L� L�

R� R�

OM� ����_����u#$��#t�

OO� ������!����

O+� ����_����u#$��#t�

Oí� �������#��

O4� ����_����u#$��#t�

ON� ��#��!����

���������#$��

������Ò����ÒK��u���ÒI#��N�

�#�������

ÆÓß­K�"����º��v�!t��Ô�

ßv���®4M��H��G�����­�H��G�����G���H��G����

ÆÓHÜ­H������v$��"���Ô�

�u��Htv����O�O�

�ut#u��Htv����O�+�

������Htv����O�M�

ß#�

����v$���tv������u�������#"�����������

���������u�����®O���G����N�OMMMM���������������Æu�tt��#"�v$��

�������������������������������!��N�#�������!v��u#�v$��$#��v��t���$��������

����v$������#����¸��������������������������������������������ÆO�v½����#��#uu"����

����v$��¸�����¸�G���¸���!�������������������������������������Æ��#_�$"�!���#½�!����������

����v$������

���#��­�½�O��#�G���

������v$���®v��¸����¸�����������������������������������������Æ��#_�$"�!���

�������

����v$��

Ü##��

�$��

%!�� ���������9�:ÁÂ�ê<x\���

������#���,��?

��$����&��)*jk<Åm�:�[¾�iÁÂ�<�� ���

Page 140: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �� �

0 ��D��*���5��m�2!ÁÂ�T*��=2)*jk�Þ®�|�<ÁQ

Rv���

*�ÁÂ�[ª�uv���U8���9��������������V ���������9��������1:U��19����������1

��#������REM TEST.BAS version 1.00 PRINT a' 0this is comment : PRINT “hello” ^--- this will not be executed! ��

%!�/� !

������%�Õ�,?¨q�_" �_*Y¿ ���

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

$����&������� ����2����������������5�1 ��������������9���������3����������������������,�� ���������������������������������9��� )�����-����������A$"�HV/����V0 ���� �;V�V;V�V U�����������12����:����� U���2�1����/����

%!�!*�� ��������8�$�);�N�):·�&��Ð��de"�`� ���

�����#������9� �����6���)

�$����&��bit �$�);�N�)·�!�#�J�;#&�de

byte ��de

x �`4&�de*����8!�#:�Z+���������1��8!�$&:

��������

�#������Dim b1 as bit, b2 as byte, I As Integer RESET P1.3 �reset bit 3 of port 1 RESET b1 �bitvariable RESET b2.0 �rest bit 0 of bytevariable b2 RESET I.15

Page 141: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

Page 142: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

%!�*�%!� ������-� ���,0 �-"�4eu!A ���

����#��������label

$����&���label �����Da����

��������

�#������DIM a AS BYTE, I AS BYTE RESTORE dta FOR a = 1 TO 3 READ a : PRINT a NEXT RESTORE DTA2 READ I : PRINT I READ I : PRINT I END DTA1: Data 5, 10, 100 DTA2: Data -1%, 1000% ����������!�������"��#��#��$%������&�������'�(�����)�**+�

%!*$%�� ������,7GHT*PQ ���

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

�$����&��,7GHV¥(�0 70,�T*×IÈ ���

#�M�,7GH�!¥(�0 70,�T*×IÈ ���

��������

�#������GOSUB Pr �jump to subroutine PRINT result �print result END �program ends Pr: �start subroutine with label

Page 143: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

result = 5 * y 'do something stupid result = result + 100 'add something to it RETURN �return

%�)-*��� ������%�Õ�,üá©�Q�q�_"¥û ���

�����#�var = �� ��@var1 ,st [, l] B

�$����&��var ĺ81��������:%�����

Var1 }Ë%%�Õ����

� W��_e����

��#������Dim s as XRAM String * 15, z as XRAM String * 15 s = “ABCDEFG” z = Right(s,2) Print z ' FG End

%�0���

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

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

����#�º���½���ß®tv�v���

$����&���

Üv�v������Jðo^� �,�Õd3%�q��������ß®����^�Ö×�£�ØÙ�3¢X�+��.a�

Y���?A������

���������#$��

�#������Æ �

Æ���������������������®u��+MMM�KI��t�u��#$vu��

������������������������������GH�

Æ �

ßv����H���#���

ß#�

����������$�#��$"�!����$��tv�v��v���#�!�����v�"��OMM�

����½��$�®OMM��

Page 144: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

����v$����

Ü##��

�$��

Page 145: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

%�*�*!� ������'Ï&�"ª©·�üá©T*«é ���

����#��������var��+�&���A�� �� M;���3�L

�$����&��var Ð��;�e;¨(·��5,.de����

Shifts ¬)�4e

Bka�Ú7��4]�ÜG�k^�KG���¬T�+lX�²³À����.1b��ÜI����I���

g�����.ÛIÜ%�e��&¢9�IÜI�I�w.%�?A���¬T���Ti�������

����������/+' +,;�/+' 57

��#������Dim a as byte a = 128 ROTATE a, LEFT, 2 Print a Generated code: Mov R7,#2 Mov R0,#21h Mov a,@r0 RLC a Djnz r7, *-1 Mov @r0, a

�!/! *

� ����� �.qel;�CDi9¤�µ¶�FA<µ¶ ��� �����# � � ����� ��(�� ����� ��&�#�statements ����� ��)�# statements ����� � �� �# statements ��� � �� ������ $����&� Z�� z_I%�Õde���� ��$ &ï;���� ��" &ï;���� �

Page 146: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

������� " �#����� Dim b2 as byte SELECT CASE b2 'set bit 1 of port 1 CASE 2 : PRINT "2" CASE 4 : PRINT "4" CASE IS >5 : PRINT ">5" 'a test requires the IS keyword CASE ELSE END SELECT END

�!*� ��������8�$�)�N�):·�&��Ð��de"`� ���

�����#����9����9���)

�$����&��bit �$�);�N�)·�&�de����

Byte ��de����

X `�4&�de����

��������

�#������Dim b1 as Bit, b2 as byte, c as Word, L as Long SET P1.1 'set bit 1 of port 1 SET b1 'bit variable SET b2.1 'set bit 1 of var b2 SETB b2.1 'use alternative syntax SET C.15 'set higest bit of Word SET L.31 'set MS Bit of Long

�-��* $%��%� ��������-�,;,"üá©�ª©T*�P ���

����#�������������&����A��� ��

�$����&���

����������/+' ��-

Page 147: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

��#������LCD “Hello” SHIFTCURSOR LEFT End

Page 148: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

�-��*���-��*�$*� ������&�%��<����I�� ���

����#������������+�����2+�5� +������������������+�����2+�5� +������

��������

�v$� ��D��T*���4���W�

�ut#u�� EA<�?@4���W�

�� Q�4�de�

J��v#$� 78Wª1�+,�

M EA��Ü#_*�­��KGK��¬)��­$DJ"��

O EA��àv��*�­��KGK��¬)��­$DJ"��

+ EA��Ü#_*�­��ÜGK��¬)��­$DJ"��

í EA��àv��*�­��ÜGK��¬)��­$DJ"��

à­��­�m�V�4�"�Q�4�e�uTZ������¬)��

EAT*�ÙK�®%"��� ����

�����de�CD,�¬)��&��eW���{����G���de��L�&��­$�����de��Oi�&�"�

¬)� ����

���Ht�#�

�#������Dim a as byte SHIFTIN P1.0 , P1.1 , a , 0 SHIFTOUT P1.2 , P1.1 , a , 0 For the SHIFTIN example the following code is generated: Setb P1.1 Mov R0,#h'21 Mov r2,#h'01 __UNQLBL1: Mov r3,#8 __UNQLBL2: Clr P1.1 Nop Nop Mov c,P1.0 Rlc a Setb P1.1 Nop Nop Djnz r3,__UNQLBL2 Mov @r0,a Dec r0 Djnz r2,__UNQLBL1 Of course it depends on the parameter, which code will be generated. To shift with an external clock signal: SHIFTIN P1.0, P1.1 , a , 4 'add 4 for external clock Generated code:

Page 149: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

Mov R0,#h'21 Mov r2,#h'01 __UNQLBL1: Mov r3,#8 __UNQLBL2: Jnb P1.1,*+0 Mov c,P1.0 Rlc a Jb P1.1,*+0 Djnz r3,__UNQLBL2 Mov @r0,a Dec r0 Djnz r2,__UNQLBL1�

�-��*/ 0� ��������-É%)3�"üá©�£©T*�P ���

����#������&��&����A��� ��

�$����&��*����������/+' �70�50

��#������LCD “Very long text” SHIFTLCD LEFT Wait 1 SHIFTLCD RIGHT End

�-�1��

������j�¯�É%)3��½¿��Gõ����<��� ����

����#��

6�54���#-���-���!����

$����&��àJ��­I�m�V�dûq�GK����<��� ����GK����V�¥(��j�¯�gý�����i�

Gõ����*�dû=2�u2È� ������:�DL���¥(��M���I�L����e�2È� ����

j���W*/�+*!�¥(��L����e�2È� ����DaV����9�:�}%�)*jk�¡��

j�¯��������¾¿"�xëì�����

���������

�#������

Page 150: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �� �

IÜ�õ�H�à�������������������������� Æut���������vu������#½��v��t����

�#_�vu�MM�t�!�t�������������������#_��vu�"���

�$��

�!�t3�

1Gõ������vu�!�½�������������������Æ�����_vtt�!��v$������������

Page 151: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

��$�0

� ��������WT*®%"J�ù���

����#����������;12�����;3��42�����

$����&����� �$�!U�V'Ï+�5W��

12����� �JQ�®e�e�ZÐ��;�e;¨(·�0e;8$?N"#Q%:

3��42���� *Ë/��"¥P���³

��W�ý�·�%¤;"K8�>�57,-��i}�"èeuv����

��������*��#������SOUND P1.1 , 10000, 10 ��3 End

��� !��� ���������_*q%�Õ<¥û ����

����#�var = �����@x B�

$����&��x %$�%�¤e����

Var Q�=�%�����

�#������Dim s as XRAM String * 15, z as XRAM String * 15 s = Space(5) Print " {" ;s ; " }" '{ } Dim A as Byte A = 3 S = Space(a) Genereated code for last 2 lines : ; ---------- library routine ----------- _sStr_String: Mov @r1,a Inc r1 Djnz r2,_sStr_String Clr a Mov @r1,a Ret ;--------------------------------------- Mov R1,#h'22 ; location of string Mov R2,h'21 ; number of spaces

Page 152: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

Mov a,#32 Acall _sStr_String

Page 153: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

�� �� � �������Ts °a k^ LCD X ûü�B� �F���.

����#�PRINT SPC(x )

$����&�� x kÎa� ûü�B �2��. Ý[^ 1 – 2552��. SPACE() ��^ 6aÇ% dI¢X e 12��. SPC() ^ PRINT , LCD � �� ?A���.

�#������ Dim s as XRAM String * 15, z as XRAM String * 15 s = "Hello" Print " {" ;s ; SPC(3) ; "}"

����� �� ����� ��+ý%*K�;<)v��� �� ����# �­­��º���!�����

$����&��6�� ��+;6X¨©¾b3%²³�Y�

9��� ¾%�.a�

������� �,��� ��#������Dim a(10) as byte CONFIG SPI = SOFT, DIN = P1.0, DOUT = P1.1, CS=P1.2, CLK = P1.3 SPIIN a(1) , 4 'read 4 bytes

����$*

� ����� ��+ý%*���"�� ��� � ����# �������4���6��1�

$����&�

Page 154: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

1�� ��4����de���� *��� �J���e����

������� �,,+6���+!,7� �, ��#����� CONFIG SPI = SOFT, DIN = P1.0, DOUT = P1.1, CS=P1.2, CLK = P1.3 Dim a(10) as Byte , X As Byte SPIOUT a(1) , 5 'send 5 bytes ������������������������

�*�%*

� ������Q�15�ú�i��"�] ���

����#������timer

�$����&��timer +� 0!; +� 0$;�57, 0!·��57, 0$�

#�M�W?@Wª10�,�������2���"�]�iÈ ��� +� 0!/�57, 0!�P�1m�2��������������� 5� +� 0)

��#������ON TIMER0 label2 LOAD TIMER0, 100 START TIMER0 DO 'start loop LOOP 'loop forever label2: 'perform an action here RETURN

�*��� ������)*jk�µ¶<¡Q ����

����#������

$����&�����!)*jk�µ¶<-� ��� ,-I� 5��<¢I>'Ï#�M��~Q0*=Z®1G)0Wh����

Page 155: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

�#�������

3456�7��� � ������������#�����6�3� � � ��#������

Page 156: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

�*��*��!%9

� ������Q�q5�ú�i���µ¶<¡Q ���

�����#�����timer

$����&�timer +� 0!; +� 0$; +� 0";�57, 0!·��57, 0$�

#�M�?@<£¿R<��5�ú"%� ��� +� 0!/�57, 0!�P�1m�2��������������

�#������'-------------------------------------------------------------- ' (c) 1997,1998 MCS Electronics '-------------------------------------------------------------- ' file: TIMER0.BAS ' demo: ON TIMER0 ' *TIMER1 is used for RS-232 baudrate generator '-------------------------------------------------------------- Dim Count As Byte , Gt As Byte Config Timer0 = Timer , Gate = Internal , Mode = 2 'Timer0 = counter : timer0 operates as a counter 'Gate = Internal : no external gate control 'Mode = 2 : 8-bit auto reload (default) On Timer0 Timer_0_int Load Timer0 , 100 'when the timer reaches 100 an interrupt

'will occur Enable Interrupts 'enable the use of interrupts Enable Timer0 'enable the timer Rem Setting Of Priority Priority Set Timer0 'highest priority Start Timer0 'start the timer Count = 0 'reset counter Do Input "Number " , Gt Print "You entered : " ; Gt Loop Until Gt = 1 'loop until users presses ESC key Stop Timer0 End Rem The Interrupt Handler For The Timer0 Interrupt Timer_0_int: Inc Count If Count = 2 Then Print "Timer0 Interrupt occured" Count = 0 End If Return ��

Page 157: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

������

Page 158: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

�*%��

������z_;<�q=�%�ÕT*dû ���

����#�6���G��� @)B

�$����&��6�� %�Õde

( Ð��;�e;¨(/�Vz_de����

�����������#������Dim a as Byte, S as XRAM String * 10 a = 123 s = Str(a) Print s End

�*%��)��� ��������e�¥P=��_�<¥û ���

�����#�var = ����� @char ,x B

�$����&��var ĺ81���������:%�����

N %����=��_����

� �_�¤e����

%�Õ�-�"�����(�!����CD,��!<Q�4e©v���

��!<Q��>%��w��"&&��Wh��������������

��#������Dim s as XRAM String * 15, z as XRAM String * 15 s = String(65,5) Print s 'AAAAA End

Page 159: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

Page 160: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � �

�$� ������,7GH<7À ���

����#�������#�I86��$:J

�$����&��Name bc2"ÌÙ1�¼����

Var1 �DL���¼����

,7GH�-�� ,-�7*"���iÈ ����7*�<���[é��7*)*��"7À�iÈ ���

�DL��¼UlV�7*)*��7À�/P��iÈ ����DL��)*jkéÜ�º�=��*°de����

��=N±�DL��-+�����i��=2È ���

CD,de�)*jkU,7)*jk�,��h���

��b�,���<�m ���

�Dim a as byte, b1 as byte, c as byte �dim used variables Declare Sub Test(a as byte) �declare subroutine a = 1 : b1 = 2: c = 3 �assign variables Print a ; b1 ; c �print them Call Test(b1) �call subroutine Print a ;b1 ; c �print variables again End Sub Test(a as byte) �begin procedure/subroutine print a ; b1 ; c �print variables End Sub

��������;

�#������- �

�1��� ������P�15��"¤�deJ�<ïû ���

������#��7��var1;var2

�$����&��

Page 161: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

var1 *�;9��;������·����1de

var2 6��$UP�1�de

������µ¶qD6��$V6��";<j�t6��"�6��$;<WQ:h���

��#������.���������������/8���������������9���'�8��9��� � ���������"������������ �3��/�8�� � ��"����#���3456���:�8�

*-�%0/��!� ��������-;,"ND#T*�P ���

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

�$����&��*���������7�� 0�+, ;�5� 0�+, ;'50 /�+,

��#������Dim a as byte a = 255 LCD a Thirdline LCD a Upperline End�

$ ��!�

�������

%�Õ��}�_"�Y�_*�dû ����

����#������½� IH�®��#"�u�����

$����&���

����� }%�%�Õ��}�_"�Y�_*�dû1�D�±½4�%�Õ�de������}%�%�ÕV�

dÊ=Q�Rv����

��������ÜIH���

�#�������

Page 162: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

ßv���H����v$��Ã�O+��Þ�H����v$��Ã�O+�

­$�"���à�tt#����������������������������Æ���v�$����v$��

�½�Üu���®��������������������������������Æu#$º�����#�t#_��u����

��v$���������������������������������������v$�����v$��

�½� u���®��������������������������������Æu#$º�����#�"�����u����

��v$���������������������������������������v$�����v$��

$��!%/��!� ��������-;,"1ƾ*Ç\���

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

�$����&��*�����������5� 0�+, ; /+0-�+, ;'50 /�+,

��#������Dim a as byte a = 255 LCD a Lowerline LCD a Upperline End�

=�/��� ������%�ÕT*�.qz_"z_*dû ���

����#�6���G�=��@�B

�$����&��var Ð��;�e·�¨(z_;

s %�Õ5��de

º��3�G����­$�������#���Ü#$��v$�t��

���������

�#������Dim a as byte, s As XRAM string * 10 s = “123”

Page 163: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

a = Val(s) 'convert string Print a End

Page 164: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

=�%�*%��� ������de�L'��2(3%;<W�+���

�����#�6��HZ�0� 086��":

�$����&��var 6��"�2(3%"Q�4devar2 2(3%"W�Çde

��������� Y;�5Y

��#������Dim I As Integer, B1 As Byte B1 = Varptr(I) Generated code: Mov h'23, #h'21

1��*� ������Á2��³P�)*jk�µ¶<:����

�����#���+ seconds

�$����&��seconds Y[4�³e8=Ö¾:

l3�5êV$"�/>EmÁ�e"[\1B����

�m�2*��Ò15�²�â2QQRv���

#�M�"��4ÊËl3�"Ò½4euv���

���������

��#������WAIT 3 �wait for three seconds Print “*”

1��*4!8� �������9�ýR��_We���ÑQ[�\���

Page 165: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

����#�variableH��+ Y S

�$����&��variable �_����++;<±½4de

���������

­�÷�:�

��#������DIM a as Byte A = WAITKEY �wait for a key press Print A End

1��*��� ��������Ö¾*Q�1�³%�)*jk�µ¶<�Q ���

�����#���+ ��mS

�$����&��mS ³�+g(Ö¾��³e8$�"&&:����

l3�5êV$"�/>EmÁ�e"[\1B����

�m�2*��Ò15�²�â2QQRv���

#�M����iQf�³��W4euv���

�m�2�+"�}_� �05�sV[�³<¢ç���4e#v���

�05��,���"D��1��$!��Y[�iÈ ���

���������

��#������WAITMS 10 �wait for 10 mS Print “*” �

1-�/!��1!�0

������ô�Ãó�Ý�>G)"ñ µ¶ ���

�����#�7��&�condition �������7��

Page 166: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

$����&�ô�Ãó�Ý�ÊË� ,-�<¢²�ÑQñ µ¶ ���

�/+� �T*PQ1D�Ãó<ô��iÝ�>ñ µ¶ ���

���>� ,-�D"µ¶ �����

���������ßJ����ÜJJ��

��#������WHILE a <= 10 PRINT a

INC a WEND

Page 167: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

-�%01�%!�/ 00���/�8�

��-É%)3����U��fî ���

��-�-������ ��� ���-*#-*Q-*&-*R 0�0�Z��Z11

�$�#�$�Q�$�&�$�R�$�N�$�".��2�1.��2�1B&Z

$R$N$"$$QR&$"

Z� !�&Z��� N�$�$U�$�!j�t�NV�á�!*�� ���

��-W�¿�5�����I��-�,dÊ4euv���

��-�R&�'(*P] ���*���5�V%V��-Ì2m�<Ì� ���j9I_+1Ì2"�[£1�>Þ��b"

Ýt ���

Huu�½�N����������������������������Æt#������v�����H�_v���º�t"��

I�tt�Üu�Òu#$��#t����������������Æv��v����u#$��#t�º�t"���#�u#$��#t������v��t���

Huu�½�iN���������������������������Æt#���_v���$�_�º�t"��®t������H��

I�tt���v��Òtu���������������������Æ_�v����v���#�����ÜIß��v��t���

tu�Òu#$��#t�U�_�v��Òtu���GHIJK��,������2EF��GH������

Page 168: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

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

�K���*)*+,�� %=�"!&$�%!&$��Wº#���uv���

$%&'($%)'(�$*�$')'��,��-)���$*�$')'�5���9��7���������-���������(�2��"2���83��������$%)�)"$%)&)"$%)�+"$%)&)�7�����5���9��7�����-����7�+�-���-�,+��--��� ���4��-,�-,�=��$%)�+"$%)&+�7�����5���9��7�����-����7�+�-���-�����-����7�+�-���-&�,+��--��� ���4��-,�-,�=���������������������������

Page 169: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

�*�@��<�<1�* -0�)�

� %=�%"&"�¨¿Í5�ú"WQtuv���

¨¿Í5�ú�5�úW��1;�=>)*+,"�` ���j93*)*jk�,

5�úWXY¿W=[騿Í5�ú"E�2�iÈ ���

)*jk�ÒµpP]�[£4��� ���¢c)*jk�jÁ�i®1G)�ëu<�

¨¿Í5�ú��1�`�?@�i)*+,W��µ¶h���

��������!����>?��������@�?��@4���� �����������!����>?������2�@�?��@4���� ���� � �����!����>?�������@�?��@4���� ���

�����������+!,7�5���9��7�

��#������'----------------------------------------------------- ' (c) 1998 MCS Electronics ' WATCHD.BAS demonstrates the AT89S8252 watchdog timer ' select 89s8252.dat !!! '----------------------------------------------------- Config Watchdog = 2048 'reset after 2048 mSec Start Watchdog 'start the watchdog timer Dim I As Word For I = 1 To 10000 Print I 'print value ' Reset Watchdog 'you will notice that the for next doesnt finish because of the reset 'when you unmark the RESET WATCHDOG statement it will finish because the 'wd-timer is reset before it reaches 2048 msec Next End

Page 170: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� � �

0�*�!!�%���

� %=�%"&"�"YÐ���þ�� �05�<WQtuv������±½�T*��4e

uv����0+ �05�U0 �- �05��«¤�m�2WÌ�h����0+ �05�6��M;�11����L6�� *���5�de

�11���� !K�"!R#ÑQ� �05�2(3%

2(3%Q�<@´�^�>_PT*Q�=Z

��������,Ò#4euv���

0 �- �05�6��M;�11����L6�� *���5�de

�11���� ���"W�Ç!K�"!R#ÑQ� �05�

2(3%

, -./0�Dim S As String * 15 , S2 As String * 10 S = "Hello" : S2 = "test" Dim L As Long L = 12345678 Writeeeprom S Writeeeprom S2 'write strings Writeeeprom L 'write long S = "" : S2 = "" : L = 0 'clear variables Readeeprom L : Print L Readeeprom S : Print S Readeeprom S2 : Print S2 End

�/*!%��*�=!��%*�����$� *�����

� %=�%"&"����¡Pq[ª<WQt#v���

Þ����¡P[ª<�� ��������� �������32������$�! "�)�������2����2��������2���";������2�$�$ " (�������2���"���2��������1��������11�������3����$�R ������6������������2�$�& �5�+�����1���2�2;���6�1�����2���3����+��������$�Q �+�5�����1�����2;���6�1���2�2���3����+��������$�# ��Y�����������2�2;���6���������2���3����+��������N�! 0)-���������2����N�$ )-�������2�2����N�" �+, !�)����������2�!�N�N �+, $�)����������2�$�N�R !����!�)��������2�N�& $����$�)��������2�N�Q ��0�)�����1���������������9��N�# �0-�)�����1�����������1���9����������6����

Page 171: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

*��!%<����?<��0 ����*�/!��

�K���*)*+,� ����"�W*Ì� ���i[�,%!N"�û +� 0"�Y�i

�m ��� +� 0"�$Q&�5�ú�i���Z�µ�5�úI��µ�i��*P]h���

+� 0"�NWQ�Á�P]'("W{����¶�;üS�*(8C·���i��:;j�t

ÐË(3��?@[*��4euv�������� ��#!�¶�'(��«¤�+,�uv���

A$Q�&�5�ú�i��Wüýþ*Ë=> '""`� ����&��#�M�"?@���

��h�������� �#!��Ei�i�i�i������'('('('(E�5,'+. +� 0"H�57, 0;.� H+, 0,��;�5- H$��#� �#!�E5�ú5�ú5�ú5�ú�'('('('(E�5,'+. +� 0"H +� 0;.� H+, 0,��;�5- H$AÙK��W " (W$�,!T*dÊ�� +� 0"� �"/ /"3Q%�W0���"�/

0���"/�¶·h�������� �#!�E�i�i�i�i������'('('('(E�5,'+. +� 0"H�57, 0;.� H ( 0,��;�5- H$��#� �#!�E�5�ú5�ú5�ú5�ú�'('('('(E�5,'+. +� 0"H +� 0;.� H ( 0,��;�5- H$ " (�d����i "�5,3Q%�� ('"W+�h��� '"�� ('"W#�M�"

?@ ���

+� 0"#�M�GH�, '"�0"Ò#4euTZ ('"�#�M�"?@4B#Q"

î� ���8�'(�,�*(;V©v��� " (*K�¶��µ�W?@�i! " (W�I

5���$"®%"i�� ���:

���� ���!�#!�$Q&�üS�*('(�, +� 0"�i��C�Ii�����Wª15�úIi��"

O^4euv���

i�pæ�V�������iî�h���

+� 0"�=[;T*K�''''/ÑQi�p ���j�t '"üýþ*ËW?@h���

��$Q&�;0���"�U0���"/W +� 0"*�*(h���

0���"�U0���"/�})�]2���i)�`��iÈ �������� �#!�E��5,'+. +� 0"H�57, 0;.� H+, 0,��;�5- H!��#� �#!�E�5,'+. +� 0"H�57, 0;.� H+, 0,��;�5- H! ( ,"H$���� ( ,"W$�,!T*d���Iüýþ*Ë0W=>$Q&��*(;�

���h���

�0d�� ('"&�"`� ���

+� 0"#�M�WWª0*=N�> '"I ('"W$���?@ �������� �#!�E�i�i�i�i������'('('('(E��5,'+. +� 0"H�57, 0;.� H ( 0,��;�5- H!��#� �#!�E5�ú5�ú5�ú5�ú�'('('('(E��5,'+. +� 0"H +� 0;.� H ( 0,��;�5- H!

Page 172: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

+� 0"�i��C�I��T*��4euv����'(�, " (W���ii��æ�<

î�4euv��� " (W�*M$<#W�> +� 0"�i��C ��� +� 0"W

_/''''�,üýþ*ËW=Z '""`� ���j�t#�M�"?@ ���#�M�W

Wª0�>5�úüýþ*Ë�$Q&�;0���"�U0���"/"5�ú3Q%� �"/ /"

*�*( �������� �#!�E��5,'+. +� 0"H�57, 0;.� H+, 0,��� ( 0,��;�5- H!;-+0 � +5,H7���#� �#!�E��5,'+. +� 0"H�57, 0;.� H+, 0,��� ( 0,��;�5- H!;-+0 � +5,H7� " (�*M!<���> +� 0"�y}i�� ���

5�ú� �"/ /"W0���"�U0���"//�V;�=>À�þ*ËW?@ ��� +� 0"2�1��3��������� '"3�����1��2���_/''''�9������1�1����������������� �"��1 /"� +� 0"WÀ�þ*Ë?@=> '"þ�jW`�=Z5�ú3Q%� �"/ /"�_/''''W

�*(h�������� �#!�E��5,'+. +� 0"H�57, 0;.� H+, 0,��� ( 0,��;�5- H!;-+0 � +5,H-5�,��#� �#!�E��5,'+. +� 0"H�57, 0;.� H+, 0,��� ( 0,��;�5- H!;-+0 � +5,H-5�,���!� ����-��� �� �'(�������ÐË(3��?@[*���euv��� +� 0$��91ĺ<

¾�i���euv����5,'+. +� 0"H +� 0;.� H+, 0,��;�5- H"�����5������'(�,�ÖQ���e�<�[¾�iÐË(3��"�� ���

+� 0$����5�<¾1�áÐË(3��*��h����5,'+. +� 0"H +� 0;.� H+, 0,��;�5- HN�� ����$V2EF�GHT*���iÈ ���� ���#�������'(�,�ÖQ���5�<¾�i¢ÐË(3��W��h���

+� 0$����e�<¾1�áÐË(3��*��h����5,'+. +� 0"H +� 0;.� H+, 0,��;�5- HR�� ����$V2EF�GHT*���iÈ ������2�������K%!&")*+,��$�!T*&!^¸�&�®%"��4euv����5,'+. +� 0"H +� 0;�5- H&��Á�e�H835��AR:A8Q&&NQ���� 70 :��� 70 H6��2�æ�T*¶�3Q%�"�� ����/���!��� #����/1��������!��1������ ��� �5,�#<üýþ*Ë��1#�M�W?@=N�W"Ò#�[¾�iL%�4euv���

Page 173: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

" (W¹W�70d�4��*(·�¶·#W" "�5,�QT*Ò#4euv���

�6�������4'�;�6���5�<�9���6#�����3�����06������7��;1�"��2�1�����;�6���5�=�9���6#��������3�����0������1�����������2�������;����;�4��!����

Page 174: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

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

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

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

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

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

�� � /012�3����

�� � 4&5��6�7(�89����4&�-.����

�� � :;<=��>?8!�%�-.����

�� � �����6@�ABCD�������

�� � ������6�ABCD�������

�� � ������ ��6�CD�������

��� � �6�89����������� ������� !������4&-.����

��� � "���E F���G�HIJ���

�� � KL����!�!�HIJ���

��� � $%�&'(�1�MN9���

��� � �������12�3����

��� � � �"��7(�#�����123����

��� � �>?� F�4&5�6O��,��2�3����

��� � 4&5�PQRST�$�%�&�&%�&$�%$!9���

��� � �������HIJ���

��� � ���� ������� ���HIJ���

�� � "��!�HIJ���

�� � '�������HIJ���

� � U�/��RSV9���

�� � � �!�HIJ���

�� � #�������HIJ���

�� � �6@�W���@!�-+X%�Y����

�� � ��������%�Y����

�� � >Z����%�Y����

���(���� � [U�+\]^� _9�������)���`TG�Ra'b��cd���

���� � :;<=� ������,-.����

���� � �6!��e��@-+�X����

���� � I6�=�f�b��(��9���

���� � %���g^�h�i�6 F���'"� ���O���j6������

���� � ��k@��>?8!�HIJ���

���� � ��'��� ��l���'�� ���HIJ���

���� � *�$�*!�HIJ���

��� � ������@�mnk6�(���9���

���� � >Z��op-+��@�-.����

���� 6q���c�N��6 �r'%�Y����c�N(���U����s%�t�u6(�vbj�6�����!��

Page 175: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

�< ��

wx��y=����z�O�{|'(�H9��� ��}� (�~����������9��� �l� ��(�~����+�����9���'��+�

��b����1���� F��,��)� ,O�K��_ ��$��i+������

��

! 123 10�10/ �02���-- �2��(��'(��'(��'(��'(��)*)*)*)*�+,�+,�+,�+,���������!��"R�/> ����������������$"�����$"�/>

����������7$�/>� !�"#$���%����&'($)*��)+

,-���$�+��� !�"#$���

0��"N"./01�&2�+,Y S;�0+, .+,�7 3�45��� +� 0$67�8)*+

9:�'42��5, +� 0$;<=��>?@2���AB����0��"N"/0

�&'C��DEF�G +� 0$���DH�(I$���*�7-0� 7�8)*���DJK'L���MN@2�$$�!&="�/>C��$���*�7-

0� OPQRDSTU�'V$����>�������C��DG"R!!WR%!!*�7-

0� (X�Y2�K'EZ�[�\>*�7-0� K'EEF5���]�M^_`+

�������.*�7-0� C�QD;a��bcd�e+fghijX*�7-H)).

X�0S� ��H))C��DJEQDH�(I$���QRDS*�7-0� (kl'EGmno

�M+:p(agq����

�/��4�)*���7�8���C$"�arHs���$"�/>����6�����tju��

mE��(v(w��x$���

�5-01�� �2���6��01��� %=�"!&$6 +� 0!; +� 0$yz�$Q{og�|C(E}45���~�b�6����!�

�����ag�Hs��� +� 0!. +� 0$6;�"MD�� +� 0$6 +� 0!C�}DG

���� ��� %=�"!&$�����$Q�9�������,���1

Page 176: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

�����yz��'0�(E}45��� +� 0!��0'6 �!. /!s���

�! +� 0!�D���o�Z /! +� 0!�e���os����yz�mE���$Q

{o���C��$���

g�|������$���g�|s����7�8���C$"���Hs�����

g�|��@2�Y�v(����

�������+�DJ���Y�v(�������� +� 0!��P�N�R +� 0$�

�P�N�&C�DJs�����

g�|���� 0!{o+�DJ"#��(:Q����

*��+���bc+� 5� +� 0!��57, 0!C��DJQEDH�(I$�����(E�

� �0 +� 0!� +� 0$2�"#7#DH�(I$���

�������2����N�"+�DJ�'DH�(I$����H6+, !�Ekg�|C�'D

H�(I$���.� 6+, !(���g�|C�'DH���D;a�E��45���.� (!�G

+, !�e�+��g�|����("#e�(:Q����.� .+, !.��$(I�

e�+�>����g�|"#6� p=5����

>�6� 56�?� ���@��

,� ,� � �

,� A� ���

A� ,� � �

A� A� � �

g�|����R(E�"#¡j((I$���

• ��1�!�$N�9���2�������(¢£¤�P�G��¥oCTU$���b^��%$="������ ��¥o(

TU$���

• ��1�$�$Q�9���2����

¡j$6¡j!p{¦$���$Q{o����"#$���Q&&NQs���+%DJ� §

��¥o(TU����

• ��1�"�%�9��2������1�

Page 177: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ��

• �!%{og�|�����#"$���g�|���(¢£¤�P�G /!Y� �!2�

¨©����b�}��o(ª ������¥o(¢£¤�P7��O§TU�Z�"2�

��j(����

• ��1�N� +� 0$�������6���1���1�����2��g�|�����5,'+.3+�Q$���

������ +� 0!H�57, 0� +� 0;.� H+, 0,��� ( 0,��;�5- H!�N�5,'+.�&+g�|�E����EEQDH�«§¬�'V$���.� +, !­+�DJ�'�H���D;a�DH�:Q$����5- �������2���¡j8!�N:�EQ$���

�5,'+. +� 0!H�57, 0;.� H+, 0,��;�5- H" +� 0!C����;+, !+��

��S�o®o¯�E;�"��j8��1�":C�Q�Hs�������g�|(�5,'+.3+�DJ�Q�°±�!b²"#DEF5���

�� +� �0 +� 0!3�Nj7.V$���

g�|����(¢£¤�P�'TU���¥oC³�D��DJ5, +� 0)3�

��DJV$���

g�|���(��1�"�"#1�G&�����,��"+������3+�DJ�"��jY�

EQDJV$����"��jY6%{o���"&&C´��µ5���¢¶��j

¡j8��1�":%{omE��C��D��·©"&&2�CKH�(I$���$!2����C

¸!*D¹G"RQ��QDJV$����57, 0!.�57, 0$�������2���!p�������2���$�Y�¸º��������

�57, 0!H6��2�+�DJ�������2����Y6º�DH�(I$���

�50 N»$�I�¸5���

�N�$H$�a� �N�$³¼MN@�no.� ½.=6»$�I���$���

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

�N�! 0)-�����6�1��3��0��"N"�N�$ )-������1��3��0��"N"�N�" +, !�����2�!���2�����!����������N�N +, $�����2�$���2�����$����������N�R !����!���2����2������2�N�& $����$���2����2������2�N�& ��N�# ��

0��"N"./01�0+, ;+,�7 �&���DG�N�!p�N�$60��"N"��¾���������

��¥o+, !�+, $���D¿2G��¥od�C9:DJV$���+, )��¥o���

DÀ+Ea�5���+TU$���� 6o�;�Á�EQDHs����

� �5,�! DÀ+E++, !��¥oTU

0 � �5,�! ���mÂ++, !��¥oTU

� �5,�" DÀ+E++, $��¥oTU

0 � �5,�" ���mÂ++, $��¥oTU

c©Ca�2F.�Ü#_�IÐ��q)�P�¿øq�c©Ca�cT��e�9��IJ�����������¥�

�Þ7q��º7]{�c©Ca�cT��o^�1%�e�9��IJ���������������

�å=i�c©Ca���£��Ä%�¿��IJ��O�D��IJ��í�%�.A���`6a����������

]Q56.��c©Ca�]�6567]�¶ß�^���� ����.�×ØP�¿�TàÀ�����IJ��O�b�

­��M,�ë?A.¥��IJ��í^�­��O�%�ë?�Z�[e�12�����

Page 178: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

���01� /��075��01��(�-.-.-.-.�/0�1/0�1/0�1/0�1�*��+�+�DJ� �%!&$��mE��CÃÄ�#DH�(I$����mE���Å6

ÆÇ's���%!&$��È+��É�(42Z_`�I]�M^+ÊË$�����

����������������� �����PNPNPNPN�%��%��%��%���!��!��!��!����%���%���%���%���

��*�� ��/� '0,:%�� �0,%� ,"�

���� �, �� �"4�09�

(�*��� (� �4"�+, ��0,%� ,"�

���� �%�� :+���%48"��

��� �, ����"4�09�

���� �%�� :+��+ �, ��$�0,%� ,"�

�(6�� � ,� 4/���4�:��A, &�

���� �00:/:"4�, �

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

(��� (�405�+,�%�� �

����� �4�4�+,�%�� �",A�A, &�

��?� �4�4�+,�%�� �9��9�A, &�

��*��� �,A� �0,%� ,"�

��*�� ��/� '0,:%�� �/,&��0,%� ,"�

�� � ��/� '0,:%�� � �",A�8$���

���� ��/� '0,:%�� ���",A�8$���

�? � ��/� '0,:%�� � �9��9�8$���

�?�� ��/� '0,:%�� ���9��9�8$���

(#E!� (� �4"�&4�4�+, ��

���� �, ����"4�09�

���� �, ����"4�09��

Ñq6©�.CD�iåÑ6�[�^�Ã�ßH��7��,oi�������Ñq6©��óô�����¿�Çáe�

*,���������H��G^�GHIJK7]�B*�?Ao^�1.¥���Ñq6©^��åTq�&^�

1.������aq���]�Y�^���D������%�?A�����lT>��a�Y�X]�

?AÀ�����.a�q���]�Ñq6©^��.a�Y�X�?AÀ�����¨Ñq6©^���i�2����

GHIJK�7]��µ�Y��.C¢X�?A�9�lÀ������|9�ß­K�G����G:���^�lÀ����

ãä�9�G�^��¨Ñq6©,�.C.Z�¿�2����l'��G�Ñq6©7�3%�q��å9���G�½�

�B�����g.�q��9�À�����

��301��.�(��2�2�2�2�3333��

LMNO�7�Íe.�ûæo9��«�°a��àv���IÐ��À����ij��#��.îq�G.©��¾¢å9�

�#��^�àv���IÐ7��ip������l'´X�G.©��¾Z�Í7��#_���#$�f�c��eñb�+NN�

®�Àà���%�°a7�çéip�������a��9èÖ¢X�2FD��F,���.��]��������|i�

�O�½�ÀÀÀÀGGGGMMMMOOOO�X��Ä�9��O�M��O�O��O�+��O�íb�2Fª¢X�?A.��]�������

���/5�0� ��0-8/9�*���5�+���'ÌÍ�����(I$���'ÌÍ^+�Î36VEV��s���

� �y(EÏÐ2�'ÌÍ���bc�(I$���� ��"�#����E�Dim a as byte ��� {a}, #10 ; variables must be enclosed with { } Print a 5���2�������21��������9���3����X+,��7- ���������'ÌÍ^�M�R©�Nj7�����'V$���

Page 179: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

��5�5 /5: �5���(�456456456456��

*���5�� �%!&$6��1�&'+��Ñ�Ò#Ó�,-����Ñ�ÒÔÕ�ÃÄ

#�D�ÖDGfghijC��$���F�������Ën����.��-�×�¤m�8��1�P+AØ:Ñ�ÒÙjk#�����

Page 180: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �� �

����������

Page 181: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

����*!�*�%�)%���

%!&$)*+,"L%� ���'Ï���fîq� -"õÚºT*���Z�����*

��q���"¥û ���( ��$Á�e�$$�!&="�/>�Z�� !�$"!!*������

'---------------------------------------------------------------------------------------------------------- ' ' SE-516T11M1200.BAS ---------- Copy right : SAMPLE Electronics co. ' ' �� : ' ' SE-516SP �I/O ��� �� �� �� ������ ����. ' ' �� �� �� ����� �� �! 11.0595MHz "# ' 1200 BPS ���. ' ' $%&: ' ' STEP 1: SE-516P ' ()*+� �,�- ()./0 12"�3 ' 4567 HEX 2"0 ()./ 8��. ' STEP 2: SE-516P ' 9:; 2<� =�8��. ' STEP 3: SE-516P ' 9:; PC� �� ��� SE-516S �>?' @� ' DB-9S AB�) 9:8��. ' STEP 4: �� SE-516P' CD EF�� 9:8��. ' STEP 5: SE-516S � SW2 � SW3� GH�3 OSC � RS232 ) I�; LED ! ' JK(ON)LM 8��. ' STEP 6: Bascom 8051 IDE � N�O PQR'+ Tools -> Terminal Emulator � ' ST8��. �UVW) 1200BPS ) �XL6 @Y��. ' STEP 7: SE-516S '+ Port Z% LED ! [\) ]C�^ JK��� ZL^ ' PC � _`a Eb_c �d8��. # �ef g'� �d� _� ' �h; _! I�i��. ' ' j-: Option -> Communication '+ ����(Com1 k� Com2)� ' ����l mno p @Y��. ' '---------------------------------------------------------------------------------------------------------- $crystal = 11059200 ' XTAL Frequency 11.0592MHz $baud = 1200 ' RS232 Serial Baud Rate 19200 BPS '---------------------------------------------------------------------------------------------------------- Dim C As Byte Dim A As Byte A = &B11111110 Main: C = Inkey If C > 0 Then Print Chr(c); End If

Page 182: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

Rotate A , Left P0 = A P1 = A P2 = A P3 = A Waitms 200 ' 200 M SEC Delay Time Goto Main '-------------------------- End of FILE ------------------------------------------------------------------�����

�������

Page 183: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

AT89C1051, AT89C2051, AT89C4051 �������������������� ���������

H�K�Ü?,�H�LRIOMNO�H�LRI+MNO�H�LRI4MNO�kXl+%��g������

H�LH�LH�LH�LRRRRI�MNOI�MNOI�MNOI�MNO,,,,����kXl+kXl+kXl+kXl+éééé�����å�å�å�å����

4.4.4.4.��������DDDD���#�����v$��3���#�����v$��3���#�����v$��3���#�����v$��3����

4.��È>Têb�G.©�Ba,�IÇa���������lë O�b��+B���T7�2å��4.��

�Z[e�Z���9.¥�lë +�^��+B���T,�2å��¾Z�[e��92����lë�í7�ª7�d

e�8���.���oi�������H�LRI�MNOb�û³������q±m�IЮÍj},��t�����JK�.�

O�,��t�����JK�%��q>��¢¥�2å�kXlm.�4.���]��ú�oi������2å�kXlm�

4.�.ì� �t���� �JK�,��a�IÐ�� O7]� M¢X�YW�^�12����.Ñ.r^��«� �t����

�JK,��«��a��OX�¥Z �^�12����kXlmb��.a�~[X�ij�[�«q�,(».��

]�q{�.Ñ.r^��.a�~[X�UV����»¢¥��t���� �JK�Í�j}7�d���×ØÀ����

H�LRI�MNOb��¨7�iåÑ6�Ez©���q>��¢´X���¬�LMNOD�g.��4í�iåÑ6��2

F�q�&>���HÜO�ª7��ú�(ò��ûæ�9�À����iåÑ6�Ez©^���ª%�M7]�OX���

��¿�MMM�.�À����H�LRI�MNOb�iåÑ6�Ez©��7�Ï.´X�?×I�ZîÖ¢X�kXlm�

�Ì�À����iåÑ6�Ez©^���HÜOª.�M�7]�O�X�Y��¿�O�7������

� ��lë O�3��t����kXlm� lë +3��t����Tå�

K#��K#��K#��K#������ ��������DDDDê��ê��ê��ê������ �í��í��í��í�+D+D+D+D��Jõ��Jõ��Jõ��Jõ���� �í�í�í�í�í�í�í�í���� �í��í��í��í�4444���� �í�N�í�N�í�N�í�N���� �í��í��í��í���������

2222åååå����4.a4.a4.a4.a���� OOOO++++êêêê���� ïïïïÒDÒDÒDÒD ���� ÜÜÜÜ���� àààà���� àààà���� àààà����

2222åååå����TåTåTåTå���� àààà���� àààà���� ÜÜÜÜ���� ÜÜÜÜ���� àààà���� àààà����

����aaaaOOOO���� OOOO++++êêêê���� ïïïïÒÒÒÒDDDD ���� àààà���� àààà���� àààà���� àààà����@@@@��������aaaa����

����aaaa++++���� OOOO++++êêêê���� ïïïïÒDÒDÒDÒD ���� àààà���� àààà���� ÜÜÜÜ���� ÜÜÜÜ����

[[[[����.Ñ..Ñ..Ñ..Ñ.rrrr���� OOOO++++êêêê���� ïïïïÒDÒDÒDÒD ���� àààà���� ÜÜÜÜ���� ÜÜÜÜ���� ÜÜÜÜ����

TåTåTåTå�­ß��­ß��­ß��­ß�����.a.a.a.a���� àààà���� àààà���� ÜÜÜÜ���� ÜÜÜÜ���� ÜÜÜÜ���� ÜÜÜÜ����

� O3��t�����JK�kXl+é��å�

Page 184: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

H�LH�LH�LH�LRRRRI�MNOI�MNOI�MNOI�MNOkXlmkXlmkXlmkXlm����È>TÈ>TÈ>TÈ>Têêêê����

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

*��%& �#$�+,�*-�.�)�/0����

,��+,�,1�+,�21�+,��1�+,�3��456�7��.�89�"�)�:;����<���=>��

2��+��'�6?�+��3�@A�BCD�E5-�FG����

���%& �#6��*��-�������

H��+,�*�6�IJ-�������KCL��CL�MCN��OP6?�QRAS�T���*U&�C���KCL�

V)WXC�YZ[\�+,��6?�"]^�IJ��_G`���

3��%& �#6����-�������

a��� !"��#6�.bcd�IJ-�������

e����f9�gh���CiC�YZj�k@A�21�1H131a��lm����

�t������T^��.a�~[X�kXlm��]�q{�iåÑ6�Ez©^�O�O�7�Ï.´X�Mñq�¨

©� q¡�ñq,�G.©��;o7�¬����>�ZîÖ¢X�kXlm�����G.©�Ba7^�kX

lmD�¦T�.��gb�?.�7��¢��d¨Ì,�kXl+%�g�?|b�kXlmD�¦T�.���

�i�×Ø�����ð��t�����JK�Í�j}7�d���4.�%�¸²�×��>����Íj}7�de�¦T

�.��×Ø�����

)*jk)*jk)*jk)*jk�ºººº�������������A�� - �#�=� ���E�

!"4�9��*���D�p�q�L'�W��0#Q"�Ò#����!/�!"4�9��*����D�p�q����"�

)2������±½�[�¾1��!*��� �����#�U��#��W�)*jk�=Q�R��>������@ ���

JK���(���"�)2è�e�uv����

�3��3��3��3�xxxx�A��1���� ���E�

!"4�9��*���n�O³�I�Ð���Ö¾*��3�x�4�e�©v�����3�x"�µ¶�>�!"4�9�

�*��éO³��������*�=[�h�����3�x�����P�æQ�&�#��#�U��#��!�P���

Q¨������������ /(����,A�®%"�#W�iÈ� �������!��-��1����-���� �������E��

ÉÐ�%��Ì]�/�-."��� ������¤��Ð��W�uTZ����/��V�;<���1��� @���

ÌÃ�W�������ê<������B������

kXÇ]kXÇ]kXÇ]kXÇ]���� �t�����JK�t�����JK�t�����JK�t�����JK���� MMMMMMMMMMMM���� MMOMMOMMOMMO���� MMMMMMMM++++����

H�LH�LH�LH�LRRRRIOMNOIOMNOIOMNOIOMNO���� O�÷�GO�÷�GO�÷�GO�÷�G�������������������� M�­�M�­�M�­�M�­����� M�OOM�OOM�OOM�OO���� M�MMM�MMM�MMM�MM����

H�LH�LH�LH�LRRRRIIII++++MNOMNOMNOMNO���� ++++�÷�G�÷�G�÷�G�÷�G�������������������� M�­�M�­�M�­�M�­����� M�M�M�M�++++OOOO���� M�MMM�MMM�MMM�MM����

H�LH�LH�LH�LRRRRIIII4444MNOMNOMNOMNO���� 4444�÷�G�÷�G�÷�G�÷�G�������������������� M�­�M�­�M�­�M�­����� M�M�M�M�4444OOOO���� M�MMM�MMM�MMM�MM����

� +3�v�$��"���G�����

�lë í3�kXlm��.é

Page 185: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

lë 43�kXl+%��IG,�ק�cñ9�� lë N3��Ts�­.���U��

� �lë i3�?A��]e�H�K�Ü�kXÇ]� lë �3�g�7���e�¨ò�

�I�,�IJK�°a��� NOO������^��Ts�­.�b�O3�O�X��Ux�R�v$�ß�"!��

�³�­.�%�?A������

�Ts�­.�%�B���¿7^�í�U{�?A���­.�%�g�������

lë-8: PC 7] å4.; kXlm ×Ø

�I�7]�×Øx�å4.;�kXlm�����2����êv�"�t�GH­I¢X��¤���?AB��e�^�Z

]%�\��Å��YW����������Ú6�kXlmb���ÍB�ót.q7]��z�ô%���������

Page 186: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

lë-9: EX�

Page 187: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ���

kXl+%^ �]e }~e EXX j¤�^ 1% U�X �> �(�Ä���. PC �, c© t.6EX, VPP �£EX, �# kXÇ] giEXX j¤oi����. �« gi^ AT89C2051 kXÇ]7] ×ØÀ��. BASIC õiX �¤�Ä¢¥ Éöìå MCS Electronics(2)?, BASCOM 8051 Demo ;Í ��0'� ?A�� HEX �0% £¤���. Ú6 2å� û9�Ä¢´X Z] YW.� \�� �]���. kXÇ]kXÇ]kXÇ]kXÇ] giEXgiEXgiEXgiEX, ÍÍÍÍeeeeEXEXEXEX: kXÇ]^ AT89C2051% ?A���. 2K Bytes, Flash ROM D 128 Bytes, RAM % �³�> �¢¥ �Ts '(. �]���. 11.0592MHz, ATS� ?A�� 8����. Íeb *÷©� ?A�>7805 ÑøÑ.© IC� ?A�� l�x 5V Íù% ûæ���. *÷©, Íù b 7V–30V øq �]�q{ 9V� ?A�^ 1% ú³���. Qûq ��Z^ *÷©, ü¤7 ,(». 8��Z [�� ?Ae 12��. P3.0 ªb ò6a �w©X¨© G.©� ô^ RxD� �# CPU , P3.5, P3.7 % gi�^ (òX ýA�� ?A���. . �b 8051 kXÇ], j� ¿�7 �]e 1.¥ °a ª7 d�� ?A A�� 2�F Ú% ¥Z7 q�\p o^ �µ («, kXÇ]7] . �% ?A�Zì þì���. PC�, G.© '(� P3.5, P3.5 % gi�^ �}8lb G.©� ýq &�ú ��p ���. l'´

X ��e G.©� ô*] RAM7 ²³���> T.� ��ú j¤��p ���. PC c©c©c©c©tttt.6.6.6.6 EXEXEXEX:

PC�^ �Ts c©t.6� .A�¥ RS-232 Ñ� �;©^ MAXIM(3)?, MAX232 � ?A

���. '()�^ 19200 ¢X >�oi �¢¥ �« G.©^ ASCII G.©{ ?A���. PC�^ TxD, RxD, GND% ?A���. PC þ, ?A�q &^ �%q ª|b Null �� ��¢X ���. VPP ����£EX£EX£EX£EX:

AT89Cx051b 4.� � 12V , Vpp Íù. �����. � EX7]^ MAX232 , 10V jÏ�� �.ýå EX7 ,�� 2A �ù�� � 18V � �»��. �� 78L12� ?A�� 12V, �Íù% {|i VppX ?A���. � 3mA , Í�� ?A� � ����. PC å4.;å4.;å4.;å4.; kXlmkXlmkXlmkXlm:

Visual BASIC¢X å4.; kXlm% j¤�Ä���. å4.;� ���9 lë-9 � gb ���� ��À��. Ú6� û9 �Ä¢´X ?AB� e�^ Z]% \��Å� 9 QBc% YW\ s � ����. LOAD<��?�F���<�ýR��*( �������?�F�������V�������æl�����#�%4 $�

�(��MN�)<�e��©T3*�#�%4 $"��%��"�?�F*�dÊ����»��G?�F�#����F�H"�

���i��%��"�?�F���T*�dÊ1�D��,4&�iÈ� �����*���ý¼��!!�Ü��½%W�

Ü�=2�uT>�?�F��<�*(�[�é��ýR��'Ï�J�<� @!!*�=[�� ���

SAVE<�ýR��±½q�?�F��("��%��"�?�F���T*�±½ ����)*+,��!��(?�L'���

±½q����"�)2������±½4����� ����

RESET<�(�-������½8q�)*+,��l<�Ò# ����Ò#�Wª1���E�����������

� ���)*+,¡������ �W�ñ�������� ���������� ���������� ���������

READ<�)*+,��!��(?�L'���[Aq����"�)2�ýR��±½ ����

ERASE<�)*+,��!��(?�L'�"�}�G'�J�<�!!H ����D�p��[���0�!��(?�

L'�"��3�x��i� ����

BLANK<�(�-������½8q���E�!��(?�L'���J���éK�!!#Q�Ò# ����

WRITE<�ýR�����"�!��(?�L'���D�p� ����

VERIFY<�!��(?�L'�/�#E!!��"�&ï�i�P�1Q�Ò# ������¤��&�D!�¾�>�

�� �3$����*��W�?@ �����

LOCK<�!��(?�L'���)*jkq����"�)Q�å�!A��,05�&�"�)*jk ����

AUTO<�Ü�½%����W�q�m�<�õÚºT*�µ¶ ����b"�ç2�j��,�no%!&opno%!&opno%!&opno%!&op/�

nq%r opnq%r opnq%r opnq%r op��;<(�ý¼��Ü��½%��Ü����W�uT3*�no%!&opno%!&opno%!&opno%!&opµ¶�D��������"�

µ¶ �����E�*�ý¼�����,4&�Ü��½%���E�*�ý¼��µ¶=[�é�?�F���<�)<�B<�

78 �����

Com Port<������������"�784�e�uv����G�,/��·���,/�H�

�á������,/���"�£�>����:4"�#�(���T*�]^1�(D�ý�)*jk�}%�,�v��

��¢�e��>�h���

����

Page 188: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

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

� ��� ��� ���

�� ������ ��� � ���������� ���� ��F������� �����������(-���������������� ���� ��� �� �*-�� ����'�������E���*�� ���� ������� �*-�������'�� ������E���*�� ���� ��� � �.���ü(� ��

� ������� %¾¿���ü(� ��

� ��������� ����� ���� ���������� ����� ���� I���*6����� ����� ��� � �(���� �*-�����������(�(�*�� ����� �(������ �*-�����������(�(�*�� ����� � :!'���� �g�,� ���

��� ���� +DÀ�g�,� ��

��� ��� J� �'�6�����(�*��tP��ô���üÁQ��~� ��

��� ���J� �'�6�����(�*��º��ô���º��~� �

�� ���� �*9/� �'�6�����(�*��tP��«Â��tP��~� ��

�� ��� ����?K� ��(� ����� �#�(������� ��#�ØÃ� ��

��� � ���,��� þD%Ä�f�� ��

� � ������� �Å!~� ��

��� ����/� )D%� ��

��� ��@����f�� � ��

��� � �����}� � ��

��� �����(6� � ����� �,A� �L405� ÞÈ��É� ��

�� ��#� (�-�����>�%GÊ��Ëþé_�Ì]� ��

� � Z?, ,e �« B�^ ��ÍB ót.q7] �z ô% � ����. ( http://www.SAMPLE.CO.KR ) Appendix:

(1)ATMEL (http://www.atmel.com) (2)MCS Electronics (http://wwwmcselec.com ) (3)MAXIM (http://www.maxim-ic.com)

��

Page 189: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

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

s�t�s�t�s�t�s�t�uv�wuv�wuv�wuv�w����xyCA6?xyCA6?xyCA6?xyCA6?����z{z{z{z{����|J|J|J|J����V)WX$V)WX$V)WX$V)WX$�}!&~���a'���}!&~���a'���}!&~���a'���}!&~���a'��B4-B4-B4-B4-��������������������������������������������f�9f�9f�9f�9

BBBB������������ o��]��at�����]��r��������U�U]����b���o��]��at�����]��r��������U�U]����b���o��]��at�����]��r��������U�U]����b���o��]��at�����]��r��������U�U]����b������� 6�6�6�6�������A���A���A���A�������fS��fS��fS��fS�.o���.o���.o���.o����C��C��C��C����QRAAQRAAQRAAQRAA��������

��������������������|J�|J�|J�|J�������[�����[�����[�����[�����������

Ú6�kXlm,�ý���*Y�����¨�m�?A�e����%��\ip�������GHIJK������

x7]�J��v#$�� �� I#��vt��� ��Kv�u��x�����9�*+��gb��������À����G����

��ß�,�������3¢X����9�74���£�q�&�����G�����$�ì���0'7Ì��¨���

T�?Ae(��q�e�12����H�LRINO�H�LRIOMNO�H�LRI+MNO�H�LRI4MNOb����Óà��Ô�

���¨��T�Õd3.´X����X�YW�9�À����LMN+�^����Óà��Ô��Õd2����i��T�5

6%�?A����¨��T��óô�j8��¿7{�G�����$���Ö�e�3¢X��������l�^7^�

kXÇ]��?A�^�Õd3¢X��������������v������vt����v������vt����v������vt����v������vt�7]��?A�^�kXÇ],�Ã�

7��^�Ã�ßH���0%�q���p������

��

s*t�&os*t�&os*t�&os*t�&o������H&+���H&+���H&+���H&+������&+�&+�&+�&+�������+���+���+���+----�}!&~���a'���}!&~���a'���}!&~���a'���}!&~���a'��6?6?6?6?����A���@A���@A���@A���@��������

ÞM��h�����¢�(�-��(�'(�-�����(D�ý�)*jkV�Ì!Ë�ýé�3*�#�(�*��� ���

)*jkU� P��� Ì!Ë"� �2dt� ����>� h���� (�-��(�'(�-���� (D�ý�

)*jk�,�1�¢�?�F���<�)2ç�>��%"�[k�t�uT3*��:�,�ý¼�1��E T*�

)*j�²�h�����

s,t�}!&~���a'���s,t�}!&~���a'���s,t�}!&~���a'���s,t�}!&~���a'���6?6?6?6?���� )� )� )� )��1��1��1��1�)¡¢ )¡¢ )¡¢ )¡¢ ����£¤�£¤�£¤�£¤�����R¥¦R¥¦R¥¦R¥¦������@��@��@��@��������

de�����[é��¥(����/��T*�7À�iÈ� ����#�(�*��� ��V�éK��*?�de¢�

Wª ����

s2t�ba*���s2t�ba*���s2t�ba*���s2t�ba*�����������§�§�§�§�����¨P¨P¨P¨P�r~��r~��r~��r~�----����P©ªP©ªP©ªP©ª����kkkk����R5«JR5«JR5«JR5«J����A0�A0�A0�A0�����R¥¦R¥¦R¥¦R¥¦������@��@��@��@��������

#�(�*��� ����,�de7À��F����<�Q��>�h�����¢�2(3%"�Q�4�e��©T3*�

�+, ����<�Ò#�W>,��Ò1�2(3%W�2í:�Íp�Q�Ò#�iÈ� ����i9�¤�����W�

fî=�ÊË����2(3%W�f º�Q�R<��W�uT3*����Q�R�D!���/�F����#$��"�

���i�£���2(3%���¿�!A��iÈ� ����

s�ts�ts�ts�t����P¬P¬P¬P¬����| ­| ­| ­| ­����®¯C®¯C®¯C®¯C�����°��@�°��@�°��@�°��@��������

GHIJK�LMNOb�~��Ï�¨8Ú�º�Y���Ý� �D�Ã�,�4�����%�qe�����­���IJ­���

�,����^�qe�q�&�����

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

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

+.���� 4������ /0�� 44� ��1� ������� ��*�� 2���� $%3���� $%4��

5�6781�9:�; �����

Page 190: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� �� �

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

��� NOi�^� ò6a� �w©7]� ��0Di��Çx� �F 0®à��� °¹�%� ÍZÖ¢X�

ÚÅDkXlm� �]e� �ÜHà� ��T� �³Ï� LMNOkXÇ]7� 4.�e� f� �#� EX�� ð��

8�o^�H�K�Ü�LMNO�kXÇ]�kXl+%D��Ñ.©�2���� $vº����t�kXl+%�����JK�

�2� LMNOkXÇ]®­$��t?,� �L�NO�X� LMNO� gi��6�%�9���W��kXlm%�YWf�Â�

4.��Z� [��� kXlm� q� ¿®��H��� íMÌ� .I®���JK�2�� Z�åp� ����� ke�

4.��f�I� ���JK4.©7]��*����EX7� *�*ip������kXlm,�Q;�.�e���

ñ,�Ú6�kXlm���¢X��]���9�.Û��7�,e�9����]��q{�d¨Ì,�W�����

ñ,�Ú6�kXlm����µ�.7��µ��JK�4.�D���H��lT>�kXl+%���#�EXX�

¨©� I� ,� ³_� D�)_%� ��p� ����� .'e� D�b�d~a� ñÅX�¥� LMNO� kXÇ],�

³_D)_�D���LMNO�[D��#EX��å=i����oq�&�ú�Íe%�J����p��^�Çáe�

*,����e���2����� NOi�^�.'e�ñÅX�%�\��Z�[���9�oÒ������

NOi�7��#�EX7�?AP�gb�Ã�,�kXÇ]������JJÜ7�³_�>��#�EX7^��

NOi�,�k5Q�­.�%���������#�EX������JJÜ7�³_x�LMNO�kXÇ]�^�6[��

­I�c�4Mii�Ì.a7�,�����oi�������4.�.���o9�4Mii,�aÖ6z¼�Ì.a��

J�� oi� �#� EX�� ����JJÜ,� LMNO%������ �#� EX7� LMNO� kXÇ]�� �^� 1D�

80�Ì�8������l'´X�4.�����f�����JJÜ,�LMNO%��#�EXX�.8�����».�

ð�� ?AB� kXlm,� �I� 8��IÜ%��c�� �� ������9�B^� Ú6� kXlm� ��D�

4.�%� �ge¢X�J¶�� �� ������ ÕÃ� kXlm.� �¤o9� kXQ�­.�%� gÅ�>�

����JJÜ,�kXÇ]���#�EXX�.8���³_�9�9�.��¤À����� NOi�^�H�K�Ü�

?,�LMNO�2i���³x��ÜHà� .§X��a�'�R�Ã���qe�����+M�v$��Tr��4M�v$�

�Tr�� ýA¢X� ?AP� �� ������ ��Ñ.¼.� �T��ú� � NOi7^� ý×Ñ.©��

�Ts� c©t.6� EX®� +í+� ß�vº����� �³�>� ������ �#� ×u� EX�� {|� ¿ ��

ý×Ñ.©�EX���Ts�c©t.6�EX��j¤�q�&*��o´X�� NOi7�,���ÊË>�

Bz�LMNO��6��9�.��]�����

" ���� #$��%� ��"� ��&'���� �

���()����� ��*�� �+���� +��, -� .���©�©�©�©��

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

���()/���� /�*�� �+���� +��, -� �

���()��� /�*�� �+���� /��, -� �

���()�+� ��*�� +����� /��, -� �

���(��+�+� ��*�0+�*�� +����� /��, -� +*���-� ��

���()���,� +��*�� +����� /��, -� �

���(���� /�*�� �+���� /��, -� �

���(��+� ��*�� +����� /��, -� �

&o&o&o&o������H&+��H&+��H&+��H&+6?6?6?6?����A�f9A�f9A�f9A�f9�a'����a'����a'����a'���V)±?V)±?V)±?V)±?�

���

Page 191: BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf ·  ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ

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

� ����

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

� ������������� ���������������� ��������� ����� �-./, �01/2������������

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

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

������������ �� �� �� �����������������3��(���"������$%�&'� �����

��$%(����������(#1 .�)*���+���������

,-��$%��!"#����

����������������������������������������������������������������3������"�����"(����

.� /0�1� !"1� �4"!�� �� "(� �������

234��56��"(�����

������������ ������������������������ ������������ ��������� 789� :9;'��

<=>9�?@A�BC �D�E#���������F�G���

����HI�J�KLM����

� ���������������������������'�� �����,��N��O%&'����

P��O%(�������� ����� ���QR� ���������

O%��ST�LUV��W,���P��O%��!"#����

����������������������������������������������XY��4>9�Z[���BC %�

\D� :9]^�� _`� V� aO���� "������ ��

�bO����

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

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

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

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

*+,-./0123/+452,��

WWW.SAMPLE.CO.KR