微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 各位帮忙看一下这个51的程序

各位帮忙看一下这个51的程序

时间:10-02 整理:3721RD 点击:
#include <reg52.h>
sbit l=P1^0;
uint16 counter=0;
uint16 j;
uint8 a=0;
uint16 num[]={1,2,3,4,5,6,7,8};
void timer0_init()
{
        TMOD=0x01;
        TH0=0xFE;
        TL0=0x33;
        EA=1;
        ET0=1;
        TR0=1;
}
main()
{
        timer0_init();
        l=1;       
        while(1)
        {       
        if(TF0==1)
           {
            TF0=0;
            TH0=0xFE;
            TL0=0x33;
            counter++;
           }
        if(counter==num[a]){
                l=0;
                a++;
                if(a==8){
                a=0;}
                }
        if(counter==40){
        counter=0;
        l=1;}
        }
}
这个程序本想实现输出一个占空比可以不断变化的PWM波,但用示波器观察波形是不变的,请各位帮帮忙,先谢谢了
这个

不怎么看得懂你的思路。
我只是觉得第一次中断的时候counter = 1;
然后就不听的执行 if(counter==num[a]),当counter = 2;又不停的执行这个。

嗯  谢谢了  已经找到问题了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top