标题: 关于单片机红外线的发射程序的2个问题 [打印本页]

作者: xjtong    时间: 2019-3-19 12:00
标题: 关于单片机红外线的发射程序的2个问题
我写的简单红外简代红外线程序.

现在有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);
}




作者: diy1997    时间: 2019-3-19 19:54
要求精度就使用定时器。
作者: jizi    时间: 2019-3-20 16:59
如果真要delay就用stc烧录器上有精准delay函数输出器
但还是用定时器定出时间方便一点




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1