找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 753|回复: 0
打印 上一主题 下一主题
收起左侧

stm32f103红外遥控的main.c函数

[复制链接]
跳转到指定楼层
楼主
ID:861842 发表于 2020-12-17 21:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"     
#include "remote.h"



int main(void)
{     
    u8 key;
    u8 t=0;   
     u8 *str=0;

    delay_init();             //延时函数初始化      
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
    uart_init(115200);         //串口初始化为115200
     LED_Init();                 //LED端口初始化
    LCD_Init();   
    KEY_Init();         
    Remote_Init();            //红外接收初始化            

     POINT_COLOR=RED;        //设置字体为红色
    LCD_ShowString(30,50,200,16,16,"WarShip STM32");
    LCD_ShowString(30,70,200,16,16,"REMOTE TEST");   
    LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
    LCD_ShowString(30,110,200,16,16,"2015/1/15");

       LCD_ShowString(30,130,200,16,16,"KEYVAL:");   
       LCD_ShowString(30,150,200,16,16,"KEYCNT:");   
       LCD_ShowString(30,170,200,16,16,"SYMBOL:");                                                               
    while(1)
    {
        key=Remote_Scan();   
        if(key)
        {     
            LCD_ShowNum(86,130,key,3,16);        //显示键值
            LCD_ShowNum(86,150,RmtCnt,3,16);    //显示按键次数         
            switch(key)
            {
                case 0:str="ERROR";break;               
                case 162:str="POWER";break;        
                case 98:str="UP";break;        
                case 2:str="PLAY";break;         
                case 226:str="ALIENTEK";break;         
                case 194:str="RIGHT";break;      
                case 34:str="LEFT";break;         
                case 224:str="VOL-";break;         
                case 168:str="DOWN";break;           
                case 144:str="VOL+";break;            
                case 104:str="1";break;         
                case 152:str="2";break;      
                case 176:str="3";break;        
                case 48:str="4";break;            
                case 24:str="5";break;            
                case 122:str="6";break;         
                case 16:str="7";break;                                   
                case 56:str="8";break;     
                case 90:str="9";break;
                case 66:str="0";break;
                case 82:str="DELETE";break;         
            }
            LCD_Fill(86,170,116+8*8,170+16,WHITE);    //清楚之前的显示
            LCD_ShowString(86,170,200,16,16,str);    //显示SYMBOL
        }else delay_ms(10);      
        t++;
        if(t==20)
        {
            t=0;
            LED0=!LED0;
        }
    }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表