全部评论(2条)
-
- 桥先森123 2011-04-23 00:00:00
- 很好用的 要求加经啊 #include<reg51.h> #include<intrins.h> sbit S2 =P3^4 ; //PWM值减少键 sbit S3 =P3^5 ; //PWM值增加键 sbit BEEP =P2^3 ; //蜂鸣器 unsigned char PWM=0x03 ; //赋初值 /////////////////////////////////////// sbit dula=P2^6; //数码管的段选信号 sbit wela=P2^7; //数码管的位选信号 void delay1 (void) //关闭数码管延时程序 { int k; for (k=0; k<1000; k++); } ////////////////////////////////////// void Beep(); void delayms(unsigned char ms); void delay(unsigned char t); /*********************************************************/ void main() { P1=0xff; TMOD=0x00 ; TH0=0x00 ; //延时常数 TL0=0x00 ; //频率调节 TH1=PWM ; //脉宽调节 TL1=0xff ; EA=1; ET0=1; ET1=1; TR0=1 ; ///////////////////////////////////////////////////////////////// P0=0x00;//关掉数码管的信号。阻止数码管受到P0口信号的影响。 dula=1; wela=0; delay1(); dula=0; wela=0; delay1(); //////////////////////////////////////////////////////////////// while(1) { do{ if(PWM!=0xff) {PWM++ ;delayms(10);} else Beep() ; } while(S3==0); do{ if(PWM!=0x02) {PWM-- ;delayms(10);} else Beep() ; } while(S2==0); } } /*********************************************************/ // 定时器0中断服务程序 (频率) /*********************************************************/ void timer0() interrupt 1 { TR1=0 ; TH0=0x00; TL0=0x00 ; TH1=PWM ; TR1=1 ; P0=0x00 ; //启动输出 } /*********************************************************/ // 定时器1中断服务程序 (脉宽) /*********************************************************/ void timer1() interrupt 3 { TR1=0 ; P0=0xff ; //结束输出 } /*********************************************************/ //蜂鸣器子程序 /*********************************************************/ void Beep() { unsigned char i ; for (i=0 ;i<100 ;i++) { delay(100) ; BEEP=!BEEP ; //Beep取反 } BEEP=1 ; //关闭蜂鸣器 delayms(100); } /*********************************************************/ // 延时子程序 /*********************************************************/ void delay(unsigned char t) { while(t--) ; } /*********************************************************/ // 延时子程序 /*********************************************************/ void delayms(unsigned char ms) { unsigned char i ; while(ms--) { for(i = 0 ; i < 120 ; i++) ; } } /*********************************************************/
-
赞(20)
回复(0)
-
- 417526838 2016-12-05 00:00:00
- #include<reg52.h> unsigned char pwm_val_right =0;// 变量定义 unsigned char push_val_right=0;// 右电机占空比 N/10 bit Right_moto_stop=1; unsigned int time=0; sbit k1=P3^5; sbit k2=P3^4; sbit Right_moto_pwm=P1^2; sbit IN1=P1^0; sbit IN2=P1^1; /************************************************************************/ void delay(unsigned int k) // 延时函数 { unsigned int x,y; for(x=0;x<k;x++) for(y=0;y<2000;y++); } /************************************************************************/ void run() //前进函数 { push_val_right =10; //PWM 调节参数 1-10 1为Z慢, 10是Z快 改这个值可 以改变其速度 IN1=0; IN2=1; } /************************************************************************/ void run_1() //前进函数 { push_val_right =3; //PWM 调节参数1-10 1为Z慢,10是Z快 改这个值可以改变其速度 IN1=0; IN2=1; } /************************************************************************/ /* PWM调制电机转速 */ /************************************************************************/ /******************************************************************/ /* 右电机调速 */ void pwm_out_right_moto(void) { if(Right_moto_stop) { if(pwm_val_right<=push_val_right) Right_moto_pwm=1; else Right_moto_pwm=0; if(pwm_val_right>=10) pwm_val_right=0; } else Right_moto_pwm=0; } void main(void) { TMOD=0X01; TH0= 0XF8; //1ms 定时 TL0= 0X30; TR0= 1; ET0= 1; EA = 1; while(1) { // 此处函数自己写 } } /***************************************************/ /*TIMER0 中断服务子函数产生 PWM 信号 */ /***************************************************/ void timer0() interrupt 1 using 2 { TH0=0XF8; //1Ms定时 TL0=0X30; time++; pwm_val_right++; pwm_out_right_moto(); }
-
赞(18)
回复(0)
热门问答
- 用单片机对直流电机调速的程序
2011-04-22 10:35:59
311
2
- 51单片机直流电机调速
- #include
sbitdianji=P0^6;unsignedinti,j,m,n;voidmain(){EA=1;EX0=1;IT0=0;EX1=1;IT1=0;m=50;n=0;while(1){dianji=0;for(i=0;i sbit dianji=P0^6; unsigned int i,j,m,n; void main() { EA=1; EX0=1; IT0=0; EX1=1; IT1=0; m=50; n=0; while(1) { dianji=0; for(i=0;i 2015-04-27 02:32:41 403 1
- 单片机直流电机测速实验程序
2017-12-16 07:35:56
309
1
- 基于Proteus的直流电机调速c程序
- 对at89c51编程,利用L298驱动,产生pwm波形控制直流电机调速,两个按钮分别控制加速、减速。求完整c程序。本人初学,不知道产生的脉冲如何输出,怎样定义脉冲输出端口,哪位高手能帮忙... 对at89c51编程,利用L298驱动,产生pwm波形控制直流电机调速,两个按钮分别控制加速、减速。求完整c程序。本人初学,不知道产生的脉冲如何输出,怎样定义脉冲输出端口,哪位高手能帮忙解答,谢啦! 展开
2011-03-15 13:11:20
356
2
- 51单片机怎么对直流电机调速,做了个遥控小车
2017-06-06 15:07:40
365
1
- 用51单片机制作可调速的直流电机需要三极管吗
- 我想给这个电路图编写一个程序,实现电机的正反转和调速,大神帮一下忙!麻烦大神发一下... 我想给这个电路图编写一个程序,实现电机的正反转和调速,大神帮一下忙! 麻烦大神发一下 展开
2015-04-01 13:38:57
371
2
- 直流电机调速
- 1.直流电机调速器有哪些类型2.每种类型的原理是什么3.由单片机控制电机时应选用什么类选的直流电机调速器... 1.直流电机调速器有哪些类型 2.每种类型的原理是什么 3.由单片机控制电机时应选用什么类选的直流电机调速器 展开
2011-08-02 07:59:43
402
4
- 用PLC控制直流电机调速
- 只用一个三菱PLC能控制一个普通直流电机的速度吗?要是再加一个旋转编码器呢?... 只用一个三菱PLC能控制一个普通直流电机的速度吗?要是再加一个旋转编码器呢? 展开
2011-08-03 00:07:35
409
5
- 直流电机调速问题?
- 我现在要要做一个直流电机调速系统,要求是用电位器控制电机转速,为什么在我选择电机型号是厂家说还需要加调速器,让我不能理解的是电位器和调速器不都是调速的吗,那我为什么不能直... 我现在要要做一个直流电机调速系统,要求是用电位器控制电机转速,为什么在我选择电机型号是厂家说还需要加调速器,让我不能理解的是电位器和调速器不都是调速的吗,那我为什么不能直接调节调速器进行调速,那电位器是不是多余的? 这是不是和转矩有关系?请各位大哥看清问题,这个系统很明确,是要求既有电位器,又有调速器,这是为什么,我想知道其中的原因,我想知道的是原因!谢谢!! 展开
2010-09-17 15:29:04
477
6
- 直流电机无法调速
- 直流电机一个方向调速正常,但另一个方向调速,开机就是Z高转速!工作台,铣头由两台直流调速器控制,控制电路是同一套,工作台和铣头都有一个方向正常,另一方向一动调速器... 直流电机一个方向调速正常,但另一个方向调速,开机就是Z高转速! 工作台,铣头由两台直流调速器控制,控制电路是同一套,工作台和铣头都有一个方向正常,另一方向一动调速器 展开
2012-05-14 16:57:14
437
2
- 直流电机调速原理
2017-09-21 19:04:22
394
1
- 直流电机调速原理
2017-11-21 07:49:22
291
1
- 直流电机调速的设计
- 1.设计直流电机调速的控制电路。2.直流电机的转速由电位器调节,电位器输出电压范围在0~5V之间,将该控制电压送AD0809的通道0,由计算机采集AD转换结果。3.再将采集到的数字量变化转... 1. 设计直流电机调速的控制电路。 2. 直流电机的转速由电位器调节,电位器输出电压范围在0~5V 之间,将该控制电压送AD0809的通道0,由计算机采集AD转换结果。 3. 再将采集到的数字量变化转换成脉冲占空比的变化,实现脉宽调制(PWM)。 4. 将PWM输出信号经驱动电路送到直流电机,达到控制直流电机转速的目的。 展开
2013-07-14 06:35:51
434
2
- 用单片机给直流电机调速,我想问一下电机应该与开发板如何连线?
2012-10-17 10:08:18
262
1
- 直流电机调速的控制信号
- 书上说直流电机调速通过晶闸管与晶体管两种方式。晶闸管通过控制相角、晶体管用PWM脉宽调制。1、晶闸管用什么信号来控制相位?模拟量电压信号吗?2、晶体管用脉冲信号来控制电枢电源的... 书上说直流电机调速通过晶闸管与晶体管两种方式。晶闸管通过控制相角、晶体管用PWM脉宽调制。 1、晶闸管用什么信号来控制相位?模拟量电压信号吗? 2、晶体管用脉冲信号来控制电枢电源的通断?一般用什么控制器发脉冲(PLC/单片机/采集卡)?脉冲频率与电机速度的关系怎么获得? 回答专业追加;谢谢。 展开
2013-07-26 15:04:19
458
2
- 400w 220v 直流电机调速
- 85年的产品,旧设备上拆的,原来应该有控制器的,不过找不到了,原来没接触过这类电机,有几个问题:1、直接用220v+整流是否可以用2、如果需要调速的话,怎么实现,自己做还是有现成的... 85年的产品,旧设备上拆的,原来应该有控制器的,不过找不到了,原来没接触过这类电机,有几个问题: 1、直接用220v+整流是否可以用 2、如果需要调速的话,怎么实现,自己做还是有现成的? 铭牌: 型号:z2-11 0.4kw 220v 2.64A 1500RPM 展开
2010-05-16 08:11:28
342
4
- 直流电机可控硅调速电路图
- 急求110V直流电机可控硅调速电路图,望大侠指点一二,Z好有具体元件参数。谢谢。采纳再加分100至200.不然没人回答,分就浪费了,哈哈。谢谢你的回答哈。,不过我说的是两相直流电机哈... 急求110V直流电机可控硅调速电路图,望大侠指点一二,Z好有具体元件参数。谢谢。采纳再加分100至200.不然没人回答,分就浪费了,哈哈。 谢谢你的回答哈。,不过我说的是两相直流电机哈。110V的直流。 电机功率两百瓦。 就是普通有碳刷的电机呀。只不过有点特殊,额定电压是110V的。不是步进电机。步进电机供电方案很多的。 展开
2009-10-15 21:29:38
501
4
- 51单片机实现pwm对电机调速
2018-07-22 09:03:42
376
3
- 晶闸管如何实现直流电机调速?
- 晶闸管如何实现直流电机调速?晶闸管可以控制流过电流的大小吗?... 晶闸管如何实现直流电机调速? 晶闸管可以控制流过电流的大小吗? 展开
2009-01-14 01:09:50
432
5
参与评论
登录后参与评论