找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)的三路PWM輸出程序源碼與proteus仿真圖

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
附件里包括proteus仿真,c源碼,hex文件等
單片機(jī)三路PWM輸出仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)三路PWM輸出源程序如下:
  1. #include<reg51.h>   //
  2. sbit P1_0 = P1^0;   // 三路PWM輸出
  3. sbit P1_1 = P1^1;
  4. sbit P1_2 = P1^2;
  5. sbit key10 = P3^2;
  6. sbit key11 = P3^3;
  7. sbit key20 = P3^4;
  8. sbit key21 = P3^5;
  9. sbit key30 = P3^7;
  10. sbit key31 = P3^1;
  11. unsigned char Set_PWM0 = 2; // 占空比調(diào)整
  12. unsigned char Set_PWM1 = 5;     
  13. unsigned char Set_PWM2 = 8;
  14. unsigned char counter = 0;  // 計(jì)數(shù)的
  15. bit bdata tt1,tt2,tt3;      // 標(biāo)志位
  16. void main()
  17. {
  18. TMOD=0x01;
  19. TH0=(65536-2000)/256;      // 定時(shí)時(shí)間  可以修改
  20. TL0=(65536-2000)%256;
  21. EA=1;
  22. ET0=1;
  23. TR0=1;
  24. while(1)
  25. {                          // 開關(guān)調(diào)整 PWM  占空比
  26. if(key10==0 && tt1==0) {tt1 = 1; Set_PWM0++;} // K1、K2
  27. if(key11==0 && tt1==0) {tt1 = 1; Set_PWM0--;}
  28. if(key10==1 && key11==1) tt1=0;
  29. if(key20==0 && tt2==0) {tt2 = 1; Set_PWM1++;} // K3、K4
  30. if(key21==0 && tt2==0) {tt2 = 1; Set_PWM1--;}
  31. if(key20==1 && key21==1) tt2=0;
  32. if(key30==0 && tt3==0) {tt3 = 1; Set_PWM2++;} // K5、K6
  33. if(key31==0 && tt3==0) {tt3 = 1; Set_PWM2--;}
  34. if(key30==1 && key31==1) tt3=0;
  35. }
  36. }
  37. void Timer0(void) interrupt 1 // 定時(shí)器0   PWM 控制
  38. {                           
  39.   TH0=(65536-2000)/256;       // 定時(shí)時(shí)間  可以修改
  40.   TL0=(65536-2000)%256;
  41.   counter++;
  42.   if(counter >= 16) counter = 0;   // PWM  16級  可以修改
  43.   if(counter >= Set_PWM0) P1_0 = 0; else P1_0 = 1;
  44.   if(counter >= Set_PWM1) P1_1 = 0; else P1_1 = 1;
  45.   if(counter >= Set_PWM2) P1_2 = 0; else P1_2 = 1;
  46. }
復(fù)制代碼

所有資料51hei提供下載:
8051三路PWM(可適用于51系列單片機(jī)).zip (53.13 KB, 下載次數(shù): 113)


評分

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

查看全部評分

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

使用道具 舉報(bào)

沙發(fā)
ID:92867 發(fā)表于 2018-10-26 22:50 | 只看該作者
點(diǎn)個(gè)贊
回復(fù)

使用道具 舉報(bào)

板凳
ID:417062 發(fā)表于 2018-10-29 13:57 | 只看該作者
加油樓主萬歲,加油 哦也
回復(fù)

使用道具 舉報(bào)

地板
ID:399179 發(fā)表于 2018-10-29 18:50 來自手機(jī) | 只看該作者
感謝樓主分享!
回復(fù)

使用道具 舉報(bào)

5#
ID:419215 發(fā)表于 2018-12-24 16:21 來自手機(jī) | 只看該作者
請問樓主,定時(shí)時(shí)間怎么調(diào)整。
回復(fù)

使用道具 舉報(bào)

6#
ID:419215 發(fā)表于 2018-12-24 16:31 來自手機(jī) | 只看該作者
請教大神定時(shí)時(shí)間怎么調(diào)整,發(fā)現(xiàn)與書上的不一樣。
回復(fù)

使用道具 舉報(bào)

7#
ID:280272 發(fā)表于 2018-12-24 16:46 | 只看該作者

不錯(cuò)的資料,謝謝分享
回復(fù)

使用道具 舉報(bào)

8#
ID:453624 發(fā)表于 2018-12-24 18:19 | 只看該作者
謝謝樓主的分享
回復(fù)

使用道具 舉報(bào)

9#
ID:243748 發(fā)表于 2019-2-22 11:17 來自手機(jī) | 只看該作者
三路可以獨(dú)立調(diào)嗎
回復(fù)

使用道具 舉報(bào)

10#
ID:468240 發(fā)表于 2019-4-17 10:33 | 只看該作者
為什么要有標(biāo)志位啊,樓主
回復(fù)

使用道具 舉報(bào)

11#
ID:513536 發(fā)表于 2019-4-17 11:12 來自手機(jī) | 只看該作者
謝謝樓主
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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