资源简介
lrhhki.rar
代码片段和文件信息
/*********************************************/
/* 红外发射管波长940nm,载波38kHz */
/* 晶振11.0592M */
/* 版权所有者:张兴恩 */
/* QQ: 410846867 */
/*********************************************/
#include
typedef unsigned char BYTE;
typedef unsigned int WORD;
sbit IR=P1^0; // 红外发射管控制脚
sbit KEY1=P3^6; // 按键1
sbit KEY2=P3^7; // 按键2
sbit dula=P2^6; // 数码管段选(消除数码管显示)
sbit wela=P2^7; // 数码管位选(消除数码管显示)
bit T1Flag=0;
/***************************
延时函数
***************************/
//延时函数最好用定时器来设定,不要用普通延时函数
//否则容易出现古怪的错乱,如矩形波频率不对,或者帧长度出错等
void Delay5ms(void)
{
TH1=0xEE;
TL1=0x00;
TR1=1;
while(!T1Flag);
T1Flag=0;
}
void Delay10ms(void)
{
TH1=0xDC;
TL1=0x00;
TR1=1;
while(!T1Flag);
T1Flag=0;
}
/***************************
定时器相关
***************************/
/*定时器初始化*/
void TimerInit()
{
EA=1;
ET0=1;
ET1=1;
TMOD=0x12; //定时0方式2(8位自动重装模式)定时器1方式1(16位定时器)
TH0=0xf4;
TL0=0xf4; //定时12us理论上红外矩形波为41.67kHz,但实测到为38.462kHz
}
/*定时器0中断*/
void Timer0() interrupt 1
{
//定时器会自动装载,因此不需重新设置TH0和TL0
IR=~IR; //发射38khz的矩形波
}
/*定时器1中断*/
void Timer1() interrupt 3
{
TR1=0;
T1Flag=1;
}
/***************************
红外发射
***************************/
void IRSend(BYTE MyData) //发送红外数据,每个bit持续10ms,高位开始发送
{
BYTE i;
for(i=0;i<8;i++)
{
//若对应bit为1则先发射5ms38kHz矩形波,再发射5ms高电平
if(MyData&(0x80>>i))//从最高位开始逐位检测是1还是0
{
TR0=1;
Delay5ms(); //延时5ms 保证 Minimum Burst Length > 280us
TR0=0;
IR=1;
Delay5ms(); //延时5ms 保证 No Burst Length > 300us
}
//若对应bit为0则关闭发射红外线
else
{
IR=1;
Delay10ms(); //信号0延时10ms
}
}
IR=1;
}
void main()
{
wela=0;
dula=0;
TimerInit();
IR=1;
while(1)
{
if(!KEY1) //若有独立按键1按下
{
Delay10ms(); //消抖
if(!KEY1)
{
while(!KEY1); //松手检测
IRSend(0xa1); //红外发送数据0xA1
}
}
if(!KEY2) //若有独立按键2按下
{
Delay10ms(); //消抖
if(!KEY2)
{
while(!KEY2); //松手检测
IRSend(0xa2); //红外发送数据0xA2
}
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4827 2014-04-25 12:15 红外收发\红外发射\IR
文件 2423 2014-08-22 20:50 红外收发\红外发射\IR.c
文件 983 2014-04-25 12:15 红外收发\红外发射\IR.hex
文件 52 2014-04-25 12:15 红外收发\红外发射\IR.lnp
文件 5500 2014-04-25 12:15 红外收发\红外发射\IR.LST
文件 9108 2014-04-25 12:15 红外收发\红外发射\IR.M51
文件 4754 2014-04-25 12:15 红外收发\红外发射\IR.OBJ
文件 1127 2014-04-25 12:38 红外收发\红外发射\IR.plg
....... 56061 2014-04-25 12:38 红外收发\红外发射\IR.uvopt
....... 13392 2014-04-02 23:08 红外收发\红外发射\IR.uvproj
....... 57764 2014-04-25 01:10 红外收发\红外发射\IR_uvopt.bak
....... 0 2014-04-02 22:43 红外收发\红外发射\IR_uvproj.bak
文件 6376 2009-05-07 14:37 红外收发\红外发射\STARTUP.A51
文件 14048 2014-04-25 12:15 红外收发\红外发射\STARTUP.LST
文件 749 2014-04-25 12:15 红外收发\红外发射\STARTUP.OBJ
文件 6468 2014-04-25 12:56 红外收发\红外接收\1838T
文件 3068 2014-08-22 20:54 红外收发\红外接收\1838T.c
文件 1461 2014-04-25 12:56 红外收发\红外接收\1838T.hex
文件 58 2014-04-25 12:56 红外收发\红外接收\1838T.lnp
文件 7326 2014-04-25 12:56 红外收发\红外接收\1838T.LST
文件 11324 2014-04-25 12:56 红外收发\红外接收\1838T.M51
文件 6717 2014-04-25 12:56 红外收发\红外接收\1838T.OBJ
文件 380 2014-04-25 12:59 红外收发\红外接收\1838T.plg
....... 56080 2014-04-25 12:59 红外收发\红外接收\1838T.uvopt
....... 13400 2014-04-22 14:29 红外收发\红外接收\1838T.uvproj
....... 56502 2014-04-25 11:53 红外收发\红外接收\1838T_uvopt.bak
....... 13401 2014-04-12 03:23 红外收发\红外接收\1838T_uvproj.bak
文件 6376 2009-05-07 14:37 红外收发\红外接收\STARTUP.A51
文件 14048 2014-04-25 12:56 红外收发\红外接收\STARTUP.LST
文件 749 2014-04-25 12:56 红外收发\红外接收\STARTUP.OBJ
............此处省略6个文件信息
- 上一篇:meb格式解析
- 下一篇:贪吃蛇的FPGA代码
相关资源
- 计算机网络自顶向下方法中文第6版
- 斯坦福2018WinterCS106B讲义.pdf
- 2.zip
- 计算机毕业课程设计源码打包【3442
- LinuxShell编程从初学到精通(第2版)
- WPSOffice2019专业版潮州市党政机关单位
- JDK8-64.zip
- HFSS射频仿真设计大全(徐兴福)高清
- 基于OpenCV的计算机视觉技术实现.pdf
- ManageEngineAssetExplorer6.2.0.zip
- ip摄像头破解版使用教程端口扫描教程
- halcon12-破解.rar
- 算法设计与分析第3版王晓东.pdf
- 机器学习.rar
- 国二最新.zip
- zw_SpreadJS_3.20151.16.zip
- 微直播.rar
- 人人分销最新V9.9商业版.7z
- 微信dat文件解析工具.rar
- 人人商城ewei_shopv23.14.28开源版一键安
- 小智微直播平台V3.4.9全开源解密版.
- IDAPro代码破解揭秘与IDAPro权威指南(
- CodeCharts.pdf
- MakeYourOwnNeuralNetwork.zip
- tor-browser-linux64-8.0.3_zh-CN.tar.xz
- 我和LABVIEW一个NI工程师的十年编程经
- 密码学与网络安全第3版.pdf
- 最新大厅H5牛牛棋牌源码开源稳定运营
- SwitchHosts!-win32-x64.zip
- 合并版.pdf
评论
共有 条评论