候鸟驿站 https://bbs.21ic.com/?61665 [收藏] [复制] [RSS] 自娱自乐

日志

S3F9454做的红外遥控

已有 673 次阅读2009-11-17 09:58 |个人分类:单片机|系统分类:单片机| 三星单片机, 红外, 遥控, 9454, S3F9454

    一鼓作气,再发个三星S3F9454做的红外遥控.9454这个芯片很是便宜,简单场合的应用,还是没问题的.这个方案中,只用到3个按键,一个红外发射功能.三个按键使用1*3的方式,中断口读取按键状态,后面要用到低功耗,所以这样的配置很有用意的.

    硬件配置:    MCU:S3F9454,T0作载波输出,PWM做定时器, 外部时钟:4MHz,

    红外编码结构参考上一篇.

    T0和PWM的初始化代码如下:

        //CA:Enable INT,
        T0CON = 0xC8;
        T0DATA = 0x34;


        PWMCON = 0x5E;
        PWMDATA = 0x80;

   

   红外载波输出时,P2.0(T0 输出)的控制代码:

   #define  PWM_INVALID()     P2CONL=0x0A;P2|=0x01;        //空置状态,IO模式输出1
   #define  PWM_VALID()       P2CONL=0x0B;                 //载波模式,IO输出38KHz方波

   

    低功耗设计:在正常待机模式下,单片机控制键盘扫描口输出全低,使能中断唤醒,然后使用STOP命令进入该模式,这样在待机模式下的电流也之后几个uA. 当有按键按下时, 中断触发唤醒单片机, 这时再把中断关闭, 进入正常程序中扫描按键. 发码结束后, 延时一段时间, 再次进入stop模式.

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)