久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2524|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

求助!51單片機輸出方波問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:708933 發(fā)表于 2020-3-15 17:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
題目:12晶振   輸出周期1s  占空比70%的方波;


我的代碼:
#include "reg51.h"
#define uchar unsigned char        //數(shù)據(jù)類型宏定義
#define uint unsigned int
/*********************引腳定義********************/

#define TICK 10000
#define T100us 256-100
uchar C100us;
sbit out=P1^6;
/*********************主函數(shù)**********************/
void main(void)
{
        TMOD&=0xf0;
        TMOD|=0x02;
        TH0=T100us;
        TL0=T100us;
        TR0=1;
        EA=1;
        ET0=1;
        C100us=TICK;
        while(1);
}
void timer0int(void) interrupt 1
{
        C100us--;
        if(C100us==3000)
        {
                out=~out;       
        }
        if(C100us==0)
        {
                C100us=TICK;
                out=~out;
        }       
}



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:708933 發(fā)表于 2020-3-15 17:00 | 只看該作者
仿真出來的方波是50%的,為什么會這樣呢
回復(fù)

使用道具 舉報

板凳
ID:234355 發(fā)表于 2020-3-15 18:22 | 只看該作者
#define TICK 10000 #define T100us 256-100 uchar C100us;
回復(fù)

使用道具 舉報

地板
ID:234355 發(fā)表于 2020-3-15 18:23 | 只看該作者
#define TICK 10000  uchar C100us; TICK如何給 C100us賦值;數(shù)據(jù)類型不對
回復(fù)

使用道具 舉報

5#
ID:384109 發(fā)表于 2020-3-15 19:45 | 只看該作者
uchar C100us;,變量類型錯了吧,uchar應(yīng)該最大只到255,應(yīng)該要用uint
回復(fù)

使用道具 舉報

6#
ID:275826 發(fā)表于 2020-3-15 19:54 | 只看該作者
改成
void timer0int(void) interrupt 1
{
        C100us--;
        if(C100us<=3000)
        {
                out=1;      
        }
       else out=0;

        if(C100us==0)
        {
          C100us=TICK;
               
        }      
}
回復(fù)

使用道具 舉報

7#
ID:704545 發(fā)表于 2020-3-15 20:32 | 只看該作者
uchar C100us; 數(shù)據(jù)類型裝不下10000,也比較不出3000,倒是可以比較0。改成uint吧
回復(fù)

使用道具 舉報

8#
ID:642838 發(fā)表于 2020-3-15 22:17 | 只看該作者
out=~out;總在取反,占空比當然就是50%了,另外 C100us要定義成uint
回復(fù)

使用道具 舉報

9#
ID:642838 發(fā)表于 2020-3-15 22:26 | 只看該作者
本帖最后由 odfggf 于 2020-3-16 08:40 編輯

改寫成這樣也行
uchar C100us=0;
void timer0int() interrupt 1
{
      
        if(C100us<3000)
            { out=1;  }   
              else
                { out=0; }
       C100us++;      C100us%=10000;
}
回復(fù)

使用道具 舉報

10#
ID:213173 發(fā)表于 2020-3-16 08:14 | 只看該作者
2602482600 發(fā)表于 2020-3-15 17:00
仿真出來的方波是50%的,為什么會這樣呢
  1. #include "reg51.h"
  2. #define uchar unsigned char        //數(shù)據(jù)類型宏定義
  3. #define uint unsigned int
  4. /*********************引腳定義********************/

  5. #define TICK 10000
  6. #define T100us 256-100

  7. sbit out=P1^6;
  8. uint C100us;

  9. /*********************主函數(shù)**********************/
  10. void main(void)
  11. {
  12.         TMOD&=0xf0;
  13.         TMOD|=0x02;
  14.         TH0=T100us;
  15.         TL0=T100us;
  16.         TR0=1;
  17.         EA=1;
  18.         ET0=1;
  19.         C100us=0;
  20.         while(1);
  21. }
  22. void timer0int(void) interrupt 1
  23. {
  24.         C100us++;
  25.         if(C100us<=7000)
  26.                 out=1;        
  27.         if(C100us>7000)
  28.                 out=0;
  29.         if(C100us==TICK)
  30.                 C100us=0;        
  31. }
復(fù)制代碼
回復(fù)

使用道具 舉報

11#
ID:708933 發(fā)表于 2020-3-19 18:22 | 只看該作者
謝謝大家,是類型不對
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美二区 | 成人高清在线视频 | 亚洲最色网站 | 日韩精品成人 | 久久久91| 亚洲国产欧美在线人成 | 亚洲劲爆av| 成人激情视频网 | 国产精品国产三级国产播12软件 | 亚洲久久在线 | 欧美亚洲激情 | 电影91久久久 | 日韩av成人在线观看 | 亚州av| 黄色毛片免费 | 久久久久久久久久久久久9999 | 国户精品久久久久久久久久久不卡 | 一区二区在线 | 欧美在线视频网站 | 国产欧美性成人精品午夜 | 精品国产乱码久久久久久88av | av毛片 | 99久久99| 在线亚洲一区 | 成人夜晚看av | 久久久久久久国产精品视频 | 国产精品爱久久久久久久 | 日韩超碰 | 91久久精品国产91久久 | 亚洲成人免费av | 日日夜夜精品免费视频 | 国产精品第2页 | 青青久久久| 久久久精品一区 | 国产一区二区a | 久久久久久999 | 亚洲欧美久久 | 日本精品视频一区二区三区四区 | 羞羞视频一区二区 | 国产 日韩 欧美 在线 | 成人在线免费 |