單片機流水燈程序,8051單片機

目前在學單片機,已經學會做流水燈了,怎么做紅外遙控燈?

單片機流水燈程序,8051單片機


已經會用單片機實現流水燈的功能,說明對單片機有了初步的入門知識,會配置單片機的GPIO口輸出了,建議再學習以下單片機的GPIO的輸入,比如按鍵輸入 。因為紅外遙控會使用到GPIO輸出和GPIO輸入,還用會要定時器甚至中斷 。下面從硬件設計和程序設計介紹一下紅外遙控的設計 。1.紅外發射電路的設計紅外遙控涉及到一發一收,即一個紅外發射管和一個紅外接收管配合使用 。
紅外發射管一般是透明的,跟發光二極管LED驅動方法一致 。如下圖所示,是設計的紅外發射電路 。單片機輸出高電平時三極管導通,發射管工作發出紅外光,這里也可以用按鍵來控制 。2.紅外接收電路的設計紅外接收管用來接收發射管所發出的紅外光,紅外接收管可以用普通的接收管,也可以使用專用的紅外接收頭,如VS1838系列接收頭,下圖是使用1838接收頭實現的紅外電路 。
當接收到紅外光后,1838輸出低電平 。如果你是通過單片機開發板來學習的,那么板子上應該帶有紅外接收頭,并且配有紅外遙控器,盡可能的利用手邊的資源 。3.簡單紅外遙控的實現硬件電路設計好之后,就要設計程序了 。你可以使用紅外遙控控制板子上LED燈的亮滅、流水燈的花樣變換、繼電器的工作燈 。這種簡單的指令只需要檢測紅外輸出的電平就可以 。
【單片機流水燈程序,8051單片機】如果單片機檢測到低電平,說明有人按了紅外遙控器,把繼電器打開即可,不需要走協議 。4.紅外數據通信的實現如果用通過紅外來傳輸數據的話,就需要遵循一定的協議了 。目前常用的紅外通訊協議是NEC的協議,如下圖規定了邏輯0和邏輯1的脈沖寬度 。邏輯0的時間為1.12ms,脈沖寬度為560us;邏輯1的時間為2.25ms,脈寬為560us,除此之外一幀完整的數據應該包括:引導碼、8位的客戶碼、8位客戶碼的補碼、8位的按鍵值、8位按鍵值的補碼等 。

    推薦閱讀