找回密码
 立即注册

QQ登录

只需一步,快速开始

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

请问怎样让程序运行循环一次然后停止循环

[复制链接]
跳转到指定楼层
楼主
ID:63317 发表于 2016-7-30 16:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg52.h>
sbit d1=P2^0;
sbit d2=P2^1;
sbit d3=P2^2;
sbit d4=P2^3;
sbit d5=P2^4;
unsigned int c,d;


void main()
{       
    TMOD=0x01;
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
    EA=1;
        ET0=1;
    TR0=1;

  {          
         

         
    switch(d)
    {
    case 0:

       d1 = 0;//慢转30秒
               
    break;
    case 1:

           d2 = 0; //30秒
    break;
    case 2:
       d1 = 1;
       d2 = 1;
           d3 = 0;// 快转30秒
    break;
    case 3:

       d3 = 1;//停30秒
    break;
    case 4:
       d4 = 1; //停30秒
    break;
    case 5:
       d4 = 1;//停30秒
    break;
    case 6:
       d5 = 0; // 快转30秒

    break;
    case 7:
       d5 = 0;// 快转30秒

    break;
        case 8:
       d5 = 1;
         
          
    }

  }



}
void timer0() interrupt 1
{
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;



    c++;
   if(c>=550)
   {
    d++;
    if(d>=8)

    {
     d=0;
    }
    c=0;
   while(1);
   }

}

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

使用道具 举报

沙发
ID:135104 发表于 2016-7-30 21:13 | 只看该作者
程序应该会在执行完后回到第一头从新循环,只需添加控制变量让程序执行后进入关闭四个口的死循环就好,再次执行按复位键即可。
回复

使用道具 举报

板凳
ID:111634 发表于 2016-7-30 21:19 | 只看该作者
程序运行一次就不叫循环。
回复

使用道具 举报

地板
ID:135568 发表于 2016-7-31 00:48 | 只看该作者
加个死循环
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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