找回密码
 立即注册

QQ登录

只需一步,快速开始

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

关于单片机红外线的发射程序的2个问题

[复制链接]
跳转到指定楼层
楼主
ID:299872 发表于 2019-3-19 12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我写的简单红外简代红外线程序.

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



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

使用道具 举报

沙发
ID:310519 发表于 2019-3-19 19:54 | 只看该作者
要求精度就使用定时器。
回复

使用道具 举报

板凳
ID:272269 发表于 2019-3-20 16:59 | 只看该作者
如果真要delay就用stc烧录器上有精准delay函数输出器
但还是用定时器定出时间方便一点
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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