寮� 瑷€
绌鸿(di脿o)宸查€�(j矛n)鍏ュ崈瀹惰惉鎴�锛岀┖瑾�(di脿o)閬欐帶鍣ㄤ綔鐐虹┖瑾�(di脿o)鐨勭敤鎴剁晫闈�锛屽叾瑷�(sh猫)瑷堢殑鍘熺悊宸叉垚鐔�銆傜洰鍓�锛屽皪瀛�(xu茅)缈�(x铆)鍨嬫櫤鑳介仚鎺у櫒鐨勭爺鍒堕枊灞曚簡澶ч噺鐨勫伐浣滐紝鏃ㄥ湪鎻愰珮閬欐帶鍣ㄧ殑鏅鸿兘鍖栧拰閫氱敤鎬�锛屽彇寰椾簡杓冨ぇ鐨勯€�(j矛n)灞�锛屽苟鏈夐儴鍒嗙敘(ch菐n)鍝侀€�(j矛n)鍏ュ競鍫�銆傜暥(d膩ng)鍓嶇爺鍒堕枊鐧�(f膩)鐨勫(xu茅)缈�(x铆)鍨嬫櫤鑳介仚鎺у櫒涓昏閲囩敤38KHz鍥哄畾杓夋尝闋荤巼锛岄仚鎺у櫒绶ㄧ⒓涓嶅绺垨绨″柈澹撶府?锛熺収{(di脿o)閬欐帶鍣ㄤ笉鍚屼簬鍏跺畠瀹堕浕閬欐帶鍣紙濡傚僵闆伙級锛岀┖瑾�(di脿o)閬欐帶鍣ㄧ櫦(f膩)鍑虹殑绶ㄧ⒓鍖呭惈鐣�(d膩ng)鍓嶇媭鎱�(t脿i)鐨勫绋俊鎭�锛岃€屽僵闆婚仚鎺у櫒鐨勭法纰兼槸涓€閸典竴纰�銆傛妸绌鸿(di脿o)閬欐帶鍣ㄦ墍鏈夊彲鑳界殑鐙€鎱�(t脿i)閮借瀛�(xu茅)缈�(x铆)鍜屽瓨鍎诧紝闇€瑕佽姳璨�(f猫i)澶ч噺鐨勬檪闁撳拰瀛樺劜绌洪枔銆傜偤姝わ紝鎻愬嚭浜嗕竴绋熀浜庢韩搴︽帶鍒剁殑绶ㄧ⒓鐙€鎱�(t脿i)杞�(zhu菐n)鎻涚畻娉�锛岀偤鍩轰簬鍠墖姗�(j墨)鐨勬櫤鑳藉瀷绱呭绌鸿(di脿o)閬欐帶鍣ㄧ殑瑷�(sh猫)瑷堟彁渚涗簡鍙兘銆�
1 绱呭閬欐帶纰煎瀷鍒嗘瀽
1.1 绱呭閬欐帶纰煎瀷鐮旂┒鍒嗘瀽
鐩墠锛屽悇闆诲櫒鐢熺敘(ch菐n)寤犲灏嶉仚鎺ц剤娌栫法纰煎強纰兼祦閭勬矑鏈夊舰鎴愮当(t菕ng)涓€鐨勬(bi膩o)婧�(zh菙n)銆傞€氶亷灏嶅競闈笂姣旇純鏅亶鐨勫咕鍗佺ó閬欐帶鍣ㄧ殑纰煎瀷绲�(ji茅)妲�(g貌u)閫�(j矛n)琛岀爺绌跺垎鏋�锛岀附绲�(ji茅)鍏剁壒榛�(di菐n)濡備笅锛�
锛�1锛夌⒓鍨嬪妯o細鑴堟矕娴佷腑涓€鑸寘鎷細骞€闋�銆佺郴绲�(t菕ng)纰�銆佹搷浣滅⒓銆佸悓姝ョ⒓銆佸箑闁撻殧纰笺€佸箑灏�銆備笖鍚屾纰艰垏骞€闁撻殧纰煎嚭鐝�(xi脿n)鐨勪綅缃笉鍥哄畾銆傞嚌灏嶉€欎簺闈堟椿澶氳畩鐨勭⒓鍨嬫牸寮�锛屽緢闆e崁(q奴)鍒嗗悇绋剤娌栨祦鐨勫惈缇�銆�
锛�2锛夎級娉㈤牷鐜囦笉鍥哄畾锛氬父鐢ㄧ殑閬欐帶鍣ㄩ噰鐢�38KHz浣滅偤杓夋尝闋荤巼锛屾湁鐨勯噰鐢�36KHz-42KHz涔嬮枔鐨勮級闋�銆�
锛�3锛夌法纰奸暦鐭笉涓€锛氬僵闆婚鐢�(ch菐n)鍝佷竴鑸彧鏈夊咕鍗佷綅锛岀┖瑾�(di脿o)閬欐帶鍣ㄧ法纰奸暦閬�(d谩)涓婄櫨浣�銆�
锛�4锛変笉鍚岀殑鐧�(f膩)閫佹柟寮忥細甯哥敤鏈変笁绋柟寮�锛屽嵆锛氬畬鏁村箑鍙櫦(f膩)閫佷竴娆★紙濡傚湒1a锛�銆佸畬鏁村箑閲嶅京(f霉)鐧�(f膩)閫佸叐娆★紙濡傚湒1b锛�銆佸厛鐧�(f膩)涓€鍊嬪畬鏁村箑锛屽悗閲嶅京(f霉)鐧�(f膩)閫佸箑闋拰涓€鍊嬭剤娌栵紙濡傚湒1c锛夈€�
[align=center]

鍦�1 绱呭绶ㄧ⒓瀹屾暣骞€鏍煎紡[/align]
鐢变簬绶ㄧ⒓鏂瑰紡鐨勫妯e寲锛岃嫢鍗€(q奴)鍒嗘瘡绋⒓娴佺殑鍚京閫�(j矛n)琛屽(xu茅)缈�(x铆)锛屽叾寰�(f霉)闆滄€фサ楂樹笖鍗犵敤寰堝ぇ鐨勫収(n猫i)瀛樼┖闁撱€傛湰绯荤当(t菕ng)閬块枊浜嗗悇绋舰鑹茬⒓娴佺殑骞叉摼锛岀附绲�(ji茅)浜嗙磪澶栭仚鎺у櫒绶ㄧ⒓鐨勫叡鎬�锛屽彧闇€浜嗚В鑴堟矕鐨勬檪闁撳搴︼紝鐒¢渶闂�(gu膩n)蹇冨畠鐨勫闅涙剰缇�銆傚洜姝�锛屽湪绯荤当(t菕ng)涓矑鏈夊紩灏�(d菐o)纰�銆�0纰�銆�1纰笺€佸悓姝ュ箑銆佸弽纰肩瓑锛屽畾缇╀簡鐢�0銆�1銆�2绛夋暩(sh霉)瀛楄〃绀哄悇绋檪闁撳搴︿笉绛夌殑鑴堟矕娴佺殑绠楁硶銆�
1.2 绌鸿(di脿o)绱呭閬欐帶纰煎瀷鐮旂┒鍒嗘瀽
绌鸿(di脿o)閬欐帶鍣ㄩ枊鐧�(f膩)鐨勯棞(gu膩n)閸垫槸婧害鐙€鎱�(t脿i)鐨勮綁(zhu菐n)鍖栥€傚皪澶氱ó椤炲瀷绌鸿(di脿o)閬欐帶鍣ㄧ磪澶栫法纰奸€�(j矛n)琛屽ぇ閲忕爺绌跺垎鏋�锛屾壘鍑轰簡鍏剁法纰艰(gu墨)寰嬶細鍦ㄧ┖瑾�(di脿o)鐨勬瘡涓€鍊嬬法纰间腑锛屽叾涓湁4浣嶄簩閫�(j矛n)鍒惰〃绀洪枊濮嬫韩搴︼紙婧害1锛�锛屽彟澶�4浣嶄簩閫�(j矛n)鍒惰〃绀烘寜閸靛悗鐨勬湯婧害锛堟韩搴�2锛夛紝鐣�(d膩ng)閬欐帶鍣ㄩ€�(j矛n)琛屾韩搴︽帶鍒舵檪锛屽墠涓€鎸夐嵉鐨勬湯鐙€鎱�(t脿i)璺宠綁(zhu菐n)鍒板悗涓€鎸夐嵉鐨勫垵鐙€鎱�(t脿i)锛屽緸鑰屽彲浠ュ皪绌鸿(di脿o)鐨勬韩搴﹂€�(j矛n)琛岄€g簩(x霉)鎺у埗銆傚皪绌鸿(di脿o)閬欐帶鍣ㄧ磪澶栫法纰奸€�(j矛n)琛屾彁鍙�锛屽彇鍑烘湁闂�(gu膩n)琛ㄧず婧害鐨勯儴鍒嗭紙鍚勭ó绌鸿(di脿o)閬欐帶鍣ㄧ殑绶ㄧ⒓瑕�(gu墨)寰嬮浼硷級锛屽涓嬭〃鎵€绀猴細
绌鸿(di脿o)婧害閮ㄥ垎绶ㄧ⒓琛�
[align=center]

鍦�2 绌鸿(di脿o)婧害绶ㄧ⒓鐙€鎱�(t脿i)杞�(zhu菐n)鎻涘湒[/align]
2 閬欐帶鍣ㄧ‖浠剁祼(ji茅)妲�(g貌u)
閬欐帶鍣ㄧ敱STC绯诲垪STC89C51RD+鍠墖姗�(j墨)銆佺磪澶栫法纰肩櫦(f膩)灏勮垏鎺ユ敹闆昏矾銆侀嵉鐩�銆侀’绀哄睆銆丼D鍗℃帴鍙g瓑澶栧湇鍣ㄤ欢绲勬垚銆傚叾涓璖D鍗$敤渚嗗瓨鏀惧拰淇濆瓨瀛�(xu茅)缈�(x铆)鐨勯仚鎺у櫒绶ㄧ⒓锛屽苟鑳借垏PC姗�(j墨)閫�(j矛n)琛屼氦娴�锛涢仚鎺у櫒绶ㄧ⒓鐨勮瓨鍒ユ槸閫氶亷鎺ユ敹闆昏矾鍜屾暣褰㈤浕璺締瀵︾従(xi脿n)锛岀偤浜嗚兘璀樺垾涓€瀹氳寖鍦嶅収(n猫i)鐨勮級闋�锛岀法纰兼帴鏀堕浕璺腑涓嶅惈瑙h(di脿o)闆昏矾锛岃級闋荤殑鎻愬彇鏄敤鍠墖姗�(j墨)渚嗗鐝�(xi脿n)銆�
鍦�3 閬欐帶鍣ㄧ‖浠剁祼(ji茅)妲�(g貌u)
3 杌熶欢瑷�(sh猫)瑷�
3.1 绶ㄧ⒓鐙€鎱�(t脿i)杞�(zhu菐n)鎻涚畻娉曡垏瀵︾従(xi脿n)
绌鸿(di脿o)閬欐帶鍣ㄧ法纰煎京(f霉)闆�锛屼富瑕佹湁鍒剁啽銆佸埗鍐�銆侀櫎婵�銆侀€氶ⅷ(f膿ng)绛夋ā寮�锛屾湁浜涙ā寮忎笅閭勬湁涓嶅悓鐨勯ⅷ(f膿ng)閫熺礆鍒�锛屽苟鍦ㄦ瘡涓€绋ⅷ(f膿ng)閫熶笅锛屽叾婧害鐙€鎱�(t脿i)璁婂寲瑕�(gu墨)寰嬩笉鍚屻€傜偤姝�锛屽皪绌鸿(di脿o)閬欐帶鍣ㄧ殑绶ㄧ⒓鍓�(chu脿ng)寤轰簡鐙€鎱�(t脿i)杞�(zhu菐n)鎻涚畻娉�銆傜畻娉曚腑閫氶亷寤虹珛绌鸿(di脿o)閬欐帶鍣ㄥ伐浣滄ā寮忋€侀ⅷ(f膿ng)閫熺瓑绱氬拰婧害鍊煎簭鍒椾笁灞ら棞(gu膩n)绯绘ā鍨�锛岃ō(sh猫)瑷堜簡灏嶆噳(y墨ng)鐨勬暩(sh霉)绲勫簭鍒�锛屾瘡涓€鍊嬫暩(sh霉)绲勫簭鍒椾腑瀛樻斁钁楀悇绋ā寮忎笅涓嶅悓棰�(f膿ng)閫熺瓑绱氭檪鐨勬韩搴﹀€肩法纰�锛岄€氶亷鎸囬嚌鏂瑰紡閫�(j矛n)琛岃(di脿o)鐢�銆備緥濡傦細鍦�2涓殑浜岄€�(j矛n)鍒舵暩(sh霉)鎿�(j霉):锝�0000,0001,0011,0010,0100,0101,0111,0110,1100,1101,1111,1110,1000,1001,1011,1010锝濊綁(zhu菐n)鎻涙垚鍗侀€�(j矛n)鍒跺悗锛屽垵濮嬪寲鏁�(sh霉)绲刣ata1,鍓囷細data1[i]=锝�0,1,3,2,4,5,7,6,12,13,15,14,8,9,11,10锝�锛涙寚閲漃 = data1[i%16]銆傜祼(ji茅)鍚坉ata1鍜屾寚閲漃,绌鸿(di脿o)閬欐帶鍣ㄥ湪涓€绱氶ⅷ(f膿ng)閫熸檪鐨勭法纰肩媭鎱�(t脿i)杞�(zhu菐n)鎻涙祦绋嬭鍦�4锛�
[align=center]

鍦�4 绶ㄧ⒓鐙€鎱�(t脿i)杞�(zhu菐n)鎻涙祦绋媅/align]
3.2杓夋尝淇¤櫉绮惧瘑妾㈡脯
閬欐帶鍣ㄨ級闋婚€氬父鍦�36KHz-42KHz鑼冨湇涔嬮枔锛屽绨″柈鐨勭敤38KHz鐨勮級闋昏(di脿o)鍒讹紝灏嶆湁浜涢仚鎺цō(sh猫)鍌欎笉鑳芥纰烘帶鍒�銆傜偤姝わ紝閬欐帶鍣ㄨ嚜瀛�(xu茅)缈�(x铆)鏅�锛岄渶瑕佺簿纰烘娓法纰肩殑杓夋尝闋荤巼[1]銆�
閫氬父鐢ㄥ柈鐗囨(j墨)瀹氭檪鍣ㄦ娓殑鏈€楂橀牷鐜囧拰閬欐帶鍣ㄧ殑杓夋尝闋荤巼灞悓涓€閲忕礆锛岀劇娉曠簿纰烘脯閲忚級娉㈣剤娌栫殑闋荤巼銆傜偤姝�锛屾彁鍑轰簡鍧囧€肩畻娉曘€傚皣瀹氭檪鍣�1鍜屽畾鏅傚櫒2锛堟崟鐛插姛鑳斤級閰嶅悎浣跨敤锛岄€氶亷绶ㄧ⒓鑴堟矕瀵害鍜岃級娉㈣剤娌栨暩(sh霉)鐨勬脯閲�锛岄€氶亷瑷堢畻锛屽緱鍒扮簿纰虹殑杓夋尝闋荤巼銆傝級娉俊铏熺簿纰烘脯閲忔祦绋嬭鍦�5锛�
[align=center]

鍦�5 杓夋尝淇¤櫉绮剧⒑娓噺娴佺▼鍦朳/align]
3.3 淇¤櫉璀樺垾銆佺法纰煎垎椤炶垏鐧�(f膩)閫�
閬欐帶鍣ㄧ法纰奸暦搴︾偤骞惧崄浣嶅埌涓婄櫨浣�锛岃€屼笖锛屾瘡鍊嬬法纰肩殑淇℃伅閲忚純澶�銆傞仚鎺у櫒鑷(xu茅)缈�(x铆)鏅�锛屾墍鏈夌殑绶ㄧ⒓鐙€鎱�(t脿i)閮借鎸夌収鑴堟矕瀵害鏂瑰紡瀛樺劜锛岃姹傝純澶х殑瀛樺劜绌洪枔銆傜偤姝わ紝鎻愬嚭浜嗕竴绋法纰煎绺妧琛�(sh霉)[2][3]銆傞仚鎺у櫒绶ㄧ⒓鍏�(n猫i)瀹瑰寘鎷細骞€闋�銆佹(j墨)鍣ㄧ⒓銆佹搷浣滅⒓銆佸悓姝ョ⒓銆佸箑闁撻殧鍜屽熬骞€绛夐鍨�锛岃嚜瀛�(xu茅)缈�(x铆)鏅�锛屽皪璀樺垾鐨勯仚鎺у櫒绶ㄧ⒓閫�(j矛n)琛屽垎椤�锛屽苟鎸夐鍨嬭櫉閫�(j矛n)琛屽瓨鍎�锛岃鍦�6鎵€绀猴細
[align=center]

鍦�6 淇¤櫉璀樺垾銆佺法纰煎垎椤炵ず鎰忓湒[/align]
閬欐帶鍣ㄨ嚜瀛�(xu茅)缈�(x铆)绶ㄧ⒓璀樺垾鍜屽垎椤為亷绋嬶細
锛�1锛� 绱呭绶ㄧ⒓鍜岃級娉㈣瓨鍒�
銆€銆€绱呭绶ㄧ⒓鍜岃級娉㈠懆鏈熺浉宸純澶�锛屽厛瑷�(sh猫)瀹氫竴鍊嬭剤娌栧懆鏈熺殑闁€闄愬€糡HRESHOLD1銆傛瘡鐣�(d膩ng)鏈夎剤娌栦笅闄嶆部鍒版檪锛屽暉鍕曞畾鏅傚櫒闁嬪瀹氭檪锛屽湪涓嬩竴鍊嬩笅闄嶆部鏅傚畾鏅傜偤t銆傜暥(d膩ng)0THRESHOLD1鏅�,鐐虹磪澶栫法纰艰剤娌�銆傛鏅傝閷凾1鐨勫€肩偤t,鍚岀悊鍙娓埌T2锛孴3锛孴4鈥︾法纰艰剤娌栫殑鍊�銆�
锛�2锛� 鏁�(sh霉)绲勫缓绔�
銆€銆€char sigdata[i]锛�
銆€銆€typedef struct 锝�
銆€銆€ union intchar bith;
銆€銆€ union intchar bitl;
銆€銆€uchar bitl1;
銆€?銆�?timer[m];
銆€銆€鍏朵腑锛歴igdata[i]瀛樻斁绶ㄧ⒓涓爢搴忓嚭鐝�(xi脿n)骞€鐨勯鍒ワ紱
銆€銆€timer[m]瀛樻斁 sigdata[i] 涓箑鐨勪笉鍚岄鍒ョ殑鏅傞枔鍊�銆�
锛�3锛� 绶ㄧ⒓骞€椤炲垾璀樺垾
灏嘥锛坕+1锛夌殑t1銆乼2鑸嘥锛坕锛夌殑t1銆乼2鍒嗗垾閫�(j矛n)琛屾瘮杓�锛岃嫢鐩哥瓑锛宼imer[m]鏁�(sh霉)绲勪腑涓嶅鍏ユ柊鐨勫収(n猫i)瀹�锛屾鏅�锛宻igdata[i+1]=sigdata[i]锛涘惁鍓�锛宼imer[m]涓鍏锛坕+1锛夌殑鏅傞枔鍊�锛屼笖sigdata[i+1]涓鍏ユ柊鐨勯鍒ヨ櫉銆備緥濡傚(xu茅)缈�(x铆)涓€鍊嬫寜閸电法纰煎悗锛歵imer[m]=锝�9000锛�4500锛�540锛�0锛�540锛�540锛�540锛�540锛�1650锛�0锛屸€︹€︼綕锛泂igdata[i]=锝�1锛�2锛�3锛�3锛�4锛屸€︹€︼綕銆�
锛�4锛� 绱呭绶ㄧ⒓瀹屾暣骞€鏍煎紡纰哄畾
鍏╁€嬪畬鏁村箑涔嬮枔鏈夎純闀风殑鏅傞枔闁撻殧锛屼笖閫欐鏅傞枔闁撻殧澶т簬绶ㄧ⒓涓换浣曚綆闆诲钩鐨勬檪闁撱€傜偤姝�锛屽彲瀹氱京THRESHOLD2鐐哄叐瀹屾暣骞€涔嬮枔鐨勯枔闅斿€硷紱鍙畾缇㏕HRESHOLD3鐐虹法纰艰剤娌栫祼(ji茅)鏉熷悗鍋滄骞€闀峰害銆傜暥(d膩ng)THRESHOLD3> t2 >THRESHOLD2鏅�锛屽垽鏂风偤绗簩骞€鐨勯枊濮嬨€傚啀姣旇純T锛坕+1锛変腑t1,t2鑸嘥2涓璽1,t2鐨勫€�锛岃嫢鐩哥瓑锛岀偤涓€娆$櫦(f膩)閫佸叐鍊嬪畬鏁村箑銆傚惁鍓�锛屼竴娆$櫦(f膩)涓€骞€鍔犲箑闋拰涓€鍊嬭剤娌�锛涚暥(d膩ng)t2 >THRESHOLD3锛岀法纰兼帴鏀跺畬鎴�锛岀偤涓€娆″彧鐧�(f膩)閫佷竴鍊嬪畬鏁村箑鐨勬儏娉�銆�
锛�5锛� 鐧�(f膩)閫佽級娉㈤牷鐜囧垵濮嬪€艰▓绠�
杓夋尝闋荤巼= 锛�6鍒嗛牷鏅俷锛�2锛�12鍒嗛牷鏅俷锛�4銆傚緱锛圧CAP2H锛孯CAP2L锛�=3锛奻req锛坒req鐐哄(xu茅)缈�(x铆)鏅傛娓嚭鐨勮級娉㈣剤娌栧搴︼級銆�
4 绲�(ji茅)璜�
閫氶亷灏嶇┖瑾�(di脿o)閬欐帶鍣ㄧ法纰肩殑绮剧啊锛屽壍(chu脿ng)寤轰簡鐙€鎱�(t脿i)淇℃伅杞�(zhu菐n)鎻涜〃锛岀暥(d膩ng)姣忛€�(j矛n)鍏ヤ竴绋ā寮忔檪锛屽彧闇€鐧�(f膩)灏勮垏婧害鐙€鎱�(t脿i)淇℃伅鐩搁棞(gu膩n)鐨勭法纰�锛岀啊鍖栦簡鐧�(f膩)灏勭法纰笺€佹彁楂樹簡鍌宠几鏁堢巼銆傞枊鐧�(f膩)鐨勯仚鎺у櫒鑷(xu茅)缈�(x铆)鍔熻兘锛岄€氶亷绶ㄧ⒓瀛�(xu茅)缈�(x铆)鑸囧師姗�(j墨)閫�(j矛n)琛屽皪姣�锛屾瘡绋剤娌栨祦鐨勬檪闁撳儏宸�1鍊嬫檪閻樺懆鏈�锛涢噰鐢ㄥ潎鍊肩畻娉�锛屼娇鐧�(f膩)閫佺殑杓夋尝闋荤巼瑾ゅ樊灏忎簬0.5KHz锛涜ō(sh猫)瑷堢殑閬欐帶鍣ㄧ法纰肩煝閲忓绺畻娉�锛屽瓨鍎蹭竴鍊嬮嵉纰硷紙200鍊嬬法纰硷級鍍呴渶134鍊嬪瓨璨柈鍏�锛屽绺瘮閬�(d谩)8:1銆備笂杩版妧琛�(sh霉)鐐洪噰鐢ㄥ柈鐗囨(j墨)瀵︾従(xi脿n)鏅鸿兘绌鸿(di脿o)閬欐帶鍣ㄥ壍(chu脿ng)寤轰簡鍩虹(ch菙)锛屽叾涓紝鈥滅媭鎱�(t脿i)淇℃伅杞�(zhu菐n)鎻涜〃鐨勫壍(chu脿ng)寤衡€濆拰鈥滈珮绮惧害杓夋尝闋荤巼娓噺鈥濇槸鏈枃鐨勪富瑕佸壍(chu脿ng)鏂�銆�