标题:
单片机红外发射问题
[打印本页]
作者:
wuyuwangluo
时间:
2018-8-1 23:12
标题:
单片机红外发射问题
求助大神 小弟感激不尽
把数组改成Int型 程序就出错 数据发射不完改了以后的数组 int timedata[32]={580,535,535,535,535,535,535,535,535,580,580,580,580,580,580,180,35,35,80,80,35,35,35,35,80,80,35,35,80,80,80,80, };
单片机源程序
#include<reg52.h>
sbit button=P2^0;
sbit ir=P1^0;
unsigned int irtime;
char b,y;
char timedata[32]={80,35,35,35,35,35,35,35,35,80,80,80,80,80,80,80,35,35,80,80,35,35,35,35,80,80,35,35,80,80,80,80, };
void timer0()interrupt 1 //定时器中断
{
irtime++;
if(b==1)
{
ir=~ir; //取反 如果是1就变成0
}
}
void main()
{
int x;
ET0=1; //允许定时器0的中断
EA=1; //打开总中断
TMOD=0X02;//定时器0工作方式2 自动重装定时器
TH0=0Xe6; //装初值25.8us
TL0=0Xe6; //装初值25.8us
TR0=0; //开启定时器T0
ir=0;
x=0;
if(y==0)
{
TR0=1;
b=1;
irtime=0;
while(irtime<320);//320
b=0;
ir=0;
while(irtime<500);// 484
for(x=0;x<33;x++)
{
irtime=0;
b=1;
while(irtime<21);//18
b=0;
ir=0;
while(irtime<timedata[x]);
if(x>33)
break; //跳出循环
}
TR0=0;
y=1;
}
}
作者:
diy1997
时间:
2018-8-1 23:29
没有看到有使用数组里面的数据。
作者:
ljx8940
时间:
2018-8-2 07:55
irtime没有定义
作者:
LJ_Austin
时间:
2018-8-2 09:02
数组前面加个const
作者:
dianziluntan_sw
时间:
2018-8-2 09:47
数组前面加个const就不会出现这个问题了
作者:
wuyuwangluo
时间:
2018-8-2 12:45
LJ_Austin 发表于 2018-8-2 09:02
数组前面加个const
改成这样又不行了
#include<reg52.h>
sbit button=P2^0;
sbit ir=P1^0;
unsigned int irtime;
char b,y;
const int timedata[49]={580,535,535,535,535,535,535,535,535,580,580,580,580,580,580,180,535,535,580,580,535,535,535,535,580,580,535,535,580,580,580,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550 };
void timer0()interrupt 1 //定时器中断
{
irtime++;
if(b==1)
{
ir=~ir; //取反 如果是1就变成0
}
}
void main()
{
int x;
ET0=1; //允许定时器0的中断
EA=1; //打开总中断
TMOD=0X02;//定时器0工作方式2 自动重装定时器
TH0=0Xe6; //装初值25.8us
TL0=0Xe6; //装初值25.8us
TR0=0; //开启定时器T0
ir=0;
x=0;
if(y==0)
{
TR0=1;
b=1;
irtime=0;
while(irtime<320);//320
b=0;
ir=0;
while(irtime<500);// 484
for(x=0;x<49;x++)
{
irtime=0;
b=1;
while(irtime<21);//18
b=0;
ir=0;
while(irtime<timedata[x]);
if(x>49)
break; //跳出循环
}
TR0=0;
y=1;
}
}
作者:
wuyuwangluo
时间:
2018-8-2 12:46
本帖最后由 wuyuwangluo 于 2018-8-2 21:51 编辑
dianziluntan_sw 发表于 2018-8-2 09:47
数组前面加个const就不会出现这个问题了
改了 可以 把数值加大又不行了 还有其他办法吗?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1