51��Ƭ�C�M�A��̎��ƿ�i����ؿ���
�M�A�W(xu��)��(x��)Ӌ����
һ����Сϵ�y(t��ng)�܉��\�������ı�Ҫ�l����
1.�Դ 2.����3.��(f��)λ�·
��������Ƭ�C����IO�ڵ��S�����
1.ݔ�������ƽ�ߵ�2.ݔ���z�y�ƽ�ߵ���
������Ƭ�C����ܑ�(y��ng)��
1�� ���r�������c������õķ�ʽ2
2�� �Дࣺ�ⲿ�Д������r���Д��������Д�
3�� ����ͨ�ţ���Ƭ�C֮�g����Ƭ�C�cӋ��C�g
(�ڴ˲�Ԕ����B��Ƭ�CC�Z��)
һ����Сϵ�y(t��ng)�\�Зl��
1.�Դ 2.����3.��(f��)λ�· Ԕ���Y�υ�Ҋ��(d��o)Փ�е���Сϵ�y(t��ng)�·�D
������ͨI/O�ڵIJ���
1��ݔ���ߵ��ƽ output
�������ó���oݔ���Ĵ���P0/P1/P2/P3�xֵ��1/0���F(xi��n)�ߵ��ƽ�Ŀ���
��(y��ng)�ã��@�N�ߵͿɌ��F(xi��n)һЩ���ⲿ�O(sh��)��Ŀ���������led,lcd····��Ҳ�ɼ�������(q��)�ӻ��^�����ɿع���������F(xi��n)������������Ŀ���
������I/O������εČ���������ˮ������ˮ������Ҋ��http://blog.csdn.net/metalseed/article/details/8196727
2���z�y�ƽ�ߵ� input
�������Ƚo�Ĵ���P1/P2/P3�xֵ0xff��Ȼ���� if �Z����M���Д�
��(y��ng)�ã����Á��xȡ�ⲿ�ⲿ��Ϣ���F(xi��n)ģ�Mͨ�����@�Â�������(sh��)��(j��)�����I�ɼ���
����������I�P�Ē�����a��http://blog.csdn.net/metalseed/article/details/8296590
��(sh��)�a���@ʾ��http://blog.csdn.net/metalseed/article/details/8537554
PS: P0�����B(t��i)(���ƽ�����ƽ������B(t��i)) P1��P2��P3����p��IO��(��(n��i)���������������ݔ���Õr���Ȍ�1)
������Ƭ�C����ܑ�(y��ng)��
�@���M�A�ĺ��ă�(n��i)������Ƭ�C�������ȫ��������P3�����@Щ���_���ж������ͨ�^�Ĵ�������(�P(gu��n)�ڼĴ������պ��a��Ԕ���������Ĵ���������ڸ��A˼�����ڴ����v����)���_�����õڎ�����
���ȸ���P3�ڶ����ܶ��x
P3�ڶ����ܶ��x��
P3.0��RXD���п�ݔ��
P3.1��TXD���п�ݔ��
P3.2��INT0�ⲿ�Д�0ݔ��
P3.3��INT1�ⲿ�Д�1ݔ��
P3.4��T0���r��0�ⲿݔ��
P3.5��T1���r��1�ⲿݔ��
P3.6��WR�ⲿ������
P3.7��RD�ⲿ�x����
1�� ��
�Д�ĸ��
�Д��䌍�������������@�Ӂ��f���������f������A��������ͻȻ�g�������������˸���Ҫ��B�����������R��ȥ��B����������֮���ٻ��^�m(x��)��A�����@�������Д�!�ڳ�������Ҳ��һ�ӵ�!�Д�ϵ�y(t��ng)�������傀�Д����ⲿ�Д�0��1�����r��/Ӌ��(sh��)���Д�0/1�����п��Д�!
�e����������ܕ������c�����r�Дࣺ�����㶨�r1ms�����������\����ÿ��1ms�r�g���������ܵ����r�Д��ӳ��� �����(zh��)������(zh��)������ٻص��������������Д������1ms�Mȥһ��
�����Д��v��̫�^ϵ�y(t��ng)�������������պ��a�Ϻ���������Ո�HҊՏ.....����

�Д�dataՈ�Ʋ�����http://wenku.baidu.com/view/4f3738f64693daef5ef73da6.html
��������
�����ⲿ�Д� + ����ͨ�� ���y���ľ��xͨ�^���ڰl(f��)��
http://blog.csdn.net/metalseed/article/details/8764348
2�� ���r��
���r������
���r����Ӌ��(sh��)���đ�(y��ng)������ I / O ���������c���Ɍ��F(xi��n)�����(f��)�s�Ĺ�����
���˼�x�����r���Ɍ��F(xi��n)�ӕr������Ӌ��(sh��)���t�Ɍ��F(xi��n)Ӌ��(sh��)����(�@���߶����Д����F(xi��n))��
���ߌ��|(zh��)�϶��Ǽ�һӋ��(sh��)��(16λ)���ɸ�8λ�͵�8λ�ɂ��Ĵ����M����������λ��1�����r������r�����|�l(f��)�Д���
PS��51��(n��i)���Ѓɂ����r�������r��0�����r��1�����rģʽ��1�����ڞ�һ���C������ 12M����ęC�����ڞ�1us
��(y��ng)�ö��r������Ҫ����푑�(y��ng)�ļĴ�����
��Ҫ�漰������ 1���Д����S�Ĵ���IE (��λ��ַ��������ֱ�Ӳ���EA��ET0, ET1,)
2��TMOD �Ƕ��r/Ӌ��(sh��)�Ĺ�����ʽ�Ĵ������_��������ʽ����
3��TCON�ǿ��ƼĴ���������T0��T1�Ć��Ӻ�ֹͣ���O(sh��)�������־��
����������
step 1�� ����IE�Ĵ��������r��ʹ��(ʹ�ܼ��ܱ���(y��ng)�����ɼ���麯��(sh��)����)��
step 2�� ����TMOD�Ĵ��������_�����r���Ĺ�����ʽ��ͬ�r����TH,TL�Ĵ����팦���r���b���ֵ
step 3�� ����TCON�Ĵ��������ӻ�ֹͣ���r��(��鶨�r��һ���������Ͳ�ͣ��1��ֱ��TH��TL����λ��1�r����������Дຯ��(sh��)�������چ���ǰ��Ҫ�����Дຯ��(sh��)���Дຯ��(sh��)����demo�����f��)
�@�����f�����������o�Ĵ����xֵ�����磺 TMOD = 0X0f;
������֮��Ҫʹ�ö��r������Ӌ��(sh��)����Ҫ���νo���¼Ĵ����xֵ�� IE��TOMD��TH��TL�� TCON�����wҪ�xʲôֵ����������ļĴ���λ���x�f��;
�Ĵ����f�������r��������ʽ��
�c�����_����ܼĴ���Ԕ���f��
���aʾ����
1����ֱ�Ķ��r��������ʽ1��ʾ��ÿ��50MS P0ȡ��
[java] view plain copy print?
#include
void main()
{
EA = ET0 = 1; /*step 1 : �����S*/
TMOD = 0x01; /*step 2 : ģʽ����*/
TH0 = (65536 - 50000) / 256; /*�b��ֵ*/
TL0 = (65536 - 50000) % 256; /*�b��ֵ*/
TR0 = 1; /*step 3 : ����*/
while(1)
{
/*Hello World*/
}
}
/*timer0�麯��(sh��)�����S�⌑�������interrupt X��X������(y��ng)�Д�ľ�̖��5���Д�Դ���й̶���̖*/
/*using x ��ʾռ��ram�е�X�Ĵ���(0-3)��C�Z����IDE�Ԅӷ��䲻�Ì� */
void timer0() interrupt 1 using 1
{
/*���b��ֵ*/
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
/*operation*/
P0 = ~P0;
}
2����ģ��
���a~
3�� ����ͨ��
�ӿڣ�RS232C
RS-422A����ȫ�p������RS-485�t���ڰ��p��(��232���x�h)
�����õļĴ��� �� SCON PCON IE
SCON��һ������ܼĴ����������O(sh��)�����пڵĹ�����ʽ������/�l(f��)�Ϳ����Լ��O(sh��)�à�B(t��i)��־��

SM0��SM1�鹤����ʽ�x��λ�����x���ķN������ʽ

SM2�����Cͨ�ſ���λ����Ҫ���ڷ�ʽ2�ͷ�ʽ3�������ՙC��SM2=1�r���������յ���RB8�������Ƿ�RI(RB8=0�r������RI���յ�����Ϣ�G��;RB8=1�r�յ��Ĕ�(sh��)��(j��)�M��SBUF��������RI���M�����Д����(w��)�Ќ���(sh��)��(j��)��SBUF�x��)����SM2=0�r����Փ�յ���RB8��0��1��������ʹ�յ��Ĕ�(sh��)��(j��)�M��SBUF��������RI(���˕rRB8�����п���RI����Ĺ���)��ͨ�^����SM2�����Ԍ��F(xi��n)���Cͨ����
�ڷ�ʽ0�r��SM2�����0���ڷ�ʽ1�r����SM2=1���tֻ�н��յ���Чֹͣλ�r��RI����1��
REN�����S���н���λ����ܛ����REN=1���t���Ӵ��пڽ��Ք�(sh��)��(j��);��ܛ����REN=0���t��ֹ������
TB8���ڷ�ʽ2��ʽ3�����ǰl(f��)�͔�(sh��)��(j��)�ĵھ�λ��������ܛ��Ҏ(gu��)��������������������(sh��)��(j��)����żУ�λ�����ڶ��Cͨ���У������ַ��/��(sh��)��(j��)���Ę�־λ��
�ڷ�ʽ0�ͷ�ʽ1����ԓλδ����
RB8���ڷ�ʽ2��ʽ3�����ǽ��յ���(sh��)��(j��)�ĵھ�λ��������żУ�λ���ַ��/��(sh��)��(j��)���Ę�־λ���ڷ�ʽ1�r����SM2=0���tRB8�ǽ��յ���ֹͣλ��
TI���l(f��)���Д���־λ���ڷ�ʽ0�r�������аl(f��)�͵�8λ��(sh��)��(j��)�Y(ji��)���r������������ʽ�����аl(f��)��ֹͣλ���_ʼ�r���Ƀ�(n��i)��Ӳ��ʹTI��1����CPU�l(f��)�Д���Ո�����Д����(w��)�������������ܛ��������0��ȡ�����Д���Ո��
RI�������Д���־λ���ڷ�ʽ0�r�������н��յ�8λ��(sh��)��(j��)�Y(ji��)���r������������ʽ�����н���ֹͣλ�����g�r���Ƀ�(n��i)��Ӳ��ʹRI��1����CPU�l(f��)�Д���Ո��Ҳ������Д����(w��)����������ܛ��������0��ȡ�����Д���Ո��
PCON��ֻ��һλSMOD�c���пڹ������P(gu��n)��
SMOD(PCON.7) �����ʱ���λ���ڴ��пڷ�ʽ1����ʽ2����ʽ3�r���������cSMOD���P(gu��n)����SMOD=1�r�����������һ������(f��)λ�r��SMOD=0��
�����ʵ�Ӌ��
��ʽ0�IJ�����= fosc/12
��ʽ2�IJ�����=(2SMOD/64)·fosc
��ʽ1�IJ�����=(2SMOD/32)·(T1�����)
��ʽ3�IJ�����=(2SMOD/32)·(T1�����)
��T1���鲨���ʰl(f��)�����r������͵��÷���ʹT1�������Ԅ����b���8λ���r����ʽ(����ʽ2����TCON��TR1=1���Ԇ��Ӷ��r��)���@�r�����ȡ�Q��TH1�е�Ӌ��(sh��)ֵ��
T1�����=fosc /{12×[256-(TH1)]}

�������E��
1���_�����ڹ�����ʽ (����SCON ��λ��ַ)
2������(j��)1�_���ķ�ʽ�����Ƿ���Ҫ�ք��O(sh��)�ò����� (TMODE��TH TL)
3���O(sh��)�ò����ʺ�(REN�� TR)
4�����ʹ���Д����_�Дಢ������(sh��)(EA = ES = 1, void ser() interrupt 4 )
����ͨ��ģ�壺
http://blog.csdn.net/metalseed/article/details/8579997
�c���cͨ�ţ�

���Cͨ�ţ�
1��Ӳ���B��
��Ƭ�C��(g��u)�ɵĶ��Cϵ�y(t��ng)�����ÿ���������ʽ�Y(ji��)��(g��u)�����^����ʽ�����ڔ�(sh��)����Ƭ�C������һ�������C��������ǏęC���ęCҪ�������C���{(di��o)����֧����80C51��Ƭ�C�Ĵ��пڷ�ʽ2�ͷ�ʽ3�m���@�N����ʽ��ͨ�ŽY(ji��)��(g��u)����Ȼ���ò�ͬ��ͨ�Ř˜ʕr��߀���M������(y��ng)���ƽ�D(zhu��n)�Q���Еr߀Ҫ����̖�M�й�늸��x���ڌ��H�Ķ��C��(y��ng)��ϵ�y(t��ng)����������RS-485���И˜ʿ����M�Д�(sh��)��(j��)��ݔ��

2��ͨ�Ņf(xi��)�h
���ЏęC��SM2λ��1��̎�ڽ��յ�ַ����B(t��i)��
���C�l(f��)��һ��ַ��������8λ�ǵ�ַ����9λ���ַ/��(sh��)��(j��)�ą^(q��)�֘�־��ԓλ��1��ʾԓ�����ַ����
���ЏęC�յ���ַ�������������յĵ�ַ�c���C�ĵ�ַ���^�����ڵ�ַ����ďęC��ʹ�Լ���SM2λ��0(�Խ������C�S��l(f��)���Ĕ�(sh��)��(j��)��)�����ѱ�վ��ַ�l(f��)�����C���鑪(y��ng)��;���ڵ�ַ�����ďęC���Ա���SM2=1�������C�S��l(f��)���Ĕ�(sh��)��(j��)������������
�ęC�l(f��)�͔�(sh��)��(j��)�Y(ji��)������Ҫ�l(f��)��һ��У�������õ�9λ(TB8)��1������ęC��(sh��)��(j��)���ͽY(ji��)���Ę�־��
���C���Ք�(sh��)��(j��)�r���Д���(sh��)��(j��)����־(RB8)����RB8=1����ʾ��(sh��)��(j��)���ͽY(ji��)���������^�ˎ�У���������_�t�������_��̖00H������̖����ԓ�ęC��(f��)λ(�����µȴ���ַ��);��У�ͳ��e���t�l(f��)��0FFH������ԓ�ęC�ذl(f��)��(sh��)��(j��)�������Վ���RB8=0���t�攵(sh��)��(j��)�����_�^(q��)�����ʂ��������Ϣ��
���C�յ��ęC��(y��ng)���ַ�����_�J��ַ�Ƿ�����������ַ�������l(f��)��(f��)λ��̖(��(sh��)��(j��)����TB8=1);�����ַ������t��TB8���_ʼ�l(f��)�͔�(sh��)��(j��)��
�ęC�յ���(f��)λ�����ص��O(ji��n) ��ַ��B(t��i)(SM2=1)����t�_ʼ���Ք�(sh��)��(j��)��������
3����(y��ng)��
���C�l(f��)�͵ĵ�ַ(li��n)�j(lu��)��̖�飺00H��01H��02H ��… …(���ęC�O(sh��)���ַ)����ַFFH��������ęC��(f��)λ�����֏�(f��)SM2=1��
���C����a�飺01H�����C����ęC���Ք�(sh��)��(j��);02H�����C����ęC�l(f��)�͔�(sh��)��(j��)����������02H������

RRDY=1����ʾ�ęC�ʂ�ý�����
TRDY=1����ʾ�ęC�ʂ�ðl(f��)����
ERR=1�� ��ʾ�ęC���յ������ǷǷ�����
����֞����C����͏ęC�������s��һ���f��(sh��)��(j��)��16���ֹ�(ji��)����01H��ַ�ďęC������
�Ĵ�����(sh��)��(j��)�փԣ�


��Ƭ�C����(ji��)��
���x��׃���惦��RAM�������Ĵ����xֵ�r����Ƭ�C��(n��i)��ͨ�^��(sh��)��(j��)���Q���F(xi��n)��
��(f��)λ�r P0,P1��P2��P3�Ĵ���ȫ��0xff��������λ0x00;

����admin ����ĕr�g��2018-05-18