找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4893|回复: 1
打印 上一主题 下一主题
收起左侧

单片机中断控制电动机正反转C语言实例

[复制链接]
跳转到指定楼层
楼主
ID:71477 发表于 2015-1-2 01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include<reg52.h> //中断程序
  2. sbit p20=P2^0;// KA5~KA6
  3. sbit p21=P2^1;//电动机控制端口

  4. unsigned char flag;

  5. void delay()
  6. {
  7.   unsigned char i,j,k;
  8.   for(i=2;i>0;i--)
  9.    for(j=200;j>0;j--)
  10.     for(k=250;k>0;k--);
  11. }

  12. void qd()
  13. {
  14.   
  15.    
  16.     p20=0;
  17.     delay();
  18.   
  19. }

  20. void zh()//正转
  21. {
  22.   
  23.    
  24.      p20=1;
  25.      delay();
  26.    
  27. }

  28. void fz()// 停止
  29. {
  30.   
  31.    
  32.      p21=0;
  33.      delay();

  34. }

  35. void tz()//启动反转
  36. {
  37.   
  38.    
  39.     p21=1;qd();
  40.     delay();
  41. }

  42. void main()
  43. {
  44.     flag=1;
  45.   EA=1;
  46.   EX0=1;
  47.   IT0=1;
  48.     IE0=1;
  49.   
  50.   while(1)
  51.   {
  52.     switch(flag)
  53.     {
  54.      //case 1:qd();break
  55.      case 1:tz();break;

  56.      case 2:zh();break;
  57.      case 3:fz();break;
  58.      default:break;
  59.     }
  60. delay();
  61.   }
  62. }

  63. void int0() interrupt 0
  64. {
  65. if(flag<=2)
  66. {
  67.    flag++;
  68.    }
  69.     else
  70.     flag=1;
  71. }
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩

相关帖子

回复

使用道具 举报

沙发
ID:73815 发表于 2015-5-29 08:15 | 只看该作者
此程序有接线图吗我是初学者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表