欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關(guān)于51單片機PWM波的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:782567 發(fā)表于 2020-6-17 21:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
現(xiàn)在想要實現(xiàn)一個串口發(fā)送PWM波形數(shù)據(jù),單片機在通過串口接收數(shù)據(jù)后在修改P1.1口的波形,PWM輸出用的是定時器計數(shù)器。現(xiàn)在有一個疑問,就是我生成的波形的數(shù)據(jù)是字節(jié)變量的,但是輸出的口需要位變量,這個問題怎么解決?求各位大佬給點指點。
void chuankou() interrupt 4
{
TI=0;
SBUF=PWMboxing;
while(TI==1)
{
  TI=0;
   
}
RI=0;
i=SBUF;
P1^1=i
while(RI==0)
{
  RI=0;
}
}
程序是我自己寫的,現(xiàn)在目前就是這個思路,不知道能不能行的通,有問題的話也歡迎各位指出,謝謝大家啦!!!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:94031 發(fā)表于 2020-6-18 08:45 | 只看該作者
字節(jié)變量一定要轉(zhuǎn)換成位變量才能輸出給位變量。
回復(fù)

使用道具 舉報

板凳
ID:213173 發(fā)表于 2020-6-18 09:27 | 只看該作者
樓主這個程序錯誤太多根本玩不轉(zhuǎn)。給你一個經(jīng)驗證過的參考程序試試。

#include<reg51.h>

sbit PWM=P1^1; //PWM輸出端口

unsigned char i,j;//全局變量

void main()                                                       
{
        SCON=0x50;  //8位UART波特率可變
        TMOD=0x22;  //定時器0、1方式2(8位重載)晶振11.0592MHz
        TH0=0xA4;        //設(shè)置定時重載值100us
        TL0=0xA4;        //設(shè)置定時初值
        TH1=0xfd;   //波特率9600
        TL1=0xfd;   //波特率9600
        TR0=1;           //開定時器0
        TR1=1;           //開定時器1
        REN=1;           //允許串行接收
        EA=1;              //開總中斷
        ET0=1;           //開T0中斷
        ES=1;              //開串口中斷
        while(1);
}

void T0Interrupt(void) interrupt 1
{
        if(j>i)PWM=1;//周期10ms,占空比0~100
        else PWM=0;
        if(++i>=100)i=0;
}

void serial() interrupt 4
{
        RI=0;
        j=SBUF;//j值范圍0~100
}
回復(fù)

使用道具 舉報

地板
ID:245429 發(fā)表于 2020-6-18 10:31 | 只看該作者
輸出口是位變量(就是調(diào)節(jié)高低電平),生成波形的數(shù)據(jù)是字節(jié)變量,就是通過控制高低電平的時間調(diào)節(jié)占空比控制波形。具體有一個非常簡單容易理解的例子,看完你就會明白,建議看一下這一篇http://m.raoushi.com/bbs/forum.php?mod=viewthread&tid=75309
回復(fù)

使用道具 舉報

5#
ID:782567 發(fā)表于 2020-6-18 21:01 | 只看該作者
xuyaqi 發(fā)表于 2020-6-18 08:45
字節(jié)變量一定要轉(zhuǎn)換成位變量才能輸出給位變量。

好的,我在琢磨琢磨
回復(fù)

使用道具 舉報

6#
ID:782567 發(fā)表于 2020-6-18 21:03 | 只看該作者
wulin 發(fā)表于 2020-6-18 09:27
樓主這個程序錯誤太多根本玩不轉(zhuǎn)。給你一個經(jīng)驗證過的參考程序試試。

#include

好的,謝謝啦,我在仔細研究一下
回復(fù)

使用道具 舉報

7#
ID:782567 發(fā)表于 2020-6-18 21:03 | 只看該作者
單調(diào)的唯一的 發(fā)表于 2020-6-18 10:31
輸出口是位變量(就是調(diào)節(jié)高低電平),生成波形的數(shù)據(jù)是字節(jié)變量,就是通過控制高低電平的時間調(diào)節(jié)占空比控 ...

謝謝啦
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表