找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 1331|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

紅外遙控

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:455664 發(fā)表于 2019-5-22 08:42 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
*****************************************************************
*文件名稱:main.c
*說 明:   紅外接收程序。
*單片機(jī):  STC89C52,晶振頻率:11.0592MHz
*版 本:   V1.0  
*作 者:   lxs
*時(shí) 間:   2019-03-07
*****************************************************************/

#include <Infrared.h>
#include <smg.h>


u8 smgbuff[8] ={16,16,16,16,16,16,16,16};                  //顯示數(shù)據(jù)緩沖區(qū)

u8 T0RH = 0;  
u8 T0RL = 0;  

#define  ON   0
#define  OFF  1

sbit LED1 = P1^0;


extern u8 ircode[4];       
extern bit irflag;

void ConfigTimer0(u16 ms);

void main()
{
        EA=1;
        InitInfrared();
        ConfigTimer0(1);
       
        while (1)
    {
        if (irflag)  
        {  
                                        if(ircode[2]==0X0C)
                                        {
                                                LED1=0;
                                        }
                                        else if(ircode[2]==0X18)
                                {
                                                LED1=1;
                                        }
                    }
                               
          }               
}

/******************************************
*函數(shù)名稱:ConfigTimer0(u16 ms)
*函數(shù)功能:配置并啟動(dòng)T0
*入口參數(shù):ms-T0定時(shí)時(shí)間
*出口參數(shù):無
*******************************************/
void ConfigTimer0(u16 ms)
{
    u32 tmp;  //臨時(shí)變量

    tmp = 11059200 / 12;     
    tmp = (tmp * ms) / 1000;  
    tmp = 65536 - tmp;        
    tmp = tmp + 13;         
    T0RH = (u8)(tmp>>8);            
    T0RL = (u8)tmp;
    TMOD &= 0xF0;   
    TMOD |= 0x01;   
    TH0 = T0RH;     
    TL0 = T0RL;
    ET0 = 1;        
    TR0 = 1;        
}

/******************************************
*函數(shù)名稱:ConfigTimer0(u16 ms)
*函數(shù)功能:T0中斷服務(wù)函數(shù),執(zhí)行數(shù)碼管掃描顯示
*入口參數(shù):ms-T0定時(shí)時(shí)間
*出口參數(shù):無
*******************************************/
void Timer0_ISR() interrupt 1
{
    TH0 = T0RH;  //重新加載重載值
    TL0 = T0RL;
    SmgScan(smgbuff,9);  //數(shù)碼管掃描顯示
}

紅外遙控.rar

39.88 KB, 下載次數(shù): 4, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表