紅外通信的設(shè)計(jì)與實(shí)現(xiàn)
5.3 接收端信號(hào)的輸入捕捉設(shè)計(jì)
將TPM2的狀態(tài)控制寄存器的位CPWMS置0,則TPM2可以工作在輸入捕捉模式、輸出比較模式、邊沿脈沖輸出模式;為使TPM2通道0工作在輸入捕捉方式,需要進(jìn)一步設(shè)置TPM2通道0狀態(tài)控制寄存器,將TPM2C0SC的模式選擇位MS0B:MS0A設(shè)置為00,選擇了輸入捕捉方式,此外,要設(shè)置捕捉發(fā)生在什么條件下,那么需要設(shè)置TPM2COSC中的極性選擇位ELS0B:ELS0A,使其為01,目的是在該引腳出現(xiàn)上升沿時(shí)發(fā)生捕捉。在發(fā)生捕捉時(shí),通道值寄存器會(huì)將定時(shí)寄存器的值進(jìn)行鎖存,因此比較兩次輸入捕捉時(shí),通道值寄存器的內(nèi)容,根據(jù)編碼規(guī)則,可知道該值對(duì)應(yīng)的編碼是‘1’或‘0’。此外通道值寄存器是16位的,如果希望通過(guò)串口調(diào)試窗口查看比較結(jié)果,因?yàn)榇诮邮諗?shù)據(jù)緩沖寄存器是8位的,那么可以將其分解為兩個(gè)8位的數(shù)據(jù)通過(guò)串口發(fā)送。
以下是輸入捕捉的中斷子程序:
程序功能描述:將捕捉的數(shù)據(jù)發(fā)往串口查看,這樣不管用什么發(fā)射器,都可以通過(guò)觀察串口數(shù)據(jù)得到識(shí)別碼,完成不同的功能。
6 結(jié)語(yǔ)
紅外通信一般用在低數(shù)據(jù)速率,并且短距離的場(chǎng)合中,因此需要低功耗的運(yùn)行要求。而Freescale的這款單片機(jī)工作電壓可達(dá)到1.8 V,在單片機(jī)空閑方式下,通過(guò)設(shè)置SOPT和SPMSC兩個(gè)寄存器來(lái)設(shè)計(jì)不同的停止低功耗模式,或者執(zhí)行一條WAIT指令,使單片機(jī)進(jìn)入等待的低功耗模式,這里就不再詳細(xì)講述其實(shí)現(xiàn)過(guò)程。MC9S08GT60單片機(jī)與其他低電壓、低功耗的單片機(jī)不同之處在于,它并非是以犧牲性能為代價(jià)來(lái)?yè)Q取1.8 V的低電壓。因此本文使用該單片機(jī)討論了發(fā)送和接收紅外電路的設(shè)計(jì)過(guò)程及通信協(xié)議的運(yùn)用,該系統(tǒng)的設(shè)計(jì)切實(shí)可行,對(duì)紅外控制開(kāi)發(fā)者有一定的幫助。
評(píng)論