找回密码
 立即注册

QQ登录

只需一步,快速开始

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

急求方波发送一定脉冲数程序

[复制链接]
跳转到指定楼层
楼主
ID:195175 发表于 2017-5-27 13:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
sbit PWM=P2^0;
void init_T0()
{
        TMOD=0x01;
        TH0=(65536-50)/256;
        TL0=(65536-50)%256;
        EA=1;
        ET0=1;
        TR0=1;    }

void T0_timer()interrupt 1
{
        TH0=(65536-50)/256;
        TL0=(65536-50)%256;        
        PWM=~PWM;
}

void main()
{        
        init_T0();
        while(1)
}

这样简单的方波程序,怎么控制发送一定的脉冲数,请大神附录程序讲解下,非常感谢!

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

使用道具 举报

沙发
ID:123289 发表于 2017-5-27 14:45 | 只看该作者
建议楼主改学CEO
回复

使用道具 举报

板凳
ID:151348 发表于 2017-5-27 16:57 | 只看该作者
加个变量来计数,比如
void T0_timer()interrupt 1
{
        unsigned char i;
        TH0=(65536-50)/256;
        TL0=(65536-50)%256;        
        PWM=~PWM;
        i++;

}
回复

使用道具 举报

地板
ID:151348 发表于 2017-5-27 16:59 | 只看该作者
刚发错了
void T0_timer()interrupt 1
{
        unsigned char i;
        TH0=(65536-50)/256;
        TL0=(65536-50)%256;        
        PWM=~PWM;
        i++;
        if(i>10)//自己选择方波个数
        {
           i=0;
           TR0=0;//关闭定时器
        }
}
回复

使用道具 举报

5#
ID:192235 发表于 2017-5-27 19:06 | 只看该作者
定义一个变量用来记录脉冲数量,到达指定数量后,将PWM置0  关闭中断
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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