找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5322|回复: 0
打印 上一主题 下一主题
收起左侧

大家帮我看看红外编码程序有什么问题

[复制链接]
跳转到指定楼层
楼主
ID:15254 发表于 2009-7-13 13:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

帮我看看下面红外编码的程序
问题1:我感觉我的程序写的思路没错,编译也能通过,但是执行的时候不是按照code2的数据来发射的,好像是频闪,频率较低?
问题2:数组code2[]的长度只要长到一定的程度,keil就会编译错误,但是我需要很长,怎么办?
问题3:TH0和TL0这样赋值是否正确,为什么书上的是-XXX/256?
谁能按照我的思路写一个红外编码的程序,感激不尽!!!


#include<reg51.h>

sbit led=P3^1;

float code2[]={1,2,5,1,2,3,4,5,6,7,8,9,2,5,1,2,3,4,5,6,7,8,9,2,5,1,2,3};//作为试验数据,使用时写成一定宽度的高低电平


sent(float code1[])//发送红外线的函数
{int i;
led=0;
for(i=0;i<30;i++);
TH0=(65536-code1*11059.2)/256;
TL0=(int)(65536-code1*11059.2)%256;
TR0=1;
while(TR0){}//直到定时计数器停止时才继续运行
led=1;
}


intsrv() interrupt 1 using 1
{
led=!led;
TR0=0;
}


init()//初始化
{
EA=1;
ET0=1;
TMOD=0x01;
TH0=0;
TL0=0;
TR0=0;
}


main()
{init();
while(1){
sent(code2());
}
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表