END 程序结束
3) 编写程序,烧录观察: A.
发现八个灯都亮,分析可知由于程序执行时速度太快造成的!可通过插入延时程序解决。 B
发现八个灯还是都亮,分析可知是程序中延时量太小的原因,可以修改延时量解决 C.
编译成功后调入单片机,发现有一个灯灭循环左移,变化速度稍快,可通过多次插入延时程序解决
D.
发现速度明显减缓,可是没有达到一个灯循环闪烁,没有与硬件相吻合,可以修改A的初值解决
E.
运行后发现达到了我们要做的要求:一只LED作流水状移动。
F:用c语言编程: #include
unsigned char i,c,d,temp=0xfe;
void delay(void) {
unsigned char a,b; for(a=0;a<255;a++) {
for(b=0;b<200;b++); } }
void main(void) {
while(1) {
for(i=0;i<8;i++) {
c=temp<>(8-i); P0=c|d; delay();
} } }
运行后发现可以正常运行。
G. 修改程序,使一个LED灯达到自左向右——自右向左——自左向
右反复循环如反弹状移动。
#include unsigned char i,c,d,temp=0xfe;
void delay(void) {
unsigned char a,b; for(a=0;a<255;a++) {
for(b=0;b<255;b++); } }
void main(void) { while(1) {
for(i=0;i<8;i++)