• 红外模块


    遥控器主要是通过解码来控制红外模块,从而完成小车的行走
    #include "apue.h"
    #include "uart.h"
     
    void main()
    {
        TMOD = 0x20;    // timer1, auto-load
        TH1 = TL1 = 0xFF;
        PCON = 0x80;    // 57600bps on 11.0592M
        SCON = 0x50;    // UART, REN
        IE = 0x91;      // EA, ES, EX0
        TR1 = 1;        // start
     
        while(1);
    }
     
    void int0_IR() interrupt 0
    {
        size_t lowTime, highTime;
        EX0 = 0;
        memset(UARTBuf, 0, SLEN);
        /* detect leader code pluse */
        TH2 = TL2 = 0;          // Clear timer
        TR2 = 1;                // run timer
        while(IR == 0);         // until MCU detect high level
        TR2 = 0;                // stop timer
        UARTBuf[0] = TH2;       // store timer value
        UARTBuf[1] = TL2;
     
        TH2 = TL2 = 0;
        TR2 = 1;
        while(IR == 1);
        TR2 =0;
        UARTBuf[2] = TH2;
        UARTBuf[3] = TL2;
        UARTBuf[SLEN - 1] = 0x7e;   // end of data
        UARTSend();         // send data to PC over RS232
        delayms(1000);          // delay 1 second
        EX0 = 1;
    }
    }
  • 相关阅读:
    如何向线程传递参数
    IntelliJ IDEA 13 Keygen
    单链表的基本操作
    顺序表静态查找
    有向图的十字链表表存储表示
    BF-KMP 算法
    图的邻接表存储表示(C)
    二叉树的基本操作(C)
    VC远控(三)磁盘显示
    Android 数独游戏 记录
  • 原文地址:https://www.cnblogs.com/yuelingzhi/p/2266745.html
Copyright © 2020-2023  润新知