PIC��Ƭ�C���Д�����
�c51��������ϵ�еĆ�Ƭ�C�����PIC��Ƭ�C���Д��C����������֮̎��ᘌ��҂�һЩ���W(xu��)�ߴ��ڵ�һЩ���}���ɻ����ڴ���һ�����˿��Y(ji��)������(d��ng)?sh��)ĵط���Ով�т�ָ���?/p>
��ժ��������PIC�Д�����Ļ�����Ȼ�����ٌ��Д��ӵ��^������(y��ng)ԓע�����헡���һ���ɻ��M���^Ԕ���Ŀ��Y(ji��)�ͽ����
---------------
johnfrank���P(gu��n)��pic�Д���Щ�����ĵط�
���ô��r�ij���;
;********************�����(w��)���a
btfssINTCON,T0IE;�Д��Ƿ��T0�Д�
gotoother_int
btfssINTCON,T0IF;it’sthetimeofT0int
gotoother_int
bcfINTCON,T0IF;��T0�Д�,����Д���(bi��o)־
movlw0x10;��ĸ�λ�ֹ�(ji��)���϶��r�r�g256x16���l=4096=0x1000�ĸ�λ(0x10)
addwfus+1
gotoend_int
other_int;���������������(w��)���a
nop;otherisrcodecanbeadded
;**********************************
end_int;�֏�(f��)�F(xi��n)��
=================
���������µ��Д��������@�γ������g�a(ch��n)��
btfssINTCON,T0IF
gotoother_int
bcfINTCON,T0IF
�����M����Ҫ���e���w��
johnfrank��
�x�x����P(gu��n)ע��
���vһ���Լ�����������(qu��n)���ش�������(d��ng)֮̎��߀Ով�т�ָ�c��
pic�Йn��Ƭ�Cϵ�Л]��“Ӳ���Д���(y��u)�ȼ��e”(Ո���S���@���f)�����x��ָ����(d��ng)��(n��i)������̎����(d��ng)ǰ���Д����(w��)A�r�����@�����g���������κ��Д�Įa(ch��n)����ֻ��ʹ���(bi��o)־λxxIF��1�����܄��Z��(d��ng)ǰ�Д����(w��)��CPU��ռ�Ù�(qu��n)(����(y��ng)��PCָᘲ��ܱ��µ��Д��׃ָ��)����횵ȵ���(d��ng)ǰ�Д����(w��)̎��A�ꮅ��Ȼ��������(j��)gotoother_int�Z����D(zhu��n)���������Дࡣ���°l(f��)�����Д�̎�����a���Д����(w��)A֮��(ǰ����ָ���a��ROM�е�ַ�����Խ��Խ��)���t�M���°l(f��)�����Д�̎��;��ǡ���°l(f��)�����Д����(w��)���a�ڄ���̎���ꮅ���Д����(w��)A���a֮ǰ���t�����������(������ָ�PC�������Д�̎�����a���g���ַ��ص�0004H�����)���ȵ���(zh��)�е�retfie����������Ȼ���ٴ��M���Д����0004H...
֮�����f��o“Ӳ���Д���(y��u)�ȼ��e”���c“ܛ���Д���(y��u)�ȼ��e”����(y��ng)�ģ�ͨ�^�Д����(w��)���a���Д���(bi��o)־��IE�ęz�y���Ⱥ������O(sh��)����(y��u)�ȼ���
��(d��ng)Ȼ���ʴ_���f���@��һ�N��������Ǽ��e���Ǻ���
����˽�һ��51���Д�ϵ�y(t��ng)���������ܸ��õ�����PIC���Д�ļ��e��
�������F(xi��n)���f����r����(d��ng)��(y��u)�ȼ����ߵ��Д����R�r����(n��i)�ˌ����rֹͣ��(d��ng)ǰ�Д����(w��)�����殔(d��ng)ǰ�Д����(w��)�ĬF(xi��n)������(zh��)�Ѓ�(y��u)�ȼ����ߵ��Д����(w��)��̎����ɺ֏�(f��)�F(xi��n)������(zh��)��δ̎����ɵ��Д����(w��)....�����������������
С���v�����c��������������������߀�м�©��և�`֮̎��Ո���ָ��������johnfrank���м�����֮������(y��ng)ԓ�����γ��Լ������_������
zdtdl��С���f�ɾ䡫��
���ε��f����(d��ng)ϵ�y(t��ng)푑�(y��ng)һ���Д��r��GIEλ�����Ԅ������Խ�ֹ�������Д����ڈ�(zh��)���Д��ָ��RETFIE��ϵ�y(t��ng)���Ԅ���GIEλ1�_���Д���ֻҪ�����Д�����Ќ�GIE��1���Ͳ����a(ch��n)������(f��)�M���Д�ĬF(xi��n)��������ԃ��ʽ?j��ng)Q��푑�(y��ng)�l��PICҲ���Д�Ƕ���������γɶ༉Ƕ������������Ƕ�������^Ƕ�ļ���(sh��)�^�����ܳ��^Ӳ���ї��������
-------------------------
PIC�Йn��Ƭ�C���Д࿂�Y(ji��)����
һ���Д��ӵ��^��
����PIC��Ƭ�C���f��һ���Д���^�̴����������A�Σ�
����ʹ���f�������ֱ�^�����IJ���һЩԜ�C���Z��������f����
�Д�Ո��---------��������Ո�I��(j��ng)���m�÷���Ո��
�Д���(bi��o)־-------һ����Ո��
���Д�ʹ��xxIE-----����λ�I(l��ng)��(d��o)
PEIE-------------�����k��������
GIE--------------�y�еĹ������J�Ŀ��L
1.�Д�Ո����̫��������Ҫ�Y(ji��)���������I���������YԴ��ؔ�������������u��Ʒ����ֻ�ð�������r̎������һ����Ո��(�Д���(bi��o)־λIF��1);
2.����λ�I(l��ng)��(d��o)xxIE����֮������o���w��һ������(��ԓ�Д�ʹ��λIE=1),��ô��ϲ�����@����Ո�������ύ������һ���IJ��T;����]�w(xxIE=0)����ô���������ȷ����@��ɣ����҂��о��о��ú����f������㲻�_����Ҫ�û���Ո��˺�����Ǻ�����ôIF=0;���ُ��Ո��֮���Ɯ�;
3.xxIE�I(l��ng)��(d��o)������(j��)���������@ЩՈ����o���һ�������w���đ��ڣ��ύ�o�����k����PEIE���Ό�����PEIE��������o���w�˂���(PEIE=1),��ô������������Ո���ύ�o�y�е�GIE���L��������t���Ƿ����@�����о��о�������Ҫ��˺��;һ��DZ��ؑ��ڣ���ֱ���ύ�o�y�е�GIE���L����,Ȼ���㌢��Ո������GIE���L���k������
4. GIE���L�w����֮��(GIE=1),Ȼ������Ϳ���������Ո��ȥ�ҷ��خa(ch��n)��Ҫ������(�˕rPCָ�=0004H)�����GIE���L�кܶ�����Ҫ����������ÿ�w��һ�δ�֮��(ע����һ�β���һ�������Ҳ�S�ж����Д�ͬ�r�l(f��)����Ҳ�����f�������ط����ˁ�ՈGIE�w��)�������k�����T����˂����ӣ�Ո���_�����Լ��t��Ϣȥ����ֱ���ӵ�RETFIE���Ԓ�������˴������֙C��
5. ���خa(ch��n)�̜ʂ�o�����ˣ����^����õ��ȰѸ�����m(x��)�o�������5wѺ��������f(xi��)�h������ͬ���������Լ��㶨���@��“���o�F(xi��n)��”��
6. ���خa(ch��n)���_ʼ�ϰ��������ǰ�����“��Ո��”���l�ύ�����Ա�o�㰲�����A(y��)���ķ��ӡ��@����“�Д��ԃ”��
7. �鵽����ĺ���Ȼ����Ԓ���^��������ȥ����������耳o�����@����“�Д�̎��”��
8. 耳��o��֮�����������ǵ����������^�@����Ո����ʧЧ�������خa(ch��n)�̌�ԓ��Ո���N�����@����“����Д���(bi��o)־”��
9. �������F(xi��n)�������ȥ���خa(ch��n)���Լ�ȥҪ����ǰ����Ѻ�������C���ȵ����@����“�֏�(f��)�F(xi��n)��”��
10. ��������خa(ch��n)���k������RETFIEС����Ԓ�oGIE���L(��(zh��)��RETFIEָ��)��GIE���L����������“Ո���_”������ȡ���������Ď�����Ո�������M������(d��ng)Ȼ������������߀�]�㶨��GIE���L���P(gu��n)ϵ�����������֙C(�����k�r-̎���Д��r������GIE����1)����Ҳ���_�Tȡ��“Ո���_”�����ӣ��P(gu��n)ϵ���M�����o���w�������@�¾͌����������˼����P(gu��n)ϵ�������������Ҫ�R��ͣ�����ȵ��P(gu��n)ϵ���k����������֮�����ٽo���k����������@����“�Д�Ƕ��”��Ҫע��GIE���L��8���P(gu��n)ϵ��(Ӳ���ї�����Ȟ�8��)Ŷ��
������Ҫע��Ć��}��
1. �Д�F(xi��n)���ı��o(���ԅ�����ǰ�����ӣ���xieyubing������ָ�c������ǡ��(d��ng)?sh��)����?;
2. ������늏�(f��)λ���Դ�����(f��)λ��������r�µď�(f��)λ����ʹ��ȫ���Д�λGIE�������Д�ʹ��λxxIE=0;
3. �Д���(bi��o)־λ�Ġ�B(t��i)�cԓ�Д�Դ�Ƿ����Οo�P(gu��n)���cȫ���Д�ʹ��λGIEҲ�o�P(gu��n)��
4. ��(d��ng)�_��ijһ�Д�Դ�r��ԓ�Д�Դ����ͨ�^�Д���(bi��o)־��CPU��Ո�Д�����oՓʲôԭ����ֻҪ��(bi��o)־λIF��1(������ܛ��������1),�����a(ch��n)���Д�Ո����
5. ��(d��ng)�Д���(bi��o)־λ��1�����ԓ�Д౻���λ��߱���ֹ�ˣ�ֻҪ�������(bi��o)־λ����ôԓ�Д�Ո�������������һ�����ν���������a(ch��n)���Д�푑�(y��ng)����֮�����������/��ֹ�l�����֮ǰ�����ԓ��(bi��o)־λ����ô�t�o�Д�Ո����
6. ��(d��ng)CPU푑�(y��ng)��һ�Д��r��ȫ���Д�ʹ��λGIE���Ԅ�����;��(d��ng)�Д�ؕr�������Ԅ���1��������Д�̎�����g����ܛ�����ѽ�(j��ng)�����GIEλ��������λ���@���r�����ٳ��F(xi��n)�Д�Ո�Ϳ����γ����Д�Ƕ����������̎��ijһ�Д����g��푑�(y��ng)�������Д�Ո�������γ����Д�Ƕ�����˕r��ǰһ�Д�̎���^�̕�����ͣ���M���µ��Д�̎������(d��ng)���Д�̎���ꮅ�����ŕ��^�m(x��)̎��ǰһ�����R�õ��Дࡣ�˷�ʽ�����γɶ༉Ƕ���������ܳ��^Ӳ���ї������8����������ɶї��������������������
7. ���ͬ�r�l(f��)�������Д�Ո�t�Д�̎�������ȡ�Q���Д�����еęz���Д�Դ�������
8. ��Ҫ��ֹ�Д�Ո�Gʧ���tҪע������ɷN��r�����ͬһ�Д�Դ���Д�l(f��)���g���r�g����ԓ�Д����(w��)��̎��r�g���t���ܳ��F(xi��n)�Д��¼�������(�w�F(xi��n)���Д����(w��)���^���У���(bi��o)־λ���B�m(x��)�l(f��)����ɴ���λ),���磺�Д��¼��l(f��)���ĕr�g�g����30ms���Д����(w��)̎���������D(zhu��n)�Д�ĕr�g��50ms���t��r����������ʾ��
[�Д�Δ�(sh��)----------1][�Д�Δ�(sh��)----------2][�Д�Δ�(sh��)----------3][�Д�Δ�(sh��)----------4]
[̎���Δ�(sh��)------------------------1][̎���Δ�(sh��)------------------------2][̎���Δ�(sh��)------------------------4]
������Д�̎��һ�_ʼ�����IF����ô���ψD��ʾ���Д��¼�3��4 ��̎���Δ�(sh��)2���^���аl(f��)����ɴΣ���ô��ʹIF����l(f��)�����Д�Δ�(sh��)3�l(f��)��֮ǰ��Ҳ���Gʧ�������Дࡣ
��������ʹ�Д���F(xi��n)�ĕr�g�g�������Д����(w��)�ĕr�g�g�����������Д���(bi��o)־λ��ָ������Д����(w��)�ӳ����β�������п�����ɁGʧԓ�Д�Ո��(���ɴ��Д���(bi��o)־��λ���¼�ֻ����(y��ng)һ�l���ָ���һ���Д�̎����
9. ���M�в�������r��횽�ֹCPU푑�(y��ng)�Д࣬�Ա����Д�ؕr���D(zhu��n)����ϣ���ĵ�ַ��ȥ��
����һ���ɻ�
һ���Ɇ���һЩ�����ᵽ��������Ĵ���INTCON�M��“�x-��-��”�����ĕr����Ҫ���Ȍ�GIE��0���ٌ�INTCON�M�в�����Ȼ��GIE�֏�(f��)��1
��BCF INTCON,GIE
BSF INTCON,XX
BSF INTCON,GIE
���ᵽ�������ǣ���(d��ng)CPU���ڈ�(zh��)��һ�l��INTCON�Ĵ����M��“�x-��-��”������ָ��r�����ǡ�ðl(f��)�����Д�Ո�t�Д����(w��)���������(zh��)�Ѓɴ����@����鮔(d��ng)�Д�Ո��l(f��)����INTCON�Ĵ�����GIE�Ĵ�������Ӳ���Ԅ�����(���������Д�)�����ҳ����D(zhu��n)���Д��������(0004h)����(d��ng)GIE��������@�r���CPU���ڈ�(zh��)��һ�l��INTCON“�x-��-��”��ָ��r���tGIEλ߀������������������1���@�Ӿ͕����CPU�ɴ��M���Д����(w��)����
ԓ�ν�ጻޝ��y��������(j��)�Д�l(f��)���^�̵ĕr��(PICmicro�Йn��Ƭ�Cϵ�Ѕ����փԵĵ�8-2�)���ڵ�n��ָ����������CPU�z�y��IF��(bi��o)־λ��1���t��n+1�����ڃ�(n��i)���Ԅ�ʹ��GIE=0��ԓ���ڃ�(n��i)�Ȳ�ȡָҲ����(zh��)��ָ����Ȼ����n+2��ָ����������0004hָ��b��PCָᘣ�ԓ����Ҳ���\������ָ����ֻ���0004H->(PC)��ȡָ�^������n+3��ָ�������CPU��(zh��)��0004h��ַ��ָ��a����ͬ�rȡ0005h��ָ��a��
�@Ȼ�������ᵽ��“��(d��ng)GIE����������@�r���CPU���ڈ�(zh��)��һ�l��INTCON“�x-��-��”��ָ��r���tGIEλ߀������������������1���@�Ӿ͕����CPU�ɴ��M���Д����(w��)������”�Ľ�ጴ�������Ć��}��GIE��Ӳ���Ԅ�����r���ǂ���������һ�����\��������CPU������(zh��)��ָ������һ������Ҳ�ǿ��\�����������^����Ɍ�0004h��ַ�еĴ��aȡָ������Ȼ����_ʼ��0004h��ַ�Ĵ��a�Ĉ�(zh��)�в�����0005h��ַ���a��ȡָ�^�̡���ôGIE�ڱ�Ӳ���Ԅ������Ҫ���Õ�1��ֻ�ЃɷN������RETFIEָ��ʹGIE�Ԅ���1;ͨ�^ܛ��ָ�GIE�˞���1���@Ȼ�������GIE�˞���1��ָ���(zh��)���ڌ�ԓ��(bi��o)־λ����ǰ����ô�����F(xi��n)ǰ���������Д�Ƕ��(�O(sh��)ԓ�Д���A)������]�������Д�l(f��)���҈�(zh��)����������Д�A�Ҍ��Д�A�Ę�(bi��o)־�����Ԓ����ô�Д�A��Ƕ����һ����ѭ�h(hu��n)���Ͳ��Lj�(zh��)�ЃɴεĆ��}��----���ͬһ���Д�Ƕ�וr��GIE���Ԅ����㱻ܛ����һ���h���l(f��)�������IF֮ǰ����ôIFһֱ�ò����������GIE�֎�һֱ����1��
�������f����r�ƺ����@�ӵģ��x�Č�INTCONָ������^�̷ֽ⣺�xINTCON�ĕr����GIE���Ǟ�1�ģ��˕r�l(f��)�����Д���GIE��Ӳ�����㣬�_ʼ��(zh��)���Д����(w��)������Ȼ����IF��(bi��o)־�]�����֮ǰ����(zh��)��INTCON������λ���ĺ͌��ز�����Ҳ���Д�l(f��)��ǰ��GIE�x��1����Ϣ����GIE���@�ӣ�CPU���Ȱl(f��)���˵ڶ����Д����@Ȼ���@���nj�BSF INTCON, XXָ��ֽ��֧�x����---����һ��ָ�����ڿ�����ɵ�ָ����˶���ָ������;����һ��ָ�����ڵ�ָ�CPU�ڲ�ͬ��ַ̎�ֽ��(zh��)���x�Č��^����
��������@�ӵ�Ԓ����ô���ߵĽ�ጾ�����ì�ܣ�“��(d��ng)CPU���ڈ�(zh��)��һ�l��INTCON�Ĵ�����‘�x-��-��’������ָ��r�����ǡ�ðl(f��)�����Д�Ո�� ”�c“��(d��ng)GIE����������@�����CPU���ڈ�(zh��)��һ�l��INTCON‘�x-��-��’��ָ��r”�ì����
��֮���Ҍ��@����������һЩ�ɻ���Ո����λǰָ݅�c��
�Uչ��x��ʲô���Д���(y��u)�ȼ���ʲô���Д�Ƕ�ף�

����admin ����ĕr�g��2019-07-31