BASCOM 8051 - cadcam.co.krcadcam.co.kr/bascom51a.pdf · ˘ ˇ ˆ ˆ ˆ ˙ ˙ ˇ ˇ ˇ ˝ ˇ
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�GHI¢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