基于单片机的直流电机控制(正反转开关控制).doc

基于单片机的直流电机控制(正反转开关控制).doc

ID:58863342

大小:178.00 KB

页数:3页

时间:2020-09-22

基于单片机的直流电机控制(正反转开关控制).doc_第1页
基于单片机的直流电机控制(正反转开关控制).doc_第2页
基于单片机的直流电机控制(正反转开关控制).doc_第3页
资源描述:

《基于单片机的直流电机控制(正反转开关控制).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于单片机的直流电机控制(正反转,开关控制)原理图如下:程序如下:/*用电机来代表门的转动情况*/   #include  //定义变量sbit  kaimen=P0^0;sbit  zanting=P0^1;sbit  fanxiang=P0^2;sbit  P2_0=P2^0;sbit  P2_1=P2^1;bitFlag=1;//定义电机正反向标志//函数声明voidmotor_turn(void);  //正反向控制voidTimer0_init(void);//定义定时器0初始化/

2、******************************延时处理***************************/voidDelay(unsignedintz){unsignedintx,y;for(x=z;x>0;x--)  for(y=110;y>0;y--);}/***************************************************************/voidTimer0_int(void)interrupt1using1//定时器0中断处理主要用来处理换

3、方向的时候{TR0=0;   TL0=(65536-50000)/256;  //定时50ms   TH0=(65536-50000)%256;   TR0=1;if(Flag==1)//代表改变方向{  P2_0=0;  P2_1=1;  }else     //方向不变{  P2_1=0;  P2_0=1;  }}/****************开始转动:人满时候开始转动**************/voidmotor_start(void){if(kaimen==1)   {  //Delay(10)

4、;    if(kaimen==1)    {   P2_0=0;   P2_1=1;     }}}/***************有人但是人未满时或者有夹到人的时候暂停*************/voidmotor_pause(void){if(zanting==1)   {  Delay(10);    if(zanting==1)    {     EA=0;   P2_0=0;   P2_1=0;     }}}/**********************电机方向转动***************

5、***********/voidmotor_turn(void)//电机反向转动{if(fanxiang==1){  Delay(10);  if(fanxiang==1)  {   Flag=~Flag;  }  while(fanxiang==1);}}/***********************定时器0初始化**************************/voidTimer0_init(void)//定时器0初始化{TMOD=0x01;TH0=(65536-50000)/256;TL0=(65

6、536-50000)%256;TR0=1;ET0=1;}/**********************主函数***********************/voidmain(void)//主函数{   Timer0_init();     while(1){if(kaimen==1)    EA=1;//开始时候开启中断  motor_start();  motor_pause();  motor_turn();}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。