找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3936|回复: 4
收起左侧

基于stm8的红外解码12864液晶显示源程序与视频

[复制链接]
ID:76293 发表于 2017-11-10 20:28 | 显示全部楼层 |阅读模式
视频教程:


原理图(工程文件可在本帖附件中下载)
0.png 0.png
stm8单片机源程序如下:
  1. #include"stm8s.h"
  2. #include"stm8s_clk.h"
  3. #include"stm8s_gpio.h"
  4. #include"Cry12864.h"
  5. #include"Time.h"
  6. #include"ir.h"
  7. uchar key_val,a=0,b=0,c=0,d=0;//定义键值
  8. extern uchar Ir_receive_ok;//红外接收成功标志
  9. void main(void)
  10. { CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//系统时钟内部时钟1分频
  11.   IrInt(); //红外初始化
  12.   GPIO_Init(GPIOF, GPIO_PIN_5, GPIO_MODE_OUT_PP_HIGH_FAST);//定义LED1的管脚的模式
  13.   GPIO_Init(GPIOF, GPIO_PIN_6, GPIO_MODE_OUT_PP_HIGH_FAST);//定义LED2的管脚的模式
  14.   GPIO_Init(GPIOF, GPIO_PIN_7, GPIO_MODE_OUT_PP_HIGH_FAST);//定义LED3的管脚的模式
  15.   GPIO_Init(GPIOA, GPIO_PIN_1, GPIO_MODE_OUT_PP_HIGH_FAST);//定义继电器1的管脚的模式
  16.   GPIO_Init(GPIOA, GPIO_PIN_2, GPIO_MODE_OUT_PP_HIGH_FAST);//定义继电器1的管脚的模式
  17.   GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_OUT_PP_HIGH_FAST);//定义继电器1的管脚的模式
  18.   GPIO_Init(GPIOA, GPIO_PIN_4, GPIO_MODE_OUT_PP_HIGH_FAST);//定义继电器1的管脚的模式
  19.   Ini_Lcd();//液晶初始化
  20.   TIM2_Config();//定时器2初始化
  21.   DispString(0,0,"荧光灯:");
  22.   DispString(1,0,"电视机:");
  23.   DispString(2,0,"电冰箱:");
  24.   DispString(3,0,"电风扇:");
  25. // DispString(0,6,"000");
  26. //DispString(1,6,"000");
  27. // DispString(2,6,"000");
  28. // DispString(3,6,"000");
  29.   
  30.          
  31.   __enable_interrupt();//开启总中断


  32.   while(1)  
  33.   {
  34.      if( Ir_receive_ok == 1 ) //一帧红外数据接收完成
  35.      {
  36.       key_val = Ir_Process();
  37.              Ir_receive_ok=0;
  38.            //  Disp1Char(3,0,0x30+key_val/100);
  39.            //  Disp1Char(3,1,0x30+key_val%100/10);
  40.             // Disp1Char(3,2,0x30+key_val%100%10);
  41.          
  42.       //不同的遥控器面板对应不同的键值 0-9
  43.       switch( key_val )
  44.       {  case 162:  GPIO_WriteReverse(GPIOF, GPIO_PIN_5);
  45.                     GPIO_WriteReverse(GPIOA, GPIO_PIN_2);
  46.                     DispString(0,4,"开");
  47.                     DispString(0,6,"162");
  48.                     a++;
  49.                     if(a==2)
  50.                     {DispString(0,4,"关");
  51.                      //DispString(0,6,"162");
  52.                      a=0;
  53.                     
  54.                     }
  55.                     break;
  56.                     
  57.          case 98:   GPIO_WriteReverse(GPIOF, GPIO_PIN_6);
  58.                     GPIO_WriteReverse(GPIOA, GPIO_PIN_1);
  59.                     DispString(1,4,"开");
  60.                     DispString(1,6,"98");
  61.                     b++;
  62.                     if(b==2)
  63.                     {DispString(1,4,"关");
  64.                      //DispString(0,6,"162");
  65.                      b=0;
  66.                     
  67.                     }
  68.                     break;
  69.          case 226:  GPIO_WriteReverse(GPIOF, GPIO_PIN_7);
  70.                     GPIO_WriteReverse(GPIOA, GPIO_PIN_3);
  71.                     DispString(2,4,"开");
  72.                     DispString(2,6,"226");
  73.                     c++;
  74.                     if(c==2)
  75.                     {DispString(2,4,"关");
  76.                      //DispString(0,6,"162");
  77.                      c=0;
  78.                     
  79.                     }
  80.                     break;
  81.          case 34:   //GPIO_WriteReverse(GPIOF, GPIO_PIN_6);
  82.                     GPIO_WriteReverse(GPIOA, GPIO_PIN_4);
  83.                     DispString(3,4,"开");
  84.                     DispString(3,6,"34");
  85.                     d++;
  86.                     if(d==2)
  87.                     {DispString(3,4,"关");
  88.                      //DispString(0,6,"162");
  89. ……………………

  90. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
STM8红外解码.rar (1.16 MB, 下载次数: 58)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:149630 发表于 2018-4-20 00:02 | 显示全部楼层
厉害!
回复

使用道具 举报

ID:283462 发表于 2018-5-23 15:47 | 显示全部楼层
谢谢分享,正需要
回复

使用道具 举报

ID:337451 发表于 2018-5-24 17:29 | 显示全部楼层
谢谢楼主,刚好需要这个
回复

使用道具 举报

ID:229821 发表于 2019-10-28 16:57 | 显示全部楼层
谢谢楼主,刚好需要这个
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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