找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4471|回復: 3
打印 上一主題 下一主題
收起左側(cè)

51單片機產(chǎn)生pwm 占空比10khz頻率 Proteus仿真程序

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:406994 發(fā)表于 2019-12-7 12:08 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式


仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit pwm=P1^1;
  5. uchar num=0;
  6. main()
  7. {
  8.    TMOD=0x02;
  9.          TH0=TL0=206;
  10.          ET0=1;
  11.          TR0=1;
  12.    EA=1;
  13.          while(1);
  14. }

  15. void init() interrupt 1
  16. {
  17.         num++;
  18.         if(num<=6)
  19.         pwm=1;
  20.         else pwm=0;
  21.         if(num==10)
  22.         num=0;
  23. }
復制代碼

Keil代碼與Proteus仿真下載:
占空比.rar (54.57 KB, 下載次數(shù): 66)




評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:523100 發(fā)表于 2020-2-15 22:20 | 只看該作者
TH0=TL0=206這個是怎么算的呀?
回復

使用道具 舉報

板凳
ID:895829 發(fā)表于 2021-3-24 09:22 | 只看該作者
燒仙草芋圓 發(fā)表于 2020-2-15 22:20
TH0=TL0=206這個是怎么算的呀?

裝初值,256-50=206,每50微秒中斷一次
回復

使用道具 舉報

地板
ID:578423 發(fā)表于 2021-5-3 15:29 | 只看該作者
荷影如風 發(fā)表于 2021-3-24 09:22
裝初值,256-50=206,每50微秒中斷一次

1/2K就是每50uS,就是void Timer0Init(void)                //500微秒@12.000MHz
{
        AUXR |= 0x80;                //定時器時鐘1T模式
        TMOD &= 0xF0;                //設置定時器模式
        TL0 = 0x90;                //設置定時初值
        TH0 = 0xE8;                //設置定時初值
        TF0 = 0;                //清除TF0標志
        TR0 = 1;                //定時器0開始計時
}
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表