標(biāo)題:
基于stm8的紅外解碼12864液晶顯示源程序與視頻
[打印本頁(yè)]
作者:
XD1860
時(shí)間:
2017-11-10 20:28
標(biāo)題:
基于stm8的紅外解碼12864液晶顯示源程序與視頻
視頻教程:
http://v.youku.com/v_show/id_XMzE0OTE3ODk5Ng==.html
原理圖(工程文件可在本帖附件中下載)
0.png
(55.74 KB, 下載次數(shù): 43)
下載附件
2017-11-11 08:24 上傳
0.png
(38.21 KB, 下載次數(shù): 49)
下載附件
2017-11-11 08:24 上傳
stm8單片機(jī)源程序如下:
#include"stm8s.h"
#include"stm8s_clk.h"
#include"stm8s_gpio.h"
#include"Cry12864.h"
#include"Time.h"
#include"ir.h"
uchar key_val,a=0,b=0,c=0,d=0;//定義鍵值
extern uchar Ir_receive_ok;//紅外接收成功標(biāo)志
void main(void)
{ CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//系統(tǒng)時(shí)鐘內(nèi)部時(shí)鐘1分頻
IrInt(); //紅外初始化
GPIO_Init(GPIOF, GPIO_PIN_5, GPIO_MODE_OUT_PP_HIGH_FAST);//定義LED1的管腳的模式
GPIO_Init(GPIOF, GPIO_PIN_6, GPIO_MODE_OUT_PP_HIGH_FAST);//定義LED2的管腳的模式
GPIO_Init(GPIOF, GPIO_PIN_7, GPIO_MODE_OUT_PP_HIGH_FAST);//定義LED3的管腳的模式
GPIO_Init(GPIOA, GPIO_PIN_1, GPIO_MODE_OUT_PP_HIGH_FAST);//定義繼電器1的管腳的模式
GPIO_Init(GPIOA, GPIO_PIN_2, GPIO_MODE_OUT_PP_HIGH_FAST);//定義繼電器1的管腳的模式
GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_OUT_PP_HIGH_FAST);//定義繼電器1的管腳的模式
GPIO_Init(GPIOA, GPIO_PIN_4, GPIO_MODE_OUT_PP_HIGH_FAST);//定義繼電器1的管腳的模式
Ini_Lcd();//液晶初始化
TIM2_Config();//定時(shí)器2初始化
DispString(0,0,"熒光燈:");
DispString(1,0,"電視機(jī):");
DispString(2,0,"電冰箱:");
DispString(3,0,"電風(fēng)扇:");
// DispString(0,6,"000");
//DispString(1,6,"000");
// DispString(2,6,"000");
// DispString(3,6,"000");
__enable_interrupt();//開(kāi)啟總中斷
while(1)
{
if( Ir_receive_ok == 1 ) //一幀紅外數(shù)據(jù)接收完成
{
key_val = Ir_Process();
Ir_receive_ok=0;
// Disp1Char(3,0,0x30+key_val/100);
// Disp1Char(3,1,0x30+key_val%100/10);
// Disp1Char(3,2,0x30+key_val%100%10);
//不同的遙控器面板對(duì)應(yīng)不同的鍵值 0-9
switch( key_val )
{ case 162: GPIO_WriteReverse(GPIOF, GPIO_PIN_5);
GPIO_WriteReverse(GPIOA, GPIO_PIN_2);
DispString(0,4,"開(kāi)");
DispString(0,6,"162");
a++;
if(a==2)
{DispString(0,4,"關(guān)");
//DispString(0,6,"162");
a=0;
}
break;
case 98: GPIO_WriteReverse(GPIOF, GPIO_PIN_6);
GPIO_WriteReverse(GPIOA, GPIO_PIN_1);
DispString(1,4,"開(kāi)");
DispString(1,6,"98");
b++;
if(b==2)
{DispString(1,4,"關(guān)");
//DispString(0,6,"162");
b=0;
}
break;
case 226: GPIO_WriteReverse(GPIOF, GPIO_PIN_7);
GPIO_WriteReverse(GPIOA, GPIO_PIN_3);
DispString(2,4,"開(kāi)");
DispString(2,6,"226");
c++;
if(c==2)
{DispString(2,4,"關(guān)");
//DispString(0,6,"162");
c=0;
}
break;
case 34: //GPIO_WriteReverse(GPIOF, GPIO_PIN_6);
GPIO_WriteReverse(GPIOA, GPIO_PIN_4);
DispString(3,4,"開(kāi)");
DispString(3,6,"34");
d++;
if(d==2)
{DispString(3,4,"關(guān)");
//DispString(0,6,"162");
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
STM8紅外解碼.rar
(1.16 MB, 下載次數(shù): 58)
2017-11-10 20:28 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
ken123
時(shí)間:
2018-4-20 00:02
厲害!
作者:
zsk_mcu
時(shí)間:
2018-5-23 15:47
謝謝分享,正需要
作者:
tangmenxiaowu
時(shí)間:
2018-5-24 17:29
謝謝樓主,剛好需要這個(gè)
作者:
saya0769
時(shí)間:
2019-10-28 16:57
謝謝樓主,剛好需要這個(gè)
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1