基于直流電機的pwm調速
單片機源程序如下:
- #include "reg52.h"
- typedef unsigned int u16;
- typedef unsigned char u8;
- sbit PWM=P1^0;
- bit DIR;
- u16 count,value,timer1;
- void Timer1Init(void)
- {
- TMOD|=0X10;
- TH1 = 0xFF;
- TL1 = 0xff;
- ET1 = 1;
- EA = 1;
- TR1 = 1;
- }
- void main(void)
- {
- Timer1Init(); //定時器1初始化
- while(1)
- {
- if(count>50) //該變量控制中心點移動的快慢
- {
- count=0;
- if(DIR==1)
- {
- value++; //中心點右移
- }
- if(DIR==0)
- {
- value--; //中心點左移
- }
- }
- if(value==1000) //方向
- {
- DIR=0;
- }
- if(value==0)
- {
- DIR=1;
- }
-
- if(timer1>1000) //一個周期
- {
- timer1=0;
- }
- //PWM工作
- if(timer1 <value) //與中心點進行比較
- {
- PWM=1; //小于中心點輸出 1
- }
- else
- {
- PWM=0; //大于等于中心點輸出 0
- }
- }
- }
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
PWM.rar
(23.31 KB, 下載次數: 23)
2017-7-20 23:02 上傳
點擊文件名下載附件
調速 下載積分: 黑幣 -5
|