標(biāo)題:
51單片機(jī)使用紅外控制家里的燈 源程序
[打印本頁]
作者:
jkla
時(shí)間:
2020-4-18 11:53
標(biāo)題:
51單片機(jī)使用紅外控制家里的燈 源程序
通過紅外通信,使用遙控器控制家里的燈開關(guān),使用繼電器作為開關(guān),高電平觸發(fā)。使用繼電接220v一定要看繼電器的耐壓值,需要大于220v才可以,小于220v的不能用作一般家電控制。程序簡單,適合初學(xué)者學(xué)習(xí),接220v需謹(jǐn)慎。
單片機(jī)源程序如下:
#include "H_W.h"
//#define GPIO_LED P2
#define GPIO_SMG P0
#define uchar unsigned char
#define uint unsigned int
uchar code smgduan[17] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,
0x7c,0x39,0x5e,0x79,0x71,0x76};
//uchar remote_c_data[4];
uchar display[8];
//uchar Time = 0;
uchar Signal_Code;
sbit relay = P2^0;
sbit LSA = P1^0;
sbit LSB = P1^1;
sbit LSC = P1^2;
void Delay(uint i)
{
while(i--);
}
/* 定義八個(gè)數(shù)碼管顯示器的位選函數(shù) ,掃描數(shù)碼管 */
void Digdisplay()
{
uchar i;
for(i = 0; i < 3; i++)
{
switch(i)
{
case (0):
LSA = 0; LSB = 0; LSC = 0; break; // 000
case (1):
LSA = 1; LSB = 0; LSC = 0; break; // 001
case (2):
LSA = 0; LSB = 1; LSC = 0; break; // 010
}
GPIO_SMG = display[i];
Delay(100); //改變參數(shù)的值能實(shí)現(xiàn)滾動(dòng)顯示。最大為65535,否則會(huì)溢出。
GPIO_SMG = 0x00; //清空數(shù)碼管,以防止出現(xiàn)重影。
}
}
void main(void)
{
Remote_Init();
// GPIO_LED = 0xff;
relay = 0;
while(1)
{
// Time = 0; //每次使用前必須初始化為零
display[0] = smgduan[remote_c_data[2] / 16];
display[1] = smgduan[remote_c_data[2] % 16];
display[2] = smgduan[16];
Digdisplay();
Signal_Code = remote_c_data[2];
if(Signal_Code == 0x45)
{
// GPIO_LED = 0x00;
relay = 1; //開燈
}
else if(Signal_Code == 0x46)
{
// GPIO_LED = 0xff;
relay = 0; //關(guān)燈
}
}
}
void ReadIr() interrupt 0
{
remote_Control();
}
復(fù)制代碼
全部程序51hei下載地址:
紅外通信.rar
(29.15 KB, 下載次數(shù): 11)
2020-4-18 11:52 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
51hei團(tuán)團(tuán)
時(shí)間:
2020-4-18 14:40
很實(shí)用 能分享或者介紹下原理圖嗎?
作者:
jkla
時(shí)間:
2020-4-18 15:14
51hei團(tuán)團(tuán) 發(fā)表于 2020-4-18 14:40
很實(shí)用 能分享或者介紹下原理圖嗎?
原理圖沒有的,重點(diǎn)在紅外通信上面,首先測試遙控器各個(gè)鍵所對(duì)應(yīng)的鍵值,通過數(shù)碼管或者串口顯示,記下你想使用的鍵及對(duì)應(yīng)的鍵值,然后在主函數(shù)里面判斷接收到遙控器的鍵值,從而執(zhí)行相應(yīng)的功能。我寫的這個(gè)是判斷接收到遙控器的鍵值與0x45比較,一樣繼電器吸合,開燈;與0x46比較,一樣繼電器斷開,關(guān)燈;你可以接其他的。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1