电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

直流电机控制Keilc51源代码

直流电机控制Keilc51源代码_第1页
1/7
直流电机控制Keilc51源代码_第2页
2/7
直流电机控制Keilc51源代码_第3页
3/7
直流电机控制Keil c51 源代码直流电机的开环控制Keil c51源代码//-----------------------函数声明,变量定义-------------------------------------------------------- #include #include #include //-----------------------定义管脚 -------------------------------------------------------- sbit PWM=P1^0; //PWM 波形输出sbit DR=P1^1; //方向控制#define timer_data (256-100) // 定时器预置值 ,12M 时钟是,定时0.1ms #define PWM_T 100 //定义 PWM 的周期 T 为 10ms unsigned char PWM_t; //PWM_t 为脉冲宽度 (0~100) 时间为 0~10ms unsigned char PWM_count; //输出 PWM 周期计数unsigned char time_count; //定时计数bit direction; //方向标志为//-------------------------------------------------------------------------------------------------- // 函数名称: timer_init // 函数功能:初始化设施定时器//-------------------------------------------------------------------------------------------------- void timer_init() { TMOD=0x22; /* 定时器 1 为工作模式2(8 位自动重装 ),0 为模式 2(8 位自动重装 ) */ PCON=0x00; TF0=0; TH0=timer_data; //保证定时时长为0.1ms TL0=TH0; ET0=1; TR0=1; //开始计数EA=1; //中断允许} //-------------------------------------------------------------------------------------------------- // 函数名称: setting_PWM // 函数功能:设置PWM 的脉冲宽度和设定方向//-------------------------------------------------------------------------------------------------- void setting_PWM() { if(PWM_count==0) //初始设置{ PWM_t=20; direction=1; } } //-------------------------------------------------------------------------------------------------- // 函数名称: IntTimer0 // 函数功能:定时器中断处理程序//-------------------------------------------------------------------------------------------------- void IntTimer0() interrupt 1 { time_count++; DR=direction; if(time_count>=PWM_T) { time_count=0; PWM_count++; setting_PWM(); //每输出一个 PWM 波调用一次} if(time_count

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

直流电机控制Keilc51源代码

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群