�x���x�� ������©��^������O(sh��)Ӌ


©��^�����һ�N���ڱ����o��·©�����_���O(sh��)��ֵ���Д౻���o��·����Դ�ı��o�b���������ϵ�y(t��ng)�������dz���Ҫ�����ã��DZ��C��늿ɿ��ԵĻ��A(ch��)���S����Ӽ��g(sh��)��Ӌ��C���g(sh��)�İl(f��)չ�����ϵ�y(t��ng)���^늱��oͻ���˂��y(t��ng)�Ĕ�(sh��)��ʽ���o�^��������F(xi��n)����̎��������ĵ����ܱ��o�^���[1-2]����������PIC18F6585�͆�Ƭ�C�O(sh��)Ӌ��һ��������©��^������������\��������ӛ�����(sh��)��(j��)ͨ�ŵȶ�N���ܣ�����Ϸ����ṩ�������Ҿ����^�ߵĿɿ�����
1 PICϵ�І�Ƭ�C���c
PIC18F6585����Microchip��˾�_�l(f��)�����ƺ����a(ch��n)��PICϵ�І�Ƭ�C��ԓϵ�І�Ƭ�C�ļ��g(sh��)���ܾ�������(y��u)�c[3]:
��1�������Y(ji��)��(g��u)��PICϵ�І�Ƭ�C�ڼܘ�(g��u)�ϲ������c����ͬ�Ĺ����Y(ji��)��(g��u)����оƬ��(n��i)������(sh��)��(j��)������ָ������x�����Ҳ��ò�ͬ�Č��ȣ����ڌ��F(xi��n)ָ����ȡ����ˮ���I(y��)��ȫ��ָ��Ć��ֹ�(ji��)���������ڻ����Ķ����������CPU��(zh��)��ָ����ٶ������ܴ_����(sh��)��(j��)�İ�ȫ����
��2������ָ���RISC�����g(sh��)��ָ��ϵ�y(t��ng)ֻ��35�lָ�������W(xu��)��(x��)��ӛ����������Ҳ�o����ľ�������x���{(di��o)ԇ����������������*�ı��������^�W(xu��)������
��3����ַ��ʽ������ֻ�мĴ����g�ӌ�ַ��������(sh��)��ַ��ֱ�ӌ�ַ��λ��ַ4�N��ַ��ʽ�����^���������c���ա�
��4���\���ٶȸ������ڲ����˹����Y(ji��)��(g��u)��ָ����xȡ�͈�(zh��)�в�����ˮ���I(y��)��ʽ��ʹ���\���ٶȴ�������PICϵ�І�Ƭ�C���\���ٶ��h�h����������ͬ�n�εĆ�Ƭ�C��������8 bit��Ƭ�C����PICϵ�І�Ƭ�C��Ŀǰ�������\���ٶ�zui���Ʒ�N֮һ��
��5�����ĘO������I/O���(q��)��ؓ�d�����^����ÿ���˿�ݔ���ݔ�������zui��ֵ���_25 mA����ֱ���(q��)��LED����������^�����
��6�� PIC18F6585оƬ����ADC��I2C��SPI���п����˿ڵ�����������·���������_�l(f��)����������C�Z�Ծ������������ԏ������c��
2 �^���Ӳ���Y(ji��)��(g��u)�c����ԭ��
��1��Ӳ���Y(ji��)��(g��u)
©��^�����CPU�в�����PIC18F6585оƬ��©���̖�ęz�y�������������������������Ɍ��z�y���ı����o��·��©�����D(zhu��n)�Q�ɺ������Ľ���늉���̖����ͨ�^��̖�������Ŵ�͞V���õ�һ��ֱ��늉����������(y��ng)�Ŀ����·���(q��)�ӈ�(zh��)�л�·���Ԍ��F(xi��n)�Дౣ�o��·����Դ�Ŀ���Ŀ�������F(xi��n)�^���ǣ���̖�z�y→�V��→�����Ŵ�→�����·→�(q��)�ӈ�(zh��)�л�·→�Д౻���o��·�Դ����Ӳ���Y(ji��)��(g��u)��D��D1��ʾ��
�D1�и����ֹ��ܷքe�飺
�����������������·�����b�õ�������������ø����ܵ���Ī�Ͻ������Fо�Ĵ��Բ��ϣ��Դ_�����������ݔ����һ���ķ�����(n��i)�������õľ�����
����̖̎����Ӱ�ϵ�y(t��ng)�ɿ��Ե�������Ҫ�Ǿ�·���l�攵(sh��)���C��������ʱ��·����һ�M��Դ��ͨ�V������ԓ�V������Ҫ�Vȥ����C������������Ȼ���M�н�ֱ��׃�Q̎�����Դ_��©��^��������_������
��CPU���@�DZ��b�õĺ��IJ�����PIC18F6585��Ҫ����FLASHROM��RAM��TM2RX��A/D�D(zhu��n)�Q������ͨ�ŵ���������ϵ�y(t��ng)��*̎���Ԫ��ϵ�y(t��ng)��ȡָ���Д�����(zh��)�ж����������������A/D�D(zhu��n)�Q����10 bit�D(zhu��n)�Q����20 MHz���l�r����һ���D(zhu��n)�Q�r�g��16μs;FlashROM��RAM��惦���g���Á���ų���͔�(sh��)��(j��)��
�ܔ�(sh��)�a�@ʾ��������·����(sh��)�a�@ʾ�Á��@ʾ��·©�����ϵ�y(t��ng)���l���ӕr�r�g����Ҫ�ɔ�(sh��)�a�(q��)���·��LED��(sh��)�@��(g��u)������(zh��)�л�·��Ҫ��led/'' target=''_blank''>��늸��x���^����(q��)���·��(g��u)�ɡ�
�ݴ���ͨ�Žӿ��·������MAXIM��˾��MAX422�Uչ������ͨ�ſ���
���˙C�ӿ��·���˙C�ӿ��·��Ҫ��ɱ��o����ֵ��ϵ�y(t��ng)�ӕr���l�r�g���O(sh��)����
���Դ�·�����Ƭ�Cϵ�y(t��ng)�ṩ�����Դ��������һ�M����x�Դ��
��2���^�������ԭ��
ϵ�y(t��ng)�_�C�\�к���ϵ�y(t��ng)�O(sh��)��TMR0���r�Д࣬ÿ2 ms�a(ch��n)��һ�ζ��r�Д���̖����Ƭ�C푑�(y��ng)�@���Д���̖���D(zhu��n)���Д�̎���ӳ������Д�̎���ӳ����Д���RB���Д���߀��TMR0�Д���Ȼ��քe�{(di��o)�ö��r�Д� A/D̎���ӳ�����I�P̎���ӳ�����ϵ�y(t��ng)��A/D�D(zhu��n)�Q�Y(ji��)���c�A(y��)��������ֵ���^�������������ֵ���t�M�����l���¹ʈ�̎�������нY(ji��)�������������@ʾ��
3 ܛ���O(sh��)Ӌ
3.1 ܛ���O(sh��)Ӌ���̈D
����Ƭ�Cϵ�y(t��ng)����20 MHz���l��ÿ1 ms�M��һ�ζ��r�Д�̎����ܛ���Y(ji��)��(g��u)������ܛ���O(sh��)Ӌ������������RB���Д����(w��)�ӳ��������r�з���(w��)�ӳ���A/D�D(zhu��n)�Q�ӳ�������(sh��)��(j��)̎���ӳ����@ʾ�ӳ���������C�Z���M���O(sh��)Ӌ��
��1��ϵ�y(t��ng)����������Ҫ���ϵ�y(t��ng)�Ķ˿ڡ����r����A/D�D(zhu��n)�Q����������׃�����������ij�ʼ��������ͬ�r���©���ѭ�h(hu��n)�@ʾ���������������̈D��D2��ʾ��
��2���Д����(w��)�ӳ�������Ҫ����(j��)INTCON�Ĵ�����T0IFλ�Ĕ�(sh��)��(j��)�Д�TMR0�Ƿ������������t�D(zhu��n)��TMR0�Д�����ӳ���;����(j��)INTCON�Ĵ�����RBIFλ�Ĕ�(sh��)��(j��)�Д�RB�Ƿ���ݔ��׃������׃���t�D(zhu��n)���I�P�Д�����ӳ����Д����(w��)����������D3��ʾ��
��3�����r�Д����(w��)�ӳ���A/D�D(zhu��n)�Q�ӳ�����Ҫ���A/D�D(zhu��n)�Q�΄�(w��)��1 ms�M��1��̎����ÿ���B�m(x��)6�βɘ����ɘӽY(ji��)�������(n��i)���Ԫ�����r�Д����(w��)�ӳ���������D4��ʾ��A/D�D(zhu��n)�Q�ӳ���������D5��ʾ��
��4����(sh��)��(j��)̎���ӳ�����Ҫ��ɔ�(sh��)�֞V�������ϵ�y(t��ng)���ɔ_��������A/D�D(zhu��n)�Q��(sh��)��(j��)ƽ��ֵ���M�Д�(sh��)��(j��)���^���_���Ƿ����l�c�ȡ���(sh��)��(j��)̎���ӳ���������D6��ʾ��
��5���I�P̎���ӳ�����Ҫ���˙C��Ԓ�ṩһ��ͨ���������O(sh��)�ñ��o�ı��o����ֵ���ӕr���l�r�g����
3.2 �����O(sh��)Ӌ
�������C�Z���O(sh��)Ӌ������o��A/D�D(zhu��n)�Q�ӳ���͔�(sh��)��(j��)̎���ӳ����еĺ����Z��[4]��
��1��A/D�D(zhu��n)�Q�ӳ���
void DataConv�� ��
{ int num;
PORT-D=1; //����A/D�D(zhu��n)�Q
for��num=0;num++;num=6�� //�ɘ�6�Δ�(sh��)��(j��)
{ Delay����;
adresult[num]=AD; //����A/D�D(zhu��n)�Q�Y(ji��)����adresult[]
}
PORT-D=0; //ֹͣA/D�D(zhu��n)�Q
}
��2����(sh��)��(j��)̎���ӳ���
void DataDeal�� ��
{ int i;
result=0; //����A/D�D(zhu��n)�Qzui�K��(sh��)ֵ
for��i=0;i++;i=6��result=result+adresult[i];
//��A/D�D(zhu��n)�Q�Y(ji��)���M�Д�(sh��)�֞V��
result=result/6;
if��result>=raluemax��result<=raluemin�� Alarm�� ��;
//���ɘ�ֵ���ڽo����zui��ֵ��С�ڽo����zuiСֵ���t�����M�й���̎��
Display�� ��; //����(sh��)��(j��)�M�Ќ��r�@ʾ
}
�O(sh��)Ӌ�������^��������h�h��(y��u)�ڂ��y(t��ng)���^����a(ch��n)Ʒ���O(sh��)Ӌϵ�y(t��ng)��PIC18F6585��Ƭ�C����Ę�(g��u)��һ�����r
��(sh��)��(j��)�ɼ�ϵ�y(t��ng)���Ɍ��ɼ��Ĕ�(sh��)��(j��)�M�Ќ��r�������\���̎�����@�ø��N��ͬ�ı��o���������������x���Ժ�����Ժ������y�����O(ji��n)�غͱ��o��һ������ͨ�^ͨ�Žӿ��cӋ��C(li��n)�W(w��ng)��(g��u)�����ܻ��ıO(ji��n)�ر��o�c��Ϣ����ϵ�y(t��ng)�������^�ߵĹ��I(y��)ʹ�Ãrֵ��