quote:以下是引用Staples在2013-05-27 20:51:22的发言:
天面试,需要编写一个跑马灯的程序:8个灯轮流闪烁,周期是1S
我只做到用OB35的定时中断来实现,我原来想用指针来完成,但是在LOOP指令中,定时器不知道该如何处理,特意向大家请教!!
L P#0.0
LAR1
SET
L 8
P1:T LW10
S Q[AR1,P#0.0]
L S5T#1S
SD T0
//就是在该处的定时器TO计时到或未到不知道该如何处理
。
。
。
+AR1 P#0.1
L LW10
LOOP P1
我本人也赞同emil128大侠的观点。
对楼主这段代码:定时器必须每个周期都要被扫描到,这是定时器的使用原则!你把定时器放到OB35中去扫描,很显然得不到你想要的结果。用LW10暂存循环次数,会将当前OB35声明的临时变量的内容覆盖了,最好使用LW20为起始地址的临时变量区。论坛跑马灯的程序有,楼主可以看看老帖。