• 大小: 59KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: STM8S  003  红外  遥控  

资源简介

适用于STVD环境。在STM8S003最小系统上PC7口作为红外遥控接收口,通过定时器的输入捕获功能来读取遥控器的高电平时长,从而读取数据。在定时器中断中判断连发码的次数,统计按键按下的次数。按键松开后,返回按键值和按键次数。

资源截图

代码片段和文件信息

/* MAIN.C file
 * 
 * Copyright (c) 2002-2005 STMicroelectronics
 */

/*单片机管脚初始化
DDR       CR1       CR2       引脚设置
0          0         0        悬浮输入
0          0         1        上拉输入
0          1         0        中断悬浮输入
0          1         1        中断上拉输入
1          0         0        开漏输出
1          1         0        推挽输出
1          X         1        输出(最快速度为10MHZ)
*/
//DDR 设置输入输出方向  0 输入 1输出
//CR1 设置输入输出方式  DDR=0: 0浮空输入 1带上拉电阻输入。 DDR=1: 0模拟开漏输出 1推挽输出。
//CR2 设置中断和输出速度  DDR=0: 0禁止外部中断 1使能外部中断。 DDR=1:0 输出最大速度为2M 1输出最大速度为10M。


#include “stm8s103f3p.h“
#include “ir_remote.h“

extern unsigned char RmtSta;    //接收状态寄存器
extern unsigned char RmtCnt;    //按键次数

unsigned char ir_key=0;
unsigned char key_cnt=0;

//时钟配置 16Mhz
void CLK_Init(void)
{
CLK_SWR=0xe1;  //HSI为主时钟源  16MHz CPU时钟频率
CLK_CKDIVR=0x00; //CPU时钟0分频,系统时钟0分频
}



main()
{
  
   _asm(“sim“);                  //关全部中断
    CLK_Init();
IR_Init();
_asm(“rim“);                 //开全部中断
while (1)
    {
        Remote_Scan();
        if(RmtSta&(1<<6))        //得到一个按键值的所有信息了
        {
            ir_key=Remote_Scan();
            key_cnt=RmtCnt;
            RmtSta=0;
            RmtCnt=0;
        }
       
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6013  2018-01-16 10:53  红外遥控支持连发码\Debug\delay.ls

     文件       2472  2018-01-16 10:53  红外遥控支持连发码\Debug\delay.o

     文件      14939  2018-01-16 10:57  红外遥控支持连发码\Debug\ir_remote.ls

     文件      17080  2018-01-16 10:57  红外遥控支持连发码\Debug\ir_remote.o

     文件       2483  2018-01-16 10:57  红外遥控支持连发码\Debug\main.ls

     文件      12862  2018-01-16 10:57  红外遥控支持连发码\Debug\main.o

     文件      14999  2018-01-16 10:57  红外遥控支持连发码\Debug\remote.elf

     文件       2306  2018-01-16 10:54  红外遥控支持连发码\Debug\remote.lkf

     文件      22121  2018-01-16 10:57  红外遥控支持连发码\Debug\remote.map

     文件       1710  2018-01-16 10:57  红外遥控支持连发码\Debug\remote.s19

     文件      25366  2018-01-16 10:57  红外遥控支持连发码\Debug\remote.sm8

     文件       5501  2018-01-16 10:57  红外遥控支持连发码\Debug\stm8_interrupt_vector.ls

     文件       2657  2018-01-16 10:57  红外遥控支持连发码\Debug\stm8_interrupt_vector.o

     文件      10765  2018-01-16 10:53  红外遥控支持连发码\Debug\uart.ls

     文件      15475  2018-01-16 10:53  红外遥控支持连发码\Debug\uart.o

     文件       5030  2018-01-16 10:56  红外遥控支持连发码\HardWare\ir_remote.c

     文件        350  2018-01-15 10:07  红外遥控支持连发码\HardWare\ir_remote.h

     文件       1437  2018-01-16 10:53  红外遥控支持连发码\main.c

     文件        213  2017-11-16 11:29  红外遥控支持连发码\main.h

     文件       2312  2018-01-16 10:54  红外遥控支持连发码\Release\remote.lkf

     文件        785  2018-01-16 10:58  红外遥控支持连发码\remote.dep

     文件        958  2018-01-16 10:58  红外遥控支持连发码\remote.pdb

     文件      15109  2018-01-16 10:58  红外遥控支持连发码\remote.stp

     文件        201  2018-01-16 10:58  红外遥控支持连发码\remote.stw

     文件      33063  2018-01-16 10:58  红外遥控支持连发码\remote.wdb

     文件      33389  2018-01-16 10:58  红外遥控支持连发码\remote.wed

     文件       2149  2018-01-16 10:55  红外遥控支持连发码\stm8_interrupt_vector.c

     文件       5651  2017-11-27 18:56  红外遥控支持连发码\TAGS.txt

     文件        468  2017-11-27 18:56  红外遥控支持连发码\TAGS_Filelist.txt

     目录          0  2018-01-16 10:57  红外遥控支持连发码\Debug

............此处省略6个文件信息

评论

共有 条评论