打印

程序功能

[复制链接]
442|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lium|  楼主 | 2019-10-13 18:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

void time0()interrupt 1 using 1//T/C0中断服务程序入口
{
uint dac0;
uchar x,y;
uchar i,j=0,a;
sbr ++;
TH0=(65536-49981)/256;//计数初值重新装入
TL0=(65536-49981)%256;
if(sbr==2)
{
       time1++;
       sbr=0;
       i=P1;
       j=0x02;
       if(i&j)
       {
          if(time1==time)
           {
               time1=0;
               i=P1;
               j=0x01;
               if(i&j)     //1
               {
                  if(sh)
                  {
                     if(dac>0)
                     {
                        dac=dac--;
                        pl=pl--;
                     }
                     else
                     {
                        dac=0;
                        pl=0;
                     }
                  }
                  else
                  {
                         if(dac>tiao)
                     {
                        dac=dac-tiao;
                        pl=pl-tiao;
                     }
                     else
                     {
                        dac=0;
                        pl=0;
                     }
                  }
               }
               else   //1
               {
                  if(sh)
                  {
                     if(dac<1000-tiao)
                     {
                        dac=dac+tiao;
                        pl=pl+tiao;
                     }
                     else
                     {
                        dac=1000;
                        pl=1000;
                     }
                  }
                  else
                  {
                     if(dac<1000)
                     {
                        dac++;
                        pl++;
                     }
                     else
                     {
                        dac=1000;
                        pl=1000;
                     }
                  }
               }
             sh=i&j;
           }
       }
       else
       {
          i=P1;
          j=0x0c;
          a=i&j;
          if(a==0x04)
          {
              if(dac>0)
              {dac--;
              pl--;}
              else
              {dac=0;
              pl=0;}
          }
          else if(a==0x08)
          {
              if(dac<1000)
              {dac++;
              pl++;}
              else
              {dac=1000;
               pl=1000;
              }
          }
       }
        x=dac/256;
        y=dac%256;
       dac0=dac*4;
      tlv_5616(da); //调用da程序;
      wrnbyt(0xa0,0x00,x);
      wrnbyt(0xa0,0x01,y);
}
}
这段程序大概什么功能?

使用特权

评论回复
沙发
llia| | 2019-10-13 18:16 | 只看该作者

UINT类型是unsigned int派生出来的
uchar等价于unsigned char

使用特权

评论回复
板凳
guoyt| | 2019-10-13 18:19 | 只看该作者

wrnbyt(0xa0,0x00,x);
这个估计是自己定义的函数

使用特权

评论回复
地板
lium|  楼主 | 2019-10-13 18:22 | 只看该作者
这里sbr ++;是个什么

使用特权

评论回复
5
yufe| | 2019-10-13 18:27 | 只看该作者
有很多  if else有没注释,一下子很难看懂

使用特权

评论回复
6
wangpe| | 2019-10-13 18:30 | 只看该作者
sbr 是宏定义, 一进到这个中断就先把sbr+1 , 估计是这样子...

使用特权

评论回复
7
lium|  楼主 | 2019-10-13 18:33 | 只看该作者
没人能说个所以然啊。。。。

使用特权

评论回复
8
juventus9554| | 2019-10-13 18:36 | 只看该作者
这个变量名称定义太不规范,要是程序大了,看起来要人命

使用特权

评论回复
9
guoyt| | 2019-10-13 18:40 | 只看该作者
对一些变量所代表的的东西不懂

使用特权

评论回复
10
lium|  楼主 | 2019-10-13 19:18 | 只看该作者

哦,看来我想错了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

915

主题

9578

帖子

3

粉丝