STC89C52R 的
单片机,买的学习板,没问题。P0 口接LED,程序如下:
- #include <reg52.h>
- main()
- {
- unsigned int x, y;
- while(1)
- {
- P0 = 0x2d;
- for(x=0;x<1000;x++)for(y=0;y<1000;y++);
- P0 = 0x1b;
- while(x--)while(y--);
- }
- }
复制代码本意是要看0X2D 和 0X1B 是否对应 2578 和 3678 。写了这个简单的程序让两种亮法交替。没想到结果,3678 亮后就不变了,一直亮着。无语啊,总觉得 3678 应该亮的时间短些才对,怎么会不灭了呢,怎么也想不通。发个帖子各位看看,有没有人能给解释下。
main()
{
unsigned int x, y;
while(1)
{
P0 = 0x2d;
for(x=0;x<1000;x++)for(y=0;y<1000;y++);
P0 = 0x1b;
while(x--)
{
y=1000;
while(y--);
}
}
}
这样就行了,y到0后要重新赋值才行,不然的话再减1,就成65535了
一周热门 更多>