|
請(qǐng)教下大神們:
我用STC89C52RC單片機(jī)的定時(shí)器0來計(jì)時(shí)NEC(紅外)脈沖時(shí)出現(xiàn)過這種現(xiàn)象準(zhǔn)確的問題。
描述:
我在外部中斷0中來計(jì)算兩個(gè)下降沿之間的時(shí)間,在計(jì)時(shí)1.125ms的脈沖時(shí),定時(shí)器中的TL0、TH0中的數(shù)據(jù)小于理論計(jì)算值,而且還相差比較大(200~300個(gè)定時(shí)器周期)。但當(dāng)計(jì)時(shí)13.5ms的脈沖時(shí),定時(shí)器TL0、TH0中的數(shù)據(jù)與理論計(jì)算值接近。不知道是什么原因,有測(cè)試過晶振波形,平均是11.079MHZ與計(jì)算時(shí)用的11.0592MHZ接近。同時(shí)我還測(cè)試了NEC紅外脈沖與理論脈沖寬度接近。
NEC脈沖.PNG (246.52 KB, 下載次數(shù): 53)
下載附件
NEC脈沖
2019-4-9 13:52 上傳
- volatile uint8_t plus_nums = 0;//記錄下降沿?cái)?shù)量
- volatile uint8_t nec_code[4] = {0};//保存NEC協(xié)議數(shù)據(jù)
- volatile uint8_t received_flag = 0;//接收完成標(biāo)志
復(fù)制代碼 |
|