C51代码(PWM)

上传人:l**** 文档编号:134508650 上传时间:2020-06-05 格式:DOC 页数:20 大小:60KB
返回 下载 相关 举报
C51代码(PWM)_第1页
第1页 / 共20页
C51代码(PWM)_第2页
第2页 / 共20页
C51代码(PWM)_第3页
第3页 / 共20页
C51代码(PWM)_第4页
第4页 / 共20页
C51代码(PWM)_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《C51代码(PWM)》由会员分享,可在线阅读,更多相关《C51代码(PWM)(20页珍藏版)》请在金锄头文库上搜索。

1、1. #include 2. #include 3.4. sbitK1 =P14 ; /增加键5. sbitK2 =P15 ; /减少键6. sbitP00 =P01;7. sbitBEEP =P37 ; /蜂鸣器8. unsigned char PWM=0xe7; /赋初值9.10. void Beep();11. void delayms(unsigned char ms);12. void delay(unsigned char t);13.14. /*/15. void main()16. 17.18. P1=0xff;19. TMOD=0x21 ;20. TH0=0xff ; /50

2、us延时常数21. TL0=0xce ; /频率调节22.23. TH1=PWM ; /脉宽调节24. TL1=0 ;25.26. EA=1;27. ET0=1;28. ET1=1;29. 30. TR0=1 ;31.32. while(1)33. 34. do35. if(PWM!=0xff)36. PWM+ ;delayms(10);37. else Beep() ;38. 39. while(K1=0);40.41. do42. if(PWM!=0xce)43. PWM- ;delayms(10);44. else Beep() ;45. 46. while(K2=0);47. 48.

3、49.50. void timer0() interrupt 151. 52. TR1=0 ;53. TH0=0xff ;54. TL0=0xce ;55. TH1=PWM ;56. TR1=1 ;57. P00=0 ; /启动输出58. 59.60.61. void timer1() interrupt 362. 63. TR1=0 ;64. P00=1 ; /结束输出65. 66.67. /*/68. /蜂鸣器子程序69. /*/70.71. void Beep() 72. 73. unsigned char i;74. for (i=0;i100;i+)75. 76. delay(100

4、);77. BEEP=!BEEP; /Beep取反78. 79. BEEP=1; /关闭蜂鸣器80. delayms(100);81. 82.83. /*/84. / 延时子程序85. /*/86. void delay(unsigned char t)87. 88. while(t-) ;89. 90.91. /*/92. / 延时子程序93. /*/94. void delayms(unsigned char ms)95.96. 97. unsigned char i ;98. while(ms-)99. 100. for(i = 0 ; i 120 ; i+) ;101. 102. 10

5、3.104. /*/105. #include 106. #include 107.108. sbitK1 =P14 ; /增加键109. sbitK2 =P15 ; /减少键110. sbitP00 =P01;111. sbitBEEP =P37 ; /蜂鸣器112. unsigned char PWM=0xe7; /赋初值113.114. void Beep();115. void delayms(unsigned char ms);116. void delay(unsigned char t);117.118. /*/119. void main()120. 121.122. P1=0

6、xff;123. TMOD=0x21 ;124. TH0=0xff ; /50us延时常数125. TL0=0xce ; /频率调节126.127. TH1=PWM ; /脉宽调节128. TL1=0 ;129.130. EA=1;131. ET0=1;132. ET1=1;133. 134. TR0=1 ;135.136. while(1)137. 138. do139. if(PWM!=0xff)140. PWM+ ;delayms(10);141. else Beep() ;142. 143. while(K1=0);144.145. do146. if(PWM!=0xce)147. P

7、WM- ;delayms(10);148. else Beep() ;149. 150. while(K2=0);151. 152. 153.154. void timer0() interrupt 1155. 156. TR1=0 ;157. TH0=0xff ;158. TL0=0xce ;159. TH1=PWM ;160. TR1=1 ;161. P00=0 ; /启动输出162. 163.164.165. void timer1() interrupt 3166. 167. TR1=0 ;168. P00=1 ; /结束输出169. 170.171. /*/172. /蜂鸣器子程序1

8、73. /*/174.175. void Beep() 176. 177. unsigned char i;178. for (i=0;i100;i+)179. 180. delay(100);181. BEEP=!BEEP; /Beep取反182. 183. BEEP=1; /关闭蜂鸣器184. delayms(100);185. 186.187. /*/188. / 延时子程序189. /*/190. void delay(unsigned char t)191. 192. while(t-) ;193. 194.195. /*/196. / 延时子程序197. /*/198. void delayms(unsigned char ms)199.200. 201. unsigned char i ;202. while(ms-)203. 204. for(i = 0 ; i 120 ; i+) ;205. 206. 207.208. /*/209. #include 210. #include 211.212. sbitK1 =P14 ;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号