|
|
普通直流電機(jī)調(diào)速調(diào)試程序- #include "reg52.h"
-
- typedef unsigned int u16;
- typedef unsigned char u8;
- sbit IN1 = P1^4; // 電機(jī)0為1正轉(zhuǎn)
- sbit IN2 = P1^5;
- sbit PWM=P3^7;
- u16 timer1;
- void Timer1Init()
- {
- TMOD|=0X10;//選擇為定時(shí)器1Z模式,工作方式1,僅用TR1打開(kāi)啟動(dòng)。
- TH1 = 0xFF;
- TL1 = 0xff; //1us
-
- ET1=1;//打開(kāi)定時(shí)器1中斷允許
- EA=1;//打開(kāi)總中斷
- TR1=1;//打開(kāi)定時(shí)器
- }
- void forward_1()
- {
- IN1 = 0, IN2 = 1;//電機(jī)0正轉(zhuǎn)
- }
- void back_1()
- {
- IN1 = 1, IN2 = 0;//電機(jī)0反轉(zhuǎn)
-
- }
- void main()
- {
- back_1();
- Timer1Init(); //定時(shí)器1初始化
- while(1)
- {
- if(timer1>1000)
- {
- timer1=0;
- }
-
- if(timer1 <50) //1000范圍內(nèi)調(diào)節(jié)占空比,越大轉(zhuǎn)速越快
- {
- PWM=1;
- }
- else
- {
- PWM=0;
- }
- }
- }
- void Time1(void) interrupt 3 //3 為定時(shí)器1的中斷號(hào)
- {
- TH1 = 0xff;
- TL1 = 0xFF; //1us
- timer1++;
-
-
- }
復(fù)制代碼
|
評(píng)分
-
查看全部評(píng)分
|