99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發新帖

曬曬我用at89s52做的spwm,源代碼

做逆變是不行的,我測了下同期160多ms ,頻率6.8HZ,不知道要怎么改,請高手指正。。。(很多人說用PIC,或STC的MCU,可我手上只有AT89s52,再者我也只是拿來玩玩,,,學學單片機的)

貼代碼:

#include "at89x52.h"

sbit led0=P0^0;
sbit led1=P0^1;//這里是spwm輸出第一組
sbit led2=P0^2;//這里是spwm第二組
bit flag_out;//標志位用來切換是第一組輸出還是第二組輸出
unsigned char t_num=0;
unsigned char spwm_tab[16]={0,20,38,56,71,83,92,98,100,98,92,83,71,56,38,20};//用excel算的,只取這幾個簡單些

void delayus()
                { 
      unsigned int tm;
       for(tm=2000;tm>0;tm--)
           {

             {;}
        }
    }

void int_time0(void)
                 {
      TMOD=0x02;//之前是TMOD=0x11,中斷后還要加初值,現在改為自動重裝。
                  EA=1;
                  ET0=1;
      TH0=230/256;//
      TL0=230%256;//理論上應該256-230=26us
     }
void timer0(void) interrupt 1
                    {
      static unsigned char c_time=0;
                       if(spwm_tab[t_num]>c_time)
                {
           if(flag_out)led1=1;
        else led2=1;
          }
      else led1=0,led2=0;
      c_time=c_time+1;
      if(c_time>99)
              {
        
         c_time=0;
         t_num=t_num+1;
         if(t_num>15)t_num=0,flag_out=~flag_out;
        }
       // TH0=65530/256;
        //TL0=65530%256;/*這個因為有重裝就不用了,省了兩條指令*/

     }
         
void main (void)
             {
    
     P0=0xff;
               int_time0();
      TR0=1;
     while(1)
            {led0=~led0;
          delayus();
      }

     }

今天改了代碼,順便拍了兩張

 

 

 

周期40多ms,22.7HZ,比之前的代碼要高了,但仍不能實用。。。繼續ing。。。

 

全部回復(9)
正序查看
倒序查看
小礦石
LV.10
2
2012-09-10 18:11
采樣點過于少了,逆變不出來的
0
回復
yuzhou.yu
LV.5
3
2012-09-10 21:11
非常好噢!我頂你!哪天我也用你的程序試試!哈哈,太好了!
0
回復
IGBT2010
LV.8
4
2012-09-11 08:10
樓主,反饋在哪里?
0
回復
廖遠方
LV.9
5
2012-09-11 10:33
 
0
回復
2012-09-11 10:55
@小礦石
采樣點過于少了,逆變不出來的
因為89s52不帶PWM模塊的,所以采樣點多了,會讓整個周期變長,也不知道是不是我的算法不對。。。
0
回復
2012-09-11 10:56
@yuzhou.yu
[圖片]非常好噢!我頂你!哪天我也用你的程序試試!哈哈,太好了![圖片]
幫忙改改呀。。。這個只是個試驗用的。。。
0
回復
支持你
LV.6
8
2012-09-11 10:58
@廖遠方
[圖片] 
飛機起飛了
0
回復
2012-09-11 11:01
@IGBT2010
樓主,反饋在哪里?

只是試驗不帶PWM的單片機能不能出可以用的spwm波,本身AT89S52不帶PWM,也沒有AD,反饋實現起來不容易,也許可以在外圍加個比較器來判斷。。。但那還遠遠沒到那一步,我現在還沒有把頻率做到50HZ,波形也不好看(我用個47K的電阻加三個0.22的安規電容)。。。純粹的試驗玩的

0
回復
小礦石
LV.10
10
2012-09-11 16:32
@廖遠方
[圖片] 
0
回復
主站蜘蛛池模板: 天堂资源中文 | 亚洲麻豆av肉丝网站一区二区 | 国产在线乱码一区二三区 | 日本三级美女 | 日本在线播放一二三区 | 熟妇的奶头又大又粗视频 | 亚洲精品一区二区另类图片 | 国产一及毛片 | 真实国产乱子伦精品视频 | 亚洲欧美国产精品久久久久 | 少妇激情AV一区二区三区 | JiZZJiZZ成熟丰满熟妇 | 在线观看中文字幕国产 | 亚洲成AV人影院在线观看网 | 天天综合网页在线观看 | 丰满妇女做A级毛片 | 狠狠噜天天噜日日噜视频麻豆 | 男人添女人下身视频高清 | 久久综合狠狠综合久久综合88 | 国产永久免费观看 | 色AV综合AV综合无码网站 | 欧美Ⅴ永久无码精品毛片 | 久久精品成人一区二区三区 | 正在做饭的少妇中文字幕 | 亚洲精品美女视频在线观看 | 少妇爆乳无码专区网站 | 日韩国产一区二区三区 | 精品爆乳一区二区三区无码AV | 日日操日日爽 | 这里有精品在线视频 | 男人扣女人逼视频 | 国产色片免费色网视频 | 奇米第四影视 | 日韩第一夜 | 青青草视频在线免费观看 | 中国美女a级毛片 | 亚洲精品99999 | 国产在线午夜卡精品影院 | 国产伦精品一区二区三区四区视频 | 成人在线观看一区二区三区 | 亚洲精品男女 |