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

Post on 14-Feb-2019

255 views 6 download

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

BASCOM 8051

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

2004 Jan 28 �

��������

���

SN: ___________________________________ �����

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

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

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

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

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

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

� ��

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��

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

� ��

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

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

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

� ��

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

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

��

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

��

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

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

� ��

��

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

��

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

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

� �

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%�������������

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

� �

��

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

��

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

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

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

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

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

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

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

� ��

�����������������������������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������

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

� ��

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

ÁÂ,��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���

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

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

� � �

�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����� ������������

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

� ���

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

())�*+, �.�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����

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

� ���

� �� �,�.�� ��&���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,�;.����<������

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

� ���

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

�¤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�

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

� ���

^¨³�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�²³�

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

� ���

�Ü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%�Ã�������

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

� ��

!#��/ 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���

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

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

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

� ��

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

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

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

� ���

�)*+,�-./�����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�����

��

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

� ���

������� �,,&��(������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��

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

� � �

����������>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«��������

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

� ���

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����

�����

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

� ���

!#��� 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����������������

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

� ���

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�����������

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

� ���

����������

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

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

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

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

� ���

/��)$�)!�$�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��

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

� ��

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���

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

� ��

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

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�

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

� ���

%>� ����������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

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

� ���

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

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

� � �

� ��������������� !"# !"# !"# !"#�$%$%$%$%����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���������

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

� ���

&'(')*'+,-.)+(,/,&'(')*'+,-.)+(,/,&'(')*'+,-.)+(,/,&'(')*'+,-.)+(,/,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���

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

� ���

�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

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

� ���

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

� ���

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

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

� ���

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� ��

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

� ��

�#�������$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��

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

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

� ��

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

���'�����

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

������������ ������'���'�)� ����� ���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�

���������

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

� ���

��

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

� ���

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�

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

� � �

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

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

� ���

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

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

� ���

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

� ���

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���

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

� ���

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

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

� ���

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

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

� ��

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�

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

� ��

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

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

� ���

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

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

� ���

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

� � �

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

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

� ���

����

� ������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

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

� ���

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

� ���

�� ��� ������%�Õ<���++;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����

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

� ���

�#��!��½�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�����

��$����&��

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

� ���

( *�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

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

� ��

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

� ��

�//� ������,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

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

� ���

-%��� ������Ð��;�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

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

� ���

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

� �

���*

������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��

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

� ��

����)*��!%�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

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

� ��

LCD "4" 'display 4 END

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

� ��

����)/ 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� ���

�������

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

� ��

&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

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

� ��

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

� �

����)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%"�� #����,�*"��'�%����,�,"�������,�/"��������,���

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

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

� �

����)/ 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

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

� ��

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

� ��

�$�*!%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�Äí�

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

� �

�!!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

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

� ��

$����&�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&� ���,�����!�������"��#��#��-%������

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

� ��

�DTA4: DATA "Hello Word" REM You can also mix different constant types on one line DATA "TEST", 5, 1000%, -1&, 1.1!

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

� ��

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

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

� ��

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

� ��

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

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

� �

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

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

� �

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

� ��

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���

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

� ��

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

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

� � �

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

� ���

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 ���

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

� ���

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

� ���

!/�!�

������+'� / ,����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

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

� ���

!�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

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

� ���

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

� ��

!%��!

� ����� 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

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

� ��

��%� ������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

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

� ���

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�����

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

� ���

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

� � �

)!*>�$*�*��!�$* �����})�]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���������

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

� ���

)!*�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�

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

� ���

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&"$�="#

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

� ���

-��_/"!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

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

� ���

-��_/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!=

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

� ���

)!*% � ����� ±�·������;<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!"

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

� ��

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�

���$��­½�

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

� ��

Ü##��

��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+���

��������

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

� ���

�#������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

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

� ���

-�)-

� ������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��®­��

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

� � �

-��!� ������;,"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

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

� � ��

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� ���

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

� � ��

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

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

� � ��

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

� � ��

��� ������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������������

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

� � ��

�� %

� ������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

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

� � �

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

� � �

���� �������(]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

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

� � ��

���$*-!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+,

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

� � ��

�#������Æ �

Æ�����������������®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$������¸�����¸���

�$��

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

� �� �

���*%

������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���

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

� ����

�#�������

ß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

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

� ����

'$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

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

� ����

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

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

� ����

/ 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 '--------------------------------------------------------------

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

� ����

$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”

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

� ���

z = Left(s,5) Print z 'ABCDE End

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

� ���

/!�� ������%�Õ��_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

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

� ����

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

� ����

/� �*!� ��������-�;,"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

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

� �� �

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

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

� ����

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

� ����

/�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��":

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

� ����

$����&��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 ��

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

� ����

��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�

�$��

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

� ����

��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�

�$��

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

� ���

��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

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

� ���

����*!%%$�*� ������#�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

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

� ����

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

� ����

��=�/$!� ������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��/�ÞÈ ���

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

� �� �

})�]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��*�ù���

�����#�

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

� ����

����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'��;<¥û ���

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

� ����

� ����# (������ �����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�,

�$����&��

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

� ����

�é'(��%|JK�Em<�Q ���

�`����i�é'(W�Qh���

���������

�#������POWERDOWN

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

� ����

�%��*� ������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

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

� ����

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

� ���

�%��*�� �

����� 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

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

� ���

� ������#�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����

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

� ����

��������-� �;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�

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

� ����

�� ��

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ÁÂ�<�� ���

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

� �� �

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

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

� ����

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

� ����

%!�*�%!� ������-� ���,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

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

� ����

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��

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

� ����

����v$����

Ü##��

�$��

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

� ����

%�*�*!� ������'Ï&�"ª©·�üá©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���� ��$ &ï;���� ��" &ï;���� �

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

� ���

������� " �#����� 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��� ��

�$����&���

����������/+' ��-

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

� ���

��#������LCD “Hello” SHIFTCURSOR LEFT End

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

� ����

�-��*���-��*�$*� ������&�%��<����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:

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

� ����

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ëì�����

���������

�#������

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

� �� �

IÜ�õ�H�à�������������������������� Æut���������vu������#½��v��t����

�#_�vu�MM�t�!�t�������������������#_��vu�"���

�$��

�!�t3�

1Gõ������vu�!�½�������������������Æ�����_vtt�!��v$������������

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

� ����

��$�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

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

� ����

Mov a,#32 Acall _sStr_String

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

� ����

�� �� � �������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�

$����&�

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

� ����

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����

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

� ����

�#�������

3456�7��� � ������������#�����6�3� � � ��#������

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

� ���

�*��*��!%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 ��

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

� ���

������

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

� ����

�*%��

������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

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

� ����

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

� � �

�$� ������,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

�$����&��

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

� ���

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���

�#�������

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

� ���

ß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”

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

� ���

a = Val(s) 'convert string Print a End

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

� ���

=�%�*%��� ������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[�\���

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

� ���

����#�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��

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

� ��

$����&�ô�Ãó�Ý�ÊË� ,-�<¢²�ÑQñ µ¶ ���

�/+� �T*PQ1D�Ãó<ô��iÝ�>ñ µ¶ ���

���>� ,-�D"µ¶ �����

���������ßJ����ÜJJ��

��#������WHILE a <= 10 PRINT a

INC a WEND

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

� ��

-�%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������

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

� ���

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

�K���*)*+,�� %=�"!&$�%!&$��Wº#���uv���

$%&'($%)'(�$*�$')'��,��-)���$*�$')'�5���9��7���������-���������(�2��"2���83��������$%)�)"$%)&)"$%)�+"$%)&)�7�����5���9��7�����-����7�+�-���-�,+��--��� ���4��-,�-,�=��$%)�+"$%)&+�7�����5���9��7�����-����7�+�-���-�����-����7�+�-���-&�,+��--��� ���4��-,�-,�=���������������������������

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

� ���

�*�@��<�<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

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

� � �

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����

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

� ���

*��!%<����?<��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!

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

� ���

+� 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���

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

� ���

" (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��!����

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

� ���

! � (�#���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�����!��

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

� ���

�< ��

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

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

� ��

�����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�

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

� ��

• �!%{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�����

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

� ���

���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$���

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

� ���

��5�5 /5: �5���(�456456456456��

*���5�� �%!&$6��1�&'+��Ñ�Ò#Ó�,-����Ñ�ÒÔÕ�ÃÄ

#�D�ÖDGfghijC��$���F�������Ën����.��-�×�¤m�8��1�P+AØ:Ñ�ÒÙjk#�����

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

� �� �

����������

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

� ����

����*!�*�%�)%���

%!&$)*+,"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

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

� ����

Rotate A , Left P0 = A P1 = A P2 = A P3 = A Waitms 200 ' 200 M SEC Delay Time Goto Main '-------------------------- End of FILE ------------------------------------------------------------------�����

�������

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

� ����

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+é��å�

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

� ����

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��.é

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

� ����

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�ô%���������

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

� ���

lë-9: EX�

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

� ���

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���

����

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

� ����

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

� ��� ��� ���

�� ������ ��� � ���������� ���� ��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)

��

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

� ����

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

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:�; �����

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

� �� �

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

��� 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)±?�

���

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

� ����

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

� ������������� ���������������� ��������� ����� �-./, �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