资源简介
本资料给出详细的红外发射电路和源代码,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更改硬盘序列号 转载
相关资源
- Power Electronic Converters Modeling and Contr
- CE修改器风叶人加强版
- Oracle+11gR2+RAC安装详解(HP-UX+11.31+ia6
- Oracle+GoldenGate运维完全手册
- STM32F103RC+ADC+DMA多通道采样LCD显示
- Modbus协议官方文档中、英文全
- pcbtemp电流计算软件
- I2C读写AT24C02 基于STM32F103 cube116540
- Scratch源码
- Microsoft Forms 2.0107770
- 实验三 消息中间件应用开发:Active
- WCE注入工具
- ModelGoon-4.4.1-site.zip
- AsyncTask文件控制暂停和继续,在状态
- Visio大全模具(含Cisco、IBM等常用拓扑
- 信号奇异点Lipschitz指数计算
- 基于STM32RCT6的步进电机驱动程序
- 酒店管理系统基于Qt Creator5)
- 用友NC开发API字典
- Navicat Premium 15汉化包.zip55438
- 登录注册界面.zip48872
- 条码字体barcode128
- Rational Rose Common破解文件
- res10_300x300_ssd_iter_140000.caffemodel与dep
- scratch 第1课 翻跟斗的小猫(入门)
- stm32f407上的两个can发送和接收例程
- Scrach 欢乐狙击手.sb2
- 04741计算机网络原理知识点整理.docx(
- Wolfram Mathematica 矩阵初等变换函数(
- pscad近海风电模型 Fortran语言
评论
共有 条评论