找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

有人知道單片機(jī)怎么產(chǎn)生PWM波嗎?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
有人知道怎么讓兩個(gè)端口產(chǎn)生方波嗎?比如我示波器兩端連P2^2和P2^3,然后波形是方波?用STC15F2K60S2,程序不會(huì)寫(xiě)啊
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:25310 發(fā)表于 2022-12-7 08:35 | 只看該作者
對(duì)你這個(gè)沒(méi)啥要求的搞個(gè)延時(shí)程序就行了:

void Delay200ms()                //@11.0592MHz
{
        unsigned char i, j, k;

        _nop_();
        i = 2;
        j = 103;
        k = 147;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}


void while(1)  
{
P2^2=1;P2^3=0;
Delay200ms();
P2^2=0;P2^3=1;
Delay200ms();
}
回復(fù)

使用道具 舉報(bào)

板凳
ID:1034262 發(fā)表于 2022-12-7 11:16 | 只看該作者
使用帶PWM的單片機(jī)。
回復(fù)

使用道具 舉報(bào)

地板
ID:77589 發(fā)表于 2022-12-7 11:54 | 只看該作者
一、如果單片機(jī)有PWM外設(shè)模塊,直接配置PWM外設(shè)模塊;
二、如果單片機(jī)沒(méi)有PWM外設(shè)模塊,就用Timer中斷在普通IO上模擬PWM輸出。
回復(fù)

使用道具 舉報(bào)

5#
ID:123289 發(fā)表于 2022-12-7 14:31 | 只看該作者
說(shuō)一個(gè)吧:P22。
1、做個(gè)定時(shí)中斷,例10ms。
2、在中斷服務(wù)程序中:讓P22反轉(zhuǎn)。
這樣在P22口上就得到一個(gè)50Hz的方波。
回復(fù)

使用道具 舉報(bào)

6#
ID:1045489 發(fā)表于 2022-12-8 08:50 | 只看該作者
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(ZQ)// 周期
{
ZQ--;
if(ZKB)//占空比
{
ZKB--;
IO = 1;//控制占空比的單片機(jī)輸出口
}
else IO = 0;
}
else
{
ZQ=100;//如果你需要ZQ和ZKB可調(diào)可以定義一個(gè)變量a,b;ZQ=a;ZKB=b;
ZKB=30;//注意ZKB要小于ZQ
}
}
用定時(shí)器做的
回復(fù)

使用道具 舉報(bào)

7#
ID:1055954 發(fā)表于 2022-12-8 08:59 來(lái)自觸屏版 | 只看該作者
單片機(jī)有PWM外設(shè)模塊,可以直接配置PWM外設(shè)模塊使用
回復(fù)

使用道具 舉報(bào)

8#
ID:890642 發(fā)表于 2022-12-10 18:46 來(lái)自觸屏版 | 只看該作者
yzwzfyz 發(fā)表于 2022-12-7 14:31
說(shuō)一個(gè)吧:P22。
1、做個(gè)定時(shí)中斷,例10ms。
2、在中斷服務(wù)程序中:讓P22反轉(zhuǎn)。

請(qǐng)問(wèn)大師STC15W408-16腳芯片,3.7腳可以輸出PWM嗎?波形帶不動(dòng)光耦817是怎么回事
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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