quote:以下是引用n次看你的背影在2013-05-27 22:30:05的发言: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为起始地址的临时变量区。论坛跑马灯的程序有,楼主可以看看老帖。
我使用OB35,就没用用定时器了,定时中断是由系统自动完成实现的的,使用OB35和当前程序是两个不同的方式,关于跑马灯的老帖,我开始在论坛里找 没找到 ,能否把链接发给我,我记得以前看过你发的代码的。。谢谢