我写的简单红外简代红外线程序.
现在有2个核心问题
1.delay(uint ms) 希望精确到0.56sMS;要怎么调整?KEIL调整好大的误差.
2.就是编码,希望大家提供一些编码参考!!!!!( m宝上的买的LED灯,带遥控的,主要是这个编码)
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit fs=P1^5;
uchar sj[]={0,0,0,0,0,0,0,1,
1,1,1,1,1,1,1,0,
1,0,0,0,1,1,0,1,
0,1,1,1,0,0,1,0};
void delay(uint ms)
{
uint ms1, ms2;
for(ms1=ms; ms1>0; ms1--)
for(ms2=61; ms2>0; ms2--);
}
void main()
{
uchar i,j=0;
fs=0;delay(20) ; //高9MS
fs=1;delay(10) ; //低4.6MS
for(i=0;i<33;i++){
if(sj[j]==1){fs=0;delay(1) ;fs=1;delay(1) ;}else{fs=0;delay(1) ;fs=1;delay(3) ;}
j++;
}
delay(10000);
}
|