资源简介
51单片机上面调试通过
M3或者430也可以自己移植上去
代码片段和文件信息
#include
#include “Ir.h“
char code Tab[16]=“0123456789ABCDEF“;
unsigned char irtime = 0 ir_ok = 0;
unsigned char ir_timedata[33];
unsigned char ircode[4];
unsigned char irdata[8];
unsigned char Irnum;
sbit IR = P3^2;
void Time0_Init()
{
TMOD |= 0x02;
TL0 = 0;
TH0 = 0;
ET0 = 1;
}
void EX0_Init()
{
IT0 = 1;
EX0 = 1;
}
void Time_Isr() interrupt 1
{
irtime++;
}
void EX0_Isr() interrupt 0
{
static unsigned char i; /*接收红外信号处理*/
static bit start_flag; /*开始处理标志*/
if (start_flag)
{
if (irtime>=33) /*引导码和结果码 9ms+4.5ms*/
{
i = 0;
}
ir_timedata[i] = irtime;
irtime = 0;
i++;
if (i==33)
{
i = 0;
ir_ok = 1;
}
}
else
{
irtime = 0;
start_flag = 1;
}
}
void Ir_GetCode()
{
unsigned char i j k;
unsigned char cord value=0;
k=1;
for(i=0;i<4;i++) /*处理4个字节*/
{
for(j=1;j<=8;j++) /*处理1个字节8位*/
{
cord=ir_timedata[k];
if(cord>7) /*大于某值为1,这个和晶振有绝对关系,这里使用12M计算 */
{
value|=0x80;
}
if(j<8)
{
value>>=1;
}
k++;
}
ircode[i]=value;
value=0;
}
irdata[0] = Tab[ircode[0]/16]; /*处理客户码*/
irdata[1] = Tab[ircode[0]%16];
irdata[2] = Tab[ircode[1]/16]; /*处理客户码*/
irdata[3] = Tab[ircode[1]%16];
irdata[4] = Tab[ircode[2]/16]; /*处理数据码*/
irdata[5] = Tab[ircode[2]%16];
irdata[6] = Tab[ircode[3]/16]; /*处理数据反码*/
irdata[7] = Tab[ircode[3]%16];
Irnum = irdata[4]*16+irdata[5]-‘0‘;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-10-30 19:47 mb1504\
目录 0 2013-04-29 01:16 mb1504\lst\
文件 4824 2012-10-23 17:48 mb1504\lst\Ir.lst
文件 32555 2012-10-23 17:48 mb1504\lst\lcd.lst
文件 8915 2012-10-23 17:48 mb1504\lst\main.lst
文件 4638 2012-10-23 17:48 mb1504\lst\mb1504.lst
文件 42029 2012-10-23 17:48 mb1504\lst\mb1504.m51
文件 2562 2013-10-30 19:47 mb1504\mb1504.Opt
文件 164 2012-05-03 11:11 mb1504\mb1504.plg
文件 2247 2012-05-03 15:35 mb1504\mb1504.Uv2
文件 2561 2013-05-27 19:53 mb1504\mb1504_Opt.Bak
文件 0 2012-05-03 11:11 mb1504\mb1504_Uv2.Bak
目录 0 2013-04-29 01:16 mb1504\output\
文件 5251 2012-10-23 17:48 mb1504\output\Ir.obj
文件 31346 2012-10-23 17:48 mb1504\output\lcd.obj
文件 13598 2012-10-23 17:48 mb1504\output\main.obj
文件 48270 2012-10-23 17:48 mb1504\output\mb1504
文件 26713 2012-10-23 17:48 mb1504\output\mb1504.hex
文件 151 2012-10-23 17:48 mb1504\output\mb1504.lnp
文件 5552 2012-10-23 17:48 mb1504\output\mb1504.obj
文件 166 2013-10-30 19:47 mb1504\output\mb1504.plg
目录 0 2013-04-29 01:16 mb1504\src\
文件 45143 2009-12-02 11:54 mb1504\src\8x16.h
文件 7430 2009-12-02 17:48 mb1504\src\GB1616.h
文件 11487 2011-12-04 00:50 mb1504\src\GB2525.h
文件 6439 2011-12-04 00:17 mb1504\src\GB3232.h
文件 1696 2011-12-04 06:05 mb1504\src\Ir.c
文件 204 2012-10-23 17:48 mb1504\src\Ir.h
文件 16901 2011-12-04 10:55 mb1504\src\lcd.c
文件 2901 2011-12-04 06:12 mb1504\src\lcd.h
文件 3182 2012-05-12 09:53 mb1504\src\main.c
............此处省略3个文件信息
- 上一篇:联轴器SW模型
- 下一篇:03_模块使用说明_CAN恒润科技协议栈CAN模块
相关资源
- ADIS16405芯片手册加程序 包含底层驱动
- 用labview设计的随机抽号程序
- C8051F020ADC转化程序(C)
- 程序员面试宝典 第5版-欧立奇 高清扫
- TamperIE安装程序
- 某污水处理S7-300程序
- 基于设计模式的画图程序
- Wincc 7.0 SP3亚洲版授权文件+硬件狗破解
- QT使用openglES模块做的立方体程序
- qt做的温度计小程序
- 比特币量化高频交易程序
- 基于FPGA的等精度频率相位测试程序
- 桌面下雪 小程序
- inquisit单类内隐联想测验程序
- 费尔个人防火墙2.1源程序
- 设计一个按时间片轮转法实现处理器
- 用51单片机解析GPS数据的源代码程序
- V0.7 08XE基本识别程序(口令模式)
- 平差课程设计报告水准网间接平差程
- AD采集滤波算法程序代码
- IDL低通滤波程序
- 大量-小波变换源程序
- 遗传算法深度解析教程
- 51单片机空闲和掉电模式应用带程序
- fpga峰值采样verilog程序
- C程序设计教程第二版答案钱能.zip
- bme280温湿度大气压强传感器驱动程序
- MSP430实现串口通信的源程序代码
- l1范数最优化的相关程序,求出信号的
- 利用51单片机计数器测频率最简程序
评论
共有 条评论