單片機定時器-遙控器解碼程序分析
一、前言
利用STC公司1T內核的STC12C08S2 單片機對一款遙控器進行解碼,將解碼的數據轉換為以us為單位的時間通過單片機串口通訊發送到STC下載軟件自帶的串口調試工具接收框進行顯示。
本文主要對測試結果進行展示與分析并對單片機控制程序進行分析,以此起到拋磚引玉的作用,希望讀者理解程序以后可以利用單片機對身邊的任意一款遙控器進行解碼并將遙控器與單片機的實際應用聯系在一起。
二、測試結果展示
1、實驗材料介紹
實驗材料硬件部分 軟件部分 為KEIL V2 編程軟件 和 單片機程序下載軟件STC_ISP_V479
為了高效率學習程序編寫,本實驗平臺采用單片機教程網的51hei-5單片機開發板。控制芯片為 STC12C08S2,紅外通訊傳感器為sm0038與單片機的P3.2引腳連接。大家用一根杜邦線將j7的3腳 連到頂部的p3.2口的排針處即可。程序下載器采用usb轉串口線。遙控器采用如上圖(對于NEC標準的遙控器都適用,比如電視遙控器等)。
2、遙控器按下數字1,PC所接收的數據碼
顯示的數據:數字1: 02456 00206 00205 00202 00204 00207 00202 00206 00206 00407 00408 00412 00407 00408 00412 00407 00408 00206 00206 00407 00408 00206 00205 00203 00204 00409 00411 00202 00204 00410 00410 00407 00410
3、遙控器按下數字2,PC所接收的數據碼
數字2:2456 00206 00200 00206 00206 00202 00205 00206 00202 00412 00407 00410 00410 00407 00408 00412 00407 00206 00205 00202 00410 00410 00203 00204 00205 00408 00409 00410 00205 00202 00408 00412 00407
4、遙控器按下數字3,PC所接收的數據碼
數字3:02457 00206 00198 00208 00206 00198 00209 00206 00200 00413 00407 00406 00414 00407 00405 00415 00408 00206 00410 00405 00417 00407 00206 00407 00206 00408 00206 00200 00208 00208 00407 00206 00408
三、測試數據分析
下載程序在硬件電路正常的情況下,遙控器按下數字1,PC機可以接收到以下數據數字1: 02456 00206 00205 00202 00204 00207 00202 00206 00206 00407 00408 00412 00407 00408 00412 00407 00408 00206 00206 00407 00408 00206 00205 00203 00204 00409 00411 00202 00204 00410 00410 00407 00410
那這些數據代表什么意思呢?
單片機向PC機每發送一次都是5位數據,這5位數據是單片機內部定時器以5us循環一次對temp變量從0開始自加所得到的數據。也就是說這些數據可以理解為一個時間值,這個時間值就是遙控器每個數據碼高電平和低電平所持續時間的值。

評論