资源简介
本资料给出详细的红外发射电路和源代码,protues环境下运行直观可见。
代码片段和文件信息
/*******************************************************
38K载波发送程序 T1产生38K载波 T0用于精确定时 *
数据格式 起始位(9ms 高 4.5ms 低)+8位数据(0.560ms 高 *
0.565 低:0 1.685ms 高 0.565ms 低 :1) *
TR1控制载波发送 *
write by wisdom 2008-8 *
*******************************************************/
#include
#define IR_OUT P3_4
#define _MHz_ 12
//T1 13us产生一次中断 用于产生38K载波
//T0 方式1 16位 用于定时
void Init_Timer(void)
{
TMOD=0x21; //T0 mode 1 T1 mode 2
TH1=256-(1000*_MHz_/38.0/12)/2+0.5;
TL1=TH1;
ET1=1;
EA=1;
}
//发送引导码 发送方:9ms高电平 4.5ms低电平
void Send_Start_Bit(void) //TR1的值=发送的电平
{
//9ms 0
TH0=(65536-9000/12*_MHz_)/256;
TL0=(65536-9000/12*_MHz_)%256;
TR0=1;
TR1=0;
while(!TF0);
TR1=0;
TF0=0;
IR_OUT=0;
//4.5ms 1
TH0=(65536-4500/12*_MHz_)/256;
TL0=(65536-4500/12*_MHz_)%256;
TR0=1;
TR1=1;
while(!TF0);
TR1=0;
TF0=0;
IR_OUT=0;
}
//发送0
void Send_Bit_0(void)
{
//0.565ms 0
TH0=(65536-565/12*_MHz_)/256;
TL0=(65536-565/12*_MHz_)%256;
TR0=1;
TR1=0;
while(!TF0);
TR1=0;
TF0=0;
IR_OUT=0;
//0.565ms 1
TH0=(65536-565/12*_MHz_)/256;
TL0=(65536-565/12*_MHz_)%256;
TR0=1;
TR1=1;
while(!TF0);
TR1=0;
TF0=0;
IR_OUT=0;
}
//发送1
void Send_Bit_1(void)
{
//1.685ms 0
TH0=(65536-1685/12*_MHz_)/256;
TL0=(65536-1685/12*_MHz_)%256;
TR0=1;
TR1=0;
while(!TF0);
TR1=0;
TF0=0;
IR_OUT=0;
//0.565ms 1
TH0=(65536-565/12*_MHz_)/256;
TL0=(65536-565/12*_MHz_)%256;
TR0=1;
TR1=1;
while(!TF0);
TR1=0;
TF0=0;
IR_OUT=0;
}
//发送一字节 8位
void Send_Char(unsigned char ir_data)
{
unsigned char ij;
j=ir_data;
Send_Start_Bit();
for(i=0;i<8;i++)
{
if(j&0x80)
Send_Bit_1();
else
Send_Bit_0();
j<<=1;
}
}
void Delay10ms(void)
{
TH0=(65536-10000/12*_MHz_)/256;
TL0=(65536-10000/12*_MHz_)%256;
TR0=1;
while(!TF0);
TF0=0;
}
void main(void)
{
Init_Timer();
while(1)
{
Send_Char(0x55);
Delay10ms();
}
}
//-----------------------------------------------------------------------
//T1 ISR
void T1_ISR(void) interrupt TF1_VECTOR
{
IR_OUT=!IR_OUT;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1660 2010-03-25 15:29 红外放射程序_仿真OK\38k
文件 2373 2010-03-25 15:29 红外放射程序_仿真OK\38k.c
文件 670 2010-03-25 15:29 红外放射程序_仿真OK\38k.hex
文件 38 2010-03-25 15:29 红外放射程序_仿真OK\38k.lnp
文件 6549 2010-03-25 15:29 红外放射程序_仿真OK\38k.LST
文件 7784 2010-03-25 15:29 红外放射程序_仿真OK\38k.M51
文件 2222 2010-03-25 15:29 红外放射程序_仿真OK\38k.OBJ
文件 1197 2010-03-25 16:07 红外放射程序_仿真OK\38k.Opt
文件 543 2010-03-25 15:29 红外放射程序_仿真OK\38k.plg
文件 2084 2010-03-25 16:07 红外放射程序_仿真OK\38k.Uv2
文件 1334 2003-01-02 03:03 红外放射程序_仿真OK\38k_Opt.Bak
文件 1646 2003-01-01 06:33 红外放射程序_仿真OK\38k_Uv2.Bak
文件 92504 2003-01-01 15:27 红外放射程序_仿真OK\IR_Send.DSN
文件 984 2010-06-23 12:08 红外放射程序_仿真OK\IR_Send.PWI
文件 92521 2003-01-01 15:19 红外放射程序_仿真OK\Last Loaded IR_Send.DBK
目录 0 2010-06-23 12:08 红外放射程序_仿真OK
----------- --------- ---------- ----- ----
214109 16
- 上一篇:readAPI破解key加源码.zip
- 下一篇:hook更改硬盘序列号 转载
相关资源
- Qt之实现录音播放及rawpcm转wav格式
- 矩阵相乘cannon算法的mpi实现
- acer 或方正电脑founder软件保护卡卸载
- Auto Spice CMMI 26262差异对比
- cudnn7.3 for cuda9
- SC2262和SC2272的中文资料
- Lua cjson.dll windows动态链接库
- STK模型转换工具LwConvert
- cadence软件打开报错“计算机中丢失
- PCL-1.8.0-AllInOne-msvc2015-win64
- CMOS超大规模集成电路设计习题答案
- CCS2.2安装说明
- 全开放的Altium格式的Ti AM335X核心板源
- PLC与变频器通讯的张力控制程序
- untp把texturepacker打包好的图片切开
- fancybox与lazyload的兼容问题解决fancyb
- qt串口通信,实现发送和接收
- 中缀表达式转换成后缀表达式
- brew_install.zip
- atmega16 蓝牙通信,舵机控制
- HEC-GeoRAS使用指南
- ArcGIS 10.2全套,包括desktop server sde
- 1比1万标准地图符号库
- S3C2410开发原理图pcb图
- The Complete Effect and HLSL Guide (中文版)
- ET SpatialTechniques Products v11.2 for ArcGIS
- networkViewDEMO.unitypackage
- 使用TCPServer编写多线程socket服务
- yaf手册 文档apichm+网页版
- 以8051为核的SOC中的万年历的设计
评论
共有 条评论