首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

本意是让8个发光管来回流动,但不知道哪里出错,请大家帮帮忙。解决思路

2012-05-13 
本意是让8个发光管来回流动,但不知道哪里出错,请大家帮帮忙。。。C/C++ code//8个发光管来回流动,每个管亮100

本意是让8个发光管来回流动,但不知道哪里出错,请大家帮帮忙。。。

C/C++ code
//8个发光管来回流动,每个管亮1000ms#include<reg52.h>#include <intrins.h>void delays(int m){    int x,y;    for(x=m;x>0;x--)        for(y=110;y>0;y--);}void main(){    char temp;    int i;    P1=0xfe; //先点亮第一个灯    while(1)    {            for(i=0;i<8;i++)            {                            delays(1000); //亮一秒            temp=_crol_(temp,1); //左移一位,直到移到最高位亮            P1=temp;           }//此时P1=0111 1111        for(i=0;i<8;i++)        {            delays(1000);            temp=_cror_(temp,1); // 右移一位            P1=temp;        }    }}

本意是想让8个发光管来回流动,但实际运行,第一个灯亮一秒,然后其余的灯都亮了,不知道哪里出错了,请大家赐教,不甚感激。

[解决办法]
temp没有初始化,数据是什么都不知道就移位,有什么用呢。
[解决办法]
移位的是temp,不是0xfe
[解决办法]
不好意思,呵呵_crol_这个函数没有用过之前,呵呵 所以不知道是库函数,见笑了。

确实是temp 没有在左移的之前初始化
[解决办法]
自己跟踪看看出了什么问题

热点排行