無線遙控接收程序
#include "reg52.h"
#include
#define uchar unsigned char
#define uint unsigned int
uchar i,j;
sbit P2_7=P2^7;
sbit fmq=P3^6;
sbit P3_7=P3^7;
void delay1ms(unsigned int i)
{
unsigned char j;
while(i--)
{
for(j=0;j<115;j++) //1ms基準延時程序
{
;
}
}
}
void delay500us()
{
unsigned char j;
for(j=0;j<57;j++) //500us基準延時程序
{
;
}
}
void beep()//產生1KHZ頻率聲音的函數
{
fmq=0;
delay500us();
fmq=1;
delay500us();
}
void beep1()
{
uint k;
for(k=0;k<500;k++)
{
beep();
}
fmq=1;
delay1ms(500);
}
void main(void)
{
P2_7=0;//開數碼管顯示 選通左右側的數碼管
P0=0xc0; //初始顯示數字0
while(1){
P1=0xff; //P1口設置為輸入狀態(tài) 先全部寫1
i=P1;//賦值給臨時存貯變量
i=i&0x0f; //和0x0f相與 屏蔽高四位,讀取無線遙控碼
if (i==0x04)//如果是0x04,則代表無線遙控器的按鍵A按下,執(zhí)行顯示
{
P0=0x88; //字母A的字型碼
beep1();
}
if (i==0x01)//如果是0x01,則代表無線遙控器的按鍵b按下,執(zhí)行顯示
{
P0=0x83;//字母b的字型碼
fmq=1;
}
if (i==0x08)//如果是0x08,則代表無線遙控器的按鍵C按下,執(zhí)行顯示
{
P0=0xc6;//字母C的字型碼
P3_7=1;//繼電器吸合
}
if (i==0x02)//如果是0x02,則代表無線遙控器的按鍵d按下,執(zhí)行顯示
{
P0=0xa1;//字母d的字型碼
P3_7=0; //繼電器釋放
}
}
}
評論