YangHY 发表于 2025-12-21 15:04:51

编译烧录后:

证实for是可以用的

YangHY 发表于 2025-12-21 15:09:08

利用for语句,改写定时器中断函数

补充数组的知识:

1 数组的赋初值

2 printf()函数中变量的类型是int:

3 下图纸中若要printf()工作,先要在串口助手中发信息给MCU






YangHY 发表于 2025-12-21 15:12:53

到此任务一就完成:

接着看任务二


YangHY 发表于 2025-12-22 08:56:22

先学习新的注释方法:

YangHY 发表于 2025-12-22 10:14:41

把上面LED亮灯的反码写出来:
u8 State={0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40,0x80}

这样处理就简单很多...........

YangHY 发表于 2025-12-22 10:31:25

这样任务二也顺利完成:
仔细看:
任务2:数组点亮LED,实现流水灯注意事项:
LED是0点亮,1熄灭数组长度需要把握好流水灯移动的时间

流水灯移动的时间,是定时器500ms决定的:

并且现在是对P0口操作!

YangHY 发表于 2025-12-22 10:35:07

当然,num是有上限的, 不能大于7!



YangHY 发表于 2025-12-22 10:39:23

对了,我们写数组的值的时候,偷懒颠倒了,现在要颠倒回来!:


PO = ~State; //num 取值0-7

这个按位取反符合:键盘上按shift+数字1z左边的键~(英文状态)

YangHY 发表于 2025-12-22 10:47:27

实际上,时间控制是在这里:

YangHY 发表于 2025-12-22 10:48:34

编译下载后,效果是对的:

页: 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 31 32 33 34 35
查看完整版本: 第一课 序言《AI8051U的特点》