您的位置:首页 > 其它

8个发光二极管来回流动,每个管亮五十毫秒,灭五十毫秒,亮时蜂鸣器响,灭时蜂鸣器灭,一直重复下去

2015-08-31 20:10 302 查看
                         #include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit beep=P3^6;
uchar aa;
void delay(uint z);

void main()
{
uchar i,j;
while(1)
{

aa=0xfe;
for(i=0;i<7;i++)
{

P1=aa;
beep=1;
delay(50);

aa=_crol_(aa,1);
P1=0xff;
beep=0;
delay(50);

}
aa=0x7f;
for(j=0;j<7;j++)
{

P1=aa;
beep=1;
delay(50);
aa=_cror_(aa,1);
P1=0xff;
beep=0;
delay(50);

}
}
}
void delay(uint z)
{
uint x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);
}
学完郭天祥的视频后以为可以很快写出这种简单的程序,没想到还是花费了四十多分钟的时间,在bug的过程中一直出错,出错并不可怕但是我们要了解我们为什么会出错怎样避免下次再出现这种错误。现将错误分析如下:
   第一次:将返回值弄错!原因分析过程中没有将返回值确认只是主观想象;

第二次:由第一次产生蝴蝶效应,分析过程中怀疑自己掌握的知识点,结果导致浪费大量时间

第三次:在选择for语句循环次数时再一次没有完整的考虑过程。总结:在运用循环过程时要将程序和题目的要求是否完全相合在脑袋中过一遍
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: