欢迎来到天天文库
浏览记录
ID:59144818
大小:14.50 KB
页数:2页
时间:2020-09-11
《电机调速程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#defineucharunsignedchar#defineuintunsignedint#definepush_val_leftasbitKey=P2^7;//速度增加键sbitLeft_moto_pwm=P1^7;//接驱动模块ENBsbitIN1=P1^6;sbitIN2=P1^5;ucharpush_val_left;uchara=3;ucharpwm_val_left=0;ucharrad=0;uinttemp=0;uintencoder=0;/****************************************************
2、********************//*PWM调制电机转速*//************************************************************************//*左电机调速*/voidkeyscan1()//具有连加功能的的按键扫描程序{if(Key==0)//判断Key键是否按下?{if(Key==0)//如果真接下就去执行键盘程序{a++;//值加一if(a==10)//判断是否加到10{a=0;}//加到10清0}}}/*调节push_val_left的值改变电机转速,占空比*//*************************
3、**************************/voidpwm_out_left_moto(){if(pwm_val_left<=push_val_left)Left_moto_pwm=1;elseLeft_moto_pwm=0;if(pwm_val_left>=10)pwm_val_left=0;}/************************************************/voidmain(){TMOD=0x01;TH0=0xf8;//1ms定时TL0=0xc0;ET0=1;EX0=0;EA=1;IN1=1;IN2=0;while(1)/*无限循环*/{keys
4、can1();if(temp>=1000)//1秒{temp=0;//计时清零rad=encoder/500;//计数清零encoder=0;}}}///*TIMER0中断服务子函数产生PWM信号*/voidtimer0()interrupt1{TH0=0xf8;//1Ms定时TL0=0xc0;temp++;pwm_val_left++;pwm_out_left_moto();}voidINT_0()interrupt0//外部中断0{encoder++;}
此文档下载收益归作者所有