| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 355 人关注过本帖
标题:有关C语言的流水灯
取消只看楼主 加入收藏
君子一诺
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-9-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:0 
有关C语言的流水灯
//******************************************************
//公司名称:
//文件名:流水灯
//创建人:
//创建日期:2011-09-09
//功能描述:流水灯
//接口说明:P2=8LED
//版本说明:无
//******************************************************
#include
#include
#define uint unsigned int
#define uchar unsigned char

void Delay(uint C);            //函数声明

main()
{
  uchar LedIndex=0;
  bit LedDirection=1;

  while(1)
  {
    if(LedDirection)
      P2 =~(0x01<<LEDINDEX);
    else
      P2 =~(0x80>>LedIndex);
    if(LedIndex==7)
      LedDirection = !LedDirection;
    LedIndex = (LedIndex+1)%8;
    Delay(100);
  }
}
//******************************************************
//函数名:Delay
//功能描述:延时
//函数说明:延时
//全局变量:无
//输入:无
//返回:无
//设计者:
//******************************************************
void Delay(uint C)
{
  uint i,j;
  for(i=0;i<C;I++)
     for(j=0;j<120;j++)
       ;
}

有一个问题一直没有搞懂,变量LedIndex在整个循环过程中一直是变化的,为什么在仿真的时候,
此语句P2 =~(0x01<<LEDINDEX);并没有按照变量LEDINDEX值流动,软件仿真和硬件仿真
变量LedIndex一直都是固定值1;不知道这是为什么,请懂得原理的人讲解一下,刚学C语言,多多
谅解!!
搜索更多相关主题的帖子: C语言 
2011-09-12 22:07
快速回复:有关C语言的流水灯
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058358 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved