רÀûÃû³Æ£ºÆû³µÒDZíÓóµËÙÐźŲɼ¯Ð¾Æ¬µÄÖÆ×÷·½·¨
¼¼ÊõÁìÓò£º
±¾ÊµÓÃÐÂÐÍÉæ¼°Æû³µÅä¼þ£¬ÌرðÊÇ©`ÖÖÆû³µÒDZíÓóµËÙÐźŲɼ¯Ð¾Æ¬¡£
±³¾°¼¼Êõ£º
ÏÖÔÚµ¥Æ¬»úÄÚ²¿¼¯³É¶ÈÔ½À´Ô½¸ß¡£ÊäÈëÆµÂʲ¶×½ÊǺÜÔç¾Í±»ÕûºÏµ½Ð¾Æ¬µÄ©`ÏÄÜ¡£ÕâÖÖÕûºÏ¸øÉè¼ÆÕß´øÀ´Á˱ãÀû¡£µ«ÊÇËæ×ÅÆû³µ¼¼ÊõµÄ·¢Õ¹£¬Æû³µÒDZíÐèÒª²É¼¯µÄƵÂÊÐźÅͨµÀÊýÔ¶Ô¶¶àÓÚоƬµÄÊäÈëÆµÂʲ¶×½Í¨µÀÊýÁ¿£¬ÔÓеÄоƬÒѲ»ÄÜÂú×㿪·¢ÐèÇó£¬Èç¹ûÇл»Ð¾Æ¬½«´ó´óµØ‰ˆ¼Ó¿ª·¢³É±¾¡£ËäÈ»ÔÚ¼Û¸ñÉÏ£¬ÓÐÊäÈëÆµÂʲ¶×½¹¦ÄܵÄоƬ±Ï¾¹±ÈûÓеĹóÄÇôһµã£¬µ«Ò²ÐíÖ»¹óIÔªËÆºõºÁ²»ÆðÑÛ£¬ÔÚÅúÁ¿Éú²úºó¾Í»á±ä³É10ÍòÉõÖÁ100Íò¡£
·¢Ã÷ÄÚÈݱ¾ÊµÓÃÐÂÐÍËùÒª½â¾öµÄÎÊÌâ¾ÍÊÇÌṩ©`ÖÖÆû³µÒDZíÓóµËÙÐźŲɼ¯Ð¾Æ¬£¬²»ÐèÒª ÊäÈëÆµÂʲ¶×½¹¦ÄܾÍÄܲɼ¯ÆµÂÊÐźš£ÎªÁ˽â¾öÉÏÊö¼¼ÊõÎÊÌ⣬±¾ÊµÓÃÐÂÐͲÉÓÃÈçϼ¼Êõ·½°¸Æû³µÒDZíÓóµËÙÐźŲɼ¯Ð¾Æ¬£¬°üÀ¨µ¥Æ¬»ú£¬ËùÊöµ¥Æ¬»úÉÏÉèÓÐÊäÈëÆµÂÊÐÅºÅµÄ¸ßµÍµçÆ½µÄ3̬IO ¥í£¬ÆäÌØÕ÷ÔÚ¸ÉËùÊöµ¥Æ¬»úÖÐÉèÓÐ¶ÔÆµÂÊÐźŵÄʱ¼äÖÜÆÚ½øÐвâÁ¿ºÍ¼ÆËãµÄ¶¨Ê±Æ÷Ä£¿é¡£½ø©`²½µÄ£¬ËùÊö¶¨Ê±Æ÷Ä£¿éµÄ¼ÆÊýÖÜÆÚΪIOOy S¡£²ÉÓÃÉÏÊö¼¼Êõ·½°¸ºó£¬±¾ÊµÓÃÐÂÐ;ßÓÐÈçÏÂÓŵãʹÓò»´øÊäÈëÆµÂʲ¶×½¹¦Äܵĵ¥Æ¬»úÀ´²É¼¯ÆµÂÊÐźţ¬ÆµÂÊÐźŰüÀ¨³µËÙÐźš¢×ªËÙÐźš¢ÆøÑ¹Ðźš¢Ë®ÎÂÐźŵȵȣ¬ÕâÑùʹµÃ²úÆ·ÅúÁ¿Éú²úµÄ³É±¾µÃµ½´ó´ó½µµÍ¡£
ÒÔϽáºÏ¸½Í¼
¶Ô±¾ÊµÓÃÐÂÐÍ×÷½ø©`²½ËµÃ÷ͼIΪ±¾ÊµÓÃÐÂÐÍÒ»ÖÖʵʩÀýµÄ½á¹¹Ê¾Òâͼ£»Í¼2Ϊ³µËÙÆµÂÊÐźż°¶¨Ê±Æ÷Ä£¿éÐźÅÖÜÆÚͼ¡£
¾ßÌåʵʩ·½Ê½
ÈçͼIËùʾ±¾ÊµÓÃÐÂÐÍÒ»ÖÖʵʩÀý£¬Æû³µÒDZíÓóµËÙÐźŲɼ¯Ð¾Æ¬£¬°üÀ¨µ¥Æ¬»ú1£¬ËùÊöµ¥Æ¬»úÉÏÉèÓÐÊäÈëÆµÂÊÐÅºÅµÄ¸ßµÍµçÆ½µÄ3̬IO ¥í 11£¬ËùÊöµ¥Æ¬»úÖÐÉèÓÐ¶ÔÆµÂÊÐźŵÄʱ¼äÖÜÆÚ½øÐвâÁ¿ºÍ¼ÆËãµÄ¶¨Ê±Æ÷Ä£¿é2¡£ÔÚ±¾ÊµÊ©ÀýÖУ¬ËùÊö¶¨Ê±Æ÷Ä£¿éµÄ¼ÆÊýÖÜÆÚΪ 100 Ii S¡£ÉÏÊöʵʩÀýÖУ¬ÎÒÃÇͨ¹ýµ¥Æ¬»úÉèÖé`¸öIOOil s¼ÆÊýÒ»´ÎµÄ¶¨Ê±Æ÷Ä£¿é£¬Óö¨Ê±Æ÷Ä£¿é¶ÔƵÂÊÐźŵÄʱ¼äÖÜÆÚ½øÐвâÁ¿ºÍ¼ÆË㣬´Ó¶ø»ñµÃÎÒÃÇÐèÒªµÄƵÂʽY¹û¡£Ê¹Óò»´øÊäÈëÆµÂʲ¶×½¹¦Äܵĵ¥Æ¬»úÀ´²É¼¯ÆµÂÊÐźţ¬ÕâÑùʹµÃ²úÆ·ÅúÁ¿Éú²úµÄ³É±¾µÃµ½´ó´ó½µµÍ¡£¾ßÌå³µËÙÆµÂÊÐźż°¶¨Ê±Æ÷Ä£¿éÐźÅÖÜÆÚͼÈçͼ2Ëùʾ¡£ÒÔÏÂÊÇͨ¹ý3̬IO ¥íʵÏÖ³µËÙÆµÂÊÐźŲɼ¯µÄ¾ßÌå³ÌÐò[0013]
#define P¡ªINPUT PlO //²É¼¯ÆµÂÊ IO ¥í unsigned int pinlv; //ÆË×½½á¹ûƵÂÊÖµ
unsigned char p_cnt;//¼ÆÊýÆ÷Ϊ ¡°capture¡ªflag£¬£¬²úÉú ¡°2S¡± I
´Î¼ÆËãʱ¼ä
unsigned char capturc¡ªflag; //ƵÂÊÔÊÐíÃ×¼¯±êÖ¾ IS¡ª¡ö´Î unsigned char pulse¡ªtimer;//ƵÂÊÆË×½´ÎÊý10´Î¿ªÊ¼Ò»'¸ö¼ÆËã
unsigned char input¡ªlevel;//¼ÇÒäÊäÈëµçƽ
unsigned char start;//
unsigned int pluse¡ªc.nt;// ¼ÆÊýÆ÷¼¼Êõ¸öÊý T =
pluse_cnt*100us£»unsigned int zs¡ªcount;//Êä³ö½Ó¥íØ0¸öƵÂÊÂö³å×Üʱ¼ä
¡ªinterrupt void input¡ªcapturc (void) //ÖжϺ¯Êý IOOus Ö´.f¶¡Ò»'
´Î
{
p¡ªcnt++;
if((p_cnt >= 200) &&(capture¡ªflag == 0)) // ƵÂÊÔÊÐí²É¼¯200*100us Ò»´Î
{ p¡ªcnt - 0; capture¡ªIlag = I;
}
i f (capture¡ªf I ag) / / ÔÊÐíÆË×½
{
ir(P¡ªINPUT == 0) //ÊäÈëµçƽ=0
{
if ((input¡ªlevel) && (start)) // ²·.Ò»´ÎµçƽΪ¸ß£¬·×ªÒ»´Î
¼ÆÊý¼ÓI
{
puIse¡ªtimer++; //Íê³ÉÒ»´ÎÂö³åÆË×½±êÖ¾
}
input¡ªlevel = 0;i f(start == 0)
{
start = I; //¿ªÊ¼²¶×½±ê¼Ç
I
else
{
pluse¡ªcnt++;Il^'¸ö¼ÆÊ±
}
I
else//µçƽ·×ªpulse¡ªtimerµçƽ·×ª
´ÎÊý
{
input¡ªlevel = I;//ÊäÈëµçƽΪ 1
if (start)//Íê³ÉÒ»´ÎÆË×½
{
if (pulse¡ªtimer != 10)//ûÓÐÍê³É 10 ´ÎÆË×½
{
pluse¡ªcnt++;//¼ÌÐø¼ÆÊý
}
else//¼ÆÊý½áÊø
{
if (pluse¡ªcnt ¤¯ 2500) //ƵÂÊÕý³£
{
zs_count - plusc_cnt;
}
else//ƵÂʹýµÍ
{
zs_count = 2500;
}
pulse¡ªtimer = 0; //ÆË׽ƵÂʸöÊýÇåÁã
pluse¡ªcnt = 0;//¶¨Ê±Æ÷¼ÆÊýÇåÁãcapture¡ªflag = 0; // .´ÎÆË×½Íê³ÉµÈ´ýÏÂ´ÎÆË×½
ÔÊÐí
start =0;Il
}
I
}
}
}³ýÉÏÊöÓÅѡʵʩÀýÍ⣬±¾ÊµÓÃÐÂÐÍ»¹ÓÐÆäËûµÄʵʩ·½Ê½£¬±¾ÁìÓò¼¼ÊõÈËÔ±¿ÉÒÔ¸ù¾Ý±¾ÊµÓÃÐÂÐÍ×÷³ö¸÷ÖָıäºÍ±äÐΣ¬Ö»Òª²»ÍÑÀ뱾ʵÓÃÐÂÐ͵ľ«Éñ£¬¾ùÓ¦ÊôÓÚ±¾ÊµÓÃÐÂÐÍËù¸½È¨ÀûÒªÇóËù¶¨ÒåµÄ·¶Î§¡£
ȨÀûÒªÇó1.Æû³µÒDZíÓóµËÙÐźŲɼ¯Ð¾Æ¬£¬°üÀ¨µ¥Æ¬»ú(I)£¬ËùÊöµ¥Æ¬»úÉÏÉèÓÐÊäÈëÆµÂÊÐÅºÅµÄ¸ßµÍµçÆ½µÄ3̬IO ¥í(11)£¬ÆäÌØÕ÷ÔÚÓÚËùÊöµ¥Æ¬»úÖÐÉèÓÐ¶ÔÆµÂÊÐźŵÄʱ¼äÖÜÆÚ½øÐМyÁ¿ºÍ¼ÆËãµÄ¶¨Ê±Æ÷Ä£¿é(2)¡£
2.¸ù¾ÝȨÀûÒªÇóIËùÊöµÄÆû³µÒDZíÓóµËÙÐźŲɼ¯Ð¾Æ¬£¬ÆäÌØÕ÷ÔÚÓÚËùÊö¶¨Ê±Æ÷Ä£¿éµÄ¼ÆÊýÖÜÆÚΪIOOii S¡£
רÀûÕªÒª±¾ÊµÓÃÐÂÐ͹«¿ªÁËÒ»ÖÖÆû³µÒDZíÓóµËÙÐźŲɼ¯Ð¾Æ¬£¬°üÀ¨µ¥Æ¬»ú£¬ËùÊöµ¥Æ¬»úÉÏÉèÓÐÊäÈëÆµÂÊÐÅºÅµÄ¸ßµÍµçÆ½µÄ3̬IO¿Ú£¬ËùÊöµ¥Æ¬»úÖÐÉèÓÐ¶ÔÆµÂÊÐźŵÄʱ¼äÖÜÆÚ½øÐвâÁ¿ºÍ¼ÆËãµÄ¶¨Ê±Æ÷Ä£¿é¡£±¾ÊµÓÃÐÂÐÍʹÓò»´øÊäÈëÆµÂʲ¶×½¹¦Äܵĵ¥Æ¬»úÀ´²É¼¯ÆµÂÊÐźţ¬ÆµÂÊÐźŰüÀ¨³µËÙÐźš¢×ªËÙÐźš¢ÆøÑ¹Ðźš¢Ë®ÎÂÐźŵȵȣ¬ÕâÑùʹµÃ²úÆ·ÅúÁ¿Éú²úµÄ³É±¾µÃµ½´ó´ó½µµÍ¡£
Îĵµ±àºÅG01P3/00GK202583229SQ20122015530
¹«¿ªÈÕ2012Äê12ÔÂ5ÈÕ ÉêÇëÈÕÆÚ2012Äê4ÔÂ13ÈÕ ÓÅÏÈȨÈÕ2012Äê4ÔÂ13ÈÕ
·¢Ã÷ÕßÑîÓÂ, ÐìêÍ, ³ÌÒåºì ÉêÇëÈË:»ÆÉ½½ðÂí¹É·ÝÓÐÏÞ¹«Ë¾