infrared

所属分类:单片机开发
开发工具:C/C++
文件大小:86KB
下载次数:94
上传日期:2008-05-21 09:33:19
上 传 者小朋子
说明:  DS18B20温度采集然后红外发射出去,接收板接收红外并LCD显示接收的数据信息,有完整的发射\接收程序
(DS18B20 infrared temperature acquisition and then launch out to receive the infrared receiver board and LCD display data received information, has launched a complete receiver procedures)

文件列表:
infrared\DS18B20 红外发送\ds18b20.Opt (2113, 2008-04-06)
infrared\DS18B20 红外发送\ds18b20.plg (177, 2007-05-31)
infrared\DS18B20 红外发送\ds18b20.Uv2 (2101, 2008-04-06)
infrared\DS18B20 红外发送\ds18b20_Opt.Bak (2117, 2008-04-06)
infrared\DS18B20 红外发送\ds18b20_Uv2.Bak (1956, 2007-07-03)
infrared\DS18B20 红外发送\lst\AT89C51.lst (8269, 2008-04-06)
infrared\DS18B20 红外发送\lst\delay.lst (1970, 2007-05-25)
infrared\DS18B20 红外发送\lst\display.lst (3460, 2007-05-26)
infrared\DS18B20 红外发送\lst\DS18B20.lst (7066, 2008-04-06)
infrared\DS18B20 红外发送\lst\ds18b20.m51 (20764, 2008-04-06)
infrared\DS18B20 红外发送\lst\main.lst (3548, 2008-04-06)
infrared\DS18B20 红外发送\obj\AT89C51.obj (8911, 2008-04-06)
infrared\DS18B20 红外发送\obj\delay.obj (835, 2007-05-25)
infrared\DS18B20 红外发送\obj\display.obj (2931, 2007-05-26)
infrared\DS18B20 红外发送\obj\ds18b20 (17714, 2008-04-06)
infrared\DS18B20 红外发送\obj\ds18b20.hex (4992, 2008-04-06)
infrared\DS18B20 红外发送\obj\ds18b20.lnp (110, 2008-04-06)
infrared\DS18B20 红外发送\obj\DS18B20.obj (6447, 2008-04-06)
infrared\DS18B20 红外发送\obj\ds18b20.plg (416, 2008-04-06)
infrared\DS18B20 红外发送\obj\main.obj (4171, 2008-04-06)
infrared\DS18B20 红外发送\src\AT89C51.c (4951, 2007-07-05)
infrared\DS18B20 红外发送\src\AT89C51.h (999, 2007-07-05)
infrared\DS18B20 红外发送\src\DS18B20.c (4043, 2007-07-10)
infrared\DS18B20 红外发送\src\DS18B20.H (743, 2007-07-10)
infrared\DS18B20 红外发送\src\main.c (1777, 2007-07-10)
infrared\DS18B20 红外发送\STARTUP.A51 (5115, 2002-04-16)
infrared\红外接收\Infrared_Receive_Lcd.Opt (1710, 2008-04-10)
infrared\红外接收\Infrared_Receive_Lcd.plg (203, 2007-07-10)
infrared\红外接收\Infrared_Receive_Lcd.Uv2 (2093, 2008-04-06)
infrared\红外接收\Infrared_Receive_Lcd_Opt.Bak (1711, 2008-04-10)
infrared\红外接收\Infrared_Receive_Lcd_Uv2.Bak (1948, 2008-03-31)
infrared\红外接收\lst\AT89C51.lst (7421, 2008-04-10)
infrared\红外接收\lst\Infrared_Receive_Lcd.m51 (23193, 2008-04-10)
infrared\红外接收\lst\main.lst (5671, 2008-04-10)
infrared\红外接收\lst\yejing.lst (15605, 2008-04-10)
infrared\红外接收\obj\AT89C51.obj (6791, 2008-04-10)
infrared\红外接收\obj\Infrared_Receive_Lcd (22029, 2008-04-10)
infrared\红外接收\obj\Infrared_Receive_Lcd.hex (7012, 2008-04-10)
... ...

接收方用液晶显示接收结果。 这两个程序依赖下面的编码格式: 1个引导码+8位用户码+8位用户反码+8位数据码+8位数据反码 (该编码格式适合做遥控器,用户码区分不同类别,如:电视、音响、空调等,该格式适合所发送的数据的频率不高,不需要连续发送数据的场合,但具有较强抗同类信号干扰的能力) 引导码脉冲宽度: 3ms 逻辑0的脉冲宽度:500us 逻辑1的脉冲宽度:1500us 脉冲之间的间隔时间为:250us左右 该格式发送一帧完整的数据需要的时间最大约为109ms,最小约为45ms。 注意:人的视觉停留时间是20ms左右,发射方既要数码管显示采集的数据,又要将数据发射出去,当发射一帧完整的数据需要的时间超过20ms,则数码管会出现闪烁的现象。当然可以在发送方不显示数据,在接收方显示接收的数据。避免上面的问题。 解决办法:重新定义编码格式,减小引导码脉冲宽度,减小脉冲之间的间隔时间,逻辑0和1的脉冲宽度好象已不能再小了,去掉用户码及其反码,或者只发送数据码,不进行数据反码的校验。具体根据实际情况灵活调整。 具体调试时,下面的几个时间点范围设置的越严越好, if((data_time>700)&&(data_time<1100)) {Jizai_data(0);return(1);}///如果为逻辑0信息,并记录///// if((data_time>2500)&&(data_time<3200)) {Jizai_data(1);return(1);}///如果为逻辑1信息,并记录///// if((data_time<700)||(data_time>3200)) return(0); ///如果为非位信息数据,放弃,///// 注意:&&和|| 是逻辑关系的 与和或 运算。 & 和 | 是按位操作的 与和或 运算。 2007.7.5调试成功!

近期下载者

相关文件


收藏者