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

QQ登錄

只需一步,快速開始

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

只用1個(gè)定時(shí)器實(shí)現(xiàn)51模擬PWM輸出功能

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:83879 發(fā)表于 2015-6-25 12:37 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
只是PWM頻率有點(diǎn)低,不過效果還是不錯(cuò)的
先初始化TIM0或1為定時(shí)器方式2即自動(dòng)裝載模式。。。
定義全局變量
unsigned char PWM,PWMZ;
sbit  PWMO=P***;  //這個(gè)就是你要選擇PWM輸出的IO腳了
/*初始化定時(shí)器0*/
void intTIME0 (void)
{
    TMOD = 0x02|(TMOD&0XF0);         //set timer0 as mode2 (8-bit)
    TL0 = 200;                         //這里最終影響的PWM頻率
    TH0 = 200;
    ET0 = 1;                        //enable timer0 interrupt
    EA = 1;                         //open global interrupt switch
}

/* Timer0 interrupt routine */
void tm0_isr() interrupt 1 using 1
{
   PWMZ++;
   if (PWMZ ==100)
    {
          PWMZ= 0;
          PWMO = 0;
         }
   if (PWMS == PWM) { SPZ = 1;}       
}


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的積分獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:83879 發(fā)表于 2015-6-25 13:14 | 只看該作者
自己坐沙發(fā)!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:74784 發(fā)表于 2017-8-14 02:16 | 只看該作者
能行不?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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