打印
[国产单片机]

小弟刚接触单片机·有个问题请教·

[复制链接]
1437|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ash401|  楼主 | 2012-7-31 19:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
main()
{
unsigned int i,k,j;
unsigned char s;
while(1)
      {

       j++;
       if(j==20)  
         {
          j=0;
         if(0==k)
         {
         for(s=0;s<8;s++) //完全循环完成后清零所有缓冲区
            TempData=0;
          }
          TempData[8-i]=dofly_DuanMa[k]; //把需要显示的字符依次送缓冲区
          TempData[9-i]=0;  //不需要显示的区域清零
          if(i==(8-k))
            {
            i=0;
            k++;
            if(k==8)
               k=0;
            }
          i++;

         }


       Display(0,8);//从第一位显示,共显示8位
      }
}


TempData[8-i]=dofly_DuanMa[k]; //把需要显示的字符依次送缓冲区)这个语句我不明白,为什么不是7-i,

void Display(unsigned char FirstBit,unsigned char Num)
{
      unsigned char i;
      
      for(i=0;i<Num;i++)
       {
       DataPort=0;   //清空数据,防止有交替重影
       LATCH1=1;     //段锁存
       LATCH1=0;

       DataPort=dofly_WeiMa[i+FirstBit]; //取位码
       LATCH2=1;     //位锁存
       LATCH2=0;

       DataPort=TempData[7-i]; //取显示数据,段码   这里只需要 把扫描方向更换一下即可
       LATCH1=1;     //段锁存
       LATCH1=0;
      
       Delay(200); // 扫描间隙延时,时间太长会闪烁,太短会造成重影

这个为什么不是8-i··
总是想不明白·但是程序是对的·如果上边那个变成8-i就会出现从第二位移动·0无法保存·


}

相关帖子

沙发
谈的元| | 2012-7-31 20:19 | 只看该作者
TempData[8-i]=dofly_DuanMa[k];   前面I没有赋值,第一次运行改语句,I为多少?

使用特权

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

本版积分规则

33

主题

123

帖子

0

粉丝