大图
您现在的位置是 :主页 > www.058123.com >

流水灯设计的几个程序

发布日期:2021-10-13 11:31   来源:未知   阅读:

  开始的时候不会用位运算,把每一步都写出来(一闪一灭,每一次都是用赋值来表示),数着到那一个闪烁,

  代码很复杂,经过提醒后,然后通过位运算,大大化简了代码的数量,而且可读性提高不少..

  错误的原因是:不了解编译语言是否可以像c语言一样编译,想了一会,就用复杂的代码去写出这个程序.

  第二个程序:让流水灯,从右到左,第一个灯从暗到明,然后到最亮程度就保持住这个状态,然后第二个灯紧接着从暗到明,然后是第3个灯,以此类推直到全亮,然后集体熄灭.

  delay(i);//通过每一次循环,亮的时间增多,在人的眼睛看来就可以逐渐增亮

  开始的时候,认为通过闪烁次数和熄灭的次数一样,然后最后就亮了,就可以算是由暗到亮了,这个想法到最后烧写发现变化太快了,由暗到亮的过程不算表示出来,出现了最致命的错误...

  其实我们主要是在亮和暗的时间方面做了缓慢的变化就可以表示有暗到亮的过程....

  第三个程序:让流水灯,从左到右,第一个灯,从暗到明,然后亮度再降下来,然后是接下一个灯,就是依次明暗亮一个灯,一次只亮暗一个

  开始的时候,也是想到用加法去表示出来,用0xff

  <

  

  在其中,for中的语句有一些可读性不高的语句for(;n

  <9;n++),这些语句,在看程序的时候就要找出那个已经赋值的n在那里,是什么值..最后就把他改为for(n = 1;n

  <9;n++)

  在其中有一个常量用了变量的形式去表示,这个是占用内存的错误,因此,每一次写,就要想好这个量是用常量还是用变量,如果是常量,可以用宏的形式去表示,也可以用const 去表示..用宏更容易维护

  最后,我想下一次,每一次烧写我的程序之前,都会用流水灯的程序运行运行一次,确保灯的连线闭路的...

  自己看自己的程序,是不是可以一路看到最后,走到那个一步是要找出他的大小..会有麻烦,不方便...就看是否可以进行修改...